/* Layout: terminal-style file browser — black shell, paper "folder" panel, records as files. Single dark brand world by choice. */
:root{
  --ink:#0D0D0C; --ink-2:#141413; --ink-3:#262624; --rule:#3A3834; --ghost:#55534D;
  --paper:#F8F7F4; --sheet:#EFEDE8; --sheet-hover:#E2DFD8; --sheet-rule:#C9C6BF;
  --mute:#8C8983; --mute-2:#B9B6AF; --mute-ink:#5E5B55; --body-ink:#3A3834;
  --red:#E2371F; --red-ink:#B8260F; --line-blue:#C9D4E0; --white:#FFFFFF;
  --mono:'IBM Plex Mono',ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --display:'Archivo','Arial Narrow',Helvetica,Arial,sans-serif;
  /* shell zones: tinted by the highlight post's colour; header stays ink */
  --zone:var(--ink); --zone-2:#1B1B1A; --zone-3:var(--ink-3); --zone-rule:var(--rule);
  color-scheme:dark;
}
*{box-sizing:border-box}
body{margin:0;background:var(--zone);transition:background-color .4s;color:var(--paper);font-family:var(--display);-webkit-font-smoothing:antialiased}
@keyframes archblink{0%,49%{opacity:1}50%,100%{opacity:0}}
.blink{animation:archblink 1.1s steps(1) infinite}
@media (prefers-reduced-motion:reduce){.blink{animation:none!important}.folder:hover,.card:hover{transform:none!important}}
button{font:inherit;color:inherit;background:none;border:0;padding:0;margin:0;cursor:pointer;text-align:inherit}
a{color:inherit}
:focus-visible{outline:2px solid var(--red);outline-offset:2px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.mono{font-family:var(--mono)}
.gut{padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}
.gut-lg{padding-left:max(16px,min(32px,4vw),env(safe-area-inset-left,0px));padding-right:max(16px,min(32px,4vw),env(safe-area-inset-right,0px))}
.shell{min-height:100vh;display:flex;flex-direction:column}

.addr{display:flex;align-items:center;gap:12px;padding-block:10px;border-bottom:1px solid var(--rule);font:12px var(--mono);color:var(--mute);min-width:0}
.addr b{color:var(--paper)}
.addr span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding-block:20px;border-bottom:1px solid var(--rule)}
.addr,header{background:var(--ink)}
.logo{font:700 30px var(--mono)}
.logo:hover{color:var(--red)}
.tag{font:12px var(--mono);color:var(--mute)}
.hright{display:flex;gap:10px;align-items:center;flex-wrap:wrap;min-width:0}
.search{display:flex;align-items:center;font:13px var(--mono);border:1px solid var(--rule);padding:7px 12px;min-width:min(240px,100%);gap:0}
.search:focus-within{border-color:var(--paper)}
.search input{flex:1;min-width:0;background:none;border:0;color:var(--paper);font:inherit;outline:none;padding:0;caret-color:var(--red)}
.search input::placeholder{color:var(--mute)}
.search kbd{font:11px var(--mono);color:var(--mute);border:1px solid var(--rule);padding:0 5px;margin-left:8px}
.desk-btn{font:700 12px var(--mono);border:1px solid var(--red);color:var(--red);padding:8px 12px}
.desk-btn:hover,.desk-btn[aria-current="page"]{background:var(--red);color:var(--ink)}

