:root{--bg:#070d1c;--panel:#101d31;--panel2:#15253c;--ink:#f3f8ff;--muted:#9cb0c8;--teal:#86ffe0;--purple:#a697ff;--border:#29405d;--warn:#ffd195;color-scheme:dark;font:15px/1.55 system-ui,Segoe UI,-apple-system,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(ellipse at 80% -4%,#273059 0,transparent 37%),radial-gradient(ellipse at 0 42%,#112c38 0,transparent 27%),var(--bg);color:var(--ink)}button,input,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}a{color:var(--teal)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #ceffec;outline-offset:3px}.app-shell{max-width:1440px;margin:0 auto;padding:0 clamp(16px,3.5vw,55px)}.topbar{height:87px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid #2d3c56}.logo{text-decoration:none;display:flex;align-items:center;gap:10px;color:#f5f8ff;font-weight:900;letter-spacing:.07em}.logo b{font-weight:500;color:var(--teal);letter-spacing:.02em}.sigil{width:42px;height:42px;border:1px solid #6a9ead;border-radius:12px;display:grid;place-items:center;font-size:28px;color:var(--teal)}.nav{display:flex;gap:20px;align-items:center}.nav a{text-decoration:none;font-size:13px;color:#c1d9e7}.plain{background:transparent;border:0;color:#b2d4e6;font-weight:750;font-size:12px;letter-spacing:.06em;padding:9px}.hero{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(275px,.65fr);align-items:center;min-height:530px;gap:30px;border-bottom:1px solid #2a4057}.eyebrow{color:#7ee8d8;letter-spacing:.18em;font-size:11px;font-weight:900}.live-dot{display:inline-block;width:7px;height:7px;background:#7ffde0;border-radius:50%;box-shadow:0 0 12px #7bffe0;margin-right:9px}.hero h1{font-size:clamp(40px,5.1vw,79px);font-weight:950;letter-spacing:-.075em;line-height:1.06;margin:20px 0}.hero h1 em{color:var(--teal);font-style:normal}.hero p{color:#adbdce;max-width:650px}.hero-buttons,.debrief-buttons,.tool-row{display:flex;gap:13px;align-items:center;flex-wrap:wrap;margin:25px 0}.primary{padding:15px 22px;background:var(--teal);border:0;border-radius:9px;color:#052127;font-weight:900;letter-spacing:.03em;box-shadow:0 4px 27px #64e7dc23}.outline-link,.outline-button{border:1px solid #42647a;background:#17253a;color:#d3f4fa;text-decoration:none;padding:13px 18px;font-size:13px;font-weight:800;border-radius:9px}.micro{font-size:12px!important;color:#819cb0!important}.core-stat{justify-self:center;width:100%;max-width:310px;display:grid;gap:26px}.core-ring{aspect-ratio:1;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--teal) 0%,#24344c 0%);padding:10px;box-shadow:0 0 58px #4affd811}.core-inner{width:100%;height:100%;border-radius:50%;background:radial-gradient(circle,#182c42,#0a1425 73%);border:9px solid #0b1425;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:inset 0 0 60px #69fed516}.core-inner small{font-size:11px;letter-spacing:.2em;color:#a9d4cf;font-weight:900}.core-inner strong{font-size:clamp(48px,5vw,81px);line-height:1.25;letter-spacing:-.08em}.core-inner span{font-size:11px;color:#8faabc;letter-spacing:.22em}.core-footer{display:flex;justify-content:space-between;gap:10px;font-size:12px;color:#c1ebde}.core-footer span:last-child{color:#a899ff}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin:28px 0 78px}.stats>div{background:linear-gradient(145deg,#132338,#101b2d);border:1px solid var(--border);padding:19px;border-radius:13px;min-width:0}.stats small{color:#abc7d6;font-size:10px;letter-spacing:.1em;font-weight:850}.stats strong{display:block;font-size:clamp(21px,2.7vw,34px);margin:5px 0;overflow-wrap:anywhere}.stats span{font-size:11px;color:#91aabd}.section-head{margin-bottom:24px}.section-head h2{font-size:clamp(28px,3vw,43px);letter-spacing:-.06em;margin:7px 0}.section-head h2 span{color:var(--teal)}.section-head p{color:#9eb3c7;max-width:700px;margin:0}.campaigns,.world-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.campaign,.world-card{min-width:0;display:flex;flex-direction:column;padding:23px;border:1px solid #344a66;border-radius:16px;background:linear-gradient(150deg,#192841,#101b2f)}.campaign{min-height:295px}.campaign.featured{border-color:#508a8e;background:linear-gradient(150deg,#1d3e44,#111f38)}.campaign-tag{font-size:10px;font-weight:850;letter-spacing:.12em;color:var(--teal)}.campaign h3{font-size:23px;margin:14px 0 10px;letter-spacing:-.04em}.campaign p,.world-card p{color:#9fb6cb;line-height:1.5;margin:0 0 18px}.campaign-meter,.world-meter{height:5px;border-radius:5px;background:#25374f;overflow:hidden;margin-top:auto}.campaign-meter div,.world-meter div{height:100%;background:linear-gradient(90deg,#77efd7,#a69aff);transition:width .25s}.campaign-bottom{display:flex;justify-content:space-between;align-items:center;gap:7px;margin-top:16px}.campaign-bottom span{font-size:12px;color:#d2e7f5}.campaign-bottom a{color:#91ffdc;text-decoration:none;font-size:12px;font-weight:800}.section-head.extra{margin-top:66px}.world-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:50px}.world-card{padding:20px;--accent:var(--teal)}.world-card .glyph{font-size:40px;color:var(--accent);text-shadow:0 0 20px var(--accent);margin-bottom:16px}.world-card h3{font-size:21px;margin:10px 0}.world-card .world-meta{font-size:10px;color:var(--accent);letter-spacing:.1em;font-weight:850}.world-card .world-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:15px;gap:5px}.world-card .world-bottom small{font-size:12px;color:#acc4d5}.world-card button{border:1px solid var(--accent);background:#12273b;color:#edffff;padding:9px 13px;font-weight:800;border-radius:7px}.game-area{margin:50px 0}.game-heading{display:flex;justify-content:space-between;align-items:center;padding-bottom:18px}.arena-frame{border:1px solid #4d7180;border-radius:17px;overflow:hidden;background:linear-gradient(140deg,#182c45,#0e1a2c);box-shadow:0 25px 80px #0005}.arena-head{padding:26px;display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid #344c65}.arena-head h2{font-size:clamp(26px,3.5vw,42px);margin:8px 0}.arena-head p{color:#a4bacb;max-width:680px;margin:0}.mission-counter{color:#8dffd4;font-size:17px;white-space:nowrap;font-weight:900}.play-panel{padding:clamp(12px,3vw,28px)}.arena-footer{border-top:1px solid #344c65;padding:15px 26px;display:flex;gap:12px;align-items:center;flex-wrap:wrap}.concept{color:#9badc3;font-size:12px;margin-left:auto}#play-feedback{padding:0 26px 20px;color:#a4ffe0;font-weight:700;min-height:22px}.game-canvas{display:block;width:100%;max-height:440px;aspect-ratio:760/390;border:1px solid #3b6173;border-radius:10px;background:#081226;touch-action:none}.controls{display:flex;gap:15px;flex-wrap:wrap;align-items:end;justify-content:center;margin:20px 0 6px}.controls label{display:flex;flex-direction:column;gap:8px;color:#b9d3df;font-size:13px}.controls input[type=range]{width:min(190px,46vw);accent-color:var(--teal)}.controls button,.answer{padding:11px 17px;background:#193a44;border:1px solid #58a69e;border-radius:8px;color:#dcfff7;font-weight:850}.controls strong{color:var(--teal)}.game-caption{color:#a8c3d1;font-size:13px;text-align:center;margin:12px auto;max-width:660px}.tile-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;max-width:770px;margin:18px auto}.tile{background:#183548;border:1px solid #46718a;border-radius:10px;padding:14px;color:#dff8ff;text-align:center;min-height:105px}.tile strong{display:block;color:#8cffd9;font-size:18px}.tile small{display:block;color:#a7c5ce;font-size:12px;margin-top:4px}.allocation{display:flex;justify-content:space-evenly;gap:13px;flex-wrap:wrap;font-size:13px;color:#cae2ef;background:#101e2f;border:1px solid #39516b;border-radius:9px;padding:17px;margin:13px 0}.allocation strong{display:block;color:#8affdf;font-size:20px}.queue{text-align:center;min-height:60px;display:flex;justify-content:center;align-items:center;gap:7px;flex-wrap:wrap}.chip{background:#204959;color:#b5ffe6;border:1px solid #428878;border-radius:7px;padding:5px 9px}.case{border:1px solid #35546b;background:#101c31;padding:20px;border-radius:12px;max-width:900px;margin:auto}.case h3{font-size:24px}.evidence-list{display:grid;gap:8px;margin-bottom:23px}.evidence-list>div{padding:13px;border-left:3px solid #8a9aff;background:#192a40;color:#cfe6ee}.answers{display:grid;gap:9px}.answer{text-align:left;background:#152c45}.answer:hover{background:#23455d}.hidden{display:none!important}.debrief{background:radial-gradient(circle at 50% -10%,#225d55,#111f34 65%);border:1px solid #4c8a83;border-radius:16px;text-align:center;padding:36px;margin:30px 0}.debrief-sigil{font-size:55px;color:var(--teal)}.debrief h2{font-size:38px;letter-spacing:-.05em}.debrief p{color:#bad5db;max-width:670px;margin:auto}.lesson-box{border:1px solid #4a7c75;background:#183838;border-radius:10px;padding:17px;max-width:700px;margin:28px auto}.lesson-box span{display:block;font-size:10px;letter-spacing:.12em;color:#9ff9dd}.lesson-box strong{display:block;margin-top:7px}.debrief-buttons{justify-content:center}.finale{text-align:center;padding:40px;border:1px solid #e0bc76;background:radial-gradient(ellipse at 50% 0%,#52462b,#101d2e 76%);border-radius:15px}.finale h2{font-size:38px;color:#fff1b8}.tools{padding:70px 0 45px}.import{cursor:pointer;display:inline-flex;align-items:center}.import input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.danger{border:1px solid #874e66;background:#2a192b;color:#f7c8d8;border-radius:8px;padding:13px 15px}.tool-row{margin:12px 0}footer{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;border-top:1px solid #283e56;padding:26px 0 48px;font-size:12px;color:#7f9eb2}footer strong{color:#d5edfc}footer a{margin-left:12px;text-decoration:none}.pulse{animation:pulse 1.5s infinite}@keyframes pulse{50%{box-shadow:0 0 35px #83ffe760}}@media(max-width:1000px){.world-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero{min-height:450px}.hero h1{font-size:clamp(36px,5vw,60px)}}@media(max-width:740px){.topbar{height:auto;padding:14px 0;flex-wrap:wrap}.nav{gap:10px;flex-wrap:wrap}.hero{grid-template-columns:1fr;gap:10px;padding:30px 0}.hero h1{font-size:clamp(39px,11vw,62px)}.core-stat{max-width:220px;margin:0 auto 23px}.core-inner strong{font-size:55px}.stats{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:55px}.campaigns{grid-template-columns:1fr}.world-grid{grid-template-columns:1fr}.campaign{min-height:225px}.tile-grid{grid-template-columns:repeat(2,1fr)}.arena-head{padding:18px}.arena-footer{padding:16px}.game-canvas{aspect-ratio:760/390}.mission-counter{font-size:12px}footer{display:block}footer>*{display:block;margin-bottom:10px}footer a{margin:0 12px 0 0}.controls input[type=range]{max-width:160px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
.stage-chips{display:flex;gap:6px;margin-top:12px}.stage-chips .stage-chip{flex:1;font-size:11px;padding:7px 0;border:1px solid #405b71;border-radius:7px;background:#102439;color:#bbe9f0}.stage-chips .stage-chip:disabled{opacity:.3}.stage-chips .stage-chip:hover:not(:disabled){border-color:var(--accent);background:#255061}
.lesson-source{display:block;margin-top:14px;color:#a1ffe6;font-size:12px;font-weight:850;text-decoration:none}

/* Original playable game hero. Image is captured from real HTML Canvas gameplay. */
.real-feature{margin:22px 0 27px;padding:22px;display:grid;grid-template-columns:minmax(280px,.83fr) minmax(0,1.5fr);gap:23px;align-items:stretch;border:1px solid #4eafb17c;background:radial-gradient(ellipse at 88% 10%,#1d526b59,transparent 56%),linear-gradient(135deg,#102839,#081728);box-shadow:0 27px 70px #0006;isolation:isolate}
.real-feature-copy{padding:25px 12px 23px 23px;display:flex;flex-direction:column;align-items:start}
.real-status{font:800 10px ui-monospace,Consolas,monospace;letter-spacing:.14em;color:#b0fbde}
.real-status i{display:inline-block;height:7px;width:7px;border-radius:50%;background:#95ffe4;box-shadow:0 0 13px #84f9d7;margin-right:8px}
.real-version{font:800 10px ui-monospace,Consolas,monospace;letter-spacing:.12em;color:#729cbb;margin-top:12px}
.real-feature-copy h2{font-weight:950;font-size:clamp(37px,4.4vw,65px);letter-spacing:-.075em;line-height:.99;margin:17px 0 12px}
.real-feature-copy h2 em{font-style:normal;color:#93fff0}
.real-feature-copy p{font-size:12px;line-height:1.7;color:#a9c8d4;margin:8px 0 13px;max-width:370px}
.real-pills{display:flex;gap:6px;flex-wrap:wrap;margin:9px 0 22px}
.real-pills span{font:750 9px ui-monospace,Consolas,monospace;letter-spacing:.04em;color:#cce9e9;border:1px solid #547a8e;padding:7px}
.real-play{display:flex;justify-content:space-between;gap:35px;align-items:center;background:#93f0da;color:#081c2b;padding:15px 18px;font-size:11px;font-weight:950;letter-spacing:.06em;box-shadow:0 0 35px #6eecd634}
.real-play:hover{background:#d5fff2;color:#071825}
.real-micro{display:block;margin-top:17px;font:700 10px ui-monospace,Consolas,monospace;letter-spacing:.06em;color:#89b8bf}
.real-image{position:relative;display:block;overflow:hidden;align-self:stretch;background:#071526;border:1px solid #71a7b38a;box-shadow:0 22px 58px #0008;min-height:315px}
.real-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .3s;min-height:315px}
.real-image:hover img,.real-image:focus-visible img{transform:scale(1.02)}
.real-frame-label{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;padding:14px;color:#ddfff5;background:linear-gradient(0deg,#041925ed,#0d2534ae);font:850 9px ui-monospace,Consolas,monospace;letter-spacing:.08em}
.real-frame-label b{color:#acffdf}
@media(max-width:990px){.real-feature{grid-template-columns:1fr}.real-feature-copy{padding:10px}.real-image{min-height:0}.real-image img{height:auto;min-height:0;aspect-ratio:1320/743}}
@media(max-width:540px){.real-feature{padding:10px;gap:10px}.real-feature-copy h2{font-size:40px}.real-feature-copy p{font-size:11px}.real-image img{min-height:0}.real-frame-label{font-size:8px}.real-pills span{font-size:8px}}
@media(prefers-reduced-motion:reduce){.real-image img{transition:none!important}.real-image:hover img{transform:none!important}}
