:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;color:#e9f3ff;background:#071426;font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 90% 5%,#10354a 0%,transparent 36%),linear-gradient(145deg,#071426,#091c30 65%,#071426);min-height:100vh}button,input{font:inherit}button{cursor:pointer;min-height:48px;border-radius:10px;border:1px solid transparent;padding:12px 20px;font-weight:800}button:focus-visible,input:focus-visible{outline:3px solid #fec75b;outline-offset:3px}button:disabled{opacity:.45;cursor:not-allowed}.shell{max-width:1150px;margin:auto;padding:0 24px}header{display:flex;align-items:center;justify-content:space-between;padding:25px 0;border-bottom:1px solid #234256}.brand{text-decoration:none;color:white;letter-spacing:1.6px;font-weight:900;font-size:18px}.brand:first-letter{color:#f6bd58}.cyan{color:#46dbed}.tag,.eyebrow{font-size:12px;letter-spacing:2px;color:#7bdceb;font-weight:800}.hero{padding:95px 0 82px;max-width:800px}.hero h1{font-size:clamp(44px,7vw,84px);line-height:1.05;letter-spacing:-3.5px;margin:20px 0}.hero h1 em{color:#f4bd60;font-style:normal}.hero p{font-size:19px;color:#b4c8d9;max-width:635px;line-height:1.7}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}.primary{background:#38d5e5;color:#061927}.primary:hover{background:#7ef5ff}.outline{background:#0f293b;border-color:#4d768a;color:#f0faff}.outline:hover{background:#1c4153}.gold{background:#f5bf62;color:#102132}.traits{display:flex;gap:22px;flex-wrap:wrap;color:#a1c3d1;margin-top:28px;font-size:13px}.how{padding:28px 0 80px}.how h2{font-size:13px;letter-spacing:2px;color:#f5be65}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.steps article,.panel,.evidenceCard,.choice,.player{background:#0d2538;border:1px solid #24475c;border-radius:15px;padding:23px}.steps b{font-size:24px;color:#43d9e7}.steps h3{margin-bottom:3px}.steps p{color:#a6bdcb;line-height:1.5}footer{font-size:11px;letter-spacing:1.2px;color:#68879c;padding:30px 0;border-top:1px solid #234256}.game{padding:46px 0 70px;max-width:900px;margin:auto}.panel{margin-bottom:18px}.panel h1{font-size:clamp(30px,5vw,48px);margin:8px 0 12px}.panel p,.muted{color:#adc6d6;line-height:1.65}.field{margin:15px 0}.field label{display:block;margin-bottom:8px;color:#c5e5ed;font-weight:700}.field input{width:100%;padding:15px;background:#081b2b;color:white;border:1px solid #426478;border-radius:9px}.code{font-size:clamp(36px,8vw,66px);font-weight:900;letter-spacing:9px;color:#f2bf68;margin:10px 0}.row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{padding:7px 12px;border-radius:25px;background:#1d4353;color:#bde5ed;font-size:13px}.roster{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.player{padding:14px;display:flex;justify-content:space-between}.status{color:#70e6a9}.status.off{color:#94a7b4}.timer{font-size:24px;font-weight:900;color:#f2c46b}.roundTop{display:flex;justify-content:space-between;align-items:center;gap:12px}.story{background:#081a2a;border-left:3px solid #f5bc5f;padding:23px;margin:18px 0;color:#deebf4;line-height:1.75;border-radius:4px}.choice,.evidenceCard{display:block;width:100%;text-align:left;color:#edf8ff;margin:10px 0;transition:background .15s,border-color .15s}.choice:hover,.evidenceCard:hover{border-color:#39d9e9}.choice.selected,.evidenceCard.selected{background:#164558;border-color:#48e4ef;box-shadow:inset 0 0 0 1px #48e4ef}.evidenceCard{padding:14px 18px}.split{display:grid;grid-template-columns:1fr 1fr;gap:24px}.smallTitle{font-size:12px;color:#6fdbe7;letter-spacing:1.2px;margin:14px 0}.scores{display:grid;gap:8px}.scoreRow{display:flex;justify-content:space-between;background:#112e40;border-radius:9px;padding:13px 16px}.scoreRow strong{color:#f8c66d}.notice{margin:15px 0;padding:13px 17px;border-radius:10px;background:#194052;color:#d7f8ff}.error{background:#58283a;color:#ffe8ed}.correct{border-left:4px solid #6fe3ac}.celebrate{text-align:center;padding:44px 12px}.celebrate h1{color:#f8c66d}.footerActions{margin-top:24px}@media(max-width:700px){.tag{display:none}.shell{padding:0 15px}.hero{padding:66px 0}.hero h1{letter-spacing:-2px}.steps,.split{grid-template-columns:1fr}.game{padding-top:25px}.panel,.steps article{padding:18px}.code{letter-spacing:5px}.actions button{flex:1}.compact{margin-top:10px}.roundTop{align-items:flex-start}}