.feature{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(340px,100%),1fr));border-bottom:1px solid var(--zone-rule)}
a.hatch{display:block;text-decoration:none}
.feature .hatch{background:repeating-linear-gradient(135deg,var(--zone-2) 0 2px,var(--zone-3) 2px 12px)}
.hatch{background:repeating-linear-gradient(135deg,#1B1B1A 0 2px,var(--ink-3) 2px 12px);position:relative;overflow:hidden;max-width:100%;color:var(--paper)}
.hatch .ph{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font:12px var(--mono);color:var(--mute);text-align:center;padding:16px}
.feature .hatch{aspect-ratio:4/3}
.chip{position:absolute;top:18px;left:18px;font:11px var(--mono);background:var(--ink);padding:5px 9px;z-index:1}
.feature-copy{padding:clamp(24px,4vw,48px);display:flex;flex-direction:column;justify-content:space-between;gap:28px;min-width:0}
.meta{font:12px/1.7 var(--mono);color:var(--mute-2)}
.meta .h{color:var(--paper);font-weight:700}
.headline{font-stretch:68%;font-weight:800;line-height:.88;text-transform:uppercase;text-wrap:balance;overflow-wrap:anywhere;margin:0}
.feature .headline{font-size:clamp(44px,6vw,84px)}
.feature-stand{margin:0;font-size:18px;line-height:1.5;color:var(--mute-2);max-width:46ch}
.feature-foot{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center;font:12px var(--mono);color:var(--mute)}
.link{font:13px var(--mono);text-decoration:underline;text-underline-offset:3px}
.link:hover{color:var(--red)}

/* generated covers */
.cv-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.cv-code{position:absolute;left:12px;bottom:-.08em;font:800 96px/1 var(--display);font-stretch:62%;color:transparent;-webkit-text-stroke:1.2px var(--ghost);text-transform:uppercase;white-space:nowrap;pointer-events:none}
.feature .cv-code{font-size:clamp(120px,20vw,260px);left:18px}
.rec-main .cv-code{font-size:clamp(120px,22vw,300px);left:18px}
.cv-dept,.cv-flag,.cv-play,.vf,.vt{z-index:1}
.cv-dept{position:absolute;top:12px;left:12px;font:11px var(--mono);background:var(--ink);padding:4px 8px}
.cv-flag{position:absolute;top:12px;right:12px;font:700 11px var(--mono);padding:4px 8px;background:var(--red);color:var(--ink)}
.cv-play{position:absolute;right:12px;bottom:12px;font:11px var(--mono);border:1px solid var(--paper);padding:3px 8px;background:var(--ink)}

main{flex:1;display:flex;flex-direction:column;padding-bottom:40px}
.tabs{display:flex;gap:3px;padding-top:24px;align-items:flex-end;overflow-x:auto;scrollbar-width:thin}
.tab{flex:none;padding:7px 12px 6px;font:12px var(--mono);border-radius:4px 4px 0 0;background:var(--zone-3);color:var(--mute-2)}
.tab:hover{color:var(--paper)}
.tab[aria-current="page"]{background:var(--sheet);color:var(--ink);font-weight:700;padding:10px 14px 9px}

.panel{background:var(--sheet);color:var(--ink);padding:clamp(18px,3vw,36px);display:flex;flex-direction:column;gap:44px;min-height:460px}
.panel :focus-visible{outline-color:var(--red-ink)}
.bar{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font:13px var(--mono);border-bottom:1px solid var(--ink);padding-bottom:12px}
.crumbs{display:flex;flex-wrap:wrap;align-items:center}
.crumbs button{font-weight:700}
.crumbs button:hover{color:var(--red-ink)}
.count{color:var(--mute-ink)}
.top{display:flex;flex-direction:column;gap:12px}
.dept-note{margin:0;font-size:18px;line-height:1.45;color:var(--body-ink);max-width:56ch}

.sec{display:flex;flex-direction:column;gap:18px;min-width:0}
.sec-h{display:flex;justify-content:space-between;align-items:baseline;gap:8px 16px;flex-wrap:wrap;margin:0;font:700 13px var(--mono);border-bottom:1px solid var(--ink);padding-bottom:8px}
.sec-h small{font-weight:400;color:var(--mute-ink);font-size:12px}
.sec-h .l{display:flex;gap:12px;align-items:baseline;flex-wrap:wrap}
.ctrls{display:flex;gap:4px;font:12px var(--mono);font-weight:400;flex-wrap:wrap}
.ctrls button{padding:3px 8px;border:1px solid var(--sheet-rule);color:var(--mute-ink)}
.ctrls button:hover{border-color:var(--ink);color:var(--ink)}
.ctrls button[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:var(--sheet)}

.folders{display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:26px 20px}
.folder{display:flex;flex-direction:column;gap:8px;transition:transform .15s}
.folder:hover{transform:translateY(-2px)}
.folder .tabtop{width:44%;height:10px;border:1.5px solid var(--ink);border-bottom:0;border-radius:3px 3px 0 0}
.folder .body{aspect-ratio:4/3;border:1.5px solid var(--ink);display:flex;align-items:flex-end;padding:8px;font:11px var(--mono)}
.folder.full .tabtop,.folder.full .body{background:var(--ink);color:var(--sheet)}
.folder.empty .body{color:var(--mute-ink)}
.folder .name{font:700 12px var(--mono);overflow-wrap:anywhere}
.folder:hover .name{color:var(--red-ink)}

/* story cards */
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(250px,100%),1fr));gap:32px 22px}
.card{display:flex;flex-direction:column;gap:10px;text-decoration:none;min-width:0;transition:transform .15s}
.card:hover{transform:translateY(-2px)}
.card .hatch{aspect-ratio:4/3}
.card-meta{font:11px var(--mono);color:var(--mute-ink);display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap}
.card-h{margin:0;font:800 30px/.92 var(--display);font-stretch:68%;text-transform:uppercase;text-wrap:balance;overflow-wrap:anywhere}
.card:hover .card-h{color:var(--red-ink)}
.card-s{margin:0;font-size:15px;line-height:1.45;color:var(--body-ink)}
.card-f{margin-top:auto;font:11px var(--mono);color:var(--mute-ink);border-top:1px solid var(--sheet-rule);padding-top:8px;display:flex;justify-content:space-between;gap:8px}

