/* AIhasreplacedyou.com
   A manuscript being edited: ink-black paper, a machine's selection blue, and a proofreader's three marks.
   Red strike = lost. Yellow highlight = beautiful. Green caret = added.
   Motion is kept to one moment: the headline edit on the home page. */

:root{
  color-scheme:dark;
  --paper:#0E1014; --paper-2:#14171C; --card:#181B21;
  --ink:#E9EBF0; --ink-2:#A6ACB8; --ink-3:#8A91A0; --rule:#2A2E37;
  --machine:#88A3FF; --select:#2C3F8C;
  --redpen:#FF5D67; --hl:#E4CC3E; --hl-ink:#16171B; --insert:#45C892;
  --band:#07080B; --band-2:#111318; --band-ink:#ECEEF3; --band-ink-2:#A8AEBB; --band-rule:#23262E;
  --band-red:#FF6B74; --band-blue:#93ABFF; --band-green:#52D29C;
  --flame:#FFB547; --shadow:rgba(0,0,0,.6);
  --f-display:"IM Fell English","Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;
  --f-body:"Newsreader","Iowan Old Style",Georgia,"Times New Roman",serif;
  --f-mono:"Martian Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --f-hand:"Kalam","Segoe Print","Bradley Hand",cursive;
  --fs-hero:clamp(3.3rem,12.4vw,8.4rem);
  --fs-room:clamp(2.2rem,5.4vw,3.8rem);
  --room-pad:clamp(44px,7vw,104px);
  --max:1200px;
  --bar-h:56px;
}

