@import url("https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,500;700&family=Source+Sans+3:wght@400;600;700&family=Libre+Baskerville:wght@400;700&family=Karla:wght@400;600;700&family=Space+Grotesk:wght@500;700&family=IBM+Plex+Sans:wght@400;600;700&display=swap");:root{--ui-bg:#0f1412;--ui-panel:#18211d;--ui-ink:#eef3ef;--ui-muted:#9aada3;--ui-accent:#74c4a8;--ui-line:#2a3932;--ui-danger:#ffb4a2}*{box-sizing:border-box}body,html{margin:0;padding:0;min-height:100%;background:radial-gradient(1200px 600px at 10% -10%,#1d3a31 0,transparent 55%),radial-gradient(900px 500px at 100% 0,#3a2a1d 0,transparent 50%),var(--ui-bg);color:var(--ui-ink);font-family:IBM Plex Sans,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{border:0;border-radius:12px;padding:.75rem 1rem;background:var(--ui-accent);color:#102019;font-weight:700;cursor:pointer}button:disabled{opacity:.55;cursor:not-allowed}button.ghost{background:transparent;color:var(--ui-ink);border:1px solid var(--ui-line)}input,select,textarea{width:100%;margin-top:.35rem;border-radius:12px;border:1px solid var(--ui-line);background:#101714;color:var(--ui-ink);padding:.7rem .85rem}label{display:block;margin-bottom:.85rem;color:var(--ui-muted);font-size:.92rem}.shell{width:min(1200px,calc(100% - 2rem));margin:0 auto;padding:1.5rem 0 3rem}.login-shell{min-height:100vh;display:grid;place-items:center}.login-card{width:min(420px,100%)}.card{background:color-mix(in srgb,var(--ui-panel) 92%,black);border:1px solid var(--ui-line);border-radius:20px;padding:1.25rem;box-shadow:0 20px 60px rgba(0,0,0,.25)}.topbar{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;margin-bottom:1.25rem}.eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--ui-accent);font-size:.75rem;margin:0 0 .35rem}h1,h2,h3{margin:0 0 .5rem}.muted{color:var(--ui-muted)}.error,.error-banner{color:var(--ui-danger)}.banner{border-radius:14px;padding:.85rem 1rem;margin-bottom:1rem;border:1px solid var(--ui-line)}.banner.warn{background:#2a2418;color:#f0d7a8}.grid-2{display:grid;grid-template-columns:1.1fr .9fr;gap:1rem}.row{display:flex;gap:.75rem;align-items:end}.row.wrap{flex-wrap:wrap;align-items:center;margin-bottom:.75rem}.row>label{flex:1}.list{display:grid;gap:.6rem}.list-item{display:block;padding:.85rem .95rem;border-radius:14px;border:1px solid var(--ui-line);background:#121a16}.list-item:hover{border-color:var(--ui-accent)}.editor-shell{width:min(1500px,calc(100% - 1.5rem))}.editor-grid{display:grid;grid-template-columns:240px minmax(320px,1fr) 320px;gap:1rem;align-items:start}.inspector,.slide-rail{position:sticky;top:1rem;max-height:calc(100vh - 2rem);overflow:auto}.rail-list{display:grid;gap:.5rem}.rail-item{display:grid;grid-template-columns:28px 1fr;gap:.55rem;text-align:left;background:#121a16;color:var(--ui-ink);border:1px solid var(--ui-line)}.rail-item.active{border-color:var(--ui-accent)}.preview-pane{display:flex;justify-content:center;padding-bottom:2rem}.critique{margin-bottom:1rem}.critique-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:.75rem 0}.stock-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem;margin-bottom:.75rem}.stock-grid img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:10px;cursor:pointer;border:1px solid var(--ui-line)}.file-label input{margin-top:.4rem}.actions{flex-wrap:wrap;justify-content:flex-end}.ng-page{width:210mm;min-height:297mm;height:297mm;padding:14mm 14mm 12mm;background:var(--ng-bg);color:var(--ng-ink);font-family:var(--ng-font-body);display:flex;flex-direction:column;overflow:hidden;border-radius:8px;box-shadow:0 18px 50px rgba(0,0,0,.35);position:relative}.ng-foot,.ng-top{display:flex;justify-content:space-between;align-items:center;color:var(--ng-muted);font-size:11px}.ng-brand{letter-spacing:.14em;text-transform:uppercase;font-weight:700}.ng-disputed{background:var(--ng-warn-bg);color:var(--ng-warn-ink);padding:.2rem .55rem;border-radius:999px;font-weight:700}.ng-checklist,.ng-closing,.ng-cover,.ng-facts,.ng-section,.ng-steps,.ng-warning{flex:1;display:flex;flex-direction:column;justify-content:center;gap:.85rem;padding:8mm 0}.ng-page h1,.ng-page h2,.ng-page h3{font-family:var(--ng-font-display);color:var(--ng-ink);line-height:1.15}.ng-page h1{font-size:42px;margin:0}.ng-page h2{font-size:30px;margin:0}.ng-page h3{font-size:16px;margin:0 0 .35rem}.ng-kicker{color:var(--ng-accent);text-transform:uppercase;letter-spacing:.16em;font-size:12px;font-weight:700;margin:0}.ng-body,.ng-card p,.ng-page li,.ng-steps p,.ng-sub{color:var(--ng-muted);line-height:1.45;font-size:15px}.ng-page ol,.ng-page ul{margin:0;padding-left:1.1rem}.ng-cover-img,.ng-inline-img{width:100%;max-height:120mm;object-fit:cover;border-radius:18px;border:1px solid var(--ng-border)}.ng-img-ph{height:90mm;border-radius:18px;border:1px dashed var(--ng-border);display:grid;place-items:center;color:var(--ng-muted);background:var(--ng-bg-accent)}.ng-cards{display:grid;gap:.7rem}.ng-card{background:var(--ng-card);border:1px solid var(--ng-border);border-radius:16px;padding:.9rem 1rem}.ng-card-top{display:flex;justify-content:space-between;gap:.5rem;align-items:start}.ng-badge{font-size:10px;text-transform:uppercase;letter-spacing:.08em;border:1px solid var(--ng-border);border-radius:999px;padding:.15rem .45rem;color:var(--ng-accent);white-space:nowrap}.ng-steps ol{list-style:none;padding:0;display:grid;gap:.75rem}.ng-steps li{display:grid;grid-template-columns:36px 1fr;gap:.75rem;align-items:start}.ng-step-n{width:36px;height:36px;border-radius:999px;display:grid;place-items:center;background:var(--ng-accent);color:var(--ng-bg);font-weight:700}.ng-warn-box{background:var(--ng-warn-bg);color:var(--ng-warn-ink);border-radius:16px;padding:1rem 1.1rem;border:1px solid color-mix(in srgb,var(--ng-warn-ink) 25%,transparent)}.ng-warn-box p{margin:0;color:inherit;font-size:16px;line-height:1.45}.ng-checklist ul{list-style:none;padding:0;display:grid;gap:.65rem}.ng-checklist li{display:grid;grid-template-columns:18px 1fr;gap:.65rem;align-items:start}.ng-check{width:16px;height:16px;margin-top:3px;border-radius:4px;border:2px solid var(--ng-accent)}.ng-print-root{background:#111}.ng-print-root .ng-page{margin:0 auto;border-radius:0;box-shadow:none;page-break-after:always;break-after:page}@media print{body{background:white!important}.ng-print-root{background:white}.ng-page{box-shadow:none;border-radius:0}}@page{size:A4 portrait;margin:0}@media (max-width:1100px){.critique-grid,.editor-grid,.grid-2{grid-template-columns:1fr}.inspector,.slide-rail{position:static;max-height:none}.ng-page{width:min(210mm,100%);height:auto;min-height:297mm}}