.split{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr));gap:44px 36px;align-items:start}
.ranked{list-style:none;margin:0;padding:0;counter-reset:ro;display:flex;flex-direction:column}
.ranked li{counter-increment:ro;border-bottom:1px solid var(--sheet-rule)}
.ranked a{display:grid;grid-template-columns:44px minmax(0,1fr);gap:2px 12px;padding:10px 0;text-decoration:none}
.ranked a::before{content:counter(ro,decimal-leading-zero);grid-row:span 2;font:800 30px/1 var(--display);font-stretch:68%;color:var(--red-ink)}
.ranked .rt{font-weight:700;font-size:16px;line-height:1.25}
.ranked a:hover .rt{text-decoration:underline;text-underline-offset:3px}
.ranked .rm{font:11px var(--mono);color:var(--mute-ink);font-variant-numeric:tabular-nums}
.sched{display:grid;grid-template-columns:64px minmax(0,1fr);gap:14px;align-items:center;text-decoration:none;padding:10px 0;border-bottom:1px solid var(--sheet-rule)}
.sched .sd{border:1.5px solid var(--ink);display:flex;flex-direction:column;align-items:center;padding:6px 0;font:11px var(--mono)}
.sched .sd b{font:800 28px/1 var(--display);font-stretch:68%}
.sched .sm{display:block;font:11px var(--mono);color:var(--mute-ink)}
.sched .st{display:block;font-weight:700;font-size:16px;line-height:1.25;margin-top:2px}
.sched:hover .st{color:var(--red-ink)}

/* subscribe band */
.sub{background:var(--ink);color:var(--paper);padding:clamp(20px,3vw,32px);display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:20px 32px;align-items:end}
.sub h2{margin:0;font-size:clamp(34px,4vw,52px)}
.sub p{margin:10px 0 0;font:13px/1.6 var(--mono);color:var(--mute-2);max-width:48ch}
.sub-form{display:flex;flex-direction:column;gap:10px;min-width:0}
.sub-form label{font:12px var(--mono);color:var(--mute-2)}
.sub-row{display:flex;gap:0;border:1px solid var(--rule)}
.sub-row:focus-within{border-color:var(--paper)}
.sub-row input{flex:1;min-width:0;background:none;border:0;color:var(--paper);font:14px var(--mono);padding:11px 12px;outline:none;caret-color:var(--red)}
.sub-row input::placeholder{color:var(--mute)}
.sub-row button{background:var(--red);color:var(--ink);font:700 13px var(--mono);padding:0 16px}
.sub-row button:hover{background:var(--paper)}
.sub-done{font:13px/1.6 var(--mono)}
.sub-done b{color:var(--red)}
.sub-note{font:11px var(--mono);color:var(--mute)}

.table-wrap{overflow-x:auto}
.table{min-width:780px;font:13px var(--mono);font-variant-numeric:tabular-nums}
.row{display:grid;grid-template-columns:84px 136px minmax(0,1fr) 120px 56px 84px 96px;gap:12px;padding:10px 0;border-bottom:1px solid var(--sheet-rule);width:100%}
.row > span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.row.head{border-bottom:1.5px solid var(--ink);color:var(--mute-ink);padding:8px 0}
a.row{text-decoration:none;color:inherit}
button.row:hover,a.row:hover{background:var(--sheet-hover)}
.row .f{font-weight:700}.row .s{color:var(--mute-ink)}
.row .s.sc{color:var(--red-ink);font-weight:700}
.row mark{background:var(--ink);color:var(--sheet);padding:0 2px}

.empty-note{font:13px/1.7 var(--mono);color:var(--mute-ink);padding:60px 0;text-align:center}
.empty-note button{text-decoration:underline;text-underline-offset:3px;color:var(--ink)}

/* record */
.record{display:flex;flex-direction:column;gap:44px}
.rec-top{display:flex;flex-wrap:wrap;gap:32px;align-items:flex-start}
.rec-side{flex:1 1 240px;max-width:340px;display:flex;flex-direction:column;gap:20px;position:sticky;top:64px}
@media (max-width:760px){.rec-side{position:static;max-width:none}}
.label-card{background:var(--ink);color:var(--paper);padding:24px;font:14px/1.75 var(--mono);overflow-wrap:anywhere}
.label-card .h{font-weight:700}
.credits{background:var(--ink);color:var(--paper);padding:24px;font:14px/1.75 var(--mono);overflow-wrap:anywhere}
.credits .t{font-weight:700}
.stamp{align-self:flex-start;transform:rotate(-6deg);margin:8px 0 0 12px;border:3px solid var(--red-ink);color:var(--red-ink);padding:8px 16px;display:flex;flex-direction:column;align-items:center;gap:2px;font-family:var(--mono)}
.stamp b{font-size:24px;letter-spacing:.08em}
.stamp span{font-size:11px;border-top:2px solid var(--red-ink);padding-top:3px}
.rec-main{flex:3 1 420px;min-width:0;display:flex;flex-direction:column;gap:24px}
.rec-main .hatch{aspect-ratio:16/9}
.rec-main .headline{font-size:clamp(40px,6vw,88px)}
.standfirst{margin:0;font-size:21px;line-height:1.45;color:var(--body-ink);max-width:58ch}
.byline{display:flex;flex-wrap:wrap;gap:8px 20px;font:12px var(--mono);color:var(--mute-ink);border-block:1px solid var(--sheet-rule);padding:10px 0;align-items:center}
.byline button{text-decoration:underline;text-underline-offset:3px;color:var(--ink)}
.byline button:hover{color:var(--red-ink)}
.copy-fb{font:12px var(--mono);width:100%;padding:6px 8px;border:1px solid var(--ink);background:var(--white);color:var(--ink)}
.prose{max-width:66ch;display:flex;flex-direction:column;gap:20px;font-size:18px;line-height:1.62;color:var(--body-ink)}
.prose p{margin:0}
.qa{display:flex;flex-direction:column;gap:6px}
.qa .qq{font:500 14px/1.6 var(--mono);color:var(--ink)}
.qa b{color:var(--ink);font-family:var(--mono);font-size:13px;letter-spacing:.04em}
.pull{margin:6px 0;padding:18px 0;border-block:2px solid var(--ink);font:800 clamp(30px,4.4vw,50px)/.95 var(--display);font-stretch:68%;text-transform:uppercase;color:var(--ink);text-wrap:balance}
.sub-h{margin:8px 0 0;font:700 13px var(--mono);color:var(--ink);text-transform:uppercase;letter-spacing:.06em}
.rank{list-style:none;margin:0;padding:0;counter-reset:rk;display:flex;flex-direction:column;border-top:1.5px solid var(--ink)}
.rank li{counter-increment:rk;display:grid;grid-template-columns:56px minmax(0,1fr);column-gap:12px;padding:12px 0;border-bottom:1px solid var(--sheet-rule)}
.rank li::before{content:counter(rk,decimal-leading-zero);grid-row:span 2;font:800 38px/1 var(--display);font-stretch:68%;color:var(--red-ink)}
.rk-t{font-weight:700;color:var(--ink)}
.rk-n{font-size:15px;line-height:1.5;color:var(--mute-ink)}
.ledger{border-top:1.5px solid var(--ink);font:14px var(--mono);font-variant-numeric:tabular-nums}
.ledger div{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--sheet-rule)}
.ledger div span:last-child{font-weight:700;color:var(--ink)}
.endmark{font:12px var(--mono);color:var(--mute-ink)}
.endmark::before{content:"";display:inline-block;width:9px;height:9px;background:var(--red-ink);margin-right:8px}
.countdown{background:var(--ink);color:var(--paper);padding:28px;display:flex;flex-direction:column;gap:8px;font:13px var(--mono)}
.countdown b{font:800 clamp(56px,9vw,112px)/.85 var(--display);font-stretch:62%;color:var(--red)}
.vf{position:absolute;width:28px;height:28px;border:0 solid var(--paper)}
.vf.tl{top:16px;left:16px;border-top-width:3px;border-left-width:3px}
.vf.tr{top:16px;right:16px;border-top-width:3px;border-right-width:3px}
.vf.bl{bottom:16px;left:16px;border-bottom-width:3px;border-left-width:3px}
.vf.br{bottom:16px;right:16px;border-bottom-width:3px;border-right-width:3px}
.vt{position:absolute;font:12px var(--mono);display:flex;align-items:center;gap:8px}
.vt.rec{top:28px;left:56px;font-weight:700}
.vt.rec i{width:9px;height:9px;border-radius:50%;background:var(--red)}
.vt.tc{top:28px;right:56px;font-variant-numeric:tabular-nums}
.vt.id{bottom:28px;left:56px;font-size:11px}
.rec-nav{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;border-top:1px solid var(--ink);padding-top:14px}
.rec-nav .link{text-align:left}
.rec-nav .link:hover{color:var(--red-ink)}

