:root {
  --bg:#0a0a0b;
  --surface:#101112;
  --surface-2:#151617;
  --ink:#f3f0e9;
  --dim:rgba(243,240,233,.58);
  --muted:rgba(243,240,233,.38);
  --line:rgba(243,240,233,.17);
  --line-strong:rgba(243,240,233,.36);
  --accent:#d6ff5f;
  --blue:#77c8ff;
  --orange:#ff9b68;
  --serif:Georgia,"Times New Roman",serif;
  --sans:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;
}

* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:82px; }
body { margin:0; overflow-x:hidden; color:var(--ink); background:var(--bg); font-family:var(--sans); font-weight:350; letter-spacing:.01em; }
body::before { content:""; position:fixed; inset:0; z-index:-1; pointer-events:none; background:radial-gradient(circle at 77% 7%,rgba(214,255,95,.09),transparent 30rem),radial-gradient(circle at 6% 64%,rgba(119,200,255,.05),transparent 32rem); }
a { color:inherit; text-decoration:none; }
button,textarea { font:inherit; }
button { color:inherit; }

.masthead { position:sticky; top:0; z-index:20; min-height:68px; display:grid; grid-template-columns:1fr auto 1fr; gap:20px; align-items:center; padding:18px 3vw; border-bottom:1px solid var(--line); background:rgba(10,10,11,.88); backdrop-filter:blur(18px); font-size:10px; letter-spacing:.13em; }
.wordmark { font-weight:600; }
.header-center { color:var(--dim); text-align:center; }
.header-actions { justify-self:end; display:flex; align-items:center; gap:24px; }
.header-actions>button,.language-switch button { border:0; padding:0; background:none; cursor:pointer; font-size:10px; letter-spacing:.13em; }
.header-actions>button { color:var(--accent); }
.language-switch { display:flex; align-items:center; gap:7px; color:var(--muted); }
.language-switch button { color:var(--muted); }
.language-switch button[aria-pressed="true"] { color:var(--ink); }

.hero { min-height:calc(100svh - 68px); display:flex; flex-direction:column; justify-content:space-between; padding:5vh 7vw 6vh; }
.hero-meta { display:flex; justify-content:space-between; gap:30px; color:var(--dim); font-size:10px; letter-spacing:.14em; }
.hero-title { margin:auto 0; padding:7vh 0; }
.kicker,.eyebrow { color:var(--accent); font-size:10px; letter-spacing:.15em; }
h1,h2,h3,p { margin-top:0; }
h1 { max-width:1120px; margin:.45em 0 0; font:400 clamp(4rem,10.4vw,10rem)/.9 var(--serif); letter-spacing:-.065em; }
.hero-footer { display:grid; grid-template-columns:minmax(0,42rem) auto; gap:3rem; align-items:end; padding-top:18px; border-top:1px solid var(--line); }
.hero-footer>p { margin:0; color:var(--dim); font-size:14px; line-height:1.8; }
.state-key { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:18px; }
.state-key span { display:flex; gap:7px; align-items:center; color:var(--dim); font-size:9px; letter-spacing:.1em; }
.state-key b { font-weight:450; }
.state-dot { width:7px; height:7px; border-radius:50%; background:var(--accent); }
.state-dot.open { background:var(--blue); }
.state-dot.decision { background:var(--orange); }

.section-nav { position:sticky; top:68px; z-index:15; display:grid; grid-template-columns:repeat(7,1fr); margin:0 3vw; border:1px solid var(--line); background:rgba(10,10,11,.9); backdrop-filter:blur(18px); }
.section-nav a { min-width:0; display:flex; gap:10px; align-items:center; padding:14px 16px; border-right:1px solid var(--line); transition:background .2s,color .2s; }
.section-nav a:last-child { border-right:0; }
.section-nav a:hover { color:var(--accent); background:rgba(214,255,95,.045); }
.section-nav span { color:var(--muted); font-size:9px; }
.section-nav b { overflow:hidden; font-size:10px; font-weight:450; letter-spacing:.08em; text-overflow:ellipsis; white-space:nowrap; }

