:root{color-scheme:dark;--bg:#090e20;--surface:#121b34;--surface2:#192642;--line:#344360;--ink:#faf7ef;--muted:#b2bfd1;--gold:#ffda83;--mint:#79f4cc;--hot:#ff7c9b;--accent:#8fe7ff}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(ellipse at 75% 5%,#273969 0,transparent 43%),radial-gradient(ellipse at 10% 45%,#1d2850 0,transparent 45%),var(--bg);color:var(--ink);font:16px/1.55 system-ui,-apple-system,Segoe UI,sans-serif;min-height:100vh}button,select{font:inherit}button{cursor:pointer;touch-action:manipulation}button:disabled{opacity:.48;cursor:not-allowed}button,a{ -webkit-tap-highlight-color:transparent }button:focus-visible,a:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--gold);outline-offset:4px}a{color:var(--accent);text-underline-offset:4px}[hidden]{display:none!important}.skip{position:fixed;top:-100px;left:12px;background:var(--gold);padding:14px;z-index:10;color:#091022}.skip:focus{top:10px}header,main,footer{max-width:1180px;margin:0 auto;padding-inline:clamp(18px,4vw,42px)}header{display:flex;gap:20px;align-items:center;justify-content:space-between;padding-block:23px;border-bottom:1px solid var(--line)}header a{font-size:13px;text-decoration:none;font-weight:750;letter-spacing:.08em}header nav{display:flex;gap:24px;align-items:center}main{padding-block:32px 50px}.kicker{font:700 11px/1.4 ui-monospace,monospace;color:var(--gold);text-transform:uppercase;letter-spacing:.17em}.hero{display:grid;grid-template-columns:1.45fr 1fr;gap:35px;align-items:end;margin-bottom:26px}.hero h1{font:900 clamp(48px,8vw,88px)/.98 system-ui,sans-serif;letter-spacing:-.07em;margin:8px 0 14px}.hero h1 span{color:var(--accent)}.hero p:last-child{color:var(--muted);max-width:460px}.hero-side{background:#111c37bf;border:1px solid var(--line);border-radius:20px;padding:18px 23px;box-shadow:0 16px 28px #0002}.hero-side strong{display:block;font-size:16px}.hero-side p{font-size:13px;margin:7px 0 0;color:var(--muted)}.hud{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:14px}.stat{background:#131e3b;border:1px solid var(--line);border-radius:12px;padding:8px 14px;min-width:140px}.stat small{display:block;color:var(--muted);font-size:10px;font-weight:750;letter-spacing:.12em}.stat strong{display:block;font-size:22px;font-weight:850;font-variant-numeric:tabular-nums}.layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(270px,.85fr);gap:16px}.panel{background:linear-gradient(145deg,#172644,#10182c);border:1px solid var(--line);border-radius:22px;padding:clamp(16px,3vw,29px);min-width:0;box-shadow:0 28px 60px #0002}.panel h2{font-size:clamp(23px,3vw,32px);letter-spacing:-.035em;line-height:1.13;margin:6px 0 12px}.panel h3{font-size:19px;margin:10px 0}.muted{color:var(--muted)}.hint{font-size:13px;color:var(--muted)}.pill{display:inline-flex;align-items:center;gap:8px;border:1px solid #486585;background:#14223c;padding:7px 11px;border-radius:40px;font:700 11px ui-monospace,monospace;color:var(--mint)}.btn{border:1px solid #6e8aa5;border-radius:12px;background:#223554;color:var(--ink);padding:12px 17px;font-weight:750;min-height:48px;transition:transform .12s,background .12s,border-color .12s}.btn:hover:enabled{transform:translateY(-2px);background:#304669;border-color:var(--accent)}.btn.primary{background:var(--gold);border-color:var(--gold);color:#121527}.btn.primary:hover:enabled{background:#ffe9aa}.btn.success{background:var(--mint);border-color:var(--mint);color:#112435}.btn.danger{border-color:var(--hot)}.btn.tiny{padding:9px 12px;min-height:40px}.actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.choices{display:flex;gap:9px;flex-wrap:wrap;margin:15px 0}.choice{border:1px solid #4a6185;background:#1d3051;color:#fff;padding:12px 16px;border-radius:12px;min-width:76px;min-height:49px;font-weight:750}.choice:hover:enabled{border-color:var(--gold)}.choice[aria-pressed=true]{background:#3b5480;border:2px solid var(--gold);padding:11px 15px}.feed{background:#0a1732;border-left:4px solid var(--accent);padding:15px 17px;border-radius:8px;color:var(--ink);min-height:58px;margin:16px 0;font-size:14px}.feed.good{border-color:var(--mint)}.feed.bad{border-color:var(--hot)}.meter{height:10px;overflow:hidden;border-radius:12px;background:#31405f;margin:16px 0}.meter>i{height:100%;display:block;background:linear-gradient(90deg,var(--accent),var(--mint));width:0;transition:width .35s}.receipt{background:#0a1228;border:1px solid #344563;border-radius:12px;padding:13px;overflow-wrap:anywhere}.receipt p{margin:4px 0;font-size:12px;color:var(--muted)}code{font:12px/1.8 ui-monospace,SFMono-Regular,Consolas,monospace;overflow-wrap:anywhere;color:#c5f3fa}.teaching{border-top:1px solid var(--line);margin-top:19px;padding-top:14px}.teaching p{font-size:13px;color:var(--muted)}.teaching b{color:var(--ink)}.scope{font-size:13px;color:var(--muted);border:1px solid var(--line);border-radius:16px;padding:15px 19px;margin-top:19px}.scope strong{color:var(--ink)}details{margin-top:14px;color:var(--muted)}summary{cursor:pointer;color:var(--accent);font-weight:750}details p{font-size:13px}footer{padding-block:27px 50px;color:var(--muted);font-size:12px;border-top:1px solid var(--line)}.split{display:flex;justify-content:space-between;gap:12px;align-items:center}.tabletop{background:radial-gradient(ellipse at center,#224866,#122137);border:1px solid #4c7096;border-radius:28px;min-height:160px;padding:18px;margin:14px 0}.cards{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.playing-card{color:#151b29;border:3px solid #e8dfcd;background:linear-gradient(150deg,#fffef9,#dce5f3);border-radius:12px;width:77px;min-height:108px;display:flex;flex-direction:column;justify-content:space-between;padding:8px;font-weight:900;box-shadow:0 6px 0 #0003;transition:transform .14s}.playing-card small{text-align:right;font-size:23px}.playing-card:hover:enabled{transform:translateY(-7px)}.playing-card.red{color:#b92b50}.playing-card.back{background:repeating-linear-gradient(45deg,#1b345b,#1b345b 7px,#315586 7px,#315586 13px);color:#c9edff;border-color:#8adffb}.playing-card:disabled{opacity:.5;transform:none}.playing-card.selected{border-color:var(--gold);box-shadow:0 0 0 3px var(--gold)}.duel{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;text-align:center}.duel .big{font-size:50px;font-weight:900}.duel .vs{font-size:12px;letter-spacing:.2em;color:var(--gold)}.badge{background:#284a5b;border-radius:8px;padding:6px 9px;display:inline-block;font-size:12px}.timeline{display:flex;gap:6px;flex-wrap:wrap}.timeline span{font-size:11px;border-radius:7px;padding:7px;background:#263956;color:var(--muted)}.timeline span.done{color:var(--mint);border:1px solid var(--mint)}.glow{animation:glow .45s ease}@keyframes glow{from{box-shadow:0 0 0 8px #79f4cc55}to{box-shadow:0 0 0 0 transparent}}@media(max-width:850px){.hero,.layout{grid-template-columns:1fr}.hero h1{font-size:clamp(46px,12vw,70px)}header nav{gap:12px}.stat{flex:1;min-width:95px}.panel{padding:17px}.playing-card{width:63px;min-height:92px;padding:6px}.hero-side{padding:15px}}@media(max-width:440px){header{align-items:flex-start}header nav{flex-wrap:wrap;justify-content:flex-end}.playing-card{width:54px;min-height:82px;font-size:13px}.playing-card small{font-size:17px}.hud{gap:7px}.stat{padding:7px 9px}.stat strong{font-size:17px}.hero h1{font-size:48px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition:none!important;scroll-behavior:auto!important}}
.trade-grid{display:grid;grid-template-columns:1fr 1.1fr 1fr;gap:9px;margin:9px 0 17px}.trade-token{background:#14243d;border:1px solid #4b6486;border-radius:14px;min-height:135px;padding:11px;display:flex;flex-direction:column;gap:8px}.trade-token>span{font:700 10px ui-monospace,monospace;letter-spacing:.1em;color:var(--muted)}.trade-token strong{font-size:20px;line-height:1.15}.trade-token small{font-size:11px;color:var(--muted)}.trade-token.vault-token{border-color:var(--gold);background:#2c2d40}.trade-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.trade-actions button{text-align:left;padding:12px;min-height:72px}.trade-actions button span{display:block;font-weight:400;font-size:11px;color:var(--muted);margin-top:4px}.trade-actions button:disabled{opacity:.5}@media(max-width:550px){.trade-grid{grid-template-columns:1fr;gap:7px}.trade-token{min-height:70px}.trade-token strong{font-size:18px}.trade-actions{grid-template-columns:1fr}}

/* Shared teaching handoff: game outcome to relevant exhibits. */
.learning-bridge{margin:24px 0;padding:clamp(18px,3vw,26px);border:1px solid var(--line);border-radius:16px;background:var(--panel,#121b34);color:var(--ink)}
.learning-bridge h2{margin:7px 0 12px;font-size:clamp(20px,3vw,28px);line-height:1.25}
.learning-bridge p{margin:8px 0;font-size:14px;line-height:1.65;max-width:85ch}
.learning-bridge .bridge-links{display:flex;flex-wrap:wrap;gap:10px 20px;margin-top:15px}
.learning-bridge .bridge-links a{color:var(--mint);font-weight:700;text-underline-offset:4px}
.learning-bridge .bridge-contrast{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:12px 0}
.learning-bridge .bridge-contrast p{margin:0;padding:12px;border:1px solid var(--line);border-radius:10px}
@media(max-width:620px){.learning-bridge .bridge-contrast{grid-template-columns:1fr}}

/* Completion feedback: accessible, text-first evidence after replayable missions. */
.mission-summary{margin:17px 0;padding:15px 18px;background:#0e1e3b;border:1px solid var(--line);border-radius:12px}
.mission-summary h4{margin:0 0 10px;font-size:16px}
.mission-summary ul{margin:0 0 12px;padding-left:21px;font-size:13px;line-height:1.7;color:var(--ink)}
.mission-summary li+li{margin-top:4px}
.mission-summary p{font-size:13px;color:var(--mint)}
.trade-contrast{margin:12px 0;padding:12px 15px;border-left:3px solid var(--mint);background:#112a3d;color:var(--ink);font-size:13px;line-height:1.6}
