/* FLASHPOINT:2027 — © 2026 Hallam Burnapp. All rights reserved. An Escalation Lab project — escalationlab.org */
:root{--bg:#0a0e12;--bg-deep:#070a0e;--panel:#10161d;--panel-2:#131b24;--panel-raised:#17212c;--line:#1e2a37;--line-strong:#2b3b4d;--land:#16222e;--text:#c3cdd8;--text-muted:#8e9aa7;--text-faint:#75828f;--amber:#ffb454;--amber-hi:#ffd28a;--amber-dim:#8a6a35;--red:#ff4d4d;--red-dim:#99323a;--green:#63c07a;--teal:#5aa8b0;--text-xs:clamp(0.72rem, 0.68rem + 0.2vw, 0.8rem);--text-sm:clamp(0.8rem, 0.76rem + 0.25vw, 0.9rem);--text-base:clamp(0.98rem, 0.93rem + 0.25vw, 1.08rem);--text-lg:clamp(1.15rem, 1.05rem + 0.6vw, 1.45rem);--text-xl:clamp(1.5rem, 1.2rem + 1.4vw, 2.2rem);--text-2xl:clamp(2rem, 1.3rem + 2.6vw, 3.2rem);--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--font-body:'Archivo','Helvetica Neue',sans-serif;--font-mono:'IBM Plex Mono','SFMono-Regular',monospace;--radius-sm:3px;--radius-md:6px;--transition-interactive:160ms cubic-bezier(0.16, 1, 0.3, 1)}*,::after,::before{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{min-height:100dvh;background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:var(--text-base);line-height:1.65;overflow-x:hidden}img,svg{display:block;max-width:100%}button{font:inherit;color:inherit;background:0 0;border:none;cursor:pointer}p{text-wrap:pretty}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums lining-nums}.hidden{display:none!important}:focus-visible{outline:2px solid var(--amber);outline-offset:3px;border-radius:var(--radius-sm)}::selection{background:rgba(255,180,84,.28)}a,button{transition:color var(--transition-interactive),background var(--transition-interactive),border-color var(--transition-interactive),box-shadow var(--transition-interactive)}@media (prefers-reduced-motion:reduce){*,::after,::before{animation-duration:0s!important;animation-iteration-count:1!important;transition-duration:0s!important}}.crt{pointer-events:none;position:fixed;inset:0;z-index:60;background:repeating-linear-gradient(0deg,rgba(255,255,255,.014) 0 1px,transparent 1px 3px),radial-gradient(ellipse at center,transparent 58%,rgba(0,0,0,.34) 100%);mix-blend-mode:overlay}.defcon-flash{pointer-events:none;position:fixed;inset:0;z-index:55;background:radial-gradient(ellipse at center,rgba(255,77,77,.16),rgba(255,77,77,.05));opacity:0}.defcon-flash.blink{animation:defconBlink 1.15s ease-out}@keyframes defconBlink{0%{opacity:0}12%{opacity:1}26%{opacity:.15}40%{opacity:.85}60%{opacity:.1}78%{opacity:.45}100%{opacity:0}}.topbar{position:sticky;top:0;z-index:40;display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-3) var(--space-5);background:rgba(9,13,17,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}.topbar-brand{display:flex;align-items:center;gap:var(--space-3);min-width:0}.logo{width:34px;height:34px;color:var(--amber);flex:none}.brand-text{display:flex;flex-direction:column;line-height:1.15}.brand-title{font-family:var(--font-mono);font-weight:600;letter-spacing:.14em;font-size:var(--text-sm);color:var(--text)}.brand-year{color:var(--amber)}.brand-sub{font-family:var(--font-mono);font-size:.62rem;letter-spacing:.3em;color:var(--text-faint)}.topbar-act{font-size:var(--text-xs);letter-spacing:.22em;color:var(--amber);text-align:center;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar-actions{display:flex;gap:var(--space-2)}.icon-btn{font-size:var(--text-xs);letter-spacing:.08em;padding:var(--space-1) var(--space-3);border:1px solid var(--line-strong);border-radius:var(--radius-sm);color:var(--text-muted);background:var(--panel)}.icon-btn:hover{color:var(--amber);border-color:var(--amber-dim)}.icon-btn.on{color:var(--green);border-color:var(--green)}.screen{display:none}.screen.active{display:block}.screen-boot{min-height:calc(100dvh - 61px);position:relative}.exercise-strip{font-size:.6rem;letter-spacing:.3em;color:var(--red-dim);border-bottom:1px solid var(--line);padding:var(--space-1) var(--space-4);text-align:center;white-space:nowrap;overflow:hidden}.boot-inner{max-width:720px;margin:0 auto;padding:clamp(var(--space-10),12vh,var(--space-16)) var(--space-5) var(--space-12);display:flex;flex-direction:column;align-items:flex-start}.boot-logo{width:56px;height:56px;color:var(--amber);margin-bottom:var(--space-8);opacity:.9}.boot-type{font-size:var(--text-base);line-height:2.05;letter-spacing:.02em;color:var(--amber-hi);min-height:14.5em;white-space:pre-wrap}.boot-type .cursor{display:inline-block;width:.6em;height:1.05em;background:var(--amber);vertical-align:text-bottom;animation:blink 1s steps(1) infinite}@keyframes blink{50%{opacity:0}}.boot-foot{margin-top:var(--space-10);font-size:.62rem;letter-spacing:.18em;color:var(--text-faint);text-transform:uppercase}.cmd-btn{font-family:var(--font-mono);font-weight:600;font-size:var(--text-sm);letter-spacing:.14em;color:var(--amber);background:rgba(255,180,84,.06);border:1px solid var(--amber-dim);border-radius:var(--radius-sm);padding:var(--space-3) var(--space-6)}.cmd-btn:hover{background:rgba(255,180,84,.14);border-color:var(--amber);box-shadow:0 0 22px rgba(255,180,84,.18)}.cmd-btn.ghost{color:var(--text-muted);border-color:var(--line-strong);background:0 0}.cmd-btn.ghost:hover{color:var(--text);border-color:var(--text-muted);box-shadow:none}.boot-enter{margin-top:var(--space-6);animation:fadeUp .5s ease-out both}@keyframes fadeUp{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.screen-role{min-height:calc(100dvh - 61px)}.role-inner{max-width:1120px;margin:0 auto;padding:clamp(var(--space-8),8vh,var(--space-16)) var(--space-5) var(--space-12)}.kicker{font-size:var(--text-xs);letter-spacing:.26em;color:var(--red-dim);margin-bottom:var(--space-4)}.role-heading{font-size:var(--text-2xl);font-weight:750;letter-spacing:-.015em;line-height:1.08;margin-bottom:var(--space-4);color:#e8edf2;text-wrap:balance}.role-lede{color:var(--text-muted);max-width:62ch;margin-bottom:var(--space-10)}.role-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-5)}.role-card{text-align:left;position:relative;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-md);padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-3)}.role-card::after,.role-card::before{content:"";position:absolute;width:14px;height:14px;border-color:var(--amber-dim);border-style:solid;opacity:0;transition:opacity var(--transition-interactive)}.role-card::before{top:-1px;left:-1px;border-width:2px 0 0 2px}.role-card::after{bottom:-1px;right:-1px;border-width:0 2px 2px 0}.role-card:hover{border-color:var(--line-strong);background:var(--panel-2);transform:translateY(-2px)}.role-card:hover::after,.role-card:hover::before{opacity:1}.role-card{transition:transform var(--transition-interactive),background var(--transition-interactive),border-color var(--transition-interactive)}.role-tag{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.22em;color:var(--amber)}.role-name{font-size:var(--text-lg);font-weight:700;color:#e8edf2;line-height:1.2}.role-seat{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-faint);letter-spacing:.05em}.role-blurb{font-size:var(--text-sm);color:var(--text-muted);flex:1}.role-cast{font-family:var(--font-mono);font-size:.66rem;letter-spacing:.1em;color:var(--text-faint);border-top:1px solid var(--line);padding-top:var(--space-3)}.role-go{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.18em;color:var(--amber)}.screen-game{padding:var(--space-5)}.game-layout{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:var(--space-5);align-items:start}.briefing-col{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-md);padding:clamp(var(--space-5),3vw,var(--space-8));position:relative;min-height:60vh}.node-head{display:flex;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap;margin-bottom:var(--space-4)}.node-clock{font-size:var(--text-xs);letter-spacing:.2em;color:var(--amber)}.node-theatre{font-size:var(--text-xs);letter-spacing:.2em;color:var(--text-faint)}.node-title{font-size:var(--text-xl);font-weight:750;letter-spacing:-.01em;line-height:1.12;color:#e9eef3;margin-bottom:var(--space-5);text-wrap:balance}.brief-body{min-height:3em}.brief-body p{margin-bottom:var(--space-4);color:var(--text);max-width:68ch;font-size:var(--text-base)}.brief-body p:last-child{margin-bottom:0}.brief-body em{color:var(--amber-hi);font-style:italic}.skip-btn{position:absolute;top:var(--space-4);right:var(--space-4);font-size:.64rem;letter-spacing:.2em;color:var(--text-faint);border:1px solid var(--line);border-radius:var(--radius-sm);padding:2px 8px;background:var(--panel-2)}.skip-btn:hover{color:var(--amber);border-color:var(--amber-dim)}.advisors{margin-top:var(--space-6);display:grid;gap:var(--space-3)}.advisor{display:grid;grid-template-columns:132px minmax(0,1fr);gap:var(--space-4);background:var(--panel-2);border:1px solid var(--line);border-left:3px solid var(--line-strong);border-radius:var(--radius-sm);padding:var(--space-4);opacity:0;transform:translateY(6px);animation:fadeUp 380ms ease-out forwards}.advisor[data-role=hawk]{border-left-color:var(--red)}.advisor[data-role=dove]{border-left-color:var(--green)}.advisor[data-role=intel]{border-left-color:var(--teal)}.advisor-id{display:flex;flex-direction:column;gap:var(--space-1)}.advisor-who{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:600;letter-spacing:.06em;color:#dfe6ec}.advisor-stance{font-family:var(--font-mono);font-size:.62rem;letter-spacing:.16em;color:var(--text-faint)}.advisor[data-role=hawk] .advisor-stance{color:var(--red)}.advisor[data-role=dove] .advisor-stance{color:var(--green)}.advisor[data-role=intel] .advisor-stance{color:var(--teal)}.advisor-text{font-size:var(--text-sm);color:var(--text-muted)}.choices{margin-top:var(--space-6);display:grid;gap:var(--space-3)}.choices-label{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.26em;color:var(--red-dim);margin-bottom:var(--space-1)}.choice-btn{text-align:left;position:relative;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--panel-raised);padding:var(--space-4) var(--space-5);display:flex;flex-direction:column;gap:var(--space-1);opacity:0;transform:translateY(6px);animation:fadeUp 380ms ease-out forwards}.choice-btn:hover{border-color:var(--amber);background:#1a2530;box-shadow:inset 3px 0 0 var(--amber),0 0 18px rgba(255,180,84,.08)}.choice-directive{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:600;letter-spacing:.16em;color:var(--amber)}.choice-text{font-size:var(--text-sm);color:var(--text);max-width:72ch}.choice-hint{font-family:var(--font-mono);font-size:.66rem;letter-spacing:.06em;color:var(--text-faint)}.roll-block{margin-top:var(--space-6)}.roll-panel{border:1px dashed var(--amber-dim);border-radius:var(--radius-sm);background:rgba(255,180,84,.04);padding:var(--space-5)}.roll-prompt{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--amber-hi);letter-spacing:.06em;margin-bottom:var(--space-4)}.roll-ticker{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-faint);letter-spacing:.14em;min-height:1.4em;margin-bottom:var(--space-4)}.roll-result{border-left:3px solid var(--red);background:var(--panel-2);padding:var(--space-4);font-size:var(--text-sm);color:var(--text);margin-bottom:var(--space-4)}.roll-result .flash-tag{font-family:var(--font-mono);font-size:.64rem;letter-spacing:.24em;color:var(--red);display:block;margin-bottom:var(--space-2)}.petrov-bar{border:1px solid var(--red-dim);border-radius:var(--radius-sm);background:rgba(255,77,77,.05);padding:var(--space-4);margin-bottom:var(--space-5);display:grid;grid-template-columns:1fr auto;gap:var(--space-2) var(--space-4);align-items:center}.petrov-label{font-size:.64rem;letter-spacing:.26em;color:var(--red)}.petrov-time{font-size:var(--text-xl);font-weight:600;color:var(--red);grid-column:2;grid-row:1/span 2;text-align:right}.petrov-track{width:100%}.petrov-track{height:5px;background:var(--panel-raised);border-radius:999px;overflow:hidden}.petrov-fill{height:100%;width:100%;background:var(--red);transition:width 1s linear}.petrov-note{grid-column:1/-1;font-size:.6rem;letter-spacing:.18em;color:var(--text-faint)}.petrov-bar.critical{animation:petrovPulse 1s ease-in-out infinite}@keyframes petrovPulse{0%,100%{box-shadow:0 0 0 rgba(255,77,77,0)}50%{box-shadow:0 0 24px rgba(255,77,77,.25)}}.hud-col{display:flex;flex-direction:column;gap:var(--space-4);position:sticky;top:76px}.hud-panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-md);padding:var(--space-4)}.hud-panel-title{font-size:.62rem;letter-spacing:.26em;color:var(--text-faint);margin-bottom:var(--space-3);padding-bottom:var(--space-2);border-bottom:1px solid var(--line)}.defcon-row{display:grid;grid-template-columns:repeat(5,1fr);gap:var(--space-1)}.defcon-seg{aspect-ratio:1.15;display:grid;place-items:center;border:1px solid var(--line-strong);border-radius:var(--radius-sm);font-family:var(--font-mono);font-weight:600;font-size:var(--text-base);color:var(--text-faint);background:var(--panel-2);transition:all .3s ease}.defcon-seg.on[data-level="5"]{color:#0a0e12;background:var(--green);border-color:var(--green)}.defcon-seg.on[data-level="4"]{color:#0a0e12;background:var(--teal);border-color:var(--teal)}.defcon-seg.on[data-level="3"]{color:#0a0e12;background:var(--amber);border-color:var(--amber)}.defcon-seg.on[data-level="2"]{color:#0a0e12;background:#ff8a3d;border-color:#ff8a3d}.defcon-seg.on[data-level="1"]{color:#fff;background:var(--red);border-color:var(--red);animation:petrovPulse 1.2s infinite}.defcon-caption{margin-top:var(--space-3);font-size:.64rem;letter-spacing:.14em;color:var(--text-muted)}.gauge{margin-bottom:var(--space-4)}.gauge:last-child{margin-bottom:0}.gauge-head{display:flex;justify-content:space-between;margin-bottom:var(--space-1)}.gauge-name{font-size:.64rem;letter-spacing:.16em;color:var(--text-muted)}.gauge-val{font-size:.72rem;font-weight:600;color:var(--text)}.gauge-track{height:7px;border-radius:999px;overflow:hidden;background:var(--panel-raised);border:1px solid var(--line)}.gauge-fill{height:100%;width:0%;border-radius:999px;transition:width .7s cubic-bezier(.16,1,.3,1),background-color .7s}.fill-esc{background:var(--amber)}.fill-coh{background:var(--teal)}.fill-dom{background:var(--green)}.fill-nuke{background:var(--red-dim)}.gauge-val.bump{animation:valBump .6s ease-out}@keyframes valBump{30%{color:var(--amber);transform:translateY(-1px)}}.scope{width:100%;height:auto}#sweepGroup{transform-origin:120px 120px;animation:sweep 7s linear infinite}@keyframes sweep{to{transform:rotate(360deg)}}.fp-dot{fill:var(--text-faint)}.fp-ring{fill:none;stroke:var(--text-faint);stroke-width:1;opacity:0}.fp-label{font-size:8.5px;fill:var(--text-faint);letter-spacing:.12em}.flashpoint[data-state=warm] .fp-dot{fill:var(--amber-dim)}.flashpoint[data-state=warm] .fp-label{fill:var(--amber-dim)}.flashpoint[data-state=hot] .fp-dot{fill:var(--amber)}.flashpoint[data-state=hot] .fp-label{fill:var(--amber)}.flashpoint[data-state=hot] .fp-ring{stroke:var(--amber);animation:fpPulse 2s ease-out infinite}.flashpoint[data-state=critical] .fp-dot{fill:var(--red)}.flashpoint[data-state=critical] .fp-label{fill:var(--red)}.flashpoint[data-state=critical] .fp-ring{stroke:var(--red);animation:fpPulse 1.1s ease-out infinite}@keyframes fpPulse{0%{transform:scale(.3);opacity:.9}100%{transform:scale(1.6);opacity:0}}.flashpoint .fp-ring{transform-box:fill-box;transform-origin:center}.theatre-list{margin-top:var(--space-3);display:grid;gap:var(--space-1)}.theatre-row{display:flex;justify-content:space-between;font-size:.62rem;letter-spacing:.14em;color:var(--text-muted);border-bottom:1px dotted var(--line);padding-bottom:3px}.tstate{color:var(--text-faint)}.tstate.warm{color:var(--amber-dim)}.tstate.hot{color:var(--amber)}.tstate.critical{color:var(--red)}.hud-role{font-size:.66rem;letter-spacing:.1em;color:var(--text-faint);line-height:1.8}.hud-role b{color:var(--text-muted);font-weight:600}.screen-ending{min-height:calc(100dvh - 61px)}.ending-inner{max-width:780px;margin:0 auto;padding:clamp(var(--space-10),10vh,var(--space-16)) var(--space-5) var(--space-12)}.ending-badge{display:inline-block;font-size:var(--text-xs);letter-spacing:.24em;font-weight:600;padding:var(--space-2) var(--space-4);border:1px solid var(--line-strong);border-radius:var(--radius-sm);margin-bottom:var(--space-6)}.ending-badge.win{color:var(--green);border-color:var(--green)}.ending-badge.grey{color:var(--amber);border-color:var(--amber-dim)}.ending-badge.loss{color:#ff8a3d;border-color:#ff8a3d}.ending-badge.catastrophe{color:var(--red);border-color:var(--red)}.ending-title{font-size:var(--text-2xl);font-weight:800;letter-spacing:-.015em;line-height:1.05;color:#edf1f5;margin-bottom:var(--space-6);text-wrap:balance}.screen-ending.catastrophe .ending-title{color:var(--red)}.ending-body p{color:var(--text-muted);margin-bottom:var(--space-4);max-width:66ch}.verdict{margin-top:var(--space-8);border:1px solid var(--line-strong);border-left:3px solid var(--amber);background:var(--panel);border-radius:var(--radius-sm);padding:var(--space-6)}.verdict-head{font-size:.64rem;letter-spacing:.26em;color:var(--amber);margin-bottom:var(--space-3)}.verdict-text{color:var(--text);font-size:var(--text-sm);line-height:1.8;max-width:68ch}.ending-stats{margin-top:var(--space-6);display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:var(--space-3)}.stat-cell{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel);padding:var(--space-3)}.stat-cell .k{font-size:.58rem;letter-spacing:.2em;color:var(--text-faint);display:block}.stat-cell .v{font-size:var(--text-lg);font-weight:600;color:var(--amber)}.ending-actions{margin-top:var(--space-8);display:flex;gap:var(--space-3);flex-wrap:wrap}.aar-inner{max-width:860px;margin:0 auto;padding:var(--space-10) var(--space-5) var(--space-12)}.aar-heading{font-size:var(--text-2xl);font-weight:800;letter-spacing:-.015em;color:#edf1f5;margin-bottom:var(--space-3)}.aar-meta{font-size:var(--text-xs);color:var(--text-faint);letter-spacing:.14em;margin-bottom:var(--space-8);line-height:2}.aar-timeline{border-left:1px solid var(--line-strong);margin-left:6px}.aar-entry{position:relative;padding:0 0 var(--space-6) var(--space-6)}.aar-entry::before{content:"";position:absolute;left:-5px;top:6px;width:9px;height:9px;border-radius:50%;background:var(--panel);border:2px solid var(--amber-dim)}.aar-entry.ratchet::before{border-color:var(--red);background:var(--red)}.aar-clock{font-family:var(--font-mono);font-size:.64rem;letter-spacing:.2em;color:var(--amber)}.aar-node{font-weight:700;color:#e5eaef;font-size:var(--text-sm);margin:2px 0}.aar-choice{font-size:var(--text-sm);color:var(--text-muted);max-width:70ch}.aar-choice .dir{font-family:var(--font-mono);font-size:.66rem;letter-spacing:.14em;color:var(--amber)}.aar-deltas{font-family:var(--font-mono);font-size:.64rem;letter-spacing:.08em;color:var(--text-faint);margin-top:3px}.aar-deltas .up{color:var(--red)}.aar-deltas .down{color:var(--green)}.aar-roll{font-family:var(--font-mono);font-size:.66rem;color:var(--teal);margin-top:3px;letter-spacing:.04em}.aar-sub{font-size:var(--text-xs);letter-spacing:.26em;color:var(--red-dim);margin:var(--space-10) 0 var(--space-4)}.cf-note{border:1px solid var(--line);border-left:3px solid var(--teal);border-radius:var(--radius-sm);background:var(--panel);padding:var(--space-4);margin-bottom:var(--space-3);font-size:var(--text-sm);color:var(--text-muted);max-width:74ch}.cf-note .cf-node{font-family:var(--font-mono);font-size:.64rem;letter-spacing:.16em;color:var(--teal);display:block;margin-bottom:var(--space-1)}@media (max-width:960px){.game-layout{grid-template-columns:1fr}.hud-col{position:static;order:-1;display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.hud-panel:nth-child(3){grid-column:1/-1}.hud-role{display:none}.topbar-act{display:none}}@media (max-width:640px){.screen-game{padding:var(--space-3)}.hud-col{grid-template-columns:1fr}.briefing-col{padding:var(--space-5) var(--space-4);min-height:0}.advisor{grid-template-columns:1fr;gap:var(--space-2)}.advisor-id{flex-direction:row;align-items:baseline;gap:var(--space-3)}.petrov-time{font-size:var(--text-lg)}.scope{max-width:300px;margin:0 auto}.brand-sub{display:none}.topbar{padding:var(--space-2) var(--space-3);gap:var(--space-2)}.logo{width:26px;height:26px}.brand-title{font-size:.72rem;letter-spacing:.1em;white-space:nowrap}.icon-btn{padding:var(--space-1) var(--space-2);font-size:.6rem;white-space:nowrap}.boot-type{min-height:17em;font-size:var(--text-sm)}}.advisor[data-role=econ]{border-left-color:var(--amber)}.advisor[data-role=pol]{border-left-color:var(--amber)}.advisor[data-role=econ] .advisor-stance{color:var(--amber)}.advisor[data-role=pol] .advisor-stance{color:var(--amber)}.role-hill{color:var(--amber);font-size:.72rem;letter-spacing:.08em;margin:calc(-1 * var(--space-6)) 0 var(--space-6)}.role-group-head{grid-column:1/-1;color:var(--text-muted);font-size:.72rem;letter-spacing:.14em;border-bottom:1px solid var(--line-strong);padding-bottom:6px;margin-top:var(--space-6)}.role-group-head:first-child{margin-top:0}.excode{display:flex;flex-direction:column;gap:6px;max-width:460px;margin-bottom:var(--space-8)}.excode label{font-size:.68rem;letter-spacing:.12em;color:var(--text-muted)}.excode input{background:var(--panel);border:1px solid var(--line-strong);color:var(--amber);font-size:.85rem;letter-spacing:.08em;padding:10px 12px;text-transform:uppercase}.excode input:focus{outline:2px solid var(--amber-dim);outline-offset:1px}.excode input::placeholder{color:var(--text-muted);opacity:.6;text-transform:none}.excode-note{font-size:.66rem;color:var(--text-muted);line-height:1.5}.timer-opt{display:flex;gap:10px;align-items:flex-start;margin-top:var(--space-3);font-size:.68rem;letter-spacing:.08em;color:var(--text-muted);line-height:1.5;cursor:pointer}.timer-opt input{width:18px;height:18px;margin:0;flex:none;accent-color:var(--amber);cursor:pointer}.timer-opt b{color:var(--text);font-weight:600}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}body[data-screen=screen-boot] #abortBtn{display:none}.credit-links .kofi{color:var(--text-muted)}.credit-links .kofi:hover{color:var(--amber)}.icon-btn.on{color:var(--amber);border-color:var(--amber-dim)}.seminar-panel{display:none}body.seminar-on .seminar-panel{display:block;margin-top:var(--space-4);padding:12px 14px;border:1px dashed var(--line-strong);border-left:3px solid var(--teal);background:rgba(90,168,176,.05)}body.seminar-on .seminar-panel.analogue{border-left-color:var(--amber);background:rgba(255,180,84,.05)}.sp-head{font-size:.7rem;letter-spacing:.1em;color:var(--teal);margin-bottom:2px}.seminar-panel.analogue .sp-head{color:var(--amber)}.sp-cite{font-size:.64rem;color:var(--text-muted);margin-bottom:8px}.sp-text{font-size:.86rem;line-height:1.6;color:var(--text);margin-bottom:8px}.sp-apply{font-size:.8rem;line-height:1.55;color:var(--text-muted);font-style:italic}.sp-apply .mono{font-style:normal;font-size:.64rem;letter-spacing:.1em;color:var(--teal)}.seminar-panel.analogue .sp-apply .mono{color:var(--amber)}.debrief{margin-top:var(--space-8);border:1px solid var(--line-strong);padding:var(--space-6);text-align:left}.debrief-head{font-size:.7rem;letter-spacing:.12em;color:var(--teal);margin-bottom:var(--space-4)}.debrief-list{margin:0;padding-left:1.2rem;display:grid;gap:10px}.debrief-list li{font-size:.92rem;line-height:1.6;color:var(--text-muted)}.site-footer{border-top:1px solid var(--line-strong);padding:var(--space-8) var(--space-6);display:flex;flex-direction:column;gap:10px;align-items:center;text-align:center}.footer-links{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}.footer-links a{color:var(--amber);text-decoration:none;font-size:.72rem;letter-spacing:.1em}.footer-links a:hover{text-decoration:underline}.footer-links span{color:var(--text-muted)}.footer-credit{font-size:.66rem;color:var(--text-muted);letter-spacing:.06em;line-height:1.6}body.docpage{display:block;overflow-y:auto}.doc{max-width:880px;margin:0 auto;padding:var(--space-10) var(--space-6) var(--space-16)}.doc .kicker{margin-bottom:var(--space-4)}.doc h1{font-size:var(--text-2xl);font-weight:800;letter-spacing:-.01em;margin-bottom:var(--space-6)}.doc h2{font-family:var(--font-mono);font-size:.82rem;letter-spacing:.14em;color:var(--amber);margin:var(--space-10) 0 var(--space-4);border-bottom:1px solid var(--line-strong);padding-bottom:8px}.doc h3{font-size:var(--text-base);font-weight:700;margin:var(--space-6) 0 var(--space-2);color:var(--text)}.doc li,.doc p{font-size:var(--text-base);line-height:1.7;color:var(--text-muted)}.doc p{margin-bottom:var(--space-4)}.doc ol,.doc ul{padding-left:1.3rem;margin-bottom:var(--space-4);display:grid;gap:8px}.doc a{color:var(--teal);text-decoration:underline;text-decoration-color:var(--line-strong);text-underline-offset:3px}.doc a:hover{color:var(--amber)}.doc strong{color:var(--text)}.doc .callout{border:1px solid var(--line-strong);border-left:3px solid var(--amber);background:var(--panel);padding:var(--space-4) var(--space-5);margin:var(--space-6) 0}.doc .callout p:last-child{margin-bottom:0}.doc .backlink{display:inline-block;font-family:var(--font-mono);font-size:.72rem;letter-spacing:.1em;color:var(--amber);text-decoration:none;margin-bottom:var(--space-8)}.doc .backlink:hover{text-decoration:underline}.gloss dt{font-family:var(--font-mono);font-size:.8rem;letter-spacing:.08em;color:var(--amber);margin-top:var(--space-6);text-transform:uppercase}.gloss dd{margin:6px 0 0;font-size:var(--text-base);line-height:1.7;color:var(--text-muted)}.src-item{border:1px solid var(--line);background:var(--panel);padding:var(--space-4) var(--space-5);margin-bottom:var(--space-3)}.src-item .src-tag{font-family:var(--font-mono);font-size:.62rem;letter-spacing:.12em;color:var(--teal);display:block;margin-bottom:4px}.src-item p{margin:0;font-size:var(--text-sm)}@media (max-width:480px){.topbar{flex-wrap:wrap}.topbar-actions{gap:4px}.icon-btn{padding:6px 7px;font-size:.58rem;letter-spacing:.04em;min-height:30px}.brand-title{font-size:.95rem}.logo{width:26px;height:26px}}.topbar-brand{text-align:left;border-radius:var(--radius-sm);padding:2px 6px 2px 2px;margin-left:-2px;cursor:pointer;background:0 0;border:1px solid transparent}.topbar-brand .brand-sub,.topbar-brand .brand-title,.topbar-brand .logo{transition:color var(--transition-interactive),transform 220ms cubic-bezier(.16, 1, .3, 1),opacity var(--transition-interactive)}.topbar-brand:focus-visible,.topbar-brand:hover{border-color:var(--line);background:rgba(255,180,84,.04)}.topbar-brand:hover .logo{color:var(--amber-hi);transform:rotate(-12deg)}.topbar-brand:hover .brand-title{color:#e9eef3}.topbar-brand:hover .brand-sub{color:var(--text-muted)}.topbar-brand:active .logo{transform:rotate(-24deg) scale(.94)}.icon-btn:focus-visible{outline-offset:2px}.icon-btn:active{transform:translateY(1px)}.toast{position:fixed;left:0;right:0;top:68px;z-index:70;margin:0 auto;width:fit-content;transform:translateY(-8px);max-width:min(640px,calc(100vw - 2rem));padding:10px 14px;font-size:.7rem;letter-spacing:.08em;line-height:1.55;color:var(--amber-hi);background:rgba(12,17,23,.96);border:1px solid var(--amber-dim);border-left:3px solid var(--amber);border-radius:var(--radius-sm);box-shadow:0 10px 34px rgba(0,0,0,.55);opacity:0;pointer-events:none;transition:opacity 220ms ease-out,transform 260ms cubic-bezier(.16, 1, .3, 1)}.toast.show{opacity:1;transform:none}.toast.off{color:var(--text-muted);border-color:var(--line-strong);border-left-color:var(--text-faint)}.toast.seminar{border-left-color:var(--teal)}.toast b{color:var(--amber);font-weight:600}.toast.off b{color:var(--text)}.toast.seminar b{color:var(--teal)}body.seminar-on .seminar-panel.reveal{animation:spReveal .9s ease-out both}@keyframes spReveal{0%{box-shadow:0 0 0 0 rgba(90,168,176,.55);background-color:rgba(90,168,176,.18)}100%{box-shadow:0 0 0 10px rgba(90,168,176,0)}}body.seminar-on .seminar-panel.analogue.reveal{animation-name:spRevealAmber}@keyframes spRevealAmber{0%{box-shadow:0 0 0 0 rgba(255,180,84,.55);background-color:rgba(255,180,84,.18)}100%{box-shadow:0 0 0 10px rgba(255,180,84,0)}}.fp-modal{position:fixed;inset:0;z-index:80;display:flex;align-items:center;justify-content:center;padding:var(--space-5);background:rgba(5,8,11,.78);backdrop-filter:blur(3px);animation:modalIn 180ms ease-out both}@keyframes modalIn{from{opacity:0}to{opacity:1}}.fp-modal-box{width:min(520px,100%);background:var(--panel);border:1px solid var(--line-strong);border-top:3px solid var(--red);border-radius:var(--radius-sm);padding:var(--space-6);box-shadow:0 24px 60px rgba(0,0,0,.6);animation:fadeUp 240ms ease-out both}.fp-modal-head{font-size:.7rem;letter-spacing:.14em;color:var(--red);margin-bottom:var(--space-3)}.fp-modal-text{color:var(--text);font-size:var(--text-sm);line-height:1.65;margin-bottom:var(--space-6)}.fp-modal-actions{display:flex;gap:var(--space-3);justify-content:flex-end;flex-wrap:wrap}.cmd-btn.danger{color:var(--red);border-color:var(--red-dim);background:rgba(255,77,77,.06)}.cmd-btn.danger:hover{border-color:var(--red);background:rgba(255,77,77,.14);box-shadow:0 0 22px rgba(255,77,77,.18)}body.modal-open{overflow:hidden}.boot-hint{margin-top:var(--space-3);font-size:.62rem;letter-spacing:.18em;color:var(--text-faint);opacity:0;animation:fadeUp .5s ease-out 1.4s both}.boot-hint.hidden{display:none!important}@media (max-width:480px){.toast{top:auto;bottom:14px;font-size:.64rem}.fp-modal-actions{flex-direction:column-reverse}.fp-modal-actions .cmd-btn{width:100%;text-align:center}.topbar-brand{padding:2px 4px 2px 0}}.credit{font-family:var(--font-mono);font-size:.66rem;letter-spacing:.06em;line-height:1.7;color:var(--text-muted);text-align:center;display:grid;gap:4px}.doc .credit{margin-top:var(--space-6);padding-top:var(--space-6);border-top:1px solid var(--line-strong)}.credit-by{color:var(--text);font-size:.72rem;letter-spacing:.08em}.credit-by strong{font-weight:600}.credit a,.credit-cite{color:var(--amber);text-decoration:none}.credit a:hover,.credit-cite:hover{text-decoration:underline}.credit-links{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:2px}.credit-cite,.credit-links a{font-size:.68rem;letter-spacing:.1em}.credit-links span{color:var(--text-muted)}.credit-cite{background:0 0;border:0;padding:0;font:inherit;cursor:pointer}.credit-cite,.credit-links a{min-height:28px;display:inline-flex;align-items:center}.cite-modal.hidden{display:none}.cite-box{width:min(640px,100%);border-top-color:var(--amber)}.cite-head{color:var(--amber)}.cite-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:var(--space-4)}.cite-tab{font-size:.68rem;letter-spacing:.1em;padding:6px 12px;min-height:32px;color:var(--text-muted);background:0 0;border:1px solid var(--line-strong);border-radius:var(--radius-sm);cursor:pointer}.cite-tab:hover{color:var(--text);border-color:var(--text-muted)}.cite-tab[aria-selected=true]{color:var(--bg);background:var(--amber);border-color:var(--amber)}.cite-body{background:var(--bg);border:1px solid var(--line-strong);padding:var(--space-4);margin-bottom:var(--space-3);user-select:text}.cite-body p{color:var(--text);font-size:var(--text-sm);line-height:1.65;margin:0;overflow-wrap:anywhere}.cite-body pre{font-family:var(--font-mono);color:var(--text);font-size:.72rem;line-height:1.55;margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.cite-note{font-size:.78rem;color:var(--text-muted);line-height:1.55;margin-bottom:var(--space-5)}@media print{:root{--bg:#fff;--panel:#fff;--text:#111;--text-muted:#333;--text-faint:#555;--line:#bbb;--line-strong:#999;--amber:#7a4a00;--teal:#0b5560;--red:#a00}body,html{background:#fff!important;color:#111!important}body{display:block!important;overflow:visible!important}.backlink,.boot-hint,.credit-links,.crt,.defcon-flash,.ending-actions,.exercise-strip,.footer-links,.fp-modal,.toast,.topbar{display:none!important}.screen:not(.active){display:none!important}.screen.active{display:block!important;animation:none!important}*,::after,::before{box-shadow:none!important;text-shadow:none!important;animation:none!important}a{color:inherit!important}.doc a[href^=http]::after{content:" <" attr(href) ">";font-size:.8em;color:#555;overflow-wrap:anywhere}.doc .credit a::after{content:none}.aar-heading,.aar-node,.ending-title,.verdict-text,h1,h2,h3{color:#111!important}.aar-deltas .down{color:#1b6e2e!important}.aar-entry,.callout,.src-item,dd,dt{break-inside:avoid}.site-footer{border-top:1px solid #999;padding:12px 0}}