/* ── desk (editors) ── */
.btn{font:700 12px var(--mono);padding:10px 14px;border:1.5px solid var(--ink);background:var(--white);color:var(--ink);text-align:center}
.btn:hover{background:var(--ink);color:var(--sheet)}
.btn.primary{background:var(--ink);color:var(--sheet)}
.btn.primary:hover{background:var(--red-ink);border-color:var(--red-ink)}
.btn.danger{border-color:var(--red-ink);color:var(--red-ink)}
.btn.danger:hover{background:var(--red-ink);color:var(--white)}
.btn:disabled{opacity:.4;pointer-events:none}
.desk-top{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;align-items:flex-end}
.desk-note{margin:0;font:12px/1.6 var(--mono);color:var(--mute-ink);max-width:70ch}
.st-chip{font:700 11px var(--mono);padding:2px 7px;border:1.5px solid currentColor;display:inline-block;white-space:nowrap}
.st-chip.draft{color:var(--mute-ink)}
.st-chip.scheduled{color:var(--ink)}
.st-chip.due{background:var(--red);color:var(--ink);border-color:var(--red)}
.st-chip.live{background:var(--ink);color:var(--sheet);border-color:var(--ink)}
.st-chip.edits{color:var(--red-ink)}
.dtable{font:13px var(--mono);font-variant-numeric:tabular-nums}
.lockbox{max-width:440px;width:100%;margin:24px auto 40px;display:flex;flex-direction:column;gap:16px}
.lockbox .headline{font-size:clamp(48px,9vw,96px)}
.lockbox p{margin:0;font:13px/1.6 var(--mono);color:var(--mute-ink)}
.lockbox form{display:flex;flex-direction:column;gap:12px}
.lockbox .ed-msg{min-height:1.5em}
.lockbox .link{color:var(--ink);align-self:flex-start}
.desk-lock{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center}
.desk-lock button{font:12px var(--mono);text-decoration:underline;text-underline-offset:3px;color:var(--paper)}
.desk-lock button:hover{color:var(--red)}
.desk-new{display:flex;flex-wrap:wrap;gap:8px}
.desk-new .btn{text-decoration:none}
.desk-now{display:flex;flex-wrap:wrap;gap:6px 28px;font:12px/1.6 var(--mono);background:var(--ink);color:var(--paper);padding:12px 16px}
.desk-now .dim{color:var(--mute-2)}
.desk-now .err{color:var(--red);flex-basis:100%}
.zone-chip{display:inline-block;width:12px;height:12px;border:1px solid var(--mute);vertical-align:-1px;margin-right:4px}
.drow{display:grid;grid-template-columns:84px minmax(0,1fr) 140px 84px 110px 190px;gap:12px;padding:12px 0;border-bottom:1px solid var(--sheet-rule);align-items:center}
.drow > span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.drow.head{border-bottom:1.5px solid var(--ink);color:var(--mute-ink);padding:8px 0}
.drow:not(.head):hover{background:var(--sheet-hover)}
.drow .d-f{font-weight:700}
.drow .d-t{font:700 16px/1.25 var(--display);text-decoration:none;min-width:0;overflow-wrap:anywhere}
.drow .d-t:hover{color:var(--red-ink)}
.drow .d-t small{display:block;font:400 11px/1.5 var(--mono);color:var(--mute-ink);margin-top:2px}
.drow .d-ac{overflow:visible;white-space:normal;justify-content:flex-end}
.drow .d-ac button:disabled{opacity:.4;pointer-events:none}
.seg{display:grid;grid-template-columns:1fr 1fr;border:1.5px solid var(--ink);background:var(--white)}
.seg label{cursor:pointer;min-width:0;position:relative}
.seg input{position:absolute;opacity:0;pointer-events:none}
.seg span{display:block;height:100%;padding:10px 14px;font:700 13px var(--mono)}
.seg small{display:block;font:400 11px/1.4 var(--mono);color:var(--mute-ink);margin-top:2px}
.seg input:checked + span{background:var(--ink);color:var(--sheet)}
.seg input:checked + span small{color:var(--mute-2)}
.seg input:focus-visible + span{outline:2px solid var(--red-ink);outline-offset:2px}
.ins{display:flex;flex-wrap:wrap;gap:4px;align-items:center;font:12px var(--mono);color:var(--mute-ink)}
.ins button{padding:5px 9px;border:1px solid var(--sheet-rule);background:var(--white);color:var(--ink)}
.ins button:hover{border-color:var(--ink)}
.ed-opts{display:flex;flex-direction:column;gap:14px;border:1.5px solid var(--ink);padding:14px;background:var(--white)}
.check small{display:block;font-size:11px;color:var(--mute-ink)}
.swatches{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.sw{width:30px;height:30px;border:1.5px solid var(--sheet-rule);display:grid;place-items:center;font:13px var(--mono);color:var(--mute-ink);background:var(--white)}
.sw[aria-pressed="true"]{outline:2.5px solid var(--ink);outline-offset:2px}
#ed-color-custom{width:38px;height:30px;padding:0;border:1.5px solid var(--sheet-rule);background:var(--white);cursor:pointer}
.ed-bar{position:sticky;bottom:0;z-index:4;background:var(--sheet);border-top:1.5px solid var(--ink);padding:10px 0 calc(10px + env(safe-area-inset-bottom,0px));display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;justify-content:space-between;margin-top:-20px}
.ed-bar .ed-msg{flex:1 1 200px;min-height:0}
.ed-bar-btns{display:flex;gap:8px;flex-wrap:wrap}
.watch{align-self:flex-start;text-decoration:none;font-size:14px;padding:14px 20px}
.ed{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:36px;align-items:start}
@media (max-width:900px){.ed{grid-template-columns:minmax(0,1fr)}}
.ed-form{display:flex;flex-direction:column;gap:20px;min-width:0}
.fld{display:flex;flex-direction:column;gap:6px;min-width:0}
.fld > label,.fld .lb{font:12px var(--mono);color:var(--mute-ink)}
.fld input,.fld select,.fld textarea{font:16px/1.45 var(--display);padding:10px 12px;border:1.5px solid var(--sheet-rule);background:var(--white);color:var(--ink);border-radius:0;width:100%;min-width:0}
.fld input:focus,.fld select:focus,.fld textarea:focus{outline:none;border-color:var(--ink)}
.fld .big{font:800 34px/1 var(--display);font-stretch:68%;text-transform:uppercase}
.fld textarea.body-src{font:14px/1.65 var(--mono);min-height:440px;resize:vertical}
.fld .hint{font:11px/1.5 var(--mono);color:var(--mute-ink)}
.fgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(170px,100%),1fr));gap:14px}
.fset{border:0;border-top:1px solid var(--ink);margin:0;padding:14px 0 0;display:flex;flex-direction:column;gap:14px;min-width:0}
.fset legend{font:700 12px var(--mono);padding:0 8px 0 0}
.cover-ed{display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.cover-ed .hatch{width:180px;aspect-ratio:4/3}
.cover-ed .btns{display:flex;flex-direction:column;gap:8px;font:12px var(--mono)}
.check{display:flex;gap:10px;align-items:center;font:13px var(--mono)}
.check input{width:18px;height:18px;accent-color:var(--ink)}
.ed-side{display:flex;flex-direction:column;gap:16px;position:sticky;top:64px;min-width:0}
@media (max-width:900px){.ed-side{position:static}}
.ed-status{background:var(--ink);color:var(--paper);padding:18px;font:13px/1.7 var(--mono);display:flex;flex-direction:column;gap:6px}
.ed-status .st-chip.live{background:var(--paper);color:var(--ink);border-color:var(--paper)}
.ed-status .st-chip.scheduled,.ed-status .st-chip.draft{color:var(--paper)}
.ed-status .dim{color:var(--mute-2)}
.ed-status .warn{color:var(--red)}
.ed-actions{display:flex;flex-direction:column;gap:8px}
.ed-msg{font:12px/1.5 var(--mono);min-height:1.5em}
.ed-msg.err{color:var(--red-ink);font-weight:700}
.ed-confirm{border:2px solid var(--red-ink);padding:14px;font:13px/1.5 var(--mono);display:flex;flex-direction:column;gap:10px;background:var(--white)}
.ed-confirm .row2{display:flex;gap:8px}
.ed-help{font:12px/1.7 var(--mono);color:var(--body-ink);border-top:1px solid var(--ink);padding-top:10px}
.ed-help summary{font-weight:700;cursor:pointer;color:var(--ink)}
.ed-help dl{margin:8px 0 0;display:grid;grid-template-columns:auto 1fr;gap:4px 10px}
.ed-help dt{white-space:nowrap}
.ed-help dt code{background:var(--white);padding:0 4px;border:1px solid var(--sheet-rule)}
.ed-help dd{margin:0;color:var(--mute-ink)}
.preview-wrap{border-top:3px dashed var(--ink);padding-top:20px;display:flex;flex-direction:column;gap:20px}
.preview-wrap > .pv-label{font:700 12px var(--mono);color:var(--red-ink)}

footer{border-top:1px solid var(--zone-rule);padding-block:32px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:24px;align-items:end}
footer .headline{font-size:44px;line-height:.9}
footer .desk-btn{font-size:14px;padding:12px 18px}
.cities{font:12px/1.8 var(--mono);color:var(--mute-2);text-align:right}
@media (max-width:560px){.cities{text-align:left}}
.status{display:flex;justify-content:space-between;flex-wrap:wrap;gap:4px 16px;padding-block:6px;border-top:1px solid var(--rule);font:11px var(--mono);color:var(--mute);background:var(--ink-2)}

/* sticky department tabs */
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:10;background:var(--ink)}
.tabs{position:sticky;top:env(safe-area-inset-top,0px);z-index:5;background:var(--zone);transition:background-color .4s}