.gameFooter{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;padding:10px 0 20px}.gameFooter .outline{font-size:13px;padding:8px 16px;min-height:40px}.gameFooter .muted{font-size:12px;margin:0}

.roundSteps{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:8px;margin:17px 0 23px}
.roundStep{height:5px;background:#31546a;border-radius:99px}
.roundStep.complete{background:#36bda7}.roundStep.current{background:#f5be65;box-shadow:0 0 12px #f5be6555}
.roundEarned{display:inline-flex;align-items:center;color:#051b2a;background:#f5bf62;border-radius:999px;font-weight:900;letter-spacing:.05em;font-size:14px;padding:9px 15px;margin:7px 0 10px}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important}}


/* Academy credit and optional end-of-game learning invitation */
.academyCredit{margin:21px 0 0!important;color:#adc6d6!important;font-size:14px!important;line-height:1.6!important}
.academyCredit a{color:#9becf2;text-decoration:underline;text-underline-offset:3px}
.academyCredit a:hover{color:white}
.academyInvite{margin:26px auto 14px;max-width:650px;text-align:left;border:1px solid #35576b;border-radius:16px;padding:24px;background:linear-gradient(135deg,#102d40,#0a2031)}
.academyInvite h3{margin:8px 0 10px;font-size:clamp(21px,3vw,28px);line-height:1.25}
.academyInvite p{color:#c0d6e4;margin:0 0 18px}
.academyButton{display:inline-flex;align-items:center;justify-content:center;gap:8px;max-width:100%;min-height:48px;padding:12px 18px;border-radius:10px;background:#f5bf62;color:#071426;text-decoration:none;font-weight:800;text-align:center;line-height:1.35}
.academyButton:hover{background:#ffdd9c}
.academyButton:focus-visible,.academyCredit a:focus-visible{outline:3px solid #74e9ee;outline-offset:4px}
.academyInvite .academyFootnote{font-size:12px;color:#a5bdcb;margin:14px 0 0}
@media(max-width:700px){.academyInvite{padding:18px}.academyButton{width:100%}}
.hero p.hook{font-size:20px;font-weight:800;color:#f5bf62;margin:0 0 6px}.choice.removed{text-decoration:line-through;opacity:.35;border-style:dashed}.hintBtn{width:100%;margin-top:4px;font-size:14px;min-height:42px}.redFlag{background:#2a1b14;border:1px solid #f5bc5f;border-radius:12px;padding:16px 20px;margin:18px 0}.redFlagLabel{font-size:12px;letter-spacing:1.5px;font-weight:900;color:#f5bf62}.redFlag p{margin:6px 0 0;color:#fff3dc;font-size:18px;font-weight:700;line-height:1.5}.rankBadge{display:inline-flex;flex-direction:column;align-items:center;gap:6px;margin:18px auto 6px;padding:22px 34px;border:2px solid #f5bf62;border-radius:18px;background:linear-gradient(160deg,#173a4f,#0b2133);box-shadow:0 0 0 6px #0d2538,0 0 0 7px #24475c}.rankLabel{font-size:11px;letter-spacing:2.5px;font-weight:900;color:#7bdceb}.rankBadge strong{font-size:clamp(26px,5vw,38px);color:#f8c66d;letter-spacing:.5px}.rankScore{color:#bde5ed;font-weight:700}.shareRow{justify-content:center}
.packOffer{margin:22px auto 6px;max-width:440px;text-align:left;border:2px solid #f5bf62;border-radius:16px;padding:20px;background:linear-gradient(160deg,#0d2538,#2a1b14)}.packOffer h3{margin:6px 0 8px;font-size:21px}.packOffer ul{padding-left:18px;margin:8px 0;color:#d8e8f2;line-height:1.7}.packLabel{color:#f5bf62}.packPrice{font-size:28px;font-weight:900;color:#f8c66d;margin:8px 0}.packPrice span{font-size:13px;font-weight:600;color:#9db7c7;margin-left:6px}.btnLink{display:block;text-align:center;text-decoration:none;border-radius:10px;padding:14px 20px;font-weight:800;margin-top:8px}.cyanBtn{background:#38d5e5;color:#061927}.cyanBtn:hover{background:#7ef5ff}.outline.wide{width:100%;margin-top:9px}.packBtn{margin-top:14px}.linkBtn{background:none;border:0;color:#f5bf62;text-decoration:underline;padding:6px 0;min-height:0;margin-top:12px;font-weight:700}.packCheck{display:flex;gap:10px;align-items:flex-start;margin:6px 0 4px;color:#c5e5ed;font-weight:600;line-height:1.4}.packCheck input{width:20px;height:20px;margin-top:1px}.codeInput{text-align:center;letter-spacing:3px;font-weight:800;text-transform:uppercase}.okNotice{background:#14382c;color:#c9f7df;border:1px solid #6fe3ac}
.packChoice{margin-top:14px}.packChoice button{flex:1 1 200px}
