:root{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:#f3f7ff;background:#070c19;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;min-height:100%;overflow-x:hidden}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer;border:0;color:inherit}button:focus-visible,a:focus-visible{outline:3px solid #a7fd62;outline-offset:3px}.site-nav{height:67px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;background:#080e1de8;border-bottom:1px solid #ffffff18}.brand{font-size:1.21rem;font-weight:900;letter-spacing:.08em}.brand span{color:#b9fa66}.nav-links{display:flex;gap:18px;color:#aebbd2;font-size:.85rem}.pill{display:inline-flex;align-items:center;gap:8px;background:#b9fa66;color:#101b0a;padding:11px 18px;border-radius:30px;font-size:.86rem;font-weight:800}.pill.alt{background:#ffffff19;color:white}.main-hero{padding:75px 5vw 42px;max-width:1250px;margin:auto}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.7rem;font-weight:850;color:#b9fa66}.main-hero h1{font-size:clamp(2.5rem,6vw,5.3rem);letter-spacing:-.065em;line-height:1.05;margin:12px 0 20px}.main-hero p{color:#a8b6c8;line-height:1.8;max-width:640px}.features{display:flex;flex-wrap:wrap;gap:12px;margin-top:23px}.features span{border:1px solid #ffffff21;border-radius:20px;padding:8px 14px;color:#aebcd1;font-size:.78rem}.games-grid{max-width:1250px;display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin:0 auto;padding:24px 5vw 100px}.game-card{overflow:hidden;border:1px solid #ffffff21;background:linear-gradient(155deg,#14203a,#0a1326);border-radius:22px;display:flex;flex-direction:column}.art{height:220px;position:relative;overflow:hidden;isolation:isolate}.art:before,.art:after{content:'';position:absolute;inset:0}.art:before{background:radial-gradient(circle at 65% 45%,#d0fff190,transparent 43%),linear-gradient(145deg,#162d50,#071529)}.art:after{background:repeating-linear-gradient(130deg,#ffffff0e 0 2px,transparent 2px 48px)}.art.floor:before{background:radial-gradient(circle at 57% 34%,#e845fc80,transparent 34%),linear-gradient(135deg,#4e145d,#08112b)}.art.tiny:before{background:radial-gradient(circle at 70% 30%,#fef16d80,transparent 38%),linear-gradient(135deg,#196e84,#142352)}.art.bot:before{background:radial-gradient(circle at 65% 40%,#ff8b517e,transparent 37%),linear-gradient(135deg,#553053,#152b3b)}.art-icon{font-size:7rem;position:absolute;inset:34px 0 0;text-align:center;z-index:1;filter:drop-shadow(10px 15px 20px #0007)}.card-content{padding:24px;flex:1;display:flex;flex-direction:column}.game-card h2{font-size:1.4rem;margin:10px 0;letter-spacing:-.04em}.game-card p{color:#9baabc;font-size:.9rem;line-height:1.65;flex:1}.tags{font-size:.72rem;letter-spacing:.08em;color:#bcfa80;text-transform:uppercase;font-weight:800}.card-content .pill{justify-content:center;margin-top:16px}.site-footer{border-top:1px solid #ffffff19;padding:28px 5vw;color:#7f8fa7;text-align:center;font-size:.8rem}.game-shell{max-width:1480px;margin:auto;padding:16px 3vw 40px}.game-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:13px}.game-header h1{font-size:clamp(1rem,2.2vw,1.45rem);margin:0}.game-actions{display:flex;gap:8px;flex-wrap:wrap}.small-btn{border:1px solid #ffffff37;background:#17223aaa;border-radius:10px;padding:9px 13px;font-size:.8rem}.small-btn:hover{background:#30415d}.stage{position:relative;width:100%;height:min(70vh,740px);min-height:420px;background:#0b1228;border:1px solid #ffffff30;border-radius:20px;overflow:hidden;touch-action:none}.stage canvas{width:100%;height:100%;display:block}.hud{position:absolute;top:14px;left:14px;display:flex;gap:9px;flex-wrap:wrap;pointer-events:none;max-width:calc(100% - 25px)}.hud-pill{background:#081426c9;border:1px solid #ffffff24;backdrop-filter:blur(12px);border-radius:10px;padding:9px 12px;font-size:.72rem}.hud-pill b{color:#ccfa7a}.objective{position:absolute;top:64px;left:16px;max-width:60%;font-size:.79rem;color:#d0e5fb;text-shadow:0 2px 7px #000}.toast{position:absolute;left:50%;bottom:24%;transform:translateX(-50%) translateY(14px);opacity:0;transition:.24s;background:#162748e8;border:1px solid #b9fa667a;color:#e9ffcf;padding:12px 18px;border-radius:12px;text-align:center;font-size:.9rem;pointer-events:none;max-width:80%}.toast.visible{opacity:1;transform:translateX(-50%) translateY(0)}.overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at center,#101931e0,#020713ee);padding:18px;z-index:10}.overlay.hidden{display:none}.modal{background:linear-gradient(155deg,#192744,#101b30);border:1px solid #ffffff30;border-radius:24px;padding:32px;max-width:550px;width:100%;box-shadow:0 20px 80px #0008}.modal h2{margin:0 0 12px;line-height:1.12;font-size:clamp(1.6rem,3vw,2.5rem);letter-spacing:-.055em}.modal p{line-height:1.7;color:#b7c6d8}.modal .eyebrow{margin-bottom:12px}.choice-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:17px 0}.choice{background:#0b172b;border:1px solid #ffffff36;border-radius:12px;padding:12px 7px;text-align:center;font-size:.76rem}.choice.active{border-color:#bafa72;background:#2b4036}.choice strong{display:block;font-size:1rem;margin:6px 0}.cta{background:#b9fa66;color:#132310;font-weight:900;padding:13px 25px;border-radius:12px;margin-top:12px;width:100%;font-size:1rem}.cta:hover{filter:brightness(1.09)}.secondary{background:#263956;color:#e4ebf4}.controls-info{display:flex;justify-content:space-between;flex-wrap:wrap;color:#92a5b8;font-size:.77rem;gap:8px;padding:13px 4px}.touch-controls{display:none;position:absolute;inset:auto 15px 14px;pointer-events:none;justify-content:space-between;align-items:end}.dpad{display:grid;grid-template-columns:repeat(3,49px);grid-template-rows:repeat(2,49px);gap:5px;pointer-events:auto}.touch-btn{border-radius:15px;background:#182942bb;border:1px solid #ffffff80;font-weight:900;font-size:1rem;user-select:none;touch-action:none;pointer-events:auto}.touch-btn:active,.touch-btn.pressed{background:#bbf96c8c}.dpad [data-key=ArrowUp]{grid-column:2}.dpad [data-key=ArrowLeft]{grid-column:1;grid-row:2}.dpad [data-key=ArrowDown]{grid-column:2;grid-row:2}.dpad [data-key=ArrowRight]{grid-column:3;grid-row:2}.actpad{display:flex;gap:8px;pointer-events:auto}.actpad .touch-btn{width:58px;height:58px;border-radius:50%;font-size:.7rem}@media(max-width:850px){.games-grid{grid-template-columns:1fr 1fr}.nav-links{display:none}.stage{height:72vh;min-height:450px}.touch-controls{display:flex}.objective{top:104px;max-width:85%}.hud{top:8px;left:8px;gap:5px}.hud-pill{padding:6px 8px;font-size:.66rem}}@media(max-width:580px){.games-grid{grid-template-columns:1fr}.game-shell{padding:10px 2vw}.stage{border-radius:12px;min-height:500px}.game-actions{gap:4px}.small-btn{padding:7px 9px}.modal{padding:22px}.choice-row{gap:5px}.choice{font-size:.68rem}}

.actpad .touch-btn[data-key=KeyQ]{display:none}body[data-game=bot] .actpad .touch-btn[data-key=KeyQ]{display:block}body[data-game=bot] .actpad .touch-btn{width:52px;height:52px}

.art .cover-img{width:100%;height:100%;display:block;object-fit:cover;object-position:center;filter:saturate(1.08) contrast(1.05);transition:transform .25s ease}.game-card:hover .cover-img{transform:scale(1.035)}.art:has(.cover-img):before,.art:has(.cover-img):after{display:none}

/* V3: new mission selector and accessible action labels */
.level-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.35rem;margin:1rem 0;max-height:42vh;overflow:auto}.level-chip{background:#193052;border:1px solid #3d5679;border-radius:.6rem;padding:.55rem .1rem;font-size:.85rem}.level-chip:hover:not(:disabled){background:#275978}.level-chip:disabled{opacity:.45;cursor:not-allowed}.level-chip:focus-visible{outline:2px solid #aaffd7}.modal{max-height:85vh;overflow:auto}button{touch-action:manipulation}@media(max-width:530px){.level-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}
/* V3: the Tiny Titans shield control must be visible on mobile. */
body[data-game=tiny] .actpad .touch-btn[data-key=KeyQ]{display:block}
@media(max-width:580px){body[data-game=tiny] .actpad .touch-btn{width:49px;height:49px;font-size:.59rem}body[data-game=tiny] .actpad{gap:5px}body[data-game=bot] .actpad{gap:5px}body[data-game=bot] .actpad .touch-btn{width:49px;height:49px;font-size:.64rem}}

/* V3.1 Precision input, resilient mobile layout, quality diagnostics */
.joystick{display:none;width:124px;height:124px;flex:0 0 124px;position:relative;border-radius:50%;background:radial-gradient(circle,#233b5bcb,#101d39bb);border:2px solid #9ac0e886;box-shadow:inset 0 0 25px #090e2288,0 8px 22px #0008;touch-action:none;pointer-events:auto;user-select:none}
.stick-ring{position:absolute;inset:18px;border:2px dashed #c6ecf64b;border-radius:50%;pointer-events:none}
.stick-thumb{position:absolute;left:50%;top:50%;width:58px;height:58px;transform:translate(-50%,-50%);background:radial-gradient(circle at 32% 28%,#c7ff93,#589e79);border:3px solid #dbffc1;border-radius:50%;box-shadow:0 4px 18px #000a,0 0 18px #b5ff7085;pointer-events:none;transition:box-shadow .12s}
.joystick.active .stick-thumb{box-shadow:0 4px 18px #000a,0 0 23px #c4ff99cf}
.perf{position:absolute;right:14px;top:56px;background:#071125ca;padding:6px 9px;border-radius:9px;border:1px solid #b6fa6670;pointer-events:none;color:#cafa82;font:700 .64rem ui-monospace,SFMono-Regular,monospace;z-index:2}
.perf[hidden]{display:none}
.settings-group{margin:18px 0}.settings-group strong{display:block;font-size:.79rem;letter-spacing:.05em;color:#c9dfec;margin-bottom:8px}.settings-options{display:flex;flex-wrap:wrap;gap:7px}.settings-options .choice{flex:1 0 auto;margin:0;min-width:75px;padding:10px 7px}.settings-options .choice.active{box-shadow:inset 0 0 0 1px #aaff8d}
@media(pointer:coarse),(max-width:850px){body:not([data-controls=pad]) .joystick{display:block}body:not([data-controls=pad]) .dpad{display:none}body[data-controls=pad] .joystick{display:none}body[data-controls=pad] .dpad{display:grid}}
@media(max-width:580px){.joystick{width:108px;height:108px;flex-basis:108px}.stick-thumb{width:50px;height:50px}.touch-controls{left:8px;right:8px;bottom:9px;gap:8px}.actpad{flex-wrap:wrap;max-width:170px;justify-content:flex-end}.game-header{align-items:flex-start}.game-actions{justify-content:flex-end}.small-btn{font-size:.68rem;padding:8px 6px}.objective{font-size:.72rem;top:108px;max-width:96%}.hud-pill{font-size:.6rem}.stage{min-height:480px;height:74dvh}.perf{top:77px;right:8px;font-size:.55rem}}
@media(max-width:350px){.joystick{width:92px;height:92px;flex-basis:92px}.actpad{max-width:152px}.actpad .touch-btn{width:44px!important;height:44px!important}.game-actions{gap:2px}.game-header h1{max-width:130px}}
@media(prefers-reduced-motion:reduce){.toast,.art .cover-img,.stick-thumb{transition:none}}

/* V3.2: explicit cooldown, tactile-friendly controls, optional motion reduction */
.actpad .touch-btn.elite-btn{background:linear-gradient(135deg,#164b60,#193e64);border-color:#7be8ff;box-shadow:0 0 12px #4dbbff44}
.actpad .touch-btn.on-cooldown{border-color:#677c99;filter:saturate(.48);opacity:.76}
@media(max-width:580px){.actpad{max-width:172px;gap:5px}.actpad .touch-btn,.actpad .touch-btn.elite-btn{width:49px!important;height:49px!important;font-size:.58rem!important}.actpad .touch-btn.on-cooldown{font-size:.5rem!important}}
@media(max-width:350px){.actpad{max-width:142px}.actpad .touch-btn{width:42px!important;height:42px!important;font-size:.52rem!important}}

/* V4 Cinematic Director's Cut: atmospheric, lightweight CSS compositing over true 3D scenes. */
.stage{isolation:isolate;border-color:#a2caff4b;box-shadow:0 18px 65px #0008,inset 0 0 75px #02061b70}
.stage canvas{position:absolute;inset:0}
.v4-atmosphere{position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(ellipse at 47% 10%,#9cddff0e,transparent 49%),linear-gradient(180deg,#07122410 0%,transparent 31%,#02081246 100%);box-shadow:inset 0 0 95px #03081388}
.v4-atmosphere:after{content:"";position:absolute;inset:0;opacity:.15;background:repeating-linear-gradient(0deg,transparent 0,transparent 4px,#b3edff15 5px,transparent 6px);pointer-events:none}
.v4-danger{position:absolute;inset:0;z-index:2;pointer-events:none;opacity:0;transition:opacity .17s ease;background:radial-gradient(ellipse at center,transparent 38%,#ef356573 100%)}
.v4-danger.active{opacity:1}
.v4-intro{position:absolute;z-index:6;top:28%;left:0;right:0;text-align:center;pointer-events:none;opacity:0;transform:translateY(18px);padding:25px 12px;background:linear-gradient(90deg,transparent,#030917dd 16%,#030917e0 84%,transparent);border-top:1px solid #c6efff33;border-bottom:1px solid #c6efff33}
.v4-intro.show{animation:director-intro 3.45s ease both}
.v4-intro strong{display:block;font-size:clamp(1.55rem,4.9vw,3.5rem);letter-spacing:-.04em;line-height:1.12;text-transform:uppercase;margin:.4rem 0;text-shadow:0 0 24px #7de6ff8a}
.v4-intro small{display:block;color:#c5def0;font-size:clamp(.7rem,1.6vw,.95rem);line-height:1.5;max-width:550px;margin:auto}
.intro-kicker{font-weight:900;font-size:.7rem;letter-spacing:.18em;color:#c7fd91}
@keyframes director-intro{0%{opacity:0;transform:translateY(18px)}12%,67%{opacity:1;transform:translateY(0)}100%{opacity:0;transform:translateY(-8px)}}
.hud,.objective,.toast,.touch-controls,.perf{z-index:4}.overlay{z-index:12}
.game-card{box-shadow:0 8px 35px #0004;transition:transform .2s,border-color .2s}.game-card:hover{transform:translateY(-4px);border-color:#b7e8ff76}
.hud-pill{box-shadow:0 5px 20px #0007;border-color:#9fc7ed49}
@media(max-width:580px){.v4-intro{top:25%;padding:14px 9px}.intro-kicker{font-size:.56rem}.v4-intro strong{font-size:1.5rem}.v4-intro small{font-size:.69rem}.objective{max-width:95%}}
@media(prefers-reduced-motion:reduce){.v4-intro.show{animation:none;opacity:1}.v4-danger{transition:none}}

/* V5 native engine runtime indicator */
.native-status{display:inline-flex;align-items:center;white-space:nowrap;padding:5px 11px;border:1px solid #54748d;border-radius:999px;font-size:11px;font-weight:800;letter-spacing:.07em;color:#c5d9e8;background:#10283f}
.native-status[data-native="active"]{color:#8bf1c3;border-color:#29765d;background:#12382f}
.native-status[data-native="fallback"]{color:#ffd49b;border-color:#70513a;background:#322519}

/* V5.1: filmic stage overlay, accessible profiler and reduced-motion fallback */
.stage .v4-atmosphere{background:radial-gradient(ellipse at 52% 17%,#b6e5ff16,transparent 43%),radial-gradient(ellipse at 48% 88%,#2418462a,transparent 61%),linear-gradient(180deg,#04102210,transparent 37%,#0104105e 100%)}
.stage .v4-atmosphere:after{opacity:.08}
.perf{max-width:min(92%,680px);white-space:normal;overflow-wrap:anywhere;line-height:1.6;text-align:right;background:#071125eb;top:53px;box-shadow:0 6px 18px #0009}
@media(max-width:580px){.perf{top:106px;font-size:.50rem;max-width:58%;right:6px}.objective{top:142px}}
@media(prefers-reduced-motion:reduce){.game-card,.v4-intro{transition:none;animation:none}}

/* V6 controls and accessibility additions */
.actpad .v6-btn{background:linear-gradient(145deg,#103c58,#1b7080);border:1px solid #83ebee;color:#efffff;font-weight:800;box-shadow:0 0 14px #41e5d633}
.actpad .v6-btn:active,.actpad .v6-btn.pressed{filter:brightness(1.45);transform:scale(.96)}
button:focus-visible,a:focus-visible{outline:3px solid #ffdb7c;outline-offset:3px}
@media (prefers-reduced-motion:reduce){.v4-intro,.v4-atmosphere,.v4-danger{animation:none!important;transition:none!important}}

@media(max-width:580px){.overlay{align-items:flex-start;overflow-y:auto;overscroll-behavior:contain;padding:9px}.modal{padding:22px;max-height:100%;overflow-y:auto;overscroll-behavior:contain}.actpad .touch-btn{font-size:.61rem}.actpad .v6-btn{font-size:.58rem}}

/* Release readability: keep objectives below the wrapped HUD; support phone landscape. */
.objective{max-width:calc(100% - 32px);line-height:1.45;background:#07111da8;border-radius:7px;padding:5px 9px;pointer-events:none}
.choice-row:has([data-kind=chassis]){grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:580px){.objective{left:8px;max-width:calc(100% - 16px);font-size:.64rem}.hud-pill{line-height:1.3}.modal .choice strong{font-size:.8rem}.game-header h1{font-size:1rem}.game-actions{max-width:75%}.v4-intro.show{animation-duration:2.4s}.stage{height:74dvh}}
@media(max-height:500px) and (orientation:landscape){.site-nav{height:38px}.game-shell{padding:6px 2vw}.game-header{margin-bottom:7px}.stage{height:calc(100dvh - 92px);min-height:260px}.hud-pill{padding:4px 7px;font-size:.57rem}.hud{top:7px;left:7px;gap:4px}.objective{font-size:.61rem;max-width:calc(100% - 16px)}.touch-controls{display:flex;bottom:8px}.joystick{width:88px;height:88px;flex-basis:88px}.stick-thumb{width:42px;height:42px}.actpad{max-width:260px;flex-wrap:wrap}.actpad .touch-btn{width:43px!important;height:43px!important;font-size:.53rem!important}.controls-info{display:none}.modal{max-height:100%;padding:15px}.modal p{font-size:.75rem;margin:8px 0}.modal .cta{padding:9px;font-size:.83rem;margin-top:6px}.choice-row{margin:7px 0}.choice{padding:5px}.v4-intro{top:32%;padding:8px}}
@media(prefers-reduced-motion:reduce){.v4-intro.show{animation:director-intro 1.8s linear both!important;transform:none!important}}