.section { display:grid; grid-template-columns:minmax(130px,18%) minmax(0,1fr); gap:40px; margin:0 7vw; padding:9rem 0; border-top:1px solid var(--line); }
.section-index { display:flex; gap:14px; align-items:flex-start; color:var(--accent); font-size:10px; letter-spacing:.14em; }
.section-index span:last-child { color:var(--dim); }
.section-body { max-width:980px; }
.section-body.wide { max-width:none; }
h2 { max-width:1000px; margin:1.6rem 0 2.6rem; font:400 clamp(2.7rem,6vw,6.3rem)/.92 var(--serif); letter-spacing:-.055em; }
h3 { font-weight:450; }
.lead { max-width:820px; color:var(--ink); font:400 clamp(1.15rem,1.8vw,1.55rem)/1.75 var(--serif); }
.lead.compact { max-width:760px; color:var(--dim); font:350 clamp(1rem,1.35vw,1.2rem)/1.8 var(--sans); }
.state { display:inline-flex; align-items:center; min-height:25px; padding:0 9px; border:1px solid var(--line-strong); border-radius:999px; color:var(--dim); font-size:8px; letter-spacing:.15em; }
.state.hypothesis { border-color:rgba(214,255,95,.55); color:var(--accent); }
.state.open { border-color:rgba(119,200,255,.55); color:var(--blue); }
.state.decision { border-color:rgba(255,155,104,.6); color:var(--orange); }
.margin-note { max-width:760px; margin:2.3rem 0 0; padding:1rem 0 0 1.2rem; border-top:1px solid var(--line); border-left:1px solid var(--accent); color:var(--dim); font-size:13px; line-height:1.8; }

.relation-loop { counter-reset:step; display:grid; grid-template-columns:repeat(4,1fr); margin:4.5rem 0 0; padding:0; list-style:none; border:1px solid var(--line); }
.relation-loop li { position:relative; min-height:220px; padding:20px; border-right:1px solid var(--line); }
.relation-loop li:last-child { border-right:0; }
.relation-loop li:not(:last-child)::after { content:"→"; position:absolute; top:50%; right:-12px; z-index:2; width:23px; height:23px; display:grid; place-items:center; border:1px solid var(--line); border-radius:50%; color:var(--accent); background:var(--bg); font-size:11px; }
.relation-loop span { color:var(--muted); font-size:9px; letter-spacing:.12em; }
.relation-loop strong { display:block; margin:5rem 0 .75rem; font:400 clamp(1.35rem,2.2vw,2.25rem) var(--serif); }
.relation-loop p { margin:0; color:var(--dim); font-size:12px; line-height:1.65; }

.axis-grid { display:grid; grid-template-columns:1fr 1fr; margin:4rem 0 0; border:1px solid var(--line); }
.axis-grid article { min-height:290px; padding:28px; }
.axis-grid article+article { border-left:1px solid var(--line); }
.axis-number { color:var(--accent); font-size:9px; letter-spacing:.14em; }
.axis-grid h3 { max-width:360px; margin:5rem 0 1.1rem; font:400 clamp(1.7rem,3vw,3rem)/1.05 var(--serif); }
.axis-grid article>p:last-child { max-width:480px; margin:0; color:var(--dim); font-size:14px; line-height:1.8; }
.subtitle-wager { display:grid; grid-template-columns:.65fr 1fr 1fr; gap:0; margin-top:1.2rem; border:1px solid var(--line); }
.subtitle-wager>* { min-width:0; padding:22px; }
.subtitle-wager>*+* { border-left:1px solid var(--line); }
.subtitle-wager h3 { min-height:3em; margin:0 0 1rem; font:400 clamp(1.2rem,1.8vw,1.65rem)/1.3 var(--serif); }
.subtitle-wager div p { margin:0; color:var(--dim); font-size:13px; line-height:1.75; }

