:root {
  --paper: #f3eddf;
  --paper-deep: #e5dac5;
  --ink: #171815;
  --muted: #69685f;
  --line: rgba(23, 24, 21, .18);
  --red: #a82b27;
  --green: #255d46;
  --gold: #aa8140;
  --black: #080908;
  --chrome: "Inter", "Helvetica Neue", Arial, sans-serif;
  --serif: "Century Schoolbook", "Iowan Old Style", Georgia, serif;
  --mono: "IBM Plex Mono", "Courier New", monospace;
  --shadow: 0 24px 70px rgba(27, 22, 14, .15);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  min-height: 100vh;
  color: var(--ink);
  background: var(--paper);
  font-family: var(--chrome);
  overflow-x: hidden;
}
button, a { -webkit-tap-highlight-color: transparent; }
button { font: inherit; }
a { color: inherit; }

.paper-noise {
  position: fixed;
  inset: 0;
  pointer-events: none;
  opacity: .27;
  z-index: 20;
  mix-blend-mode: multiply;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.09'/%3E%3C/svg%3E");
}

.skip-link { position: absolute; left: -9999px; z-index: 99; padding: 12px 18px; background: #fff; }
.skip-link:focus { left: 12px; top: 12px; }

.site-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: min(1240px, calc(100% - 48px));
  margin: 0 auto;
  padding: 24px 0 18px;
  border-bottom: 1px solid var(--line);
  position: relative;
  z-index: 30;
}
.brand { text-decoration: none; display: flex; align-items: baseline; gap: 8px; line-height: .9; }
.brand-small { font-size: 10px; letter-spacing: .18em; font-weight: 800; }
.brand-clause { font-size: 25px; font-weight: 900; letter-spacing: -.055em; position: relative; }
.brand-bar { position: absolute; left: -3%; right: -3%; height: 7px; top: 48%; background: #000; transform: rotate(-1deg); box-shadow: inset 0 1px rgba(255,255,255,.15); }
.header-actions { display: flex; align-items: center; gap: 26px; }
.text-button, .icon-button { border: 0; background: transparent; color: var(--ink); cursor: pointer; padding: 7px 0; font-size: 12px; font-weight: 750; letter-spacing: .06em; text-transform: uppercase; }
.text-button:hover, .text-button:focus-visible { text-decoration: underline; text-underline-offset: 4px; }
.icon-button { font-family: var(--mono); color: var(--muted); font-size: 10px; }

.screen { display: none; width: min(1240px, calc(100% - 48px)); margin: 0 auto; animation: pageIn .45s ease both; }
.screen.is-active { display: block; }
@keyframes pageIn { from { opacity: 0; transform: translateY(8px); } }

.landing-screen { padding: 68px 0 0; }
.landing-grid { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(380px, .72fr); gap: 8vw; align-items: center; min-height: 600px; }
.eyebrow { margin: 0 0 28px; font: 700 11px/1 var(--mono); letter-spacing: .12em; color: var(--muted); }
.eyebrow span { display: inline-block; color: var(--paper); background: var(--ink); padding: 6px 8px 5px; margin-right: 8px; }
.hero-copy h1 { margin: 0; font: 700 clamp(60px, 7vw, 108px)/.86 var(--serif); letter-spacing: -.055em; max-width: 850px; }
.hero-copy h1 em { color: var(--red); font-weight: 400; }
.hero-lede { max-width: 680px; margin: 34px 0 36px; font: 400 clamp(18px, 1.8vw, 24px)/1.5 var(--serif); color: #3d3b35; }
.hero-actions { display: flex; align-items: center; gap: 24px; flex-wrap: wrap; }
.primary-button, .secondary-button, .lock-button {
  border: 0;
  cursor: pointer;
  display: inline-flex;
  justify-content: space-between;
  align-items: center;
  gap: 50px;
  min-height: 58px;
  padding: 0 22px;
  color: #fff;
  background: var(--ink);
  font-weight: 750;
  letter-spacing: .01em;
  box-shadow: 6px 6px 0 var(--gold);
  transition: transform .18s ease, box-shadow .18s ease;
}
.primary-button:hover, .primary-button:focus-visible, .lock-button:not(:disabled):hover { transform: translate(-2px,-2px); box-shadow: 9px 9px 0 var(--gold); }
.primary-button:disabled { cursor:wait; opacity:.6; }
.time-note { margin: 0; color: var(--muted); font: 11px/1.5 var(--mono); max-width: 200px; }

.sealed-file { position: relative; background: #ddd0b5; min-height: 520px; padding: 46px 42px 36px; border: 1px solid rgba(0,0,0,.15); transform: rotate(1.2deg); box-shadow: var(--shadow); }
.sealed-file::before { content:""; position: absolute; inset: 12px; border: 1px solid rgba(0,0,0,.13); pointer-events:none; }
.file-tab { position: absolute; top: -26px; left: 26px; background: var(--red); color:#fff; font: 800 11px/1 var(--mono); letter-spacing:.12em; padding: 9px 24px; }
.file-topline { display:flex; justify-content:space-between; gap:20px; font: 700 9px/1 var(--mono); letter-spacing:.08em; padding-bottom:18px; border-bottom:1px solid rgba(0,0,0,.24); }
.file-title { font: 800 clamp(45px,5vw,70px)/.82 var(--chrome); letter-spacing:-.075em; margin:55px 0 32px; }
.redaction-stack { display:grid; gap:9px; width:86%; }
.redaction-stack span { height:18px; background:#050505; box-shadow:inset 0 2px rgba(255,255,255,.13); }
.redaction-stack span:nth-child(2){width:73%}.redaction-stack span:nth-child(3){width:91%}
.machine-dossier { position:absolute; left:42px; right:42px; bottom:34px; display:grid; grid-template-columns:auto 1fr auto; gap:12px; align-items:center; padding-top:18px; border-top:1px solid rgba(0,0,0,.25); }
.machine-dot { width:9px; height:9px; border-radius:50%; background:var(--gold); display:inline-block; box-shadow:0 0 0 5px rgba(170,129,64,.18); }
.machine-dossier small, .machine-card small { display:block; font: 700 8px/1.2 var(--mono); letter-spacing:.1em; color:var(--muted); }
.machine-dossier strong { font-size:13px; }
.machine-dossier p { font: 700 11px/1 var(--mono); margin:0; }
.stamp { border:4px double currentColor; padding:7px 10px 5px; font:900 21px/.9 var(--chrome); letter-spacing:.05em; transform:rotate(-9deg); }
.stamp-classified { position:absolute; color:var(--red); right:28px; top:235px; opacity:.78; }

.trust-strip { margin-top:70px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); display:grid; grid-template-columns:repeat(4,1fr); }
.trust-strip div { padding:26px 28px; display:flex; align-items:baseline; gap:11px; border-right:1px solid var(--line); }
.trust-strip div:last-child { border-right:0; }
.trust-strip strong { font: 600 28px/1 var(--serif); }
.trust-strip span { font: 10px/1.3 var(--mono); text-transform:uppercase; color:var(--muted); }

.game-screen { padding: 30px 0 70px; }
.game-status { display:flex; justify-content:space-between; align-items:center; gap:30px; margin-bottom:40px; }
.round-track { flex:1; display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }
.round-step { height:5px; background:rgba(0,0,0,.14); position:relative; overflow:hidden; }
.round-step.is-done::after, .round-step.is-current::after { content:""; position:absolute; inset:0; background:var(--ink); transform-origin:left; animation:trackFill .45s ease both; }
.round-step.is-current::after { background:var(--gold); }
@keyframes trackFill { from { transform:scaleX(0); } }
.amount-box { text-align:right; min-width:175px; }
.amount-box span { display:block; font:700 8px/1 var(--mono); letter-spacing:.1em; color:var(--muted); }
.amount-box strong { display:block; font:700 30px/1.15 var(--mono); }
.case-layout { display:grid; grid-template-columns:minmax(0,1fr) 285px; gap:52px; align-items:start; }
.case-heading { border-bottom:1px solid var(--line); padding-bottom:28px; }
.case-number { font:700 10px/1 var(--mono); letter-spacing:.1em; color:var(--red); margin:0 0 16px; }
.case-heading h2 { margin:0 0 18px; font:700 clamp(44px,5.5vw,78px)/.95 var(--serif); letter-spacing:-.04em; }
.case-deck { max-width:760px; margin:0; font:italic 20px/1.45 var(--serif); color:#4e4b43; }
.facts-card { position:relative; margin:28px 0; padding:28px 28px 25px; background:rgba(255,255,255,.28); border:1px solid var(--line); }
.facts-label { font:800 9px/1 var(--mono); letter-spacing:.13em; margin-bottom:16px; }
.facts-card p { margin:0 0 12px; font:17px/1.6 var(--serif); }
.facts-card p:last-of-type { margin-bottom:0; }
.fact-lead { display:block; margin-bottom:5px; font:800 9px/1 var(--mono); letter-spacing:.1em; text-transform:uppercase; color:var(--red); }
.facts-card .case-source-line { margin-top:18px; padding-top:14px; border-top:1px solid var(--line); font:700 9px/1.45 var(--mono); letter-spacing:.06em; text-transform:uppercase; color:var(--muted); }
.exhibit-button { margin-top:20px; width:100%; border:0; border-top:1px solid var(--line); background:transparent; padding:18px 0 0; display:flex; justify-content:space-between; cursor:pointer; font-weight:750; }
.question-block { padding-top:10px; }
.question-kicker { font:800 9px/1 var(--mono); letter-spacing:.14em; color:var(--muted); }
.question-block h3, .followup-card h3 { font:600 clamp(25px,2.5vw,36px)/1.28 var(--serif); margin:12px 0 24px; max-width:900px; }
.answers { display:grid; grid-template-columns:1fr; gap:10px; }
.answer-card { min-height:74px; text-align:left; border:1px solid rgba(0,0,0,.25); background:rgba(255,255,255,.25); cursor:pointer; padding:17px 18px; display:grid; grid-template-columns:32px 1fr; gap:13px; align-items:center; color:var(--ink); transition:background .16s,border .16s,transform .16s; }
.answer-card:hover { background:rgba(255,255,255,.58); transform:translateY(-2px); }
.answer-card.is-selected { border:2px solid var(--ink); background:#fffdf5; padding:16px 17px; box-shadow:4px 4px 0 var(--gold); }
.answer-letter { width:30px; height:30px; display:grid; place-items:center; border:1px solid var(--ink); font:700 12px/1 var(--mono); }
.answer-copy { font:16px/1.5 var(--chrome); }
.lock-button { margin-top:18px; width:100%; box-shadow:none; background:var(--green); }
.lock-button:disabled { cursor:not-allowed; opacity:.35; }
.lock-key { font:700 9px/1 var(--mono); border:1px solid rgba(255,255,255,.45); padding:6px 7px; }

.machine-card { position:sticky; top:24px; border:1px solid #342b20; background:#20211e; color:#f7f0df; padding:24px; box-shadow:10px 10px 0 var(--gold); }
.machine-card-head { display:grid; grid-template-columns:42px 1fr; gap:12px; align-items:center; padding-bottom:18px; border-bottom:1px solid rgba(255,255,255,.15); }
.machine-eye { width:38px; height:38px; border:1px solid var(--gold); border-radius:50%; position:relative; }
.machine-eye::before { content:""; position:absolute; width:11px; height:11px; background:var(--gold); border-radius:50%; inset:0; margin:auto; box-shadow:0 0 16px var(--gold); }
.machine-card small { color:#a9a79e; }
.machine-card strong { font-size:14px; letter-spacing:.03em; }
.machine-card > p { font:13px/1.55 var(--mono); color:#c5c2b8; margin:22px 0; }
.machine-meter { height:3px; background:rgba(255,255,255,.1); overflow:hidden; }
.machine-meter span { display:block; height:100%; width:88.3%; background:var(--gold); }
.machine-card dl { margin:24px 0 0; }
.machine-card dl div { display:flex; justify-content:space-between; border-top:1px solid rgba(255,255,255,.1); padding:10px 0; font:10px/1 var(--mono); }
.machine-card dt { color:#96958c; }.machine-card dd{margin:0}

.reveal-screen { padding:48px 0 80px; }
.reveal-top { display:grid; grid-template-columns:280px 1fr; gap:48px; align-items:center; margin-bottom:44px; }
.verdict-stamp { color:var(--green); border:8px double currentColor; font:900 clamp(33px,4vw,54px)/1 var(--chrome); letter-spacing:.02em; padding:18px 12px 14px; text-align:center; transform:rotate(-3deg) scale(1); animation:stampIn .45s cubic-bezier(.2,1.6,.5,1) both; }
.verdict-stamp.is-wrong { color:var(--red); transform:rotate(3deg); }
@keyframes stampIn { from{opacity:0;transform:scale(2.2) rotate(-9deg)} }
.reveal-summary > p:first-child { font:800 9px/1 var(--mono); letter-spacing:.14em; color:var(--muted); }
.reveal-summary h2 { font:700 clamp(38px,5vw,70px)/.95 var(--serif); margin:8px 0 15px; letter-spacing:-.035em; }
.reveal-summary > p:last-child { font:18px/1.5 var(--serif); max-width:760px; margin:0; }
.benchmark-panel { border:1px solid var(--line); background:rgba(255,255,255,.28); padding:28px; }
.panel-heading { display:flex; justify-content:space-between; gap:20px; align-items:end; border-bottom:1px solid var(--line); padding-bottom:20px; }
.panel-heading span { font:800 9px/1 var(--mono); letter-spacing:.13em; color:var(--muted); }
.panel-heading h3 { font:600 26px/1.2 var(--serif); margin:7px 0 0; }
.panel-heading p { font:10px/1 var(--mono); color:var(--muted); margin:0; }
.benchmark-bars { display:grid; gap:17px; margin-top:25px; }
.benchmark-row { display:grid; grid-template-columns:150px 1fr 60px; gap:16px; align-items:center; }
.benchmark-name { font:700 11px/1 var(--mono); text-transform:uppercase; }
.benchmark-track { height:22px; background:rgba(0,0,0,.09); overflow:hidden; }
.benchmark-fill { height:100%; width:0; background:#6d7968; animation:barGrow .9s .2s cubic-bezier(.2,.7,.2,1) forwards; }
.benchmark-row.machine .benchmark-fill { background:var(--gold); }
.benchmark-value { font:700 13px/1 var(--mono); text-align:right; }
.model-verdicts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; padding-top:2px; }
.model-verdict { padding:11px 12px; border:1px solid var(--line); background:rgba(255,255,255,.32); }
.model-verdict strong, .model-verdict small { display:block; font:700 9px/1.2 var(--mono); }
.model-verdict small { margin-top:5px; color:var(--muted); text-transform:uppercase; }
.model-verdict.is-correct { border-left:4px solid var(--green); }
.model-verdict.is-wrong { border-left:4px solid var(--red); }
@keyframes barGrow { to { width:var(--value); } }
.machine-reveal { margin:22px 0; display:grid; grid-template-columns:250px 1fr; gap:30px; align-items:center; padding:24px 28px; color:#fff; background:#20211e; }
.machine-answer-label { font:700 9px/1 var(--mono); letter-spacing:.12em; display:flex; gap:12px; align-items:center; }
.machine-answer { font:600 19px/1.4 var(--serif); min-height:27px; }
.machine-answer::after { content:""; border-right:2px solid var(--gold); animation:blink .7s step-end infinite; }
@keyframes blink { 50%{opacity:0} }
.clause-reveal { position:relative; min-height:210px; padding:35px 40px; border:1px solid rgba(0,0,0,.25); background:#fffdf5; overflow:hidden; }
.clause-label { font:800 9px/1 var(--mono); letter-spacing:.14em; color:var(--muted); margin-bottom:20px; }
.clause-reveal blockquote { margin:0; font:600 clamp(21px,2.6vw,34px)/1.45 var(--serif); }
.redaction-curtain { position:absolute; inset:0; background:#030303; color:#6c6c6c; display:grid; place-items:center; font:800 12px/1 var(--mono); letter-spacing:.18em; box-shadow:inset 0 2px rgba(255,255,255,.13); transform-origin:left; }
.redaction-curtain.is-revealed { animation:unredact 1.4s .5s cubic-bezier(.76,0,.24,1) forwards; }
@keyframes unredact { to { transform:translateX(102%); } }
.record-clue { display:grid; grid-template-columns:50px 1fr; gap:18px; padding:28px 4px; }
.clue-mark { width:48px; height:48px; display:grid; place-items:center; background:var(--ink); color:var(--paper); font:700 24px/1 var(--serif); }
.record-clue small { font:800 9px/1 var(--mono); letter-spacing:.14em; color:var(--muted); }
.record-clue p { font:17px/1.5 var(--serif); margin:7px 0 0; }
.reveal-actions { text-align:right; border-top:1px solid var(--line); padding-top:22px; }
.secondary-button { background:var(--ink); box-shadow:none; }

.followup-screen { padding:60px 0 100px; }
.followup-wrap { max-width:900px; margin:0 auto; }
.followup-wrap > h2 { margin:0; font:700 clamp(50px,7vw,84px)/.93 var(--serif); letter-spacing:-.045em; }
.followup-deck { font:italic 21px/1.5 var(--serif); color:var(--muted); }
.followup-card { margin-top:38px; border:1px solid rgba(0,0,0,.25); background:#fffdf5; padding:34px; box-shadow:var(--shadow); }
.followup-screen.is-bonus { width:100%; max-width:none; background:#1c1d1a; color:#f4eddd; margin-top:0; padding-left:24px; padding-right:24px; min-height:calc(100vh - 80px); }
.followup-screen.is-bonus .followup-deck { color:#bbb7ac; }
.followup-screen.is-bonus .eyebrow span { background:var(--gold); color:#171815; }
.followup-screen.is-bonus .followup-card { color:var(--ink); }

.final-screen { padding:70px 0 100px; }
.final-file { position:relative; max-width:1000px; margin:0 auto; border:1px solid rgba(0,0,0,.25); background:#ddd0b5; padding:58px; box-shadow:var(--shadow); }
.final-file h2 { font:700 clamp(48px,7vw,84px)/.9 var(--serif); letter-spacing:-.05em; margin:0 0 42px; }
.final-score { display:grid; grid-template-columns:1fr 170px; gap:40px; align-items:center; border-top:1px solid rgba(0,0,0,.25); border-bottom:1px solid rgba(0,0,0,.25); padding:32px 0; }
.final-score > div:first-child span { font:800 9px/1 var(--mono); letter-spacing:.12em; display:block; }
.final-score > div:first-child strong { font:700 clamp(54px,8vw,92px)/1 var(--mono); display:block; margin-top:10px; }
.final-score > div:first-child small { font:12px/1 var(--mono); color:var(--muted); }
.score-ring { width:150px; height:150px; border:8px solid var(--ink); border-radius:50%; display:grid; place-content:center; text-align:center; transform:rotate(2deg); }
.score-ring span { font:800 36px/1 var(--mono); }.score-ring small{font:9px/1.5 var(--mono);text-transform:uppercase}
.final-verdict { margin:30px 0; padding:24px; border-left:7px solid var(--red); background:rgba(255,255,255,.35); font:600 26px/1.35 var(--serif); }
.case-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
.case-result { border:1px solid rgba(0,0,0,.2); padding:17px; background:rgba(255,255,255,.2); }
.case-result strong { display:block; font:700 13px/1.2 var(--chrome); }
.case-result span { display:block; margin-top:7px; font:700 10px/1 var(--mono); }
.case-result.is-correct span { color:var(--green); }.case-result.is-wrong span{color:var(--red)}
.cohort-panel { margin:30px 0 0; border:1px solid rgba(0,0,0,.24); background:rgba(255,255,255,.31); padding:28px; }
.cohort-heading { display:flex; justify-content:space-between; gap:24px; align-items:end; padding-bottom:20px; border-bottom:1px solid rgba(0,0,0,.2); }
.cohort-heading span, .cohort-detail-grid h4 { font:800 9px/1 var(--mono); letter-spacing:.13em; color:var(--muted); }
.cohort-heading h3 { margin:7px 0 0; font:600 28px/1.15 var(--serif); }
.cohort-heading p { max-width:330px; margin:0; text-align:right; font:10px/1.45 var(--mono); color:var(--muted); }
.cohort-highlights { display:grid; grid-template-columns:repeat(3,1fr); border-bottom:1px solid rgba(0,0,0,.2); }
.cohort-highlights > div { min-height:96px; padding:21px 18px; border-right:1px solid rgba(0,0,0,.2); }
.cohort-highlights > div:last-child { border-right:0; }
.cohort-highlights strong, .cohort-highlights span { display:block; }
.cohort-highlights strong { font:700 30px/1 var(--mono); }
.cohort-highlights span { margin-top:9px; font:700 9px/1.25 var(--mono); color:var(--muted); text-transform:uppercase; }
.stat-skeleton { background:linear-gradient(90deg,transparent,rgba(255,255,255,.65),transparent); background-size:200% 100%; animation:statsLoad 1.3s infinite; }
@keyframes statsLoad { to { background-position:-200% 0; } }
.cohort-detail-grid { display:grid; grid-template-columns:1fr 1fr; gap:34px; padding-top:25px; }
.cohort-detail-grid h4 { margin:0 0 17px; }
.score-distribution, .round-statistics { display:grid; gap:12px; }
.reader-stat-row { display:grid; grid-template-columns:minmax(76px,1fr) minmax(80px,1.4fr) 43px; gap:10px; align-items:center; }
.reader-stat-name { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font:700 10px/1 var(--mono); }
.reader-stat-track { height:13px; background:rgba(0,0,0,.1); overflow:hidden; }
.reader-stat-fill { display:block; height:100%; width:0; background:var(--gold); animation:readerBar .8s .1s ease forwards; }
.round-statistics .reader-stat-fill { background:var(--green); }
.reader-stat-row strong { text-align:right; font:700 10px/1 var(--mono); }
@keyframes readerBar { to { width:var(--reader-value); } }
.cohort-comparison { margin:6px 0 0; padding-top:15px; border-top:1px solid rgba(0,0,0,.16); font:italic 15px/1.4 var(--serif); }
.share-card { margin:28px 0; background:#1e1f1c; color:#f5eddd; padding:28px; white-space:pre-line; font:700 15px/1.65 var(--mono); }
.final-actions { display:flex; align-items:center; gap:28px; flex-wrap:wrap; }

dialog { color:var(--ink); }
.exhibit-dialog, .about-dialog { width:min(900px,calc(100% - 32px)); max-height:90vh; padding:0; border:0; background:var(--paper); box-shadow:0 30px 100px rgba(0,0,0,.35); }
dialog::backdrop { background:rgba(11,11,10,.78); backdrop-filter:blur(4px); }
.dialog-bar { position:sticky; top:0; z-index:3; display:flex; justify-content:space-between; align-items:center; padding:18px 22px; background:#20211e; color:#fff; }
.dialog-bar span { display:block; font:700 8px/1 var(--mono); letter-spacing:.12em; color:#aaa79e; }
.dialog-bar strong { display:block; margin-top:5px; font-size:14px; }
.dialog-close { border:0; background:transparent; color:#fff; cursor:pointer; font:300 32px/1 var(--chrome); }
.document-toolbar { display:flex; justify-content:space-between; align-items:center; padding:12px 30px; border-bottom:1px solid var(--line); font:700 8px/1 var(--mono); letter-spacing:.08em; }
.document-toolbar > div { display:flex; align-items:center; gap:18px; }
.document-toolbar button, .document-toolbar a { border:0; background:transparent; color:var(--ink); cursor:pointer; font:700 9px/1 var(--mono); text-decoration:underline; }
.contract-document { background:#fffdf7; margin:24px auto; width:min(700px,calc(100% - 34px)); min-height:700px; padding:48px 55px; box-shadow:0 8px 30px rgba(0,0,0,.12); font:15px/1.58 var(--serif); }
.contract-document h2 { text-align:center; font:700 22px/1.25 var(--serif); letter-spacing:.04em; margin:0 0 8px; }
.contract-document .doc-subtitle { text-align:center; font:12px/1.4 var(--mono); margin-bottom:24px; }
.contract-document h3 { margin:28px 0 8px; font:700 15px/1.4 var(--serif); text-transform:uppercase; }
.contract-document p { margin:0 0 14px; }
.contract-text { overflow-wrap:anywhere; }
.contract-text p { margin:0 0 11px; }
.contract-text .contract-heading { margin:18px 0 8px; font-weight:700; text-align:center; letter-spacing:.025em; }
.contract-document .masked-line { display:block; margin:24px 0; padding:18px 14px; background:#000; color:#000; box-shadow:inset 0 1px rgba(255,255,255,.15); user-select:none; }
.contract-document .masked-line.is-peeked { animation:shake .3s ease; }
@keyframes shake { 25%{transform:translateX(-2px)}75%{transform:translateX(2px)} }
.document-note { margin:0; padding:18px 30px 24px; font:10px/1.5 var(--mono); color:var(--muted); }
.about-dialog { max-width:760px; }
.about-content { padding:38px; }
.about-lede { font:600 29px/1.25 var(--serif); margin-top:0; }
.about-content > p:not(.about-lede):not(.citation) { font:17px/1.6 var(--serif); }
.about-stat-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); border-bottom:1px solid var(--line); margin:30px 0; }
.about-stat-grid div { padding:22px 14px; border-right:1px solid var(--line); }.about-stat-grid div:last-child{border:0}
.about-stat-grid strong { display:block; font:700 30px/1 var(--mono); }.about-stat-grid span{display:block;margin-top:8px;font:9px/1 var(--mono);text-transform:uppercase;color:var(--muted)}
.about-links { display:flex; flex-wrap:wrap; gap:12px; margin:28px 0; }
.about-links a { background:var(--ink); color:#fff; padding:12px 14px; font-size:12px; font-weight:700; text-decoration:none; }
.ssrn-pending { display:inline-flex; align-items:center; padding:11px 13px; border:1px dashed var(--muted); color:var(--muted); font:700 10px/1 var(--mono); text-transform:uppercase; }
.citation { font:12px/1.5 var(--mono); color:var(--muted); }
.toast { position:fixed; z-index:100; bottom:22px; left:50%; transform:translate(-50%,30px); opacity:0; background:var(--ink); color:#fff; padding:12px 17px; font:700 11px/1 var(--mono); transition:.25s; pointer-events:none; }
.toast.is-visible { transform:translate(-50%,0); opacity:1; }
.site-footer { width:min(1240px,calc(100% - 48px)); margin:70px auto 0; padding:24px 0 32px; border-top:1px solid var(--line); display:flex; justify-content:space-between; gap:30px; color:var(--muted); font:9px/1.5 var(--mono); }
.site-footer p { margin:0; max-width:560px; }

@media (max-width: 900px) {
  .landing-grid { grid-template-columns:1fr; gap:70px; }
  .sealed-file { width:min(540px,100%); justify-self:center; }
  .trust-strip { grid-template-columns:repeat(2,1fr); }
  .trust-strip div:nth-child(2){border-right:0}.trust-strip div:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .case-layout { grid-template-columns:1fr; }
  .machine-card { position:relative; top:auto; order:-1; display:grid; grid-template-columns:1fr 1fr; gap:0 25px; }
  .machine-card-head { grid-column:1/-1; }.machine-card dl{margin-top:22px}
  .reveal-top { grid-template-columns:220px 1fr; }
}

@media (max-width: 640px) {
  .site-header, .screen, .site-footer { width:min(100% - 28px,1240px); }
  .site-header { padding-top:16px; }
  .header-actions { gap:14px; }.icon-button{display:none}
  .brand-small { display:none; }.brand-clause{font-size:21px}
  .landing-screen { padding-top:46px; }
  .hero-copy h1 { font-size:clamp(51px,16vw,76px); }
  .hero-lede { margin-top:25px; font-size:18px; }
  .primary-button { width:100%; }
  .sealed-file { min-height:430px; padding:37px 28px 28px; }
  .file-title { margin-top:45px; font-size:50px; }.machine-dossier{left:28px;right:28px}.stamp-classified{top:200px}
  .trust-strip div { padding:20px 14px; display:block; }.trust-strip span{display:block;margin-top:7px}.trust-strip strong{font-size:24px}
  .game-status { align-items:end; }.amount-box{min-width:130px}.amount-box strong{font-size:22px}
  .case-heading h2 { font-size:45px; }.case-deck{font-size:17px}
  .facts-card { padding:22px 18px; }
  .answers { grid-template-columns:1fr; }
  .answer-card { min-height:80px; }
  .machine-card { grid-template-columns:1fr; box-shadow:6px 6px 0 var(--gold); }.machine-card-head{grid-column:auto}.machine-card dl{display:none}
  .reveal-screen { padding-top:30px; }
  .reveal-top { grid-template-columns:1fr; gap:28px; }.verdict-stamp{width:250px}
  .benchmark-panel { padding:20px 16px; }.panel-heading{display:block}.panel-heading p{margin-top:9px}
  .benchmark-row { grid-template-columns:100px 1fr 48px; gap:9px; }.benchmark-name{font-size:9px}
  .model-verdicts { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .machine-reveal { grid-template-columns:1fr; gap:12px; padding:20px; }
  .clause-reveal { padding:28px 22px; min-height:250px; }
  .record-clue { grid-template-columns:38px 1fr; }.clue-mark{width:38px;height:38px}
  .secondary-button { width:100%; }
  .followup-wrap > h2 { font-size:50px; }.followup-card{padding:22px 17px}
  .final-file { padding:43px 20px 25px; }.final-score{grid-template-columns:1fr}.score-ring{width:115px;height:115px;position:absolute;right:20px;top:126px;background:#ddd0b5}.score-ring span{font-size:27px}
  .final-score > div:first-child strong { font-size:53px; }.case-grid{grid-template-columns:1fr}.final-verdict{font-size:20px}
  .cohort-panel { padding:22px 16px; }.cohort-heading{display:block}.cohort-heading p{margin-top:10px;text-align:left}.cohort-highlights{grid-template-columns:1fr}.cohort-highlights>div{min-height:auto;border-right:0;border-bottom:1px solid rgba(0,0,0,.18)}.cohort-highlights>div:last-child{border-bottom:0}.cohort-detail-grid{grid-template-columns:1fr}.reader-stat-row{grid-template-columns:minmax(90px,1fr) minmax(70px,1fr) 42px}
  .contract-document { padding:42px 25px; }.document-toolbar{padding:12px 17px;align-items:flex-start}.document-toolbar>div{align-items:flex-end;flex-direction:column;gap:8px}
  .about-content { padding:28px 20px; }.about-stat-grid{grid-template-columns:1fr}.about-stat-grid div{border-right:0;border-bottom:1px solid var(--line)}.about-stat-grid div:last-child{border-bottom:0}
  .site-footer { display:block; }.site-footer p+p{margin-top:12px}
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration:.01ms !important; animation-delay:0s !important; scroll-behavior:auto !important; }
}
