@font-face{font-family:Bosch;src:url(/fonts/Bosch.woff2) format("woff2");font-display:swap}@font-face{font-family:Cabinet Grotesk;src:url(/fonts/CabinetGrotesk-Variable.woff2) format("woff2");font-weight:100 900;font-display:swap}:root{--orange: #f24e2b;--violet: #8c93d6;--violet-ink: #4d5299;--lavender: #e9eaff;--soft: #f5f5fd;--line: #e2e1ec;--ink: #1d1c22;--muted: #6a6874;--danger: #c0392b;color-scheme:light}*{box-sizing:border-box}body{margin:0;font:400 16px/1.5 Cabinet Grotesk,system-ui,sans-serif;color:var(--ink);background:#fbfbfe}a{color:var(--violet-ink)}.muted{color:var(--muted)}.small{font-size:.88rem}.logo{font-family:Bosch,Cabinet Grotesk,sans-serif;color:var(--orange);text-decoration:none;font-size:1.9rem;line-height:1;margin:0}.loading{padding:4rem;text-align:center;color:var(--muted)}.loading.err{color:var(--danger)}.btn{font:700 .95rem/1 Cabinet Grotesk,sans-serif;border:2px solid var(--orange);background:var(--orange);color:#fff;border-radius:999px;padding:.7rem 1.3rem;cursor:pointer;transition:background .2s,color .2s,opacity .2s}.btn:hover{background:#d93d1c;border-color:#d93d1c}.btn:disabled{opacity:.45;cursor:default}.btn.ghost{background:#fff;color:var(--violet-ink);border-color:#cfd0e6}.btn.ghost:hover{border-color:var(--violet)}.btn.small{padding:.5rem .95rem;font-size:.88rem}.btn.danger{color:var(--danger)}.icon{width:1.9rem;height:1.9rem;border-radius:50%;border:1px solid transparent;background:none;cursor:pointer;color:var(--muted);font:600 .95rem/1 system-ui}.icon:hover:not(:disabled){background:var(--soft);border-color:var(--line);color:var(--ink)}.icon:disabled{opacity:.25;cursor:default}.icon.danger:hover{color:var(--danger)}.linkish{background:none;border:0;cursor:pointer;font:inherit}.login{min-height:100vh;display:grid;place-items:center;background:var(--lavender);padding:1rem}.login-card{background:#fff;padding:2.5rem;border-radius:10px;width:min(24rem,100%);display:grid;gap:1rem;box-shadow:0 30px 60px -40px #3c3c7880}.login-card h1{margin:-.4rem 0 .5rem;font-size:1.3rem}.login-msg{color:var(--danger);margin:0;min-height:1.2em;font-size:.92rem}.top{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:1rem;padding:.8rem 1.5rem;background:#fffffff2;border-bottom:1px solid var(--line);backdrop-filter:blur(6px)}.top-title{font-weight:600;color:var(--muted)}.top-status{margin-left:auto;display:flex;align-items:center;gap:.5rem;font-size:.92rem;color:var(--muted)}.top-status .dot{width:.6rem;height:.6rem;border-radius:50%;background:#bbb}.top-status[data-state=live] .dot{background:#2e9d5b}.top-status[data-state=pending] .dot{background:var(--orange)}.top-status[data-state=pending]{color:var(--ink);font-weight:600}.top-status[data-state=publishing] .dot{background:var(--violet);animation:pulse 1s ease-in-out infinite}@keyframes pulse{50%{opacity:.3}}.top-link{color:var(--violet-ink);font-weight:600;font-size:.92rem;text-decoration:none}.top-link:hover{text-decoration:underline}.layout{display:grid;grid-template-columns:17rem minmax(0,1fr);min-height:calc(100vh - 4rem)}.side{border-right:1px solid var(--line);padding:1.5rem 1rem 3rem;background:#fff;position:sticky;top:4rem;height:calc(100vh - 4rem);overflow:auto}.side-h{font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--violet-ink);font-weight:700;margin:1.6rem .6rem .5rem}.side-h:first-child{margin-top:0}.side-list{list-style:none;margin:0 0 .8rem;padding:0}.side-list li{display:flex;align-items:center;border-radius:6px}.side-list li a{flex:1;padding:.5rem .6rem;text-decoration:none;color:var(--ink);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.side-list li:hover{background:var(--soft)}.side-list li.active{background:var(--lavender)}.side-list li.active a{font-weight:700}.side-tools{display:flex;align-items:center;gap:.1rem;opacity:0;transition:opacity .2s}.side-list li:hover .side-tools,.side-list li.active .side-tools,.side-tools:focus-within{opacity:1}.side-tools .icon{width:1.6rem;height:1.6rem;font-size:.85rem}.badge{font-size:.7rem;font-weight:700;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:.05rem .45rem;margin-right:.2rem}.side-list li:has(.badge) .side-tools{opacity:1}.side-help{margin:2rem .6rem 0}.editor{padding:2rem clamp(1rem,4vw,3.5rem) 7rem;max-width:60rem}.welcome h1,.ed-head h1{font-family:Bosch,Cabinet Grotesk,sans-serif;font-weight:400;color:var(--orange);font-size:clamp(2rem,4vw,3rem);line-height:1.05;margin:.2rem 0 .6rem}.welcome .lead{font-size:1.1rem;max-width:38rem}.steps{padding-left:1.2rem;max-width:38rem;display:grid;gap:.5rem}.eyebrow{font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--violet-ink);font-weight:700;margin:0}.ed-head{margin-bottom:1.5rem}.errors{background:#fff3f0;border:1px solid #f6c2b5;color:#8c2a14;border-radius:8px;padding:1rem 1.2rem;margin-bottom:1.5rem}.errors ul{margin:.4rem 0 0;padding-left:1.2rem}.section{border:1px solid var(--line);background:#fff;border-radius:10px;padding:1.4rem 1.5rem 1.6rem;margin:0 0 1.4rem}.section legend{font-weight:800;font-size:1.05rem;padding:0 .4rem;margin-left:-.4rem}.section>.help{margin-top:0}.field{display:grid;gap:.35rem;margin-top:1.1rem}.field>label{font-weight:700;font-size:.95rem}.req{color:var(--orange)}.help{margin:0;color:var(--muted);font-size:.86rem}input:not([type=checkbox]),select,textarea{width:100%;font:400 1rem/1.5 Cabinet Grotesk,sans-serif;color:var(--ink);background:#fff;border:1.5px solid #d6d6e6;border-radius:6px;padding:.6rem .75rem}textarea{resize:vertical;min-height:2.8rem;font-family:Georgia,"Source Serif 4",serif;line-height:1.55}textarea.long{min-height:9rem}.f-lines textarea{font-family:Cabinet Grotesk,sans-serif}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--violet);box-shadow:0 0 0 3px #8c93d647}.f-number input{max-width:7rem}.check{display:flex;align-items:center;gap:.5rem;font-weight:600;cursor:pointer}.check input{width:1.15rem;height:1.15rem;accent-color:var(--orange)}.group{border-left:3px solid var(--lavender);padding-left:1rem;margin-top:1rem}.group-h{font-weight:700;margin:0}.list{display:grid;gap:.9rem}.item{border:1px solid var(--line);border-radius:8px;padding:.4rem 1rem 1.1rem;background:#fcfcff}.item-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;border-bottom:1px dashed var(--line);padding-bottom:.3rem}.item-title{font-weight:700;color:var(--violet-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.item-tools{display:flex;flex:none}.list>.btn{justify-self:start}.image-row{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.image-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.thumb{width:7rem;height:7rem;border-radius:6px;background:var(--soft);display:grid;place-items:center;overflow:hidden;border:1px solid var(--line)}.thumb img{width:100%;height:100%;object-fit:cover}.thumb.logo{width:12rem;height:5rem;padding:.6rem}.thumb.logo img{object-fit:contain}.photo-field{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.2rem;margin-top:.9rem;align-items:start}.focus-frame{position:relative;background:var(--soft);border-radius:6px;min-height:9rem;display:grid;place-items:center;cursor:crosshair;overflow:hidden;border:1px solid var(--line)}.focus-frame img{width:100%;height:auto;display:block;user-select:none}.focus-dot{position:absolute;width:1.4rem;height:1.4rem;margin:-.7rem 0 0 -.7rem;border-radius:50%;border:3px solid #fff;box-shadow:0 0 0 2px var(--orange),0 2px 8px #0006;pointer-events:none}.photo-side{display:grid;gap:.7rem}.photo-side .field{margin-top:.2rem}.layouts{display:grid;grid-template-columns:repeat(auto-fill,minmax(9.2rem,1fr));gap:.7rem}.layout-card{position:relative;display:grid;gap:.35rem;align-content:start;padding:.7rem .7rem .9rem;border:2px solid var(--line);border-radius:10px;background:#fff;cursor:pointer;transition:border-color .2s,box-shadow .2s}.layout-card:hover{border-color:var(--violet)}.layout-card.on{border-color:var(--orange);box-shadow:0 0 0 3px #f24e2b26}.layout-card input{position:absolute;opacity:0;pointer-events:none}.layout-card:has(input:focus-visible){outline:2px solid var(--violet-ink);outline-offset:2px}.layout-mini{display:grid;place-items:center;aspect-ratio:120 / 84;background:var(--soft);border-radius:6px;overflow:hidden;border:1px solid var(--line)}.layout-mini svg{width:100%;height:100%;display:block}.layout-card strong{margin-top:.3rem}.savebar{position:fixed;left:17rem;right:0;bottom:0;z-index:15;display:flex;justify-content:flex-end;align-items:center;gap:.7rem;padding:.9rem clamp(1rem,4vw,3.5rem);background:#fffffff5;border-top:1px solid var(--line)}.savebar #save-state{margin-right:auto;font-size:.92rem}body.is-dirty .savebar #save-state{color:var(--orange);font-weight:700}.toast{position:fixed;left:50%;bottom:5.5rem;transform:translate(-50%,1rem);background:var(--ink);color:#fff;padding:.8rem 1.2rem;border-radius:8px;font-weight:600;opacity:0;pointer-events:none;transition:opacity .25s,transform .25s;z-index:50;max-width:min(36rem,92vw);text-align:center}.toast.show{opacity:1;transform:translate(-50%)}.toast.err{background:var(--danger)}@media(max-width:820px){.top{flex-wrap:wrap;padding:.7rem 1rem;gap:.6rem 1rem}.top-status{order:5;width:100%;margin-left:0}.layout{grid-template-columns:1fr}.side{position:static;height:auto;border-right:0;border-bottom:1px solid var(--line)}.side-tools{opacity:1}.layouts{display:grid;grid-template-columns:repeat(auto-fill,minmax(9.2rem,1fr));gap:.7rem}.layout-card{position:relative;display:grid;gap:.35rem;align-content:start;padding:.7rem .7rem .9rem;border:2px solid var(--line);border-radius:10px;background:#fff;cursor:pointer;transition:border-color .2s,box-shadow .2s}.layout-card:hover{border-color:var(--violet)}.layout-card.on{border-color:var(--orange);box-shadow:0 0 0 3px #f24e2b26}.layout-card input{position:absolute;opacity:0;pointer-events:none}.layout-card:has(input:focus-visible){outline:2px solid var(--violet-ink);outline-offset:2px}.layout-mini{display:grid;place-items:center;aspect-ratio:120 / 84;background:var(--soft);border-radius:6px;overflow:hidden;border:1px solid var(--line)}.layout-mini svg{width:100%;height:100%;display:block}.layout-card strong{margin-top:.3rem}.savebar{left:0}.photo-field{grid-template-columns:1fr}}