/* hover lifts only where there is a mouse */
@media (hover:none){.folder:hover,.card:hover{transform:none}}

/* ── phone ── */
@media (max-width:640px){
  .addr{padding-block:8px;font-size:11px}
  header{padding-block:14px;gap:12px}
  .logo{font-size:24px}
  .tag{display:none}
  .hright{flex:1 1 100%}
  .search{flex:1 1 auto;min-width:0;padding:10px 12px}
  .search input{font-size:16px}
  .search kbd{display:none}
  .desk-btn{padding:11px 12px}

  .feature .hatch{aspect-ratio:16/10}
  .feature-copy{padding:20px max(16px,env(safe-area-inset-right,0px)) 24px max(16px,env(safe-area-inset-left,0px));gap:20px}
  .meta{display:flex;flex-wrap:wrap;gap:0 12px;line-height:1.6}
  .meta .h{flex-basis:100%}
  .feature .headline{font-size:48px}
  .feature-stand{font-size:16px}
  .link{display:inline-block;padding-block:6px}

  .tabs{padding-top:14px;gap:2px;scroll-snap-type:x proximity;scrollbar-width:none;margin-inline:calc(-1 * max(16px,env(safe-area-inset-left,0px))) calc(-1 * max(16px,env(safe-area-inset-right,0px)));padding-inline:max(16px,env(safe-area-inset-left,0px)) max(16px,env(safe-area-inset-right,0px))}
  .tabs::-webkit-scrollbar{display:none}
  .tab{padding:10px 12px 9px;scroll-snap-align:start}
  .tab[aria-current="page"]{padding:12px 14px 11px}

  .panel{padding:18px 14px 28px;gap:32px}
  .bar{font-size:12px}
  .sec{gap:14px}
  .ctrls button{padding:7px 10px}
  .dept-note{font-size:16px}

  .folders{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 12px}
  .folder .body{font-size:10px;padding:6px}
  .folder .name{font-size:11px}

  .cards{gap:28px}
  .card .hatch{aspect-ratio:16/10}
  .card-h{font-size:32px}
  .cv-code{font-size:84px}

  .table{min-width:0}
  .row.head,.drow.head{display:none}
  .row{grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"f dt s" "t t t" "sr sr sr";gap:3px 10px;padding:12px 0;font-size:12px}
  .row .f{grid-area:f}.row .c-dt{grid-area:dt;color:var(--mute-ink)}.row .s{grid-area:s}
  .row .c-t{grid-area:t;white-space:normal;font:700 16px/1.25 var(--display);color:var(--ink)}
  .row .c-sr{grid-area:sr;color:var(--mute-ink)}
  .row .c-dp,.row .c-lc{display:none}
  .drow{grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"f dt st" "t t t" "dp dp dp" "ac ac ac";gap:4px 10px;font-size:12px}
  .drow .d-f{grid-area:f}.drow .d-dt{grid-area:dt;color:var(--mute-ink)}.drow .d-st{grid-area:st}
  .drow .d-t{grid-area:t}.drow .d-dp{grid-area:dp;color:var(--mute-ink)}.drow .d-ac{grid-area:ac;justify-content:flex-start;margin-top:4px}
  .ed-bar-btns{flex:1 1 100%}
  .ed-bar-btns .btn{flex:1;padding-inline:8px}

  .rec-top{gap:28px}
  .rec-main{flex-basis:100%;gap:18px}
  .rec-side{order:2;flex-basis:100%}
  .rec-main .headline{font-size:44px}
  .standfirst{font-size:18px}
  .prose{font-size:17px;gap:18px}
  .pull{font-size:32px}
  .byline{gap:6px 14px}
  .byline button{padding-block:4px}
  .vf{width:18px;height:18px}
  .vf.tl,.vf.tr{top:10px}.vf.bl,.vf.br{bottom:10px}
  .vf.tl,.vf.bl{left:10px}.vf.tr,.vf.br{right:10px}
  .vt{font-size:10px}
  .vt.rec{top:16px;left:36px}.vt.tc{top:16px;right:36px}.vt.id{bottom:16px;left:36px;font-size:10px}
  .rec-main .hatch .ph{font-size:11px}
  .countdown{padding:20px}
  .rec-nav{flex-direction:column;gap:4px}

  .sub h2{font-size:36px}
  .sub-row{flex-wrap:wrap}
  .sub-row input{font-size:16px;flex-basis:100%;border-bottom:1px solid var(--rule)}
  .sub-row button{flex:1;padding:12px 16px}

  .fld .big{font-size:28px}
  .fld textarea.body-src{min-height:320px}
  .cover-ed .hatch{width:100%}

  footer{padding-block:24px}
  footer .headline{font-size:36px}
  .status{font-size:10px}
}