*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{background:var(--paper);-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--f-body);font-size:1.0625rem;line-height:1.55;font-optical-sizing:auto;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:clip;min-height:100vh;display:flex;flex-direction:column}
main{flex:1}
a{color:var(--machine);text-underline-offset:.18em;text-decoration-thickness:1px}
a:hover{text-decoration-thickness:2px}
button{font:inherit;-webkit-tap-highlight-color:transparent}
img{max-width:100%}
:focus-visible{outline:2px solid var(--machine);outline-offset:3px;border-radius:2px}
::selection{background:var(--select);color:var(--ink)}
.wrap{max-width:var(--max);margin-inline:auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
@media (min-width:900px){.wrap{padding-left:max(40px,env(safe-area-inset-left,0px));padding-right:max(40px,env(safe-area-inset-right,0px))}}
.skip{position:absolute;left:-9999px;top:8px;background:var(--ink);color:var(--paper);padding:10px 14px;z-index:40}
.skip:focus{left:max(16px,env(safe-area-inset-left,0px))}
.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- top bar + menu ---------- */
.bar{position:sticky;top:0;z-index:30;background:var(--paper);border-bottom:1px solid var(--rule);padding-top:env(safe-area-inset-top,0px)}
@supports (backdrop-filter:blur(10px)) or (-webkit-backdrop-filter:blur(10px)){
  .bar{background:rgba(14,16,20,.9);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
}
.bar-in{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:var(--bar-h)}
.wordmark{font-family:var(--f-mono);font-size:.78rem;letter-spacing:.01em;color:var(--ink);text-decoration:none;white-space:nowrap;font-stretch:87.5%;padding:8px 0}
.wordmark em{font-family:var(--f-display);font-style:italic;font-size:1.55em;color:var(--redpen);margin-inline:.03em;letter-spacing:0;font-stretch:normal}
.menu-btn{display:none}
.menu{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:4px 22px;font-family:var(--f-mono);font-size:.66rem;letter-spacing:.06em;text-transform:uppercase}
.menu a{display:block;padding:10px 0;color:var(--ink-2);text-decoration:none;white-space:nowrap}
.menu a:hover{color:var(--ink)}
.menu a[aria-current="page"]{color:var(--ink);box-shadow:inset 0 -2px 0 var(--redpen)}
.menu .nav-hope{color:var(--flame)}
.menu .nav-hope[aria-current="page"]{color:var(--flame);box-shadow:inset 0 -2px 0 var(--flame)}
.menu .rn{display:none}
@media (max-width:959px){
  .menu-btn{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0 16px;border:1px solid var(--rule);border-radius:999px;background:var(--card);color:var(--ink);font-family:var(--f-mono);font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}
  .menu-btn .burger{position:relative;width:14px;height:10px;display:inline-block}
  .menu-btn .burger::before,.menu-btn .burger::after{content:"";position:absolute;left:0;right:0;height:1.5px;background:currentColor;border-radius:1px}
  .menu-btn .burger::before{top:1px}
  .menu-btn .burger::after{bottom:1px}
  .bar.open .menu-btn .burger::before{top:4px;transform:rotate(45deg)}
  .bar.open .menu-btn .burger::after{bottom:4.5px;transform:rotate(-45deg)}
  .menu{position:absolute;left:0;right:0;top:100%;display:none;flex-direction:column;align-items:stretch;gap:0;background:var(--paper);border-bottom:1px solid var(--rule);padding:4px max(16px,env(safe-area-inset-left,0px)) 12px;box-shadow:0 30px 40px -24px #000;max-height:calc(100vh - var(--bar-h));overflow-y:auto;font-size:.74rem}
  .bar.open .menu{display:flex}
  .menu li + li{border-top:1px solid var(--rule)}
  .menu a{display:flex;align-items:baseline;gap:14px;padding:15px 2px}
  .menu .rn{display:inline-block;min-width:2.2em;color:var(--ink-3);font-size:.9em}
  .menu a[aria-current="page"]{box-shadow:none;color:var(--redpen)}
  .menu .nav-hope[aria-current="page"]{box-shadow:none}
}

/* ---------- sound switch, three states:
   wait: the browser has not let it play yet, so a red play mark asks for the tap that starts it
   on: bars that move while the drone plays
   off: the visitor turned it off, the bars struck through in red pen ---------- */
.nav{margin-left:auto}
.sound-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:40px;min-width:44px;padding:0 14px;border:1px solid var(--rule);border-radius:999px;background:var(--card);color:var(--ink-2);font-family:var(--f-mono);font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;white-space:nowrap}
.sound-btn:hover{color:var(--ink);border-color:var(--ink-3)}
.sound-btn[data-state="on"],.sound-btn[data-state="wait"]{color:var(--ink)}
.eq{position:relative;display:inline-flex;align-items:flex-end;gap:2px;height:12px;flex:none}
.eq i{display:block;width:2px;height:12px;background:currentColor;border-radius:1px;transform-origin:50% 100%;transform:scaleY(.4)}
.eq i:nth-child(2){transform:scaleY(.8)}
.eq i:nth-child(3){transform:scaleY(.55)}
.eq i:nth-child(4){transform:scaleY(.9)}
.sound-btn[data-state="on"] .eq i{animation:eq 1.3s ease-in-out infinite}
.sound-btn[data-state="on"] .eq i:nth-child(2){animation-duration:1.1s;animation-delay:-.4s}
.sound-btn[data-state="on"] .eq i:nth-child(3){animation-duration:1.6s;animation-delay:-.9s}
.sound-btn[data-state="on"] .eq i:nth-child(4){animation-duration:1.25s;animation-delay:-.2s}
@keyframes eq{0%,100%{transform:scaleY(.3)}50%{transform:scaleY(1)}}
.sound-btn[data-state="off"] .eq i{opacity:.45;transform:scaleY(.3)}
.sound-btn[data-state="off"] .eq::after{content:"";position:absolute;left:-4px;right:-4px;top:50%;height:2px;margin-top:-1px;background:var(--redpen);border-radius:1px;transform:rotate(-28deg)}
.sound-btn .play{display:none;width:0;height:0;flex:none;margin-left:2px;border-style:solid;border-width:6px 0 6px 10px;border-color:transparent transparent transparent var(--redpen)}
.sound-btn[data-state="wait"] .play{display:block}
.sound-btn[data-state="wait"] .eq{display:none}
.sound-btn[data-state="wait"]{border-color:rgba(255,93,103,.6)}
@media (prefers-reduced-motion:no-preference){.sound-btn[data-state="wait"]{animation:sound-call 2.6s ease-in-out infinite}}
@keyframes sound-call{0%,100%{box-shadow:0 0 0 0 rgba(255,93,103,0)}50%{box-shadow:0 0 0 6px rgba(255,93,103,.16)}}
@media (prefers-reduced-motion:reduce){.sound-btn .eq i{animation:none!important}}
@media (max-width:959px){
  .bar-in{gap:10px}
  .sound-btn{order:1;margin-left:auto;min-height:44px}
  .nav{order:2;margin-left:0}
}
@media (min-width:520px){.sound-btn{min-width:130px}} /* same width in every state, so the menu never shifts */
@media (max-width:519px){.sound-btn{width:44px;padding:0}.sound-l{display:none}}
@media (max-width:359px){.menu-btn{width:44px;padding:0;justify-content:center}.menu-btn .menu-l{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}}

/* ---------- proofreading marks ---------- */
.mk{display:inline-block;width:20px;height:12px;flex:none;position:relative;vertical-align:middle}
.mk-tragic::before{content:"";position:absolute;left:1px;right:1px;top:50%;height:2.5px;margin-top:-1px;background:var(--redpen);transform:rotate(-13deg);border-radius:2px}
.mk-beautiful::before{content:"";position:absolute;inset:1px 1px;background:var(--hl);transform:skewX(-14deg);border-radius:2px}
.mk-hopeful::before{content:"";position:absolute;left:5px;top:3px;width:9px;height:9px;border-left:2.5px solid var(--insert);border-top:2.5px solid var(--insert);transform:rotate(45deg)}
.legend{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:10px 22px;font-family:var(--f-mono);font-size:.66rem;color:var(--ink-3);letter-spacing:.02em}
.legend li{display:flex;align-items:center;gap:8px}

/* ---------- hero (home) ---------- */
.hero{padding-block:clamp(36px,7vw,96px) clamp(44px,7vw,96px)}
.kicker{display:flex;flex-wrap:wrap;gap:6px 22px;font-family:var(--f-mono);font-size:.66rem;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-3);margin:0 0 clamp(16px,3vw,30px)}
.thesis{font-family:var(--f-display);font-weight:400;font-size:var(--fs-hero);line-height:.98;letter-spacing:-.012em;margin:0;max-width:7em}
.you{position:relative;display:inline-block;white-space:nowrap}
.you-word{display:inline-block;transform-origin:left center;border-radius:.04em}
.caret{position:absolute;left:.02em;top:.2em;height:.66em;width:.05em;background:var(--machine);opacity:0;pointer-events:none}
.you-dots{position:absolute;left:.02em;right:.02em;bottom:-.07em;height:.1em;background-image:radial-gradient(circle,var(--redpen) 40%,transparent 46%);background-size:.16em .1em;background-repeat:repeat-x}
.stet-mark{position:absolute;left:62%;top:-.12em;font-family:var(--f-hand);font-weight:700;color:var(--redpen);font-size:clamp(14px,.24em,40px);line-height:1;transform:rotate(-10deg);white-space:nowrap;padding:.3em .55em}
.stet-mark::after{content:"stet"}
.stet-mark svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.stet-mark path{stroke-dasharray:100;stroke-dashoffset:0}
/* the one animated moment: a machine selects "you", deletes it, a proofreader writes it back */
@media (prefers-reduced-motion:no-preference){
  .page-home .you-word{animation:you-edit 4.4s ease .3s 1 both}
  .page-home .caret{animation:caret-blink 4.4s linear .3s 1 both}
  .page-home .you-dots{animation:ink-in .5s ease 3.75s 1 both}
  .page-home .stet-mark{animation:ink-in .4s ease 3.9s 1 both}
  .page-home .stet-mark path{animation:draw .9s ease 4.05s 1 both}
}
@keyframes you-edit{
  0%,16%{background-color:transparent;opacity:1;transform:none;color:var(--ink)}
  17%,33%{background-color:var(--select);opacity:1;transform:none;color:var(--ink)}
  38%,74%{background-color:transparent;opacity:0;transform:scaleX(.15);color:var(--ink)}
  75%{background-color:transparent;opacity:1;transform:none;color:var(--redpen)}
  100%{background-color:transparent;opacity:1;transform:none;color:var(--ink)}
}
@keyframes caret-blink{0%,37%{opacity:0}38%,45%{opacity:1}46%,53%{opacity:0}54%,61%{opacity:1}62%,69%{opacity:0}70%,74%{opacity:1}75%,100%{opacity:0}}
@keyframes ink-in{from{opacity:0}to{opacity:1}}
@keyframes draw{from{stroke-dashoffset:100}to{stroke-dashoffset:0}}
.hero-foot{display:grid;gap:26px;margin-top:clamp(26px,4vw,48px);grid-template-columns:minmax(0,1fr);align-items:end}
@media (min-width:900px){.hero-foot{grid-template-columns:minmax(0,38rem) minmax(0,1fr);column-gap:clamp(40px,7vw,110px)}.hero-foot .legend{justify-content:flex-end}}
.dek{font-size:clamp(1.15rem,1.9vw,1.38rem);line-height:1.5;margin:0;max-width:30em}
.hero-cta{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.hero-cta .btn{min-height:48px;padding:14px 18px;font-size:.76rem;text-decoration:none}

/* ---------- rooms (sections) ---------- */
.room{padding-block:var(--room-pad);border-top:1px solid var(--rule)}
.room.band,.room.sunk,.room.page-top{border-top:0}
.room.page-top{padding-top:clamp(32px,5.5vw,72px)}
.room-head{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;margin-bottom:clamp(26px,4vw,48px)}
@media (min-width:980px){.room-head{grid-template-columns:minmax(0,44rem) minmax(0,15rem);column-gap:clamp(40px,7vw,110px)}.room-head > :not(.note){grid-column:1}.room-head .note{grid-column:2;grid-row:1 / span 3;align-self:end}}
.room-no{font-family:var(--f-mono);font-size:.66rem;letter-spacing:.11em;text-transform:uppercase;color:var(--ink-3);margin:0}
.room-title{font-family:var(--f-display);font-weight:400;font-size:var(--fs-room);line-height:1;margin:0;letter-spacing:-.005em;text-wrap:balance}
.room-dek{margin:0;max-width:36em;color:var(--ink-2);font-size:1.12rem}
.room-head .legend{margin-top:6px}
.note{font-family:var(--f-hand);color:var(--redpen);font-size:1.04rem;line-height:1.35;margin:0;transform:rotate(-1.4deg);max-width:22rem}
.band{background:var(--band);color:var(--band-ink)}
.band .room-no,.band .room-dek{color:var(--band-ink-2)}
.band .note{color:var(--band-red)}
.band a{color:var(--band-blue)}
.sunk{background:var(--paper-2)}
.sec-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:10px 24px;margin-bottom:clamp(20px,3vw,32px)}
.more{font-family:var(--f-mono);font-size:.7rem;letter-spacing:.03em;white-space:nowrap;display:inline-flex;align-items:center;min-height:44px}

/* ---------- buttons + chips ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;font-family:var(--f-mono);font-size:.72rem;letter-spacing:.04em;padding:12px 16px;border-radius:4px;border:1px solid var(--ink);background:var(--ink);color:var(--paper);cursor:pointer;white-space:nowrap;text-decoration:none}
.btn:hover{background:var(--ink-2);border-color:var(--ink-2)}
.btn:disabled{opacity:.45;cursor:not-allowed}
.btn-line{background:transparent;color:var(--ink);border-color:var(--ink-3)}
.btn-line:hover{background:var(--paper-2);border-color:var(--ink)}
.btn-red{background:var(--redpen);border-color:var(--redpen);color:#160608}
.btn-red:hover{background:#ff7b83;border-color:#ff7b83}
.chip{font-family:var(--f-mono);font-size:.66rem;min-height:40px;padding:8px 13px;border:1px solid var(--rule);border-radius:999px;background:transparent;color:var(--ink-2);cursor:pointer;white-space:nowrap}
.chip:hover{border-color:var(--ink-3);color:var(--ink)}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.field{min-width:0;font:inherit;font-size:1.15rem;padding:12px 14px;border:1px solid var(--ink-3);border-radius:4px;background:var(--card);color:var(--ink)}
.field::placeholder{color:var(--ink-3)}

/* ---------- home: rooms index ---------- */
.rooms{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:minmax(0,1fr);border-top:1px solid var(--rule)}
@media (min-width:700px){.rooms{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(24px,4vw,56px)}}
@media (min-width:1080px){.rooms{grid-template-columns:repeat(3,minmax(0,1fr))}}
.rc{display:grid;grid-template-columns:2.6rem minmax(0,1fr) auto;align-items:baseline;gap:2px 10px;padding:18px 2px;border-bottom:1px solid var(--rule);color:var(--ink);text-decoration:none;min-height:44px}
.rc:hover .rc-t{color:var(--machine)}
.rc-no{font-family:var(--f-mono);font-size:.64rem;color:var(--ink-3);letter-spacing:.06em;grid-row:1 / span 2}
.rc-t{font-family:var(--f-display);font-size:1.6rem;line-height:1.1}
.rc-d{grid-column:2;font-size:.95rem;color:var(--ink-2)}
.rc::after{content:"\2192";grid-column:3;grid-row:1;font-family:var(--f-mono);font-size:.8rem;color:var(--ink-3)}
.rc-hope .rc-t{color:var(--flame)}

/* ---------- ledger (home) ---------- */
.ledger{border-top:1px solid var(--band-rule)}
.lg-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 18px;padding:18px 0;border-bottom:1px solid var(--band-rule);align-items:baseline}
@media (min-width:900px){.lg-row{grid-template-columns:minmax(0,17rem) minmax(0,1fr) minmax(0,15rem);padding:20px 0}}
.lg-label{display:block;font-size:1.08rem;line-height:1.3}
.lg-src{display:block;font-family:var(--f-mono);font-size:.6rem;color:var(--band-ink-2);letter-spacing:.02em;margin-top:4px}
.lg-num{font-family:var(--f-mono);font-variant-numeric:tabular-nums;font-size:clamp(1.25rem,4.3vw,3rem);font-weight:300;letter-spacing:-.02em;text-align:right;line-height:1.05;white-space:nowrap}
.lg-unit{font-size:.36em;letter-spacing:.06em;text-transform:uppercase;color:var(--band-ink-2);margin-left:.4em;font-weight:400}
.lg-note{font-family:var(--f-hand);color:var(--band-red);font-size:.98rem;line-height:1.3;grid-column:1 / -1;margin:0}
@media (min-width:900px){.lg-note{grid-column:auto}}
.n-blue{color:var(--band-blue)} .n-red{color:var(--band-red)} .n-green{color:var(--band-green)} .n-ink{color:var(--band-ink)}
.beat{display:inline-block;width:.3em;height:.3em;border-radius:50%;background:var(--band-red);margin-right:.35em;vertical-align:.25em}
.lg-year{display:grid;gap:12px;margin-top:clamp(26px,4vw,40px);grid-template-columns:minmax(0,1fr)}
@media (min-width:900px){.lg-year{grid-template-columns:minmax(0,40rem) minmax(0,15rem);column-gap:clamp(40px,7vw,110px)}}
.lg-year p{margin:0}
.lg-year .big{font-family:var(--f-display);font-size:clamp(1.35rem,2.5vw,1.9rem);line-height:1.25}
.lg-year .src{font-family:var(--f-mono);font-size:.62rem;color:var(--band-ink-2);margin-top:10px;display:block}

/* ---------- the wire ---------- */
.wire-grid{display:grid;gap:22px;grid-template-columns:minmax(0,1fr)}
@media (min-width:980px){.wire-grid{grid-template-columns:minmax(0,13.5rem) minmax(0,1fr);gap:56px}.wire-index{position:sticky;top:calc(var(--bar-h) + 22px);align-self:start}}
.ix-h{font-family:var(--f-mono);font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);margin:0 0 10px}
.ix-list{list-style:none;margin:0;padding:0;display:flex;gap:8px}
.ix-btn{display:flex;align-items:baseline;justify-content:space-between;gap:10px;min-height:40px;font-family:var(--f-display);font-size:1.08rem;line-height:1.2;background:transparent;border:1px solid var(--rule);color:var(--ink);padding:7px 12px;border-radius:999px;cursor:pointer;text-align:left;white-space:nowrap}
.ix-btn .n{font-family:var(--f-mono);font-size:.6rem;color:var(--ink-3)}
.ix-btn[aria-pressed="true"]{background:var(--select);border-color:var(--select)}
@media (max-width:979px){
  .wire-index{margin-inline:calc(-1 * max(16px,env(safe-area-inset-left,0px)))}
  .wire-index .ix-h{padding-left:max(16px,env(safe-area-inset-left,0px))}
  .ix-list{overflow-x:auto;scrollbar-width:none;padding:2px max(16px,env(safe-area-inset-left,0px)) 6px}
  .ix-list::-webkit-scrollbar{display:none}
  .ix-list li{flex:none}
}
@media (min-width:980px){.ix-list{flex-direction:column;gap:1px}.ix-btn{width:100%;min-height:36px;border-color:transparent;border-radius:3px;padding:4px 8px}.ix-btn:hover{border-color:var(--rule)}}
.moods{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px;align-items:center}
.mood-btn{display:inline-flex;align-items:center;gap:8px;min-height:40px;font-family:var(--f-mono);font-size:.64rem;letter-spacing:.03em;padding:8px 12px;border:1px solid var(--rule);border-radius:999px;background:transparent;color:var(--ink-2);cursor:pointer}
.mood-btn:hover{border-color:var(--ink-3)}
.mood-btn[aria-pressed="true"]{border-color:var(--ink);color:var(--ink);background:var(--card)}
.wire-count{margin-left:auto;font-family:var(--f-mono);font-size:.62rem;color:var(--ink-3)}
.wire-list,.forum-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule)}
.wire-list.is-limited > li:nth-child(n+9){display:none}
.wi{display:grid;grid-template-columns:7rem 22px minmax(0,1fr);gap:4px 12px;padding:18px 0;border-bottom:1px solid var(--rule);align-items:start}
.wi-date{font-family:var(--f-mono);font-size:.64rem;color:var(--ink-3);padding-top:.5em;letter-spacing:.02em}
.wi .mk{margin-top:.6em}
.wi-h{font-family:var(--f-display);font-size:clamp(1.22rem,2vw,1.5rem);line-height:1.17;margin:0;text-wrap:balance}
.wi-h a{color:var(--ink);text-decoration:none}
.wi-h a:hover{text-decoration:underline;text-decoration-color:var(--ink-3)}
.wi-t{margin:.36em 0 0;color:var(--ink-2);font-size:1rem;max-width:44em}
.wi-meta{margin:.5em 0 0;font-family:var(--f-mono);font-size:.62rem;color:var(--ink-3);letter-spacing:.02em}
.wi-meta .d-m{display:none}
.wi-empty{padding:22px 0;color:var(--ink-3);font-style:italic;border-bottom:1px solid var(--rule)}
.new{font-family:var(--f-mono);font-size:.54rem;letter-spacing:.08em;text-transform:uppercase;background:var(--machine);color:var(--paper);padding:2px 6px;border-radius:2px;margin-right:8px;vertical-align:.32em}
.compact .wi{padding:15px 0}
.compact .wi-h{font-size:clamp(1.15rem,1.8vw,1.35rem)}
@media (max-width:640px){.wi{grid-template-columns:22px minmax(0,1fr);gap:4px 10px}.wi-date{display:none}.wi-meta .d-m{display:inline}}
.wire-more{margin-top:18px}
.forum{margin-top:44px}
.forum h2{font-family:var(--f-mono);font-size:.64rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);margin:0 0 10px;font-weight:400;display:flex;align-items:center;gap:8px}
.live-dot{width:7px;height:7px;border-radius:50%;background:var(--redpen);display:inline-block}
.fi{display:grid;grid-template-columns:7rem minmax(0,1fr);gap:4px 12px;padding:12px 0;border-bottom:1px solid var(--rule)}
.fi a{color:var(--ink)}
.fi .fm{font-family:var(--f-mono);font-size:.6rem;color:var(--ink-3)}
@media (max-width:640px){.fi{grid-template-columns:minmax(0,1fr)}}

