/* Original espionage terminal skin. Decorative telemetry never blocks play. */
:root{--bg:#090e16;--panel:#101c28;--line:#354b5c;--muted:#b2c3d1;--ink:#edf4fa;--green:#75e4ed;--amber:#ffbc78;--paper:#dce4e9}
body{background:radial-gradient(ellipse at 65% 0,#20364b55,transparent 65%),#090e16}
.topbar{background:#0c1520;border-bottom:2px solid #65dce466}.brand{letter-spacing:.15em}.brand b{background:var(--green);color:#07131e;transform:skew(-8deg)}
.statusbar{color:#c1ccd8;background:repeating-linear-gradient(135deg,#15212d 0,#15212d 8px,#111b26 8px,#111b26 16px);letter-spacing:.07em}
.statusbar span:last-child{color:var(--amber)}.rail{background:#0c1520b8}.route.active{color:var(--green);background:#14303f}.route small{color:#b3c6d4}.rail-note{border-left:3px solid #fa936c;background:#17222e}
.screen{background:linear-gradient(145deg,#152535,#0c1621 70%);border:1px solid #5a758a;border-radius:2px;box-shadow:0 0 0 5px #101a26,0 0 0 6px #344c60,0 16px 45px #0006}.screen:before{background:linear-gradient(90deg,#69dce715,transparent 30%);border-radius:0}
button{background:#1d3041;border-color:#53718b;border-radius:2px}button:hover{background:#29495b;border-color:var(--green)}button.primary{background:var(--green);color:#061c26;border-color:#a4f6ff;box-shadow:0 3px 0 #247b89;letter-spacing:.025em}input,select,textarea{background:#09141f;border-color:#587289}textarea{line-height:1.6}
.essential-question{display:flex;flex-direction:column;gap:.3rem;border-left:3px solid #ff936b;padding:.75rem 1rem;background:#1b2937;margin:0 0 1.4rem}.essential-question span{font: .68rem var(--mono);letter-spacing:.16em;color:var(--amber)}.essential-question strong{font-size:1rem;line-height:1.35}
.operation-title{font-family:Arial,Helvetica,sans-serif;font-size:clamp(2.5rem,5vw,4.6rem);font-weight:900;letter-spacing:-.035em;line-height:.96;margin:1rem 0}.operation-title span{display:block;font: .8rem var(--mono);letter-spacing:.42em;color:var(--amber);margin-bottom:1rem}.operation-subtitle{font: .8rem var(--mono);letter-spacing:.1em;color:#c5d5e4;border-bottom:1px solid var(--line);padding-bottom:1rem}
.operation-map{background:#08141e;border:1px solid #385b72;position:relative;margin:1.4rem 0;overflow:hidden}.operation-map svg{width:100%;display:block;max-height:190px}.operation-map svg circle,.operation-map svg path:not(.map-link){stroke:#78d6e3;stroke-width:2;fill:none}.operation-map .map-link{stroke:#ffac75;stroke-width:2;stroke-dasharray:7 6;fill:none}.operation-map text{fill:#d0dfed;font:11px 'Courier New',monospace;letter-spacing:1px}.map-caption{display:block;padding:.5rem .8rem;border-top:1px solid #385b72;font:.7rem var(--mono);letter-spacing:.06em;color:var(--amber)}
.field-message{display:flex;align-items:flex-start;gap:1rem;padding:1rem;background:#0a1622;border:1px solid #527288;border-left:3px solid var(--amber);margin:1.2rem 0}.field-message p{font: .9rem/1.6 var(--mono);margin:.5rem 0 0;color:#e6eef5}.field-message .avatar-art{background-color:#263c49;border:1px solid #668092}.brief-order{font-size:.92rem;color:#c6d5e2}.brief-order strong{color:var(--amber)}
.dispatch{border:1px solid #42667e;background:#0a1824;margin:1.1rem 0 1.4rem;box-shadow:inset 3px 0 #fb9e70}.dispatch-top{display:flex;justify-content:space-between;gap:.8rem;padding:.5rem .8rem;background:#1d3445;font:.67rem var(--mono);letter-spacing:.06em;color:#d9e8f3}.dispatch-top span:last-child{color:var(--amber)}.dispatch>p{margin:0;padding:.85rem 1rem;font-size:.92rem;line-height:1.6;color:#dce8f0}.dispatch-objective{border-top:1px solid #304c60;padding:.7rem 1rem;font-size:.85rem}.dispatch-objective span{font:.65rem var(--mono);letter-spacing:.08em;color:var(--green);display:block;margin-bottom:.25rem}.dispatch-recovered{box-shadow:inset 3px 0 var(--green)}
.instructions{color:#d5e1eb}.aside{background:#0c1520b0}.timer{color:var(--amber)}.fragment{border-color:#59758b}.fragment.recovered{transform:none;background:#143c49;color:#bff8ff;border:1px solid #5aabbc;box-shadow:none}.final-fragments span{background:#173746;border:1px solid #557e94;color:#baf4fb}.tag{border-color:#617487;background:#152332}
.choice,.card{background:#172b3b;border-color:#46657d}.choice:has(input:checked){background:#254c5a;border-color:var(--green)}.feedback{background:#29303c;border-left-color:var(--amber)}.success-banner{background:#102c38;border-color:#64b6c6}.source-card{background:#dce4e9;color:#1d2a38;border-top-color:#607b91;border-radius:0;box-shadow:4px 4px 0 #0004}.source-card .muted{color:#3b5062}.source-card h3{font-family:var(--mono)}.scaffold{background:#1a3341;border-color:#82b7c5;color:#e0f2f7}.hint{background:#302c2b}.code-strip{background:#07141f;border-color:#578497}.wheel{background:#183344;border-color:#7699ae}
.arcade{background:#08141e;border-color:#436a85}.platform{background:#1b3849}.platform.correct{background:#26545b}.cross-lane{border-color:#42677e}.tile{background:#172d3d;border-color:#3f647d}.tile.wall{background:#385267;border-color:#6b8396}.tile.player{background:var(--green);color:#102431}.avatar-choice{background:#102332;border-color:#38586e}.avatar-choice:has(input:checked){background:#264b58}.identity-preview,.agent-badge{background:#17303f;border-color:#496c82}.team-member,.agent-reflection{border-radius:0;background:#0b182466}.certificate{background:repeating-linear-gradient(135deg,#112e3b 0,#112e3b 16px,#12323e 16px,#12323e 32px);border:2px solid var(--green)}.certificate h2{font-family:Arial,Helvetica,sans-serif;font-weight:900;letter-spacing:-.04em;font-size:clamp(2.2rem,5vw,4rem)}dialog{background:#122330;border-color:#5c829d;border-radius:2px}pre{background:#08141f}
@media(max-width:700px){.topbar{flex-wrap:wrap;gap:.7rem}.top-actions{flex-wrap:wrap}.dispatch-top{flex-wrap:wrap}.operation-title{font-size:2.8rem}.field-message{gap:.7rem;padding:.8rem}.field-message .avatar-small{width:44px;height:44px}.field-message p{font-size:.83rem}.essential-question{padding:.7rem .8rem}.essential-question strong{font-size:.93rem}.operation-map text{font-size:13px}}
.agent-division{display:block;margin-top:.3rem;font-size:.875rem;color:var(--cyan,#8cdeed);line-height:1.35}

.dossier-panel{border:1px solid #b6ab83;background:#14232b;box-shadow:0 18px 80px #000b}.dossier-masthead{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 4px 12px;color:#c4d3ce;font:12px var(--mono)}.dossier-masthead strong{color:#ffa887;border:2px solid #e89b7c;padding:5px 10px;letter-spacing:.16em;transform:rotate(-4deg);font-size:14px}#dossier-tabs{flex:none}#dossier-tabs nav{display:flex;gap:4px}#dossier-tabs button{border-radius:7px 7px 0 0;border-color:#899484;background:#273d42;font-size:14px;padding:9px 12px;flex:1}#dossier-tabs button[aria-current]{background:#e0d7b9;color:#1b3038;border-bottom-color:#e0d7b9;font-weight:700}.dossier-panel #panel-content{background:linear-gradient(90deg,#e0d7b9 0,#ede6d0 4%,#e7dfc6 100%);color:#20343d;border:1px solid #a5a187;padding:18px;margin-top:0}.dossier-panel #panel-content h2,.dossier-panel #panel-content h3{color:#193440}.dossier-panel #panel-content .eyebrow,.dossier-panel #panel-content .muted{color:#475c5c}.dossier-panel .essential-question,.dossier-panel .field-message{background:#d5d5c0;border-color:#627e80;color:#21383e}.dossier-panel .essential-question span,.dossier-panel .field-message strong{color:#27494d}.dossier-panel code{background:#d4ddcc;color:#193d41;padding:3px 6px;border:1px solid #889f91;font:13px var(--mono);white-space:normal}.dossier-objective{border-top:2px solid #718789;padding-top:10px}.classified-file,.standard-file{background:#f4ecd3;border:1px solid #a6a080;border-left:4px solid #7b8b74;padding:12px 16px;margin:12px 0;box-shadow:3px 3px 0 #a5a18055}.file-tab{display:block;color:#4e6358;font:12px var(--mono);letter-spacing:.04em}.standard-file p{margin:.5rem 0}.dossier-panel .step-navigation{background:#14232b}@media(max-width:500px){.dossier-masthead{font-size:10px}.dossier-masthead strong{font-size:12px;padding:4px}#dossier-tabs button{font-size:12px;padding:8px 4px}.dossier-panel #panel-content{padding:12px}.classified-file,.standard-file{padding:10px}}
.dossier-panel .field-message p{color:#263e45}.dossier-panel #panel-content .file-tab{color:#4e6358}.dossier-panel .standard-file{break-inside:avoid}

/* Explicit action colors prevent dark paper text inheriting onto dark buttons. */
.dossier-panel #panel-content button{color:#ffffff;background:#1d3041;border:1px solid #48677c;font-family:Arial,Helvetica,sans-serif;font-size:1rem;font-weight:700;line-height:1.4;min-height:44px}.dossier-panel #panel-content button:hover{color:#ffffff;background:#29495b}.dossier-panel #panel-content button:focus-visible{outline:3px solid #174f70;outline-offset:3px}.dossier-panel #panel-content button.primary{background:#8ee8ef;color:#102c36}.dossier-panel #panel-content button:disabled{opacity:1;color:#d4dde3;background:#445766;cursor:default}
.crossword-wordbank{flex:none;background:#18313e;border:1px solid #739998;border-left:4px solid #8ee8ef;padding:.6rem .8rem;margin:0 0 .5rem;color:#f1f7fa;font:14px/1.4 Arial,sans-serif}.crossword-wordbank>strong{color:#a0f0f0;margin-right:.7rem}.crossword-wordbank ul{display:flex;flex-wrap:wrap;gap:.35rem .8rem;list-style:none;padding:0;margin:.35rem 0 0}.crossword-wordbank li{font-weight:700;letter-spacing:.04em;padding:.15rem .35rem;background:#294853;border:1px solid #6a8b98}@media(max-width:500px){.crossword-wordbank{font-size:12px;padding:.4rem}.crossword-wordbank ul{gap:.2rem .4rem}}
.agent-launch{padding:1rem;border:1px solid #53798b;background:#152d3b;margin:.75rem 0}.agent-launch label{display:block;font-weight:700;margin-bottom:.4rem}.agent-launch select{width:100%;margin-bottom:.5rem}.launch-status{font-size:.875rem;color:#d5eff4;margin:.25rem 0 .75rem}.agent-launch button{width:100%}
.theme-field-guide{flex:none;padding:.65rem .8rem;margin:0 0 .5rem;background:#18313e;border:1px solid #638c9b;border-left:4px solid #8ee8ef;color:#f0f6fa;font:14px/1.4 Arial,sans-serif}.theme-field-guide>strong{font-size:17px;color:#a0f1f2}.theme-field-guide p{margin:.35rem 0 0}.theme-field-guide .theme-example{color:#ffe0a5}.theme-field-guide~.screen .runner{padding:.3rem}.theme-field-guide~.screen .platform{min-height:55px;font-size:.85rem}@media(max-width:500px){.theme-field-guide{font-size:12px;padding:.5rem}.theme-field-guide>strong{font-size:15px}}
.theme-field-guide~.screen .crosswire-board{margin:0;padding:6px}.theme-field-guide~.screen .crosswire-board .runner{padding:2px;font-size:12px}.theme-field-guide~.screen .cross-lane{margin:3px 0;padding:4px}.theme-field-guide~.screen .crosswire-board .platform{min-height:50px;padding:6px;line-height:1.3}

/* The selected student avatar is shared by every arcade renderer. */
.avatar-art.arcade-critter{width:100%;height:100%;max-width:none;aspect-ratio:1;border:1px solid #b7f6ff;border-radius:4px;background-color:#163647;box-shadow:0 0 5px #07151c;vertical-align:middle}
.critter-position{display:flex;align-items:center;justify-content:center;gap:.7rem;letter-spacing:0;font:700 .85rem Arial,sans-serif}
.critter-position .crosswire-critter{width:36px;height:36px;position:relative;z-index:8;flex:none}
.tile.player{padding:0;overflow:visible}.tile.player .arcade-critter{display:block}
.runner-actor.chomper{width:calc(94% / var(--cols));height:calc(94% / var(--rows))}
.chomping .arcade-critter{animation:critter-run .25s infinite alternate}
@keyframes critter-run{to{transform:translateY(-2px)}}
.reduced .arcade-critter{animation:none!important}
@media(prefers-reduced-motion:reduce){.arcade-critter{animation:none!important}}
.runner-actor.chomper .avatar-art{width:auto;height:100%;aspect-ratio:1;display:block;margin:auto}

.evidence-task{flex:none;background:#183340;border:1px solid #7797a6;border-left:3px solid #76e6ee;padding:.7rem 1rem;margin:0 0 .65rem;color:#edf7fc;font:1rem/1.35 Arial,sans-serif}
.evidence-task>strong{color:#82edff}.evidence-task p{margin:.35rem 0}.evidence-task .evidence-claim{font-size:1.1rem;font-weight:700;color:#fff}.evidence-actions{display:flex;align-items:center;justify-content:space-between;gap:.7rem}.evidence-count{font-size:.9rem;color:#ffd097}.evidence-task .evidence-navigation{font-size:.85rem;color:#cbdfe8}.evidence-actions button{font-size:.9rem;padding:.45rem .8rem;min-height:40px}
@media(max-width:700px){.evidence-task{font-size:.875rem;padding:.5rem}.evidence-task .evidence-claim{font-size:1rem}.evidence-actions{flex-wrap:wrap}}

.evidence-task{padding:.45rem .8rem}.evidence-task p{margin:.2rem 0}.evidence-task .evidence-navigation{margin-bottom:0}

main:has(.munch-game)>.essential-question{display:none}
.munch-game{height:min(470px,calc(100dvh - 325px));min-height:350px;display:flex;flex-direction:column;gap:6px;font-family:Arial,sans-serif}
.munch-objective{padding:8px 12px;background:#193e4b;border-left:3px solid #80ebf6;display:flex;justify-content:space-between;flex-wrap:wrap;align-items:center;gap:3px;color:#fff;font-size:.9rem}
.munch-objective>strong{width:100%;color:#8cf3ff}.munch-objective p{font-weight:700;margin:0!important;font-size:1rem}.munch-objective span{font-size:.8rem;color:#ffd297}.munch-steps{font-size:.85rem;line-height:1.4;margin:0!important}.munch-workspace{display:grid;grid-template-columns:minmax(170px,.85fr) minmax(240px,1.3fr);gap:15px;flex:1;min-height:0}.munch-navigation{display:flex;flex-direction:column;align-items:center;min-height:0}.munch-game .maze{height:calc(100% - 67px);width:auto;aspect-ratio:1;max-width:100%;margin:0 auto!important;gap:3px}.munch-game .tile{min-width:0;min-height:0;aspect-ratio:1;font:bold .95rem Arial,sans-serif}.munch-game .file-location{border:2px solid #f8c878;color:#ffe7b4}.munch-game .maze-controls{margin:4px 0 0;display:flex;gap:4px}.munch-game .maze-controls button{min-height:32px;padding:2px 13px}.munch-game #position{font-size:.7rem;line-height:1.3;margin:3px 0!important;color:#c5dce6}.munch-game #packet-panel{min-width:0;background:#122b3a;border:1px solid #537c8e;padding:12px;font-size:.9rem;line-height:1.45}.munch-game #packet-panel p{margin:.5rem 0}.munch-game #packet-panel .source-card{background:none;border:0;color:#f0f6fa;margin:0;padding:0}.munch-game #packet-panel button{padding:.4rem .7rem;font-size:.9rem;margin-top:6px}.munch-game #packet-panel h3{color:#ffcc85;font-size:.95rem}.munch-legend{font-size:.75rem;line-height:1.4;margin:0!important;color:#c2d9e3}
@media(max-width:700px){.munch-game{height:auto;min-height:500px}.munch-workspace{grid-template-columns:1fr}.munch-game .maze{height:185px}.munch-game #packet-panel{padding:8px}.munch-objective p{font-size:.9rem}}

.munch-game #munch-message{font-size:.8rem;line-height:1.3;color:#ffdb99;margin:0!important}.munch-game #munch-message:empty{display:none}