.room-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin-top:4rem; border:1px solid var(--line); }
.room-card { min-width:0; padding:25px; background:rgba(255,255,255,.012); }
.room-card+article { border-left:1px solid var(--line); }
.room-card.room-b { background:rgba(214,255,95,.04); }
.room-card header { display:flex; justify-content:space-between; gap:15px; color:var(--dim); font-size:9px; letter-spacing:.12em; }
.room-card header span:first-child { color:var(--accent); }
.room-card h3 { min-height:3.4em; margin:3.5rem 0 1.7rem; font:400 clamp(1.65rem,2.4vw,2.5rem)/1.06 var(--serif); }
.room-card dl { margin:0; }
.room-card dl>div { display:grid; grid-template-columns:4.5rem 1fr; gap:14px; padding:13px 0; border-top:1px solid var(--line); }
.room-card dt { color:var(--muted); font-size:9px; letter-spacing:.1em; }
.room-card dd { margin:0; color:var(--dim); font-size:12px; line-height:1.7; }
.room-question { min-height:8.7em; margin:1.5rem 0 0; padding:1rem; border:1px solid rgba(119,200,255,.25); color:var(--blue); font-size:13px; line-height:1.75; }
.room-card>a { display:inline-block; margin-top:1.4rem; color:var(--accent); font-size:10px; letter-spacing:.1em; }

.language-grid { display:grid; grid-template-columns:1fr 1fr; margin-top:4rem; border:1px solid var(--line); }
.language-grid article { padding:27px; }
.language-grid article+article { border-left:1px solid var(--line); }
.language-grid .keep { background:rgba(214,255,95,.035); }
.language-grid .avoid { background:rgba(255,155,104,.025); }
.language-grid .avoid .eyebrow { color:var(--orange); }
.language-grid ul { margin:3rem 0 0; padding:0; list-style:none; }
.language-grid li { padding:13px 0; border-top:1px solid var(--line); color:var(--dim); font-size:14px; line-height:1.7; }

.filter-bar { display:flex; flex-wrap:wrap; gap:8px; margin:3rem 0 1.3rem; }
.filter-bar button { min-height:35px; padding:0 13px; border:1px solid var(--line); border-radius:999px; background:transparent; color:var(--dim); cursor:pointer; font-size:10px; letter-spacing:.08em; }
.filter-bar button[aria-pressed="true"] { border-color:var(--blue); color:var(--blue); background:rgba(119,200,255,.07); }
.question-grid { display:grid; grid-template-columns:1fr 1fr; border:1px solid var(--line); }
.question-card { min-width:0; min-height:500px; padding:24px; border-bottom:1px solid var(--line); }
.question-card:nth-child(odd) { border-right:1px solid var(--line); }
.question-card:nth-last-child(-n+2) { border-bottom:0; }
.question-card[hidden] { display:none; }
.question-card header { display:flex; justify-content:space-between; color:var(--blue); font-size:9px; letter-spacing:.13em; }
.question-card header span:last-child { color:var(--muted); }
.question-card h3 { min-height:2.5em; margin:3.8rem 0 1rem; font:400 clamp(1.55rem,2.8vw,2.7rem)/1.12 var(--serif); }
.question-card>p { min-height:8.2em; max-width:520px; color:var(--dim); font-size:13px; line-height:1.8; }
.question-card label,.session-fields label { display:block; margin-top:1.7rem; }
.question-card label>span,.session-fields label>span { display:block; margin-bottom:8px; color:var(--muted); font-size:9px; letter-spacing:.1em; }
textarea { width:100%; resize:vertical; border:1px solid var(--line); border-radius:0; padding:12px; color:var(--ink); background:rgba(255,255,255,.025); font-size:13px; line-height:1.65; outline:none; }
textarea:focus { border-color:var(--accent); box-shadow:0 0 0 1px var(--accent); }
textarea::placeholder { color:rgba(243,240,233,.25); }

.decision-list { margin-top:4rem; border-top:1px solid var(--line); }
.decision-list label { display:grid; grid-template-columns:35px minmax(0,1fr) minmax(240px,.75fr); gap:20px; align-items:start; padding:18px 0; border-bottom:1px solid var(--line); }
.decision-list label>span { padding-top:9px; color:var(--orange); font-size:9px; }
.decision-list b { padding-top:6px; font-size:14px; font-weight:400; line-height:1.7; }
.decision-list textarea { min-height:74px; }