/* video thumbnails: an original poster frame, with the YouTube still laid over it */
.thumb{position:relative;display:block;aspect-ratio:16/9;overflow:hidden;background:#05060A;border:1px solid var(--band-rule);border-radius:4px}
.thumb svg,.thumb img{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:cover}
.thumb img{filter:saturate(.85) contrast(1.05)}
.thumb::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,6,10,0) 45%,rgba(5,6,10,.78));pointer-events:none}
.th-src{position:absolute;left:10px;top:10px;z-index:2;font-family:var(--f-mono);font-size:.54rem;letter-spacing:.09em;text-transform:uppercase;color:#ECEEF3;background:rgba(7,8,11,.72);border:1px solid rgba(255,255,255,.14);padding:3px 7px;border-radius:2px}
.th-len{position:absolute;right:10px;bottom:10px;z-index:2;font-family:var(--f-mono);font-size:.6rem;font-variant-numeric:tabular-nums;color:#fff;background:rgba(0,0,0,.82);padding:2px 6px;border-radius:3px}
.th-play{position:absolute;left:50%;top:50%;z-index:2;width:56px;height:56px;margin:-28px 0 0 -28px;border-radius:50%;background:rgba(7,8,11,.62);border:1.5px solid rgba(255,255,255,.75)}
.th-play::before{content:"";position:absolute;left:22px;top:17px;border-style:solid;border-width:11px 0 11px 17px;border-color:transparent transparent transparent #fff}
.film:hover .th-play,.film:focus-visible .th-play,.wi-vid:hover .th-play{background:var(--band-red);border-color:var(--band-red)}
.wi-vid{display:grid;grid-template-columns:minmax(0,15rem) minmax(0,1fr);gap:14px;align-items:center;margin-top:12px;color:var(--ink-2);text-decoration:none;max-width:40rem}
.wi-vid .thumb{border-color:var(--rule)}
.wi-vid .th-play{width:40px;height:40px;margin:-20px 0 0 -20px}
.wi-vid .th-play::before{left:15px;top:11px;border-width:9px 0 9px 14px}
.wi-vid .th-src{font-size:.5rem;left:7px;top:7px}
.wi-vid-l{font-family:var(--f-mono);font-size:.62rem;letter-spacing:.03em;line-height:1.5}
.wi-vid-l b{display:block;font-family:var(--f-display);font-weight:400;font-size:1.12rem;letter-spacing:0;color:var(--ink);margin-bottom:2px}
@media (max-width:520px){.wi-vid{grid-template-columns:minmax(0,1fr)}}

/* ---------- prove it ---------- */
.prove-grid{display:grid;gap:clamp(24px,4vw,64px);grid-template-columns:minmax(0,1fr);align-items:start}
@media (min-width:940px){.prove-grid{grid-template-columns:minmax(0,1fr) minmax(0,31rem)}}
.prove-copy p{margin:0 0 14px;max-width:34em;color:var(--ink-2)}
.prove-copy .big{font-family:var(--f-display);font-size:clamp(1.45rem,2.6vw,2rem);line-height:1.2;color:var(--ink)}
.captcha{background:var(--card);border:1px solid var(--rule);border-radius:6px;padding:16px;box-shadow:0 26px 50px -34px var(--shadow)}
.cap-head{display:flex;align-items:center;gap:12px;padding-bottom:14px;border-bottom:1px solid var(--rule)}
.cap-box{width:30px;height:30px;flex:none;border:2px solid var(--ink-3);border-radius:4px;background:var(--card);cursor:pointer;display:grid;place-items:center;padding:0}
.cap-box[aria-pressed="true"]::after{content:"";width:13px;height:7px;border-left:3px solid var(--insert);border-bottom:3px solid var(--insert);transform:rotate(-45deg) translate(1px,-2px)}
.cap-head label{font-size:1.06rem;cursor:pointer}
.cap-msg{margin-left:auto;font-family:var(--f-hand);color:var(--redpen);font-size:.95rem;line-height:1.2;text-align:right;max-width:13rem}
.cap-q{margin:14px 0 10px;font-size:1rem}
.cap-q strong{font-weight:600}
.cap-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.tile{min-height:104px;border:1px solid var(--rule);background:var(--paper);color:var(--ink);font-family:var(--f-body);font-size:clamp(.88rem,1.5vw,.98rem);line-height:1.22;padding:9px;text-align:left;cursor:pointer;display:flex;flex-direction:column;justify-content:space-between;gap:6px;border-radius:3px;position:relative}
.tile:hover{border-color:var(--ink-3)}
.tile[aria-pressed="true"]{box-shadow:inset 0 0 0 3px var(--machine);background:var(--select)}
.t-back{display:none;font-family:var(--f-mono);font-size:.6rem;line-height:1.35;color:var(--ink-2);letter-spacing:.01em}
.t-back b{font-weight:500;color:var(--ink)}
.revealed .tile{cursor:default}
.revealed .t-back{display:block}
.revealed .tile.is-machine{background:var(--paper-2)}
.revealed .tile.is-machine .t-front{text-decoration:line-through;text-decoration-color:var(--redpen);text-decoration-thickness:2px}
.revealed .tile.is-human{background:var(--card);box-shadow:inset 0 0 0 2px var(--insert)}
.revealed .tile.is-human .t-back b{color:var(--insert)}
.revealed .tile[aria-pressed="true"]{box-shadow:inset 0 0 0 3px var(--machine)}
.cap-actions{display:flex;gap:8px;align-items:center;margin-top:12px;flex-wrap:wrap}
.cap-result{margin:12px 0 0;font-size:1.02rem;min-height:1.5em}
@media (max-width:520px){
  .prove-grid .captcha{margin-inline:-6px;padding:12px}
  .cap-grid{gap:5px}
  .tile{min-height:92px;padding:8px 7px;font-size:.86rem}
  .t-back{font-size:.56rem}
}

/* ---------- your job: search ---------- */
.jb-form label{display:block;font-family:var(--f-mono);font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin-bottom:8px}
.jb-combo{position:relative}
.jb-combo .field{width:100%;font-size:1.2rem}
.jb-list{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:6;list-style:none;margin:0;padding:4px;background:var(--card);border:1px solid var(--ink-3);border-radius:6px;max-height:340px;overflow:auto;box-shadow:0 24px 40px -20px #000}
.jb-opt{display:flex;flex-direction:column;gap:2px;padding:10px;border-radius:4px;cursor:pointer;line-height:1.25;color:var(--ink)}
.jb-opt small{font-family:var(--f-mono);font-size:.58rem;color:var(--ink-3)}
.jb-opt[aria-selected="true"],.jb-opt:hover{background:var(--select)}
.jb-none{padding:10px;color:var(--ink-3);font-style:italic}
a.chip{display:inline-flex;align-items:center;text-decoration:none}

/* ---------- your job: the index ---------- */
.jx-grid{display:grid;gap:clamp(26px,4vw,64px);grid-template-columns:minmax(0,1fr);align-items:end}
@media (min-width:940px){.jx-grid{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}}
.jx-stat{border-left:3px solid var(--redpen);padding-left:18px}
.jx-stat .big-n{margin:0;font-family:var(--f-display);font-size:clamp(3.6rem,10vw,6.4rem);line-height:.9;color:var(--redpen);font-variant-numeric:tabular-nums}
.jx-stat p{margin:10px 0 0;max-width:24em;color:var(--ink-2)}
.jx-lists{display:grid;gap:clamp(30px,4vw,48px);grid-template-columns:minmax(0,1fr)}
@media (min-width:960px){.jx-lists{grid-template-columns:repeat(3,minmax(0,1fr))}}
.jx-h{margin:0;font-family:var(--f-display);font-weight:400;font-size:1.75rem;line-height:1.1}
.jx-d{margin:6px 0 12px;font-size:.92rem;color:var(--ink-3)}
.jl-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule)}
.jl{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 12px;padding:12px 0;border-bottom:1px solid var(--rule);color:var(--ink);text-decoration:none;align-items:baseline}
.jl:hover .jl-t{color:var(--machine)}
.jl-t{font-size:1.04rem;line-height:1.25}
.jl-n{font-family:var(--f-mono);font-size:.8rem;color:var(--redpen);font-variant-numeric:tabular-nums}
.jl-bar{grid-column:1 / -1}
.jl-m{grid-column:1 / -1;font-family:var(--f-mono);font-size:.58rem;color:var(--ink-3)}
.jx-src{max-width:62em}

/* ---------- your job: the file ---------- */
.crumbs{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 16px;margin:0 0 clamp(12px,2.4vw,22px);font-family:var(--f-mono);font-size:.64rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}
.crumbs a{color:var(--ink-2);text-decoration:none;display:inline-flex;align-items:center;min-height:44px}
.crumbs a:hover{color:var(--ink)}
.file-as{margin:0 0 10px;font-family:var(--f-hand);color:var(--machine);font-size:1.08rem}
.file-title{font-family:var(--f-display);font-weight:400;font-size:clamp(2.5rem,7vw,5.4rem);line-height:1;margin:0;letter-spacing:-.01em;text-wrap:balance;max-width:16em}
.file-title.t-l{font-size:clamp(2.1rem,5.2vw,4rem)}
.file-title.t-xl{font-size:clamp(1.8rem,4vw,3rem)}
.file-also{margin:14px 0 0;color:var(--ink-3);font-size:.95rem;max-width:46em}
.file-also span{color:var(--ink-2)}
.verdict{display:grid;gap:clamp(24px,4vw,56px);grid-template-columns:minmax(0,1fr);margin-top:clamp(24px,4vw,40px);align-items:end}
@media (min-width:980px){.verdict{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}}
.file-band{margin:0;font-family:var(--f-hand);font-weight:700;font-size:clamp(1.7rem,3.4vw,2.4rem);color:var(--bc);line-height:1.1;transform:rotate(-1.5deg);transform-origin:left}
.file-lede{margin:12px 0 0;font-size:clamp(1.12rem,1.8vw,1.32rem);line-height:1.45;max-width:34em}
.ink{margin:22px 0 0}
.ink-bar{display:flex;height:14px;border-radius:7px;overflow:hidden;background:var(--rule)}
.ink-bar i,.tv-bar i,.jl-bar i{display:block;height:100%}
.ink-d{background:var(--redpen)}
.ink-h{background:#3A52B0}
.ink-y{background:var(--insert)}
.tv-bar,.jl-bar{display:flex;height:5px;border-radius:3px;overflow:hidden;background:var(--rule)}
.ink-key{display:flex;flex-wrap:wrap;gap:6px 24px;margin-top:12px;font-family:var(--f-mono);font-size:.66rem;letter-spacing:.03em;color:var(--ink-2)}
.ink-key span{display:inline-flex;align-items:baseline;gap:8px}
.ink-key b{font-weight:400;font-size:1.7rem;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.k-d b{color:var(--redpen)}
.k-h b{color:var(--machine)}
.k-y b{color:var(--insert)}
.facts{margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--rule);border:1px solid var(--rule);border-radius:6px;overflow:hidden}
.fact{background:var(--paper);padding:14px 14px 13px;display:flex;flex-direction:column;gap:6px;min-width:0}
.fact dt{font-family:var(--f-mono);font-size:.56rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}
.fact dd{margin:0;font-size:.88rem;color:var(--ink-2);line-height:1.35}
.fact dd b{display:block;font-family:var(--f-mono);font-weight:400;font-size:clamp(1.2rem,2.4vw,1.55rem);color:var(--ink);letter-spacing:-.02em;margin-bottom:3px;font-variant-numeric:tabular-nums}
.share{display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px;margin-top:clamp(22px,3vw,32px)}
.share-l{font-family:var(--f-mono);font-size:.68rem;letter-spacing:.03em;color:var(--ink-2);text-decoration:none;min-height:44px;display:inline-flex;align-items:center;padding:0 2px}
.share-l:hover{color:var(--ink);text-decoration:underline}
.share-msg{font-family:var(--f-hand);color:var(--insert)}
.band .share-l{color:var(--band-ink-2)}

/* the job description, marked up */
.jd{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule)}
.jd.is-limited .is-more{display:none}
.jd-row{border-bottom:1px solid var(--rule)}
.jd-row summary{display:grid;grid-template-columns:3.4rem minmax(0,1fr) 4.4rem;gap:10px;align-items:baseline;padding:14px 0;cursor:pointer;list-style:none;-webkit-tap-highlight-color:transparent}
.jd-row summary::-webkit-details-marker{display:none}
.jd-row summary:hover .jd-t,.jd-row details[open] .jd-t{color:var(--ink)}
.jm{font-family:var(--f-hand);font-weight:700;font-size:1.05rem;line-height:1;display:inline-block;transform:rotate(-6deg);white-space:nowrap}
.jm-d{color:var(--redpen)}
.jm-h{font-family:var(--f-mono);font-weight:400;font-size:.62rem;letter-spacing:.02em;transform:none;color:var(--machine);border:1px solid currentColor;border-radius:3px;padding:2px 4px}
.jm-y{color:var(--insert)}
.jd-t{font-size:clamp(1.04rem,1.6vw,1.18rem);line-height:1.38;color:var(--ink)}
.is-d .jd-t{color:var(--ink-2)}
.is-d .jd-x{background-image:linear-gradient(var(--redpen),var(--redpen));background-repeat:no-repeat;background-position:0 58%;background-size:100% .08em;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.is-h .jd-x{background:rgba(58,82,176,.5);-webkit-box-decoration-break:clone;box-decoration-break:clone;padding:0 .14em;border-radius:2px}
.jd-w{display:flex;flex-direction:column;align-items:flex-end;gap:6px;font-family:var(--f-mono);font-size:.7rem;color:var(--ink-2);font-variant-numeric:tabular-nums}
.jd-w b{font-weight:400}
.jd-w i{display:block;height:3px;border-radius:2px;background:var(--ink-3);opacity:.7}
.jd-why{margin:0 0 16px calc(3.4rem + 10px);font-family:var(--f-mono);font-size:.68rem;line-height:1.65;color:var(--ink-2);max-width:56em}
.jd-more{margin-top:16px}
.jd-cav{margin:20px 0 0;padding:12px 14px;border-left:2px solid var(--machine);background:rgba(136,163,255,.07);font-size:.94rem;color:var(--ink-2);max-width:50em}
.jd-legend .jm{margin-right:2px}
@media (prefers-reduced-motion:no-preference){
  .is-d .jd-x{animation:strike .55s ease both;animation-delay:calc(var(--i) * 70ms + 250ms)}
  .jd-row .jm{animation:ink-in .35s ease both;animation-delay:calc(var(--i) * 70ms + 380ms)}
}
@keyframes strike{from{background-size:0 .08em}to{background-size:100% .08em}}
@media (max-width:640px){.jd-row summary{grid-template-columns:2.8rem minmax(0,1fr) 3.2rem;gap:8px}.jd-why{margin-left:calc(2.8rem + 8px)}}

/* ten years from now */
.hl-n{font-family:var(--f-mono);font-weight:400;color:var(--ink)}
.future{display:grid;gap:clamp(24px,4vw,56px);grid-template-columns:minmax(0,1fr);align-items:start}
@media (min-width:900px){.future{grid-template-columns:minmax(0,440px) minmax(0,1fr)}}
.fut-copy{display:flex;flex-direction:column;gap:18px}
.fut-open{margin:0;color:var(--ink-2);max-width:36em}
.fut-open b{font-family:var(--f-mono);font-weight:400;color:var(--ink)}
.mt{display:grid;gap:7px}
.mt-h{display:flex;justify-content:space-between;align-items:baseline;gap:10px;font-family:var(--f-mono);font-size:.62rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}
.mt-h b{font-family:var(--f-mono);font-weight:400;font-size:1.3rem;letter-spacing:-.01em;color:var(--ink);text-transform:none}
.gr-track{position:relative;height:10px;border-radius:5px;background:var(--paper-2);border:1px solid var(--rule)}
.gr-zero{position:absolute;left:50%;top:-4px;bottom:-4px;width:1px;background:var(--ink-3)}
.gr-avg{position:absolute;top:-6px;bottom:-6px;width:2px;background:var(--hl);border-radius:1px}
.gr-fill{position:absolute;top:0;bottom:0;border-radius:4px}
.gr-fill.up{left:50%;background:var(--insert)}
.gr-fill.down{right:50%;background:var(--redpen)}
.gr-ends{display:flex;justify-content:space-between;gap:8px;font-family:var(--f-mono);font-size:.54rem;color:var(--ink-3)}
.crowd{display:grid;grid-template-columns:repeat(20,minmax(0,1fr));gap:5px 4px;max-width:440px}
.pp{position:relative;height:20px;color:var(--ink-3)}
.pp::before{content:"";position:absolute;left:50%;top:0;width:6px;height:6px;margin-left:-3px;border-radius:50%;background:currentColor}
.pp::after{content:"";position:absolute;left:50%;top:8px;width:11px;height:11px;margin-left:-5.5px;border-radius:6px 6px 2px 2px;background:currentColor}
.pp.pp-lost{color:var(--redpen);opacity:.3}
.pp.pp-new{color:var(--insert)}
@media (max-width:420px){.crowd{gap:4px 3px}.pp{height:16px}.pp::before{width:5px;height:5px;margin-left:-2.5px}.pp::after{top:6px;width:9px;height:9px;margin-left:-4.5px}}
.vd-note{margin:0;padding:12px 14px;border-left:2px solid var(--hl);background:rgba(228,204,62,.07);font-size:.94rem;color:var(--ink-2);max-width:44em}
.vd-note b{font-family:var(--f-mono);font-weight:400;font-size:.6rem;letter-spacing:.08em;text-transform:uppercase;color:var(--hl);margin-right:8px}

/* where your skills travel */
.travel{list-style:none;margin:0;padding:0;display:grid;gap:12px;grid-template-columns:minmax(0,1fr)}
@media (min-width:860px){.travel{grid-template-columns:repeat(3,minmax(0,1fr))}}
.travel li{display:flex}
.tv{display:flex;flex-direction:column;gap:10px;width:100%;padding:18px;border:1px solid var(--rule);border-radius:6px;background:var(--paper);color:var(--ink);text-decoration:none}
.tv:hover{border-color:var(--ink-3)}
.tv-k{font-family:var(--f-mono);font-size:.58rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}
.tv-t{font-family:var(--f-display);font-size:1.55rem;line-height:1.1}
.tv:hover .tv-t{color:var(--machine)}
.tv-d{font-size:.95rem;color:var(--ink-2)}
.tv-d b{font-family:var(--f-mono);font-weight:400;color:var(--redpen)}
.tv-m{margin-top:auto;font-family:var(--f-mono);font-size:.6rem;color:var(--ink-3);line-height:1.6}
.ow-dek{margin:0 0 14px}

/* how to read the file */
.method{border-top:1px solid var(--rule);padding-block:clamp(40px,6vw,72px)}
.method .room-title{font-size:clamp(1.8rem,3.4vw,2.5rem);margin-bottom:20px}
.how{display:grid;gap:14px 44px;grid-template-columns:minmax(0,1fr)}
@media (min-width:900px){.how{grid-template-columns:repeat(2,minmax(0,1fr))}}
.how p{margin:0;color:var(--ink-2);font-size:.96rem;max-width:42em}
.how p > b{color:var(--ink);font-weight:500}
.how .jm{margin-right:10px;min-width:2.3rem;text-align:center}
.how-cav{border-left:2px solid var(--machine);padding-left:12px}
.how-src{margin:22px 0 0;font-family:var(--f-mono);font-size:.62rem;line-height:1.75;color:var(--ink-3)}
.how-src a{color:var(--ink-2)}

/* check another job */
.end-grid{display:grid;gap:clamp(24px,4vw,56px);grid-template-columns:minmax(0,1fr);align-items:end}
@media (min-width:900px){.end-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
.end .room-title{margin-bottom:18px}
.end .share{margin-top:10px}
.end .room-dek{margin:0}
.band .jb-form label{color:var(--band-ink-2)}
.band .field{background:var(--band-2);border-color:var(--band-rule)}

/* the all-jobs chart */
.sc{margin:clamp(18px,3vw,28px) 0 0}
.sc > summary{display:inline-flex;align-items:center;gap:10px;min-height:44px;cursor:pointer;font-family:var(--f-mono);font-size:.68rem;letter-spacing:.04em;color:var(--machine);list-style:none}
.sc > summary::-webkit-details-marker{display:none}
.sc > summary::before{content:"+";display:inline-grid;place-items:center;width:22px;height:22px;border:1px solid currentColor;border-radius:50%;font-size:.9rem;line-height:1}
.sc[open] > summary::before{content:"\2212"}
.sc-box{position:relative;margin-top:12px;background:var(--card);border:1px solid var(--rule);border-radius:8px;padding:6px}
#sc-svg{display:block;width:100%;height:auto}
.sc-dot{cursor:pointer}
.sc-lab{font-family:var(--f-mono);font-size:13px;fill:var(--ink-3)}
.sc-q{font-family:var(--f-hand);font-size:19px;fill:var(--ink-3);opacity:.85}
.sc-tip{position:absolute;pointer-events:none;background:var(--ink);color:var(--paper);font-family:var(--f-mono);font-size:.6rem;padding:6px 8px;border-radius:4px;max-width:240px;transform:translate(-50%,-120%);white-space:normal;line-height:1.35;z-index:3}
@media (max-width:640px){.sc-box{overflow-x:auto}#sc-svg{min-width:640px}.sc-lab{font-size:18px}.sc-q{font-size:24px}}

/* ---------- in memoriam ---------- */
.obits{display:grid;grid-template-columns:minmax(0,1fr);column-gap:clamp(28px,5vw,80px)}
@media (min-width:860px){.obits{grid-template-columns:repeat(2,minmax(0,1fr))}}
.obit{padding:26px 0 24px;border-top:1px solid var(--rule);display:flex;flex-direction:column;gap:10px}
.obit-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;font-family:var(--f-mono);font-size:.62rem;color:var(--ink-3);letter-spacing:.03em}
.status{border:1px solid currentColor;border-radius:2px;padding:2px 6px;text-transform:uppercase;letter-spacing:.07em;font-size:.56rem}
.obit.tragic .status{color:var(--redpen)}
.obit.hopeful .status{color:var(--insert)}
.obit.beautiful .status{color:var(--hl-ink);background:var(--hl);border-color:var(--hl)}
.obit-name{font-family:var(--f-display);font-weight:400;font-size:clamp(1.7rem,3.3vw,2.4rem);line-height:1.06;margin:0}
.obit-name .x{-webkit-box-decoration-break:clone;box-decoration-break:clone;background-repeat:no-repeat;background-image:linear-gradient(var(--redpen),var(--redpen));background-size:100% .075em;background-position:0 60%}
.obit.hopeful .obit-name .x{background-image:radial-gradient(circle,var(--redpen) 38%,transparent 44%);background-size:.24em .16em;background-repeat:repeat-x;background-position:0 100%;padding-bottom:.12em}
.obit.beautiful .obit-name .x{background-image:linear-gradient(var(--hl),var(--hl));background-size:100% .42em;background-position:0 78%}
.obit-tag{font-family:var(--f-hand);color:var(--redpen);font-size:.95rem;margin-left:.4em;vertical-align:.5em;display:inline-block;transform:rotate(-6deg)}
.obit-body{margin:0;max-width:36em}
.obit-surv{margin:0;font-family:var(--f-mono);font-size:.68rem;color:var(--ink-3);letter-spacing:.02em}
.obit-surv span{color:var(--machine)}
.obit-foot{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin-top:4px}
.obit-foot a{font-family:var(--f-mono);font-size:.62rem}
.candle{display:inline-flex;align-items:center;gap:9px;min-height:40px;background:transparent;border:1px solid var(--rule);border-radius:999px;padding:6px 14px 6px 11px;font-family:var(--f-mono);font-size:.62rem;color:var(--ink-2);cursor:pointer}
.candle:hover{border-color:var(--ink-3);color:var(--ink)}
.flame{position:relative;width:8px;height:18px;flex:none}
.flame::before{content:"";position:absolute;left:1px;right:1px;bottom:0;height:8px;background:var(--rule);border-radius:1px}
.flame::after{content:"";position:absolute;left:0;bottom:8px;width:8px;height:10px;border-radius:50% 50% 50% 50% / 62% 62% 38% 38%;background:var(--ink-3);opacity:.3}
.candle[aria-pressed="true"]{border-color:var(--flame);color:var(--ink)}
.candle[aria-pressed="true"] .flame::after{background:radial-gradient(circle at 50% 70%,#FFF4C7 0 25%,var(--flame) 55%,#E2562B 100%);opacity:1;box-shadow:0 0 10px rgba(255,181,71,.5)}

.ghosts{display:grid;gap:clamp(12px,1.8vw,18px);grid-template-columns:minmax(0,1fr)}
@media (min-width:640px){.ghosts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1020px){.ghosts{grid-template-columns:repeat(3,minmax(0,1fr))}}
.ghosts.is-limited > :nth-child(n+7){display:none}
.ghost{background:var(--paper);border:1px solid var(--rule);border-radius:4px;padding:18px 18px 16px;display:flex;flex-direction:column;gap:9px}
.g-years{font-family:var(--f-mono);font-size:.6rem;color:var(--ink-3);letter-spacing:.05em;margin:0}
.g-name{margin:0;font-family:var(--f-display);font-weight:400;font-size:1.9rem;line-height:1.05}
.g-did{margin:0;font-size:1rem}
.g-dl{margin:0;display:grid;gap:5px}
.g-dl dt{font-family:var(--f-mono);font-size:.58rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}
.g-dl dd{margin:0 0 4px;font-size:.95rem;color:var(--ink-2)}
.g-dl dd.next{color:var(--ink)}
.g-link{margin-top:auto;font-family:var(--f-mono);font-size:.62rem}
.show-more{margin-top:18px}

/* ---------- screening room + museum ---------- */
.films{display:grid;gap:16px;grid-template-columns:minmax(0,1fr)}
@media (min-width:860px){.films{grid-template-columns:repeat(3,minmax(0,1fr))}}
.film{position:relative;display:flex;flex-direction:column;gap:12px;padding:0 0 22px;border:1px solid var(--band-rule);border-radius:6px;background:var(--band-2);color:var(--band-ink);text-decoration:none;overflow:hidden;isolation:isolate}
.film > :not(.thumb):not(.f-year){margin-inline:20px}
.band a.film{color:var(--band-ink)}
.film:hover,.film:focus-visible{border-color:var(--band-ink-2);text-decoration:none}
.film .f-year{position:absolute;right:-.05em;bottom:-.24em;font-family:var(--f-display);font-size:7rem;line-height:1;color:var(--band-rule);z-index:-1;letter-spacing:-.03em}
.film .thumb{margin-bottom:6px;border-radius:0;border-width:0 0 1px}
.f-meta{font-family:var(--f-mono);font-size:.58rem;letter-spacing:.08em;text-transform:uppercase;color:var(--band-ink-2);margin:0;display:flex;align-items:center;gap:8px}
.f-t{font-family:var(--f-display);font-weight:400;font-size:1.9rem;line-height:1.04;margin:0}
.f-why{margin:0;color:var(--band-ink-2);font-size:1rem}
.f-cta{margin-top:auto;font-family:var(--f-mono);font-size:.66rem;color:var(--band-blue)}

.exhibits{display:grid;gap:clamp(30px,4.5vw,52px) clamp(20px,3vw,40px);grid-template-columns:minmax(0,1fr)}
@media (min-width:700px){.exhibits{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1080px){.exhibits{grid-template-columns:repeat(3,minmax(0,1fr))}}
.exhibit{margin:0;display:flex;flex-direction:column;gap:16px}
.frame{background:var(--card);border:9px solid var(--ink);outline:1px solid var(--rule);outline-offset:5px;padding:clamp(18px,2.4vw,26px);aspect-ratio:4/3;max-width:100%;display:flex;flex-direction:column;justify-content:center;gap:10px;box-shadow:0 30px 44px -32px var(--shadow)}
.wall-label{font-size:.9rem;line-height:1.45;color:var(--ink-2);padding-left:12px;border-left:2px solid var(--rule)}
.wall-label .lt{font-family:var(--f-display);font-style:italic;font-size:1.18rem;color:var(--ink);display:block;line-height:1.2}
.wall-label .lm{font-family:var(--f-mono);font-size:.58rem;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-3);display:block;margin:4px 0 6px}
.wall-label p{margin:0}
.m-stack p{margin:0;font-family:var(--f-mono);font-size:clamp(.78rem,1.3vw,.9rem);line-height:1.6;font-stretch:87.5%}
.m-stack .m-last{font-family:var(--f-display);font-style:italic;font-size:clamp(1.35rem,2.2vw,1.65rem);line-height:1.2;margin-top:.35em;font-stretch:normal}
.m-chat{display:flex;flex-direction:column;gap:8px}
.m-chat .b{max-width:85%;padding:8px 12px;border-radius:14px;font-size:.95rem;line-height:1.3;margin:0}
.m-chat .b-me{align-self:flex-end;background:var(--machine);color:var(--card);border-bottom-right-radius:4px}
.m-chat .b-bot{align-self:flex-start;background:var(--paper-2);color:var(--ink);border-bottom-left-radius:4px;font-family:var(--f-mono);font-size:.74rem}
.m-chat .m-cap{margin:6px 0 0;font-family:var(--f-display);font-style:italic;font-size:1.2rem;line-height:1.2}
.m-swap p{margin:0;font-family:var(--f-display);font-size:clamp(1.5rem,2.6vw,1.95rem);line-height:1.2}
.m-swap .m-del{text-decoration:line-through;text-decoration-color:var(--redpen);text-decoration-thickness:3px;color:var(--ink-3)}
.m-swap .m-ins{position:relative}
.m-swap .m-ins::before{content:"";position:absolute;left:-.5em;top:.2em;width:.32em;height:.32em;border-left:3px solid var(--insert);border-top:3px solid var(--insert);transform:rotate(45deg)}
.m-hero{text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px}
.m-hero .m-eye{margin:0;font-family:var(--f-mono);font-size:.56rem;letter-spacing:.12em;text-transform:uppercase;color:var(--machine);border:1px solid var(--select);border-radius:999px;padding:3px 9px}
.m-hero .m-h{margin:0;font-family:var(--f-body);font-weight:600;font-size:clamp(1rem,1.7vw,1.2rem);line-height:1.2;letter-spacing:-.01em;max-width:18em}
.m-hero .m-cta{margin:2px 0 0;font-family:var(--f-mono);font-size:.62rem;background:var(--ink);color:var(--card);padding:6px 12px;border-radius:999px}
.m-dialog p{margin:0 0 6px;font-family:var(--f-body);font-size:1.1rem;line-height:1.35}
.m-dialog b{font-family:var(--f-mono);font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;font-weight:500;color:var(--ink-3);margin-right:.5em}
.m-dialog .m-last{font-family:var(--f-display);font-size:1.7rem}

/* ---------- corner of hope ---------- */
.page-hope{--hope-bg:#0B0907;background:var(--hope-bg)}
.page-hope main{background:radial-gradient(70% 40% at 78% 8%,#2B1E0B 0%,transparent 62%),radial-gradient(60% 40% at 12% 70%,#21170A 0%,transparent 60%),var(--hope-bg);color:#F3E6CC}
.page-hope .room-no{color:#B49C72}
.page-hope .room-title{color:#FFE6B5}
.page-hope .room-dek{color:#D7C29A}
.page-hope .note{color:var(--flame)}
.page-hope a{color:#FFD38A}
.ff-stage{position:relative;height:clamp(300px,56vh,520px);border-radius:12px;overflow:hidden;cursor:pointer;border:1px solid rgba(255,214,140,.14);background:radial-gradient(90% 70% at 50% 110%,rgba(255,181,71,.10),transparent 60%);touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.ff-stage:focus-visible{outline:2px solid var(--flame);outline-offset:4px}
#ff{position:absolute;inset:0;width:100%;height:100%;display:block}
.ff-hint{position:absolute;left:50%;bottom:16px;transform:translateX(-50%);margin:0;font-family:var(--f-mono);font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,230,181,.6);white-space:nowrap}
.ff-word{position:absolute;margin:0;transform:translate(-50%,-50%);width:max-content;max-width:min(82%,30rem);text-align:center;font-family:var(--f-display);font-size:clamp(1.35rem,3.2vw,2.3rem);line-height:1.15;color:#FFEBC6;text-shadow:0 0 28px rgba(255,181,71,.55),0 0 2px rgba(255,235,198,.6);pointer-events:none;animation:rise 6s ease forwards}
@keyframes rise{0%{opacity:0;transform:translate(-50%,-35%)}14%{opacity:1}72%{opacity:1}100%{opacity:0;transform:translate(-50%,-110%)}}
.still{margin:18px 0 0;display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px}
.still-line{margin:0;flex:1 1 16rem;font-family:var(--f-display);font-size:clamp(1.25rem,2.4vw,1.6rem);line-height:1.25;color:#FFEBC6;min-height:1.25em}
.page-hope .btn-line{color:#F3E6CC;border-color:rgba(255,214,140,.38)}
.page-hope .btn-line:hover{background:rgba(255,214,140,.1)}
.gn-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:10px 24px;margin:clamp(36px,5vw,56px) 0 14px}
.gn-head h2{margin:0;font-family:var(--f-display);font-weight:400;font-size:clamp(1.7rem,3vw,2.3rem);color:#FFE6B5}
.gn{display:grid;gap:12px;grid-template-columns:minmax(0,1fr)}
@media (min-width:700px){.gn{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1080px){.gn{grid-template-columns:repeat(3,minmax(0,1fr))}}
.gn-c{display:flex;flex-direction:column;gap:10px;padding:18px;border-radius:10px;background:linear-gradient(160deg,rgba(255,230,181,.08),rgba(255,230,181,.02));border:1px solid rgba(255,214,140,.16);color:#F3E6CC;text-decoration:none}
.page-hope a.gn-c{color:#F3E6CC}
.gn-c:hover{border-color:rgba(255,214,140,.42);text-decoration:none}
.gn-m{display:flex;align-items:center;gap:8px;font-family:var(--f-mono);font-size:.56rem;letter-spacing:.06em;text-transform:uppercase;color:#B49C72}
.gn-h{margin:0;font-family:var(--f-display);font-size:1.28rem;line-height:1.18;color:#FFF1D6}
.gn-s{margin-top:auto;font-family:var(--f-mono);font-size:.58rem;color:var(--flame)}
.page-hope .colophon{background:var(--hope-bg)}

/* ---------- 404 ---------- */
.notfound{padding-block:clamp(48px,10vw,140px)}
.notfound h1{font-family:var(--f-display);font-weight:400;font-size:clamp(2.6rem,8vw,6rem);line-height:1;margin:0 0 18px;max-width:12em}
.notfound h1 s{text-decoration-color:var(--redpen);text-decoration-thickness:.06em}
.notfound p{color:var(--ink-2);max-width:32em;margin:0 0 24px}

/* ---------- colophon ---------- */
.colophon{border-top:1px solid var(--rule);padding-block:44px calc(56px + env(safe-area-inset-bottom,0px));font-size:.92rem;color:var(--ink-2)}
.colo-grid{display:grid;gap:28px;grid-template-columns:minmax(0,1fr)}
@media (min-width:940px){.colo-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr)}}
.colophon h2{font-family:var(--f-mono);font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);font-weight:400;margin:0}
.colophon p{margin:0 0 12px;max-width:34em}
.colo-mark{font-family:var(--f-mono);font-size:.82rem;font-stretch:87.5%}
.colo-mark a{color:var(--ink);text-decoration:none}
.colo-mark em{font-family:var(--f-display);font-style:italic;font-size:1.5em;color:var(--redpen);font-stretch:normal}
.colo-nav{list-style:none;margin:0 0 18px;padding:0;display:flex;flex-wrap:wrap;gap:4px 18px;font-family:var(--f-mono);font-size:.64rem;letter-spacing:.04em;text-transform:uppercase}
.colo-nav a{color:var(--ink-2);text-decoration:none;display:inline-block;padding:8px 0}
.colo-nav a:hover{color:var(--ink)}
.src-d summary{cursor:pointer;list-style:none;display:inline-flex;align-items:center;min-height:44px}
.src-d summary::-webkit-details-marker{display:none}
.src-d summary h2{display:inline-block;border-bottom:1px dashed var(--ink-3);padding-bottom:2px}
.src-d[open] summary{margin-bottom:10px}
.sources{list-style:none;padding:0;margin:0;columns:2 17rem;column-gap:30px;font-size:.8rem;line-height:1.4}
.sources li{break-inside:avoid;margin-bottom:8px}
.sources a{color:var(--ink-2);overflow-wrap:anywhere}
.sources .s-src{font-family:var(--f-mono);font-size:.56rem;color:var(--ink-3);display:block}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;transition-delay:0s!important}
}

/* job file: caveat beside the verdict */
.v-cav{margin:16px 0 0;padding:10px 12px;border-left:2px solid var(--machine);background:rgba(136,163,255,.07);font-size:.9rem;line-height:1.45;color:var(--ink-2);max-width:40em}
