:root{color-scheme:dark;--bg:#07101d;--panel:#101b2d;--panel2:#15243a;--line:#30415e;--text:#f2f6ff;--muted:#a9bad3;--mint:#49e5bc;--blue:#57ccff;--gold:#ffd36b;--pink:#fa79ac;--danger:#ff9b8c;font-family:Inter,"Segoe UI",system-ui,sans-serif}
*{box-sizing:border-box}
html{min-height:100%;background:var(--bg)}
body{margin:0;min-height:100vh;color:var(--text);background:radial-gradient(ellipse at 10% 0%,#1b4c6040,transparent 45%),radial-gradient(ellipse at 92% 12%,#6d3c7430,transparent 42%),linear-gradient(180deg,#081321,#0b1120 62%,#090c19);font-size:16px;line-height:1.55}
button{font:inherit}
button:focus-visible,a:focus-visible{outline:3px solid #fff;outline-offset:3px}
.topbar{width:min(1200px,100%);min-height:68px;margin:auto;padding:12px 24px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px}
.back,.quiet-button{color:var(--text);text-decoration:none;background:#111c2f;border:1px solid var(--line);border-radius:12px;padding:10px 14px;font-weight:750;min-height:44px;cursor:pointer}
.back{justify-self:start}.back:hover,.quiet-button:hover{border-color:var(--mint);background:#15253a}
.brand{display:flex;align-items:center;gap:9px;font-size:12px;letter-spacing:.12em;font-weight:900;color:#b8d6e8}.brand span:first-child{font-size:20px}
.topbar .quiet-button{justify-self:end}
main{width:min(1120px,100%);margin:auto;padding:20px 24px 64px}
.home-screen{display:grid;gap:34px}
.hero-copy{text-align:center;max-width:850px;margin:10px auto 0}
.eyebrow{margin:0;color:var(--mint);font-size:12px;letter-spacing:.13em;font-weight:900}
h1,h2,h3,p{margin-top:0}
.hero-copy h1{margin:10px 0 12px;font-size:clamp(34px,6vw,62px);line-height:1.05;letter-spacing:-.04em}
.hero-copy h1 span{color:var(--gold)}
.lead{max-width:720px;margin:0 auto;color:#c4d5e8;font-size:clamp(17px,2.4vw,21px)}
.honesty{margin:12px 0 0;color:var(--muted);font-size:13px}
.mode-panel,.regions-panel{padding:24px;border:1px solid #31415c;border-radius:24px;background:linear-gradient(140deg,#101c30ee,#101728ee);box-shadow:0 16px 46px #02071366}
.mode-panel h2,.regions-panel h2{margin:4px 0 0;font-size:clamp(21px,3vw,29px)}
.mode-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px}
.mode-card{display:flex;gap:14px;align-items:center;text-align:left;min-height:92px;padding:15px;border:1px solid var(--line);border-radius:16px;color:var(--text);background:#0b1628;cursor:pointer}
.mode-card:hover,.mode-card.selected{border-color:var(--mint);box-shadow:0 0 0 1px #49e5bc44,0 8px 24px #49e5bc12}
.mode-icon{font-size:27px;flex:none}.mode-card b,.mode-card small{display:block}.mode-card small{margin-top:3px;color:var(--muted);font-size:13px;line-height:1.35}
.section-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:18px}
.primary-button{border:0;border-radius:14px;min-height:50px;padding:12px 20px;background:linear-gradient(110deg,#46e0bc,#82efac);color:#07151b;font-weight:900;cursor:pointer;box-shadow:0 8px 24px #49e5bc22}
.primary-button:hover:not(:disabled){transform:translateY(-1px);filter:brightness(1.06)}.primary-button:disabled{opacity:.48;cursor:not-allowed}
.region-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.region-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;min-height:224px;padding:18px;border-radius:18px;border:1px solid var(--line);background:linear-gradient(155deg,#13223a,#0c1424);text-align:left;color:var(--text)}
.region-card::before{content:"";position:absolute;inset:0 0 auto;height:4px;background:var(--region-color,var(--mint));border-radius:18px 18px 0 0}
.region-mark{font-size:32px}.region-period{margin:10px 0 4px;color:var(--region-color,var(--mint));font-size:11px;letter-spacing:.1em;font-weight:900}.region-card h3{margin:0 0 8px;font-size:17px;line-height:1.2}.region-card p{margin:0 0 15px;color:var(--muted);font-size:13px;line-height:1.4}
.region-card button{margin-top:auto;width:100%;min-height:44px;border-radius:12px;border:1px solid #52627b;background:#15243a;color:var(--text);font-weight:850;cursor:pointer}.region-card button:hover{border-color:var(--region-color,var(--mint));background:#1b2c43}
.data-status,.loading{color:var(--muted);font-size:13px}.data-status{margin:12px 0 0}.loading{grid-column:1/-1}
.game-screen{display:grid;gap:18px}
.game-topline{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center}.progress-copy{display:flex;justify-content:center;gap:14px;align-items:center;color:var(--muted);font-weight:750;font-size:13px}.progress-copy span:first-child{color:var(--gold);letter-spacing:.08em}.progress-track{height:10px;border-radius:99px;background:#16243a;overflow:hidden}.progress-track>span{display:block;height:100%;width:0;border-radius:inherit;background:linear-gradient(90deg,var(--mint),var(--blue));transition:width .25s ease}
.region-banner{display:flex;align-items:center;gap:16px;padding:17px 20px;border:1px solid var(--line);border-radius:20px;background:linear-gradient(110deg,#122942,#122036);box-shadow:inset 4px 0 0 var(--mint)}.region-glyph{font-size:38px}.region-banner h1{font-size:clamp(20px,3.4vw,30px);margin:3px 0 0;line-height:1.15}.competency-badge{margin-left:auto;border:1px solid #528776;border-radius:999px;padding:7px 11px;color:#d5ffef;font-size:11px;font-weight:900;white-space:nowrap}
.mission-layout{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:18px;align-items:start}.mission-card,.aside-card{border:1px solid var(--line);border-radius:20px;background:#101a2b}.mission-card{padding:clamp(18px,3vw,30px);box-shadow:0 16px 40px #03071355}.station-line{display:flex;justify-content:space-between;gap:10px;color:var(--mint);font-size:11px;font-weight:900;letter-spacing:.1em}.station-line span+span{color:var(--gold)}
.mission-card h2{font-size:20px;margin:18px 0 8px}.scenario-text{font-size:17px;line-height:1.6;color:#e7eef8;white-space:pre-line;margin-bottom:17px}.evidence-board{padding:16px;border:1px solid #40536e;border-radius:15px;background:#0a1424;margin:0 0 20px;overflow-x:auto}.evidence-title{margin:0 0 10px;color:#bde3ff;font-size:13px;font-weight:900}.evidence-text{margin:0;color:#d6e2f2;white-space:pre-line}.evidence-board table{width:100%;border-collapse:collapse;font-size:14px}.evidence-board th,.evidence-board td{padding:8px 10px;border:1px solid #344761;text-align:left}.evidence-board th{background:#17263d;color:#bde3ff}.evidence-board td{color:#eff5fd}.evidence-chart{display:grid;gap:10px}.chart-row{display:grid;grid-template-columns:minmax(82px,140px) 1fr auto;gap:10px;align-items:center;font-size:13px}.chart-track{height:14px;border-radius:99px;background:#1e2d45;overflow:hidden}.chart-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#4dd8c2,#6cbbff)}.chart-value{color:var(--gold);font-weight:850}
.question-text{font-size:clamp(18px,2.6vw,22px);line-height:1.4;margin:4px 0 14px}.choices-fieldset{min-width:0;margin:0;padding:0;border:0}.choices-fieldset legend{margin-bottom:10px;color:var(--muted);font-weight:750}.choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.choice-button{min-height:88px;display:grid;grid-template-columns:38px 1fr;gap:12px;align-items:center;padding:14px;border:1px solid #354762;border-radius:15px;background:#0b1525;color:var(--text);text-align:left;cursor:pointer}.choice-button:hover{border-color:#88a9c8;background:#111f33}.choice-button[aria-pressed="true"]{border:2px solid var(--mint);padding:13px;background:#102a30;box-shadow:0 0 0 2px #49e5bc22}.choice-letter{display:grid;place-items:center;width:36px;height:36px;border:1px solid #60738c;border-radius:11px;color:#d7e5f5;font-weight:950}.choice-action{display:block;margin-top:4px;color:var(--blue);font-size:11px;font-weight:850}.game-actions{display:flex;justify-content:flex-end;margin-top:16px;gap:10px}.feedback{margin-top:16px;padding:14px;border:1px solid #44616d;border-radius:14px;background:#0e2430;color:#e6f7f2;line-height:1.5}.feedback[data-state="wrong"]{border-color:#8a5360;background:#281b29}.feedback strong{display:block;margin-bottom:5px}.keyboard-hint{margin:12px 0 0;text-align:center;color:#91a4bc;font-size:12px}
.mission-aside{display:grid;gap:12px}.aside-card{padding:16px}.aside-icon{font-size:25px}.aside-card .eyebrow{margin:7px 0 4px;font-size:10px}.aside-card p:last-child{margin:0;color:#d5e2f1;font-size:13px}.score-card{background:linear-gradient(155deg,#17223a,#111827)}
.simulated-outcome{display:flex;align-items:center;gap:9px}.simulation-icon{font-size:24px}.simulated-outcome strong{margin:0}
.history-panel{margin-top:18px;padding:18px;border:1px solid var(--line);border-radius:16px;background:#0a1424}.history-panel h2{margin:0 0 8px;font-size:18px}.history-panel p{margin:0;color:var(--muted)}.history-list{margin:0;padding-left:20px;color:#d6e2f2}.history-list li{margin:6px 0}
.review-list{margin-top:22px;padding:14px 16px;border:1px solid var(--line);border-radius:16px;background:#0a1424}.review-list summary{cursor:pointer;font-weight:850;color:var(--blue)}.review-list .review-item{margin-top:10px}
.report-screen{padding:clamp(18px,4vw,34px);border:1px solid var(--line);border-radius:22px;background:#101a2b}.report-heading{text-align:center}.report-heading h1{margin:5px 0 8px;font-size:clamp(26px,4vw,40px)}.report-subtitle{color:var(--muted)}.report-score{display:flex;justify-content:center;align-items:center;gap:18px;margin:22px 0}.score-orb{display:grid;place-content:center;width:108px;height:108px;border:5px solid var(--mint);border-radius:50%;text-align:center;font-size:26px;font-weight:950}.score-orb small{display:block;font-size:10px;color:var(--muted)}.report-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px}.report-panel{padding:16px;border:1px solid var(--line);border-radius:16px;background:#0a1424}.report-panel h2{margin:0 0 12px;font-size:17px}.report-row{display:flex;justify-content:space-between;gap:14px;padding:8px 0;border-bottom:1px solid #26364d;font-size:14px}.report-row:last-child{border:0}.report-row b{color:var(--gold)}.report-list{padding-left:19px;margin:8px 0;color:#d7e4f2}.report-list li{margin:6px 0}.review-list{display:grid;gap:10px;margin-top:20px}.review-item{padding:14px;border:1px solid #31435c;border-radius:14px;background:#0b1525}.review-item h3{font-size:14px;margin:0 0 6px}.review-item p{margin:0;color:#d0ddec;font-size:13px}.report-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:22px}.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}
[hidden]{display:none!important}
@media(max-width:900px){.region-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mission-layout{grid-template-columns:1fr}.mission-aside{grid-template-columns:repeat(3,minmax(0,1fr))}.aside-card{min-height:130px}}
@media(max-width:620px){.topbar{grid-template-columns:auto 1fr auto;padding:10px 12px;gap:8px}.brand{font-size:9px;letter-spacing:.07em}.back,.quiet-button{padding:8px 10px;font-size:12px;min-height:42px}.topbar .quiet-button{max-width:92px}.topbar .quiet-button #voice-label{display:none}main{padding:10px 12px 36px}.home-screen{gap:22px}.hero-copy{margin-top:14px}.mode-panel,.regions-panel{padding:17px;border-radius:18px}.mode-grid{grid-template-columns:1fr;gap:8px}.mode-card{min-height:76px}.section-heading{align-items:flex-start;flex-direction:column}.section-heading .primary-button{width:100%}.region-grid{grid-template-columns:1fr 1fr;gap:9px}.region-card{min-height:205px;padding:13px}.region-card h3{font-size:15px}.region-card p{font-size:12px}.region-card button{font-size:12px}.game-screen{gap:12px}.game-topline{grid-template-columns:auto 1fr auto;gap:5px}.progress-copy{gap:4px;flex-direction:column;font-size:11px}.game-topline .quiet-button{padding:8px;font-size:11px}.region-banner{gap:10px;padding:13px}.region-glyph{font-size:28px}.competency-badge{max-width:100px;white-space:normal;text-align:center;font-size:9px;padding:6px}.mission-card{padding:17px}.mission-card h2{font-size:18px}.scenario-text{font-size:15px}.choice-grid{grid-template-columns:1fr}.choice-button{min-height:72px}.mission-aside{grid-template-columns:1fr 1fr}.mission-aside .aside-card:last-child{grid-column:1/-1;min-height:auto}.report-grid{grid-template-columns:1fr}.report-score{flex-direction:column}.chart-row{grid-template-columns:minmax(70px,100px) 1fr auto}}
@media(max-width:360px){.brand span:last-child{max-width:86px;line-height:1.1}.region-grid{grid-template-columns:1fr}.region-card{min-height:170px}.topbar{grid-template-columns:auto 1fr auto}.topbar .quiet-button{font-size:10px;padding:7px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