.session-fields { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:4rem; }
.session-fields label { margin:0; }
.session-fields textarea { min-height:230px; }
.session-actions { display:flex; flex-wrap:wrap; gap:9px; align-items:center; margin-top:18px; }
.session-actions button { min-height:40px; padding:0 15px; border:1px solid var(--line-strong); background:transparent; cursor:pointer; font-size:10px; letter-spacing:.08em; }
.session-actions button.primary { border-color:var(--accent); color:#0a0a0b; background:var(--accent); }
.session-actions button.quiet { margin-left:auto; border-color:transparent; color:var(--muted); }
#action-status { color:var(--accent); font-size:10px; letter-spacing:.08em; }

footer { display:flex; justify-content:space-between; gap:30px; margin:0 3vw; padding:24px 4vw; border-top:1px solid var(--line); color:var(--dim); font-size:9px; letter-spacing:.12em; }
footer nav { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:22px; }
footer a { color:var(--ink); }

@media (max-width:960px) {
  .masthead { grid-template-columns:1fr auto; }
  .header-center { display:none; }
  .section-nav { grid-template-columns:repeat(4,1fr); position:static; }
  .section-nav a:nth-child(4) { border-right:0; }
  .section-nav a:nth-child(-n+4) { border-bottom:1px solid var(--line); }
  .room-grid { grid-template-columns:1fr; }
  .room-card+article { border-left:0; border-top:1px solid var(--line); }
  .room-card h3,.room-question { min-height:0; }
  .decision-list label { grid-template-columns:30px minmax(0,1fr); }
  .decision-list textarea { grid-column:2; }
}

@media (max-width:720px) {
  html { scroll-padding-top:60px; }
  .masthead { min-height:60px; padding:15px 5vw; }
  .header-actions { gap:15px; }
  .hero { min-height:calc(100svh - 60px); padding:4vh 7vw 5vh; }
  .hero-meta span:last-child { display:none; }
  .hero-title { padding:6vh 0; }
  h1 { font-size:clamp(3.45rem,16vw,6rem); }
  .hero-footer { grid-template-columns:1fr; gap:1.7rem; }
  .state-key { justify-content:flex-start; }
  .section-nav { margin:0; grid-template-columns:repeat(2,1fr); }
  .section-nav a,.section-nav a:nth-child(4) { border-right:1px solid var(--line); border-bottom:1px solid var(--line); }
  .section-nav a:nth-child(even) { border-right:0; }
  .section-nav a:last-child { border-bottom:0; }
  .section { grid-template-columns:1fr; gap:28px; margin:0 7vw; padding:6.5rem 0; }
  h2 { margin-top:1rem; font-size:clamp(2.8rem,13vw,4.5rem); }
  .relation-loop { grid-template-columns:1fr; }
  .relation-loop li { min-height:155px; border-right:0; border-bottom:1px solid var(--line); }
  .relation-loop li:last-child { border-bottom:0; }
  .relation-loop li:not(:last-child)::after { top:auto; right:50%; bottom:-12px; transform:translateX(50%) rotate(90deg); }
  .relation-loop strong { margin:2.2rem 0 .7rem; }
  .axis-grid,.language-grid,.question-grid,.session-fields { grid-template-columns:1fr; }
  .axis-grid article+article,.language-grid article+article { border-left:0; border-top:1px solid var(--line); }
  .axis-grid article { min-height:240px; }
  .axis-grid h3 { margin-top:3.5rem; }
  .subtitle-wager { grid-template-columns:1fr; }
  .subtitle-wager>*+* { border-left:0; border-top:1px solid var(--line); }
  .subtitle-wager h3 { min-height:0; }
  .question-card,.question-card:nth-child(odd),.question-card:nth-last-child(-n+2) { min-height:0; border-right:0; border-bottom:1px solid var(--line); }
  .question-card:last-child { border-bottom:0; }
  .question-card h3,.question-card>p { min-height:0; }
  .decision-list label { grid-template-columns:24px minmax(0,1fr); gap:12px; }
  .session-actions button,.session-actions button.quiet { width:100%; margin-left:0; }
  footer { align-items:flex-start; flex-direction:column; margin:0; padding:22px 7vw; }
  footer nav { justify-content:flex-start; }
}

@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
}