/* ── admin site: login, team, subscribers ── */
.who{font:12px var(--mono);color:var(--mute);display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.who b{color:var(--paper);font-weight:500}
.who button,.who a{color:var(--mute-2);text-decoration:underline;text-underline-offset:3px}
.who button:hover,.who a:hover{color:var(--red)}
.pw-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr));gap:12px;align-items:end}
.pw-form .ed-msg{grid-column:1/-1;min-height:0}
.pw-btns{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.pwrow{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:8px 12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--sheet-rule)}
.pwrow .pw-edit{grid-column:1/-1;padding:12px;border:1.5px solid var(--ink);background:var(--white)}
.pw-check input{width:18px;height:18px;accent-color:var(--ink)}
.pw-l{font:700 16px/1.25 var(--display);min-width:0;overflow-wrap:anywhere}
.pw-l small{display:block;font:400 11px/1.5 var(--mono);color:var(--mute-ink);margin-top:2px}
.pw-shown{border:2px solid var(--ink);background:var(--white);padding:14px;font:13px/1.6 var(--mono);display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.pw-shown code{font:700 18px var(--mono);background:var(--sheet);padding:4px 10px;user-select:all}
.pw-note{flex-basis:100%;font-size:11px;color:var(--mute-ink)}
.role-chip{font:700 10px var(--mono);padding:1px 6px;border:1.5px solid currentColor;margin-left:6px;vertical-align:2px}
.role-chip.admin{background:var(--ink);color:var(--sheet);border-color:var(--ink)}
.notice{background:var(--white);border:2px solid var(--red-ink);color:var(--ink);padding:14px 16px;font:13px/1.6 var(--mono)}
.notice code{background:var(--sheet);padding:0 4px}
@media (max-width:640px){.pwrow{grid-template-columns:24px minmax(0,1fr)}.pwrow > .ctrls{grid-column:2}}
