
:root{font-family:system-ui,Segoe UI,sans-serif;color:#e6fff9;background:#06131b}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 50% 0,#153544,#06131b 70%);min-height:100vh}.shell{max-width:1130px;margin:auto;padding:12px}.top{display:flex;align-items:center;gap:12px;margin-bottom:9px}.brand{font-size:clamp(18px,2.7vw,30px);font-weight:900;letter-spacing:.08em;line-height:1.05}.brand span{color:#54f9de}.topButtons{margin-left:auto;display:flex;gap:7px}.top button,.small{border:1px solid #497e7e;border-radius:9px;background:#0c2931;color:#c7fff2;padding:8px 11px;font:700 13px system-ui;cursor:pointer}.top button:hover,.small:hover{background:#19555b}.game{position:relative;border:1px solid #3b8c88;border-radius:13px;overflow:hidden;box-shadow:0 0 36px #00d4c323;background:#09151d}#game{display:block;width:100%;aspect-ratio:16/9;touch-action:none}.overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:13px;background:linear-gradient(90deg,#05141dd9,#07121c7a 55%,#06121dd9),url('menu-city.webp') center/cover;isolation:isolate}.overlay::after{content:"";position:absolute;inset:0;z-index:-1;background:repeating-linear-gradient(90deg,transparent 0 90px,#4ef9da0e 91px 92px);animation:scan 6s linear infinite;pointer-events:none}@keyframes scan{to{transform:translateX(92px)}}.panel{width:min(890px,100%);max-height:100%;overflow:auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.9fr);gap:15px;align-items:center;background:#061924df;border:1px solid #5ee8d47a;border-radius:15px;padding:17px;box-shadow:0 12px 50px #0008}.intro h1{font-size:clamp(24px,3.4vw,43px);line-height:1;margin:6px 0;color:#f6fffc}.eyebrow,.heroName{font-size:13px;font-weight:800;letter-spacing:.14em;color:#76ffe4}.intro p{color:#c3e6e3;line-height:1.35;font-size:14px;margin:8px 0}.mode{display:flex;gap:7px;margin:10px 0}.mode button{flex:1;min-width:0;padding:8px 5px;border-radius:8px;border:1px solid #4a797b;background:#10313b;color:#e9fffa;font:700 13px system-ui;cursor:pointer}.mode button.active{border-color:#70ffe5;background:#205b5b}.mode button:disabled{opacity:.55;cursor:default}.mode small{display:block;font-size:10px;font-weight:500}.select{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin:9px 0}.select button{min-width:0;padding:8px 3px;border-radius:8px;border:1px solid #4c7576;background:#132c34;color:#effffb;font:800 12px system-ui;cursor:pointer}.select button small{display:block;color:#a5d1ca;font-weight:500;font-size:10px}.select button[aria-pressed=true]{border-color:#70ffe8;background:#1d5c58}.primary{width:100%;border:0;border-radius:8px;background:#67f9dc;color:#042622;padding:10px;font:900 16px system-ui;cursor:pointer}.primary:hover{background:#b5fff0}.wallet{margin:8px auto 0;display:block;padding:5px 10px;border:1px solid #447b79;border-radius:7px;background:#102d35;color:#b3d5d0;font:700 11px system-ui}.preview{min-width:0;text-align:center}.preview canvas{display:block;width:100%;aspect-ratio:520/210;border:1px solid #62a8a4;border-radius:10px;background:#09222b}.heroName{margin-top:6px}.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin-top:9px}.gallery button{border:1px solid #407b78;background:#0d2731;color:#e2fff7;border-radius:6px;padding:5px 2px;font-size:11px;cursor:pointer}.gallery button.active{border-color:#69ffe4;color:#6fffe6}.hud{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;margin:8px 0;color:#b3d3d1;font-size:12px}.hud strong{color:#fff}.controller{position:relative;display:flex;align-items:center;justify-content:space-between;gap:10px;border:2px solid #197d79;border-radius:26px;background:radial-gradient(circle at 50% 20%,#15505d,#082b39 76%);box-shadow:inset 0 0 20px #00edc222,0 0 18px #00dfc224;padding:9px 5%;height:178px;touch-action:none;user-select:none}.stick{position:relative;width:140px;height:140px;flex:none;border:2px solid #22c8b5;border-radius:50%;box-shadow:inset 0 0 25px #00e4c044,0 0 13px #00e4c044;background:radial-gradient(circle,#164a57 0 15%,#082a35 68%);touch-action:none;cursor:grab}.stick::before{content:"";position:absolute;inset:14px;border:1px solid #48e4d566;border-radius:50%;pointer-events:none}.stickKnob{position:absolute;left:50%;top:50%;width:59px;height:59px;transform:translate(-50%,-50%);border-radius:50%;border:2px solid #7ffff0;background:radial-gradient(circle at 35% 30%,#328c91,#0c3441 70%);box-shadow:0 0 20px #46ffe777,inset 0 0 12px #a3ffee44;pointer-events:none;transition:transform .08s ease-out}.stick.active .stickKnob{transition:none}.actions{position:relative;flex:none;width:230px;height:150px}.actions button{position:absolute;width:65px;height:65px;border-radius:50%;border:3px solid #24b9b0;box-shadow:inset 0 0 10px #27ffee38,0 0 9px #00edc533;background:linear-gradient(#146575,#062b39);color:#d7fff5;font:900 27px system-ui;touch-action:none;cursor:pointer}.actions .jump{left:83px;top:0}.actions .shoot{left:0;top:43px}.actions .special{right:0;top:43px}.actions .melee{left:83px;bottom:0}.devPanel{margin:8px 0;padding:12px;border:1px solid #925fca;border-radius:12px;background:#101d32;color:#e9dfff;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.devPanel button{border:1px solid #a47de1;border-radius:8px;padding:9px 12px;background:#30204b;color:#fff;font-weight:700}.devPanel label{display:flex;align-items:center;gap:5px;font-weight:700}.actionLegend{font-size:12px;color:#b2d5ce;text-align:center;margin-top:7px}.help{font-size:12px;color:#a9cdc8;margin:8px 0;line-height:1.35}.hide{display:none!important}@media(max-width:700px){.shell{padding:8px}.top{gap:5px}.brand{font-size:clamp(16px,4.2vw,26px)}.top button{padding:6px;font-size:12px}.game{border-radius:9px}.overlay{position:fixed;z-index:20;padding:15px}.panel{grid-template-columns:1fr;gap:9px;padding:14px;max-width:430px;max-height:95dvh;overflow:auto}.preview{grid-row:1}.preview canvas{max-height:180px}.intro h1{font-size:26px}.intro p{font-size:14px}.select{grid-template-columns:repeat(4,1fr)}.select button{font-size:11px;padding:7px 2px}.mode button{font-size:13px;padding:7px}.primary{font-size:16px;padding:10px}.intro h1{font-size:clamp(14px,4vw,27px);margin:3px 0}.intro p{font-size:10px;margin:3px 0}.eyebrow,.heroName{font-size:9px}.mode{margin:4px 0}.mode button{padding:4px;font-size:10px}.mode small{font-size:8px}.select{grid-template-columns:repeat(2,1fr);margin:4px 0;gap:3px}.select button{padding:3px;font-size:10px}.select button small{font-size:8px}.primary{padding:5px;font-size:12px}.wallet{font-size:9px;padding:3px}.preview canvas{max-height:125px}.gallery{grid-template-columns:repeat(2,1fr);margin-top:4px}.gallery button{font-size:9px;padding:2px}.hud{font-size:10px;gap:4px}.controller{height:172px;padding:7px 4%}.actions{width:154px;height:144px}.actions button{width:56px;height:56px;font-size:23px}.actions .jump{left:49px}.actions .shoot{left:0;top:44px}.actions .special{right:0;top:44px}.actions .melee{left:49px}.stick{transform:scale(.92);transform-origin:left center}.actionLegend{font-size:10px}.help{font-size:11px}}

#front{position:fixed;inset:0;z-index:30;display:grid;place-items:center;overflow:auto;background:#020b11;color:#e8fffb}#front .screen{position:relative;width:100%;min-height:100dvh;display:flex;flex-direction:column;align-items:center;isolation:isolate;padding:clamp(20px,5vw,42px) 20px max(24px,env(safe-area-inset-bottom));text-align:center}#front .screen::before{content:"";position:absolute;inset:0;z-index:-2;background-position:center;background-size:cover;animation:slowPan 18s ease-in-out infinite alternate}#front .screen::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(#02080d66,#03121a22 40%,#02080dc0)}@keyframes slowPan{to{transform:scale(1.045)}}#intro::before,#selectScreen::before,#galleryScreen::before{background-image:url('title-shadow.webp')}#menuScreen::before{background-image:linear-gradient(#020a13a8,#020a13c2),url('menu-city.webp')}.frontBrand{font-weight:800;letter-spacing:.23em;color:#b9fff5;font-size:clamp(17px,3vw,29px);text-shadow:0 0 20px #5bffee70}.frontSub{font-size:12px;letter-spacing:.4em;color:#86d8d0;margin-top:8px}.frontTitle{margin:7vh 0 8px;font-size:clamp(25px,6vw,48px);line-height:1.1;letter-spacing:.07em;text-shadow:0 0 18px #1acfc76b}.frontKicker{color:#85c3c2;font-size:14px;letter-spacing:.15em}.entry{margin-top:auto;margin-bottom:7vh;width:min(470px,100%);padding:18px;border:1px solid #76fff1;clip-path:polygon(4% 0,96% 0,100% 30%,100% 70%,96% 100%,4% 100%,0 70%,0 30%);background:#06212bc7;box-shadow:inset 0 0 24px #56fadd60;color:#99fff0;font:800 clamp(17px,4vw,24px) system-ui;letter-spacing:.09em;cursor:pointer}.entry:hover,.menuAction:hover,.frontPrimary:hover{filter:brightness(1.3)}.frontDeck{display:flex;flex-direction:column;gap:12px;width:min(460px,100%);margin:auto 0}.menuAction{min-height:66px;border:1px solid #669eac;border-radius:16px;background:#04131fd9;color:#bceff2;font:800 19px system-ui;letter-spacing:.04em;cursor:pointer}.menuAction.primaryChoice{border:2px solid #59f8e9;color:#50f7e6;box-shadow:0 0 22px #19ffff50,inset 0 0 18px #15ded72f}.menuAction:disabled{color:#8a9da2;opacity:.62;cursor:not-allowed}.menuAction small{display:block;font-size:11px;color:#8ab7b8;font-weight:500;margin-top:2px}.selectWrap{width:min(620px,100%);display:flex;flex-direction:column;align-items:center;gap:12px;margin:auto 0}.selectWrap h1{font-size:clamp(24px,5vw,37px);margin:0}.selectWrap p{color:#9bc8c9;margin:0}.selectHero{width:min(440px,100%);text-align:center}.selectHero canvas{display:block;width:100%;height:clamp(155px,26vh,230px);object-fit:cover;border:1px solid #447a81;border-radius:17px;background:#071c27}.frontCards{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.frontCards button{min-height:99px;display:flex;align-items:center;gap:10px;text-align:left;border:1px solid var(--accent);border-radius:12px;background:#05131de8;color:#e7fff9;padding:8px;cursor:pointer;box-shadow:inset 0 0 12px #ffffff08}.frontCards button[aria-pressed=true]{border:2px solid #66ffe8;box-shadow:0 0 18px #3effdf82,inset 0 0 13px #50edd542}.thumb{width:65px;height:70px;flex:none;background-image:url('sentinel-specials.webp');background-size:200% 200%;background-position:var(--pos);filter:drop-shadow(0 0 6px var(--accent))}.cardText strong{display:block;font-size:16px}.cardText small{display:block;font-size:12px;color:#a5d7d2;margin-top:4px}.frontPrimary{width:min(500px,100%);min-height:57px;border:0;border-radius:9px;background:#5cece4;color:#04252b;font:900 19px system-ui;letter-spacing:.05em;box-shadow:0 0 20px #29e7e650;cursor:pointer}.frontBack{align-self:flex-start;margin-top:15px;border:1px solid #64a6a7;border-radius:8px;background:#041d26b9;color:#b2ebe5;padding:9px 17px;font:700 14px system-ui;cursor:pointer}.frontFoot{margin-top:auto;padding-top:18px;color:#638d92;font-size:10px;letter-spacing:.2em}.galleryNote{max-width:530px;color:#abcece;font-size:13px}#play.hide{display:none!important}.actions .melee{left:83px;top:0;bottom:auto}.actions .jump{left:83px;top:auto;bottom:0}@media(max-width:700px){.actions .melee{left:49px;top:0;bottom:auto}.actions .jump{left:49px;top:auto;bottom:0}#front .screen{padding:22px 19px max(22px,env(safe-area-inset-bottom))}.frontTitle{margin-top:8vh}.menuAction{min-height:62px;font-size:16px}.selectWrap{gap:8px}.selectWrap h1{font-size:24px}.selectHero canvas{height:clamp(135px,21vh,185px)}.frontCards{gap:8px}.frontCards button{min-height:84px;padding:5px}.thumb{width:51px;height:62px}.cardText strong{font-size:13px}.cardText small{font-size:10px}.frontPrimary{min-height:52px;font-size:17px}}
.galleryFeature{width:min(440px,100%);height:clamp(140px,26vh,225px);margin:auto;border:1px solid #528b8a;border-radius:17px;background-image:url('sentinel-specials.webp');background-size:200% 200%;background-position:var(--gallery-pos,0% 0%);box-shadow:0 0 22px #3ffff52a}.galleryCards button.active{border:2px solid #62ffe8;box-shadow:0 0 16px #4cffe36a}#frontSound{position:absolute;z-index:12;right:20px;top:18px;border:1px solid #75c9c4;border-radius:8px;background:#051b24db;color:#c7fff4;padding:9px 12px;font:700 13px system-ui;cursor:pointer}#intro{overflow:hidden}#intro::before{animation:breathe 15s ease-in-out infinite!important;filter:contrast(1.08) saturate(1.18)}@keyframes breathe{0%,100%{transform:scale(1.02)}50%{transform:scale(1.12)}}#intro::after{background:linear-gradient(#020b11a0,#051b1d20 48%,#02090ed0)}.introAtmosphere{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden}.introAtmosphere::before{content:"";position:absolute;inset:-20%;background:radial-gradient(ellipse at 23% 68%,#a3bcd32c,transparent 38%),radial-gradient(ellipse at 78% 45%,#85e4d51e,transparent 42%);filter:blur(25px);animation:smokeDrift 12s ease-in-out infinite alternate}.introAtmosphere::after{content:"";position:absolute;inset:42% -30% -25%;background:linear-gradient(transparent 0 96%,#53f9e455 97%) 0 0/100% 46px,linear-gradient(90deg,transparent 0 97%,#53f9e43d 99%) 0 0/64px 100%;transform:perspective(310px) rotateX(67deg);transform-origin:bottom;opacity:.25;animation:gridPulse 3.5s ease-in-out infinite}@keyframes smokeDrift{to{transform:translate(9%,-6%) scale(1.12)}}@keyframes gridPulse{50%{opacity:.62;filter:drop-shadow(0 0 9px #60ffed)}}.visorGlow{position:absolute;inset:0;background:radial-gradient(ellipse 4% 1.4% at 17% 35%,#98fffdb0,transparent),radial-gradient(ellipse 4% 1.6% at 67% 39%,#d5a0ffb0,transparent),radial-gradient(ellipse 3% 1.2% at 90% 36%,#ffe79e8f,transparent);filter:blur(7px);mix-blend-mode:screen;opacity:.35;animation:visorPulse 4s ease-in-out infinite;pointer-events:none}@keyframes visorPulse{50%{opacity:.9;filter:blur(11px)}}#intro .entry{margin-bottom:15vh;position:relative;z-index:1}.progressWrap{width:min(760px,100%);margin:auto 0;display:flex;flex-direction:column;gap:12px;text-align:left}.progressWrap h1{font-size:clamp(25px,5vw,39px);margin:0}.progressWrap p{margin:0;color:#a6cecc}.levelGrid,.upgradeGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.levelCard,.upgradeGrid button{min-height:125px;display:flex;flex-direction:column;gap:9px;text-align:left;border:1px solid #5ba4a5;border-radius:12px;background:#06232bcf;color:#e8fff9;padding:15px;cursor:pointer}.levelCard strong,.upgradeGrid strong{font-size:15px}.levelCard span,.upgradeGrid span{font-size:13px;color:#a4c9cb}.levelCard small,.upgradeGrid small{margin-top:auto;color:#7dffde;font-size:12px}.levelCard:disabled,.upgradeGrid button:disabled,.levelCard.locked{opacity:.5;cursor:default}.upgradeHead{display:flex;justify-content:space-between;align-items:center;margin-top:12px;gap:10px}.upgradeHead h2{font-size:19px;margin:0}.upgradeHead strong{color:#ffd57e}.progressNote{font-size:13px}.resultStats{color:#b7ffee;margin:8px 0 14px;font-weight:700}#resultUpgrades{margin-bottom:10px}@media(max-width:700px){.levelGrid,.upgradeGrid{grid-template-columns:1fr}.levelCard,.upgradeGrid button{min-height:67px;padding:10px;gap:2px}.progressWrap{margin:42px 0 0}.progressWrap h1{font-size:24px}#intro .entry{margin-bottom:18vh}}@media(prefers-reduced-motion:reduce){#intro::before,.introAtmosphere::before,.introAtmosphere::after,.visorGlow{animation:none!important}}#frontSettings{position:absolute;z-index:12;left:20px;top:18px;border:1px solid #75c9c4;border-radius:8px;background:#051b24db;color:#c7fff4;padding:9px 12px;font:700 13px system-ui;cursor:pointer}.audioSettings{position:fixed;z-index:80;inset:0;display:grid;place-items:center;background:#021019d9;padding:18px}.audioPanel{width:min(420px,100%);border:1px solid #70ffe8;border-radius:17px;background:#081e29;color:#e7fff9;padding:24px;box-shadow:0 20px 70px #000b}.audioPanel h2{margin:0 0 20px;font-size:22px}.audioPanel label{display:flex;justify-content:space-between;margin:18px 0 8px;font-weight:700}.audioPanel input{width:100%;accent-color:#62e9d8;min-height:30px}.audioPanel button{margin-top:22px;width:100%;padding:12px;background:#65ecd9;border:0;border-radius:8px;color:#05232a;font-weight:900;cursor:pointer}.actions{display:grid;grid-template-columns:repeat(3,1fr);grid-template-areas:"melee shoot special" "block dash jump";align-items:center;justify-items:center;width:222px;height:148px;gap:6px}.actions button,.actions .melee,.actions .shoot,.actions .special,.actions .jump,.actions .dash,.actions .block{position:static;left:auto;right:auto;top:auto;bottom:auto}.actions .melee{grid-area:melee}.actions .shoot{grid-area:shoot}.actions .special{grid-area:special}.actions .jump{grid-area:jump}.actions .dash{grid-area:dash}.actions .block{grid-area:block}.actions .block.pressed{background:#2d9a8f;box-shadow:0 0 20px #79fff0}.upgradeHead{padding:16px;border:2px solid #66ffe6;border-radius:12px;background:#103e47;box-shadow:0 0 25px #48e8d745}.upgradeHead h2{font-size:clamp(20px,3vw,27px)}.upgradeGrid button{min-height:152px;border:2px solid #5be1ce;background:#0a303bcf}.upgradeGrid strong{font-size:17px}.upgradeCTA{margin:12px 0;padding:14px;box-shadow:0 0 23px #5bfbe577}.victoryPortrait{display:none;min-height:330px;align-self:stretch;position:relative;border:1px solid #71e2d2;border-radius:14px;background-image:radial-gradient(circle,#267d7a55,#071924 65%),var(--portrait-image,url('sentinel-specials.webp'));background-size:cover,var(--portrait-size,200% 200%);background-position:center,var(--portrait-pos,0% 0%);box-shadow:inset 0 0 45px #4fffe333,0 0 35px #30eadc33;overflow:hidden;animation:portraitReveal 5s ease-out both}.overlay.victory .victoryPortrait{display:block}.victoryPortrait span{position:absolute;left:15px;bottom:12px;color:#e7fff8;font-size:16px;font-weight:900;letter-spacing:.12em;text-shadow:0 2px 12px #000}@keyframes portraitReveal{from{transform:scale(.84);opacity:.1;filter:blur(9px)}to{transform:scale(1);opacity:1;filter:blur(0)}}@media(max-width:700px){.controller{height:160px;padding:5px 3%}.stick{transform:scale(.78);transform-origin:left center;margin-right:-27px}.actions{width:186px;height:132px;gap:4px}.actions button{width:55px;height:55px;font-size:22px}.overlay.victory .panel{grid-template-columns:1fr}.overlay.victory .victoryPortrait{grid-row:1;min-height:190px;max-height:29vh}.overlay.victory .intro h1{font-size:24px}.overlay.victory .intro p{font-size:14px}.overlay.victory .primary{font-size:15px;padding:12px}.upgradeGrid button{min-height:78px}.upgradeHead{padding:13px}}@media(prefers-reduced-motion:reduce){.victoryPortrait{animation:none}}[data-class=core] .thumb,[data-class=elite] .thumb,[data-preview=core] .thumb,[data-preview=elite] .thumb{background-image:url('new-ability-poses.webp');background-size:200% 100%}[data-class=core] .thumb,[data-preview=core] .thumb{background-position:0% 0%}[data-class=elite] .thumb,[data-preview=elite] .thumb{background-position:100% 0%}#mapScreen::before{background-image:linear-gradient(#06131bcc,#07131bea),url('gridwell-campaign-map.webp')}.progressWrap{width:min(1040px,100%);gap:13px;margin:52px auto 28px}.campaignMap{position:relative;width:100%;height:clamp(245px,42vh,390px);border:2px solid #47ccb9;border-radius:19px;background:url('gridwell-campaign-map.webp') center 52%/cover;box-shadow:inset 0 0 50px #0009,0 15px 45px #0008;overflow:hidden}.mapVignette{position:absolute;inset:0;background:linear-gradient(0deg,#031019a9,transparent 70%),linear-gradient(90deg,#0310193d,transparent 38%,#0310194d);pointer-events:none}.mapStops{position:absolute;inset:0}.mapStop{position:absolute;display:flex;flex-direction:column;align-items:center;gap:5px;border:0;background:none;color:#ebfff9;text-align:center;cursor:pointer;transform:translate(-50%,-50%);width:clamp(145px,20vw,210px);font:inherit}.mapStop:nth-child(1){left:19%;top:56%}.mapStop:nth-child(2){left:62%;top:51%}.mapStop:nth-child(3){left:88%;top:28%}.mapPin{display:grid;place-items:center;width:49px;height:49px;border:2px solid #8affeb;border-radius:50%;background:radial-gradient(circle at 35% 25%,#239e9f,#082331 70%);box-shadow:0 0 0 6px #081d2799,0 0 22px #49ffe6;color:#d4fff8;font-size:29px;font-style:normal;transition:transform .2s}.mapStop:hover .mapPin{transform:scale(1.1)}.mapLabel{display:flex;flex-direction:column;gap:2px;min-width:140px;padding:7px 11px;border:1px solid #5ce4d6;border-radius:9px;background:#061722e8;box-shadow:0 7px 18px #000a;text-shadow:0 1px 8px #000}.mapLabel strong{font-size:clamp(12px,1.6vw,17px)}.mapLabel em{font-size:11px;color:#bfdcd9;font-style:normal}.mapLabel small{font-size:11px;color:#91ffe3;font-weight:800}.mapStop:disabled,.mapStop.future{opacity:.64;cursor:default}.mapStop:disabled .mapPin,.mapStop.future .mapPin{border-color:#9c879d;box-shadow:0 0 0 6px #081d2799,0 0 17px #8b6099}.upgradeGrid button{display:flex;flex-direction:row;align-items:center;gap:12px;min-height:112px;padding:11px}.upgradeIcon{display:block;flex:none;width:75px;height:75px;background-image:url('upgrade-emblems.webp');background-size:300% 100%;background-repeat:no-repeat;filter:drop-shadow(0 0 8px #5cf6d467)}.upgradeIcon.vitality{background-position:0% 50%}.upgradeIcon.blaster{background-position:50% 50%}.upgradeIcon.ability{background-position:100% 50%}.upgradeCopy{display:flex;min-width:0;flex-direction:column;gap:6px;text-align:left}.upgradeCopy strong{font-size:15px}.upgradeCopy span{font-size:13px;color:#b9d5d2}.upgradeCopy small{font-size:13px;font-weight:800;color:#ffd377}.upgradeGrid button:disabled{opacity:.77}.upgradeGrid button:disabled .upgradeCopy small{color:#b9beb8}.overlay.defeat{background:linear-gradient(#150a16dc,#07111be8),url('menu-city.webp') center/cover}.overlay.defeat .panel{display:block;max-width:610px;border:2px solid #ff667d;box-shadow:0 0 55px #c3285680;text-align:center;padding:clamp(20px,4vw,36px)}.overlay.defeat .intro h1{font-size:clamp(36px,6vw,62px);color:#ff8e9f;text-shadow:0 0 27px #f13b6677}.overlay.defeat .intro p{font-size:17px}.overlay.defeat #start{margin:14px 0 6px;background:#ffb078;color:#261016}.overlay.defeat .upgradeCTA{background:#113a42;color:#bffff1;box-shadow:none;border:1px solid #61daca}.overlay.defeat #resultMenu{font-size:15px;padding:10px 17px;color:#e2fff7}.controller{position:relative;border:4px solid #0a807f;border-radius:30px;background:radial-gradient(ellipse at 45% 25%,#105869,#073542 70%);box-shadow:inset 0 4px 1px #75fff188,inset 0 -10px 17px #001720,0 7px 0 #022a32,0 12px 30px #00c6b533;height:192px}.controller::before{content:"";position:absolute;inset:5px;border:2px solid #49d6ce55;border-radius:23px;pointer-events:none}.stick{width:146px;height:146px;border:6px solid #062833;background:radial-gradient(circle at 45% 35%,#1c6070,#071f2e 68%);box-shadow:0 0 0 4px #14dbca,0 0 23px #00efd3a0,inset 0 7px 18px #000b}.stick::before{inset:8px;border:2px solid #60dcd099}.stickKnob{width:67px;height:67px;border:4px solid #062d35;background:radial-gradient(circle at 30% 25%,#3fb8be,#0b5162 56%,#06242d 90%);box-shadow:inset 0 3px 3px #9cfff699,inset 0 -8px 12px #001b23,0 5px 0 #021a20,0 0 14px #42ffe5}.actions{display:block;position:relative;width:216px;height:170px;flex:none}.actions button,.actions .melee,.actions .shoot,.actions .special,.actions .jump,.actions .dash,.actions .block{position:absolute;width:54px;height:54px;left:auto;right:auto;top:auto;bottom:auto;border:4px solid #043540;background:radial-gradient(circle at 32% 24%,#25899a,#0a4554 58%,#062d38 92%);color:#eafff9;text-shadow:0 0 7px #76ffe5;box-shadow:inset 0 3px 2px #a5fff57c,inset 0 -6px 8px #001820,0 5px 0 #001d26,0 0 0 3px #12bfae,0 0 16px #22f6d7;font-size:25px}.actions button:active,.actions button.pressed{transform:translateY(4px);box-shadow:inset 0 4px 10px #00171e,0 1px 0 #001d26,0 0 0 3px #53ffe6}.actions .shoot{left:81px;top:1px}.actions .melee{left:10px;top:49px}.actions .special{left:152px;top:49px}.actions .jump{left:81px;top:92px}.actions .dash{left:25px;top:119px;width:48px;height:48px;font-size:21px}.actions .block{left:143px;top:119px;width:48px;height:48px;font-size:21px}@media(max-width:700px){.progressWrap{margin:53px auto 20px}.campaignMap{height:clamp(280px,39vh,360px);background-position:center}.mapStop{width:120px}.mapStop:nth-child(1){left:22%;top:60%}.mapStop:nth-child(2){left:67%;top:53%}.mapStop:nth-child(3){left:83%;top:19%}.mapPin{width:37px;height:37px;font-size:22px}.mapLabel{min-width:105px;padding:5px}.mapLabel strong{font-size:11px}.mapLabel em{font-size:9px}.mapLabel small{font-size:9px}.upgradeGrid button{min-height:75px;gap:10px}.upgradeIcon{width:56px;height:56px}.upgradeCopy{gap:2px}.upgradeCopy strong{font-size:14px}.upgradeCopy span,.upgradeCopy small{font-size:12px}.controller{height:185px;padding:7px 3%}.stick{width:135px;height:135px;transform:scale(.76);transform-origin:left center;margin-right:-32px}.actions{width:178px;height:167px}.actions button,.actions .melee,.actions .shoot,.actions .special,.actions .jump{width:49px;height:49px;font-size:22px}.actions .shoot{left:64px;top:4px}.actions .melee{left:3px;top:50px}.actions .special{left:125px;top:50px}.actions .jump{left:64px;top:92px}.actions .dash{left:12px;top:122px;width:45px;height:45px}.actions .block{left:121px;top:122px;width:45px;height:45px}.overlay.defeat .intro h1{font-size:39px}.overlay.defeat .intro p{font-size:16px}}@media(max-width:370px){.stick{transform:scale(.68);margin-right:-43px}.actions{transform:scale(.9);transform-origin:right center;margin-left:-12px}}#menuScreen .newGame{min-height:51px;border-color:#507e82;color:#b9d5d4;font-size:16px}.audioPanel{max-height:90dvh;overflow:auto}.audioPanel h3{font-size:15px;color:#9df4e8;margin:18px 0 7px}.audioPanel .settingHelp{font-size:12px;color:#adcac8;margin:2px 0 10px}.audioPanel .settingToggle{display:flex;justify-content:flex-start;align-items:center;gap:10px}.settingToggle input{width:20px;min-height:20px}.controlRemap{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.controlRemap label{display:flex;flex-direction:column;gap:4px;margin:0;font-size:12px}.controlRemap select{width:100%;min-height:38px;border:1px solid #69b9ad;border-radius:7px;background:#0c3540;color:#e9fff8;font:700 13px system-ui}.audioPanel .devPanel{display:flex;max-width:none;margin:6px 0;padding:9px}.audioPanel .devPanel button{width:auto;margin:0}.audioPanel .devPanel label{margin:0;font-size:12px}.cinemaActions{justify-content:flex-end}.hackButton{position:absolute;right:18px;bottom:18px;z-index:8;border:2px solid #ffd978;border-radius:12px;background:#18373be8;color:#fff4c9;padding:11px 16px;box-shadow:0 0 20px #f7c75980;font:900 14px system-ui;touch-action:none;cursor:pointer}.hackButton.pressed{background:#70531b;box-shadow:0 0 22px #ffd45a}.newFragment{color:#ffd36c}.controller.blocking{box-shadow:inset 0 4px 1px #75fff188,inset 0 -10px 17px #001720,0 7px 0 #022a32,0 0 28px #72fff7}.hud #jumpStatus{color:#8bf8ec}@media(max-width:700px){.hackButton{right:9px;bottom:9px;padding:10px;font-size:12px}.controlRemap{gap:6px}.audioPanel{padding:17px}.audioPanel h3{margin-top:13px}}.moreUpgrades{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.moreUpgrades button{display:flex;align-items:center;gap:12px;min-height:97px;padding:10px;border:2px solid #4bbfaa;border-radius:12px;background:#0a303bcf;color:#e8fff9;cursor:pointer}.moreUpgrades button:disabled{opacity:.75;cursor:default}.upgradeIcon.guardIcon{background-position:0% 50%;filter:hue-rotate(45deg) drop-shadow(0 0 8px #9af8d4)}.upgradeIcon.dashIcon{background-position:100% 50%;filter:hue-rotate(235deg) drop-shadow(0 0 8px #7ef8fd)}@media(max-width:700px){.moreUpgrades{grid-template-columns:1fr}.moreUpgrades button{min-height:72px}.progressWrap{gap:9px}}
/* Gridwell menu: reference one composition over reference two atmosphere. */
#menuScreen{align-items:stretch;text-align:left;padding:30px clamp(22px,5vw,52px) max(26px,env(safe-area-inset-bottom));overflow:hidden;min-height:100dvh;background:#030a11}
#menuScreen::before{background-image:url('menu-gridwell.webp');background-position:center center;background-size:cover;animation:slowPan 22s ease-in-out infinite alternate}
#menuScreen::after{background:linear-gradient(90deg,#020910cb,#0209107a 70%,#0209109a),linear-gradient(180deg,#020811a3 0%,#020811ab 42%,#02081144 72%,#02081149 100%)}
#menuScreen .menuHeader,#menuScreen .menuContent,#menuScreen .frontFoot{width:min(600px,100%);margin-left:auto;margin-right:auto;position:relative;z-index:1}
#menuScreen .menuHeader{min-height:80px;display:flex;align-items:flex-start;color:#b8faff;font:500 clamp(15px,2vw,20px) system-ui;letter-spacing:.31em;text-shadow:0 0 13px #49e9ff77}
#menuScreen .menuContent{margin-top:clamp(24px,5vh,65px)}
#menuScreen .menuHero{margin:0;color:#ecffff;font:900 clamp(43px,9vw,76px)/.99 system-ui;letter-spacing:.015em;text-shadow:0 3px 24px #000}
#menuScreen .menuHero span,#menuScreen .menuHero strong{display:block}
#menuScreen .menuHero strong{color:#5cefe9;letter-spacing:.025em;text-shadow:0 0 25px #25ece260}
#menuScreen .menuTagline{margin:17px 0 clamp(32px,6vh,65px);color:#c3e5e9;font-size:clamp(12px,1.8vw,16px);letter-spacing:.27em}
#menuScreen .frontDeck{width:100%;margin:0;gap:10px;display:flex}
#menuScreen .menuAction{min-height:72px;width:100%;text-align:left;border:1px solid #6ddde377;background:#071720e8;color:#d9f6f7;border-radius:16px;padding:16px 22px;font:700 clamp(15px,2vw,19px) system-ui;letter-spacing:.035em;box-shadow:inset 0 0 22px #0ebdcd16,0 8px 26px #0007;transition:transform .16s,box-shadow .16s,border-color .16s}
#menuScreen .menuAction:not(:disabled):hover{transform:translateY(-2px);border-color:#6ffff0;box-shadow:0 0 22px #1ae9e450}
#menuScreen .primaryChoice{position:relative;min-height:103px;border:2px solid #9afff5;background:linear-gradient(115deg,#0c2730ef,#06131cee);box-shadow:0 0 21px #2ef7ee94,inset 0 0 25px #20f5e82c;color:#5ef8ed;padding:16px 27px}
#menuScreen .primaryChoice small{font-size:11px;letter-spacing:.26em;color:#b6f1eb;font-weight:700;margin:0 0 7px}
#menuScreen .primaryChoice strong{font-size:clamp(23px,4vw,34px)}
#menuScreen .primaryChoice i{position:absolute;right:24px;top:50%;transform:translateY(-50%);font-size:24px;font-style:normal}
#menuScreen .menuTiles{display:grid;grid-template-columns:1fr 1fr;gap:10px}
#menuScreen .menuTile{min-height:104px;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:8px}
#menuScreen .menuTile span{color:#5ff5e8;font-size:29px;line-height:1;text-shadow:0 0 15px #43e9e4}
#menuScreen .menuTile strong{font-size:clamp(14px,2vw,18px);line-height:1.22}
#menuScreen .menuRow{display:flex;align-items:center;justify-content:space-between;min-height:66px}
#menuScreen .menuRow small{color:#91aeb4;font-size:11px;letter-spacing:.12em;margin-top:5px}
#menuScreen .menuRow i{font:normal 29px system-ui;color:#8fc9cf}
#menuScreen .menuSoon{min-height:58px;border-style:dashed;color:#adc2c6;background:#06121abe;box-shadow:none;opacity:.86}
#menuScreen .menuSoon small{color:#e2bd7b;border:1px solid #bd995e;border-radius:5px;padding:4px 6px;font-weight:800;letter-spacing:.13em;margin:0}
#menuScreen .frontFoot{text-align:center;margin-top:auto;padding-top:26px;color:#a3c3c8;letter-spacing:.34em;font-size:10px;text-shadow:0 2px 8px #000}
@media(max-width:600px){#menuScreen{padding:24px 22px max(24px,env(safe-area-inset-bottom))}#menuScreen::before{background-position:center center}#menuScreen::after{background:linear-gradient(90deg,#030a12bb,#030a12ae),linear-gradient(180deg,#020912b5,#020912ab 67%,#02091255)}#menuScreen .menuHeader{min-height:76px}#menuScreen .menuContent{margin-top:clamp(18px,3vh,38px)}#menuScreen .menuHero{font-size:clamp(42px,11vw,62px)}#menuScreen .menuTagline{margin:13px 0 clamp(25px,4vh,44px);font-size:11px}#menuScreen .menuAction{padding:13px 16px;border-radius:14px}#menuScreen .primaryChoice{min-height:87px;padding:13px 18px}#menuScreen .primaryChoice strong{font-size:24px}#menuScreen .menuTile{min-height:94px}#menuScreen .menuRow{min-height:59px}#menuScreen .menuSoon{min-height:51px}#menuScreen .frontDeck{gap:9px}#menuScreen .frontFoot{font-size:9px}}
@media(max-height:740px){#menuScreen .menuHeader{min-height:45px}#menuScreen .menuContent{margin-top:12px}#menuScreen .menuTagline{margin:9px 0 18px}#menuScreen .frontDeck{gap:6px}#menuScreen .primaryChoice{min-height:70px}#menuScreen .menuTile{min-height:74px}#menuScreen .menuRow{min-height:48px}#menuScreen .menuSoon{min-height:42px}#menuScreen .menuAction{padding:8px 13px}#menuScreen .frontFoot{padding-top:10px}}

/* Portrait play view: show a larger central slice of the arena. */
@media(max-width:700px) and (orientation:portrait){#play.shell{padding:7px 8px 16px}.game{width:100%;overflow:hidden}#game{width:155%;max-width:none;height:auto;aspect-ratio:16/9;margin-left:0}.top{margin-bottom:5px}.hud{margin:6px 0;font-size:11px}.actionLegend{margin-top:5px}}

#frontSettings{left:auto;right:88px;top:18px;width:44px;height:42px;padding:0;font-size:22px;display:grid;place-items:center}
#frontSound{width:56px;height:42px;padding:0;display:grid;place-items:center}
.galleryLinks{display:flex;gap:9px;flex-wrap:wrap;justify-content:center;width:100%}.galleryLinks a{display:inline-flex;align-items:center;justify-content:center;min-height:43px;padding:10px 13px;border:1px solid #61e7dc;border-radius:8px;background:#052631e8;color:#9cfff3;font:800 12px system-ui;letter-spacing:.04em;text-decoration:none;box-shadow:0 0 13px #2fe8d934}.galleryLinks a:hover{background:#12515a}
.hackMeter{position:absolute;z-index:7;left:15px;top:15px;display:flex;align-items:center;gap:9px;padding:8px 12px;border:1px solid #e2c879;border-radius:10px;background:#071923e9;color:#fff0c6;font:800 12px system-ui;letter-spacing:.07em;pointer-events:none;box-shadow:0 0 18px #e8c05a61}.hackMeter small{font-size:10px;color:#d2b76b}.hackRing{position:relative;display:grid;place-items:center;width:56px;height:56px;flex:none;border-radius:50%;background:conic-gradient(#f8d977 var(--hack-progress,0%),#2b3940 0);box-shadow:0 0 14px #eacb6966}.hackRing::before{content:"";position:absolute;width:42px;height:42px;border-radius:50%;background:#09212b}.hackRing strong{position:relative;font-size:11px;color:#fff0c6}
@media(max-width:700px){#frontSettings{right:75px;top:12px;width:38px;height:38px}#frontSound{right:16px;top:12px;width:46px;height:38px}.hackMeter{left:7px;top:7px;padding:5px 7px;font-size:10px}.hackRing{width:46px;height:46px}.hackRing::before{width:35px;height:35px}.hackRing strong{font-size:9px}}

/* Free the campaign art from floating global controls and allow a gentle map scan. */
#front.mapOpen #frontSettings,#front.mapOpen #frontSound{display:none}
.campaignMap{background-size:auto 120%;background-position:calc(50% + var(--map-pan,0px)) 52%;touch-action:pan-y;cursor:grab}.campaignMap.dragging{cursor:grabbing}.campaignMap .mapStops{transform:translateX(calc(var(--map-pan,0px) * .25));transition:transform .08s}.mapHint{margin-top:-4px;text-align:center;color:#85bfc1;font-size:11px;letter-spacing:.17em}
#play.bossView #game{width:100%;margin-left:0}
/* Keep each character in its own square on the gallery and selection cards. */
.thumb{height:65px;background-size:205% 205%}.frontCards button[data-class="core"] .thumb,.frontCards button[data-class="elite"] .thumb,.galleryCards button[data-preview="core"] .thumb,.galleryCards button[data-preview="elite"] .thumb{background-image:url('new-ability-poses.webp');background-size:215% 105%}
.galleryCards .thumb{height:65px}
@media(max-width:700px){.thumb,.galleryCards .thumb{width:53px;height:53px}.selectHero canvas{height:clamp(170px,24vh,220px)}.mapHint{font-size:9px}}

/* Restored edition: complete map composition and uncluttered sector inspection. */
#mapScreen .progressWrap{max-width:1100px;width:94%;margin:24px auto 30px;gap:12px}
#mapScreen h1{font-size:clamp(25px,5vw,42px);margin:0}
#mapScreen .campaignMap{position:relative;height:auto;min-height:0;aspect-ratio:1672/941;background:none;overflow:hidden;cursor:default;touch-action:pan-y;border:1px solid #42797e;border-radius:16px}
.campaignArt{display:block;width:100%;height:auto}
#mapScreen .mapStops{position:absolute;inset:0;transform:none;transition:none}
.mapNode{position:absolute;transform:translate(-50%,-50%);width:42px;height:42px;border-radius:50%;border:2px solid #58ffe0;background:#052732eb;color:#dffff9;font:900 14px system-ui;box-shadow:0 0 14px #37ffe777;cursor:pointer;padding:0}
.mapNode.locked{border-color:#8b9da8;color:#ced9e1;background:#182832eb;box-shadow:none}
.mapNode[aria-pressed="true"]{outline:3px solid #ffdc8c;outline-offset:4px;background:#60491a;color:white}
.mapFog{position:absolute;inset:0 0 0 82%;background:linear-gradient(90deg,transparent,#70819180 35%,#101c2ae8),radial-gradient(ellipse at 70% 55%,#b0c1d1c9,transparent 70%);pointer-events:none}
.fogCaption{position:absolute;right:2%;bottom:7%;font:700 12px system-ui;color:#c2cedc;letter-spacing:.1em}
#mapScreen .mapHint{font-size:12px;letter-spacing:.06em;margin:0;color:#b1d6d6}
.sectorNav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.sectorNav button{display:flex;flex-direction:column;gap:5px;padding:12px;text-align:left;background:#082b35;color:#ddf8f5;border:1px solid #38616d;border-radius:9px;cursor:pointer;min-height:64px}
.sectorNav strong{font-size:14px}.sectorNav small{font-size:12px;color:#a8c8ca}
.sectorNav button[aria-pressed="true"]{border-color:#ffd889;background:#2c3434}
.sectorDetails{background:#071f2beb;border:1px solid #376771;border-radius:12px;padding:18px;text-align:left}
.sectorDetails h2{margin:0 0 6px;font-size:21px;color:#e3fff7}.sectorDetails p{font-size:14px;line-height:1.5;color:#b9d2d8;margin:8px 0}
.discoveryGrid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:14px 0}
.discoveryGrid div{padding:12px;border-radius:8px;background:#10333e}.discoveryGrid strong{display:block;font-size:23px;color:#ffdb89}.discoveryGrid span{font-size:14px}.discoveryGrid small{display:block;margin-top:7px;color:#b5d2d2;font-size:12px}
.discoveryGrid progress{display:block;width:100%;height:7px;margin-top:9px;accent-color:#64edd4}
.sectorDeploy{padding:12px 18px;border:1px solid #93ffdb;background:#76e9cd;color:#062332;font:900 14px system-ui;border-radius:8px;cursor:pointer}.sectorDeploy:disabled{background:#283942;color:#c4cfd1;border-color:#50616a;cursor:default}
#mapScreen .progressNote{font-size:14px}#mapScreen .upgradeHead{flex-wrap:wrap;gap:8px}#mapScreen .upgradeHead h2{font-size:clamp(17px,3vw,23px)}
#mapScreen .upgradeGrid button:disabled,#mapScreen .moreUpgrades button:disabled{opacity:1;border-color:#35555c}
#front .frontCards button .thumb{background-image:url('sentinel-selection-v2.webp');background-size:200% 200%;background-position:var(--pos);width:65px;height:65px;flex-shrink:0}
#front .galleryFeature{background-image:url('sentinel-selection-v2.webp');background-size:200% 200%;background-position:var(--gallery-pos,0% 0%);width:210px;height:210px}
#selectScreen .selectHero canvas{height:clamp(210px,30vh,290px);width:100%;object-fit:contain}
button:focus-visible{outline:3px solid #ffe2a0;outline-offset:3px}
@media(max-width:700px){#mapScreen .progressWrap{margin:20px auto;width:94%}.mapNode{width:29px;height:29px;font-size:12px}.mapNode[aria-pressed="true"]{outline-width:2px;outline-offset:2px}.sectorNav{grid-template-columns:repeat(2,minmax(0,1fr))}.sectorNav button{padding:10px}.fogCaption{font-size:10px}.sectorDetails{padding:14px}.discoveryGrid{gap:8px}.discoveryGrid div{padding:10px}#front .frontCards button .thumb{width:53px;height:53px}}
#front .thumb,#front .galleryFeature{clip-path:inset(2% round 8px)}

#selectScreen #heroVideo{display:block;width:min(100%,360px);height:auto;max-height:38dvh;aspect-ratio:1;object-fit:contain;margin:0 auto;border-radius:12px;background:#041725}
#selectScreen #heroPlayback{display:block;margin:8px auto;padding:8px 14px;min-height:40px;border:1px solid #548a8f;border-radius:7px;background:#0b2b37;color:#cffff6;font:700 12px system-ui;cursor:pointer}
#selectScreen .frontCards [data-class] .thumb{background-size:contain;background-position:center;background-repeat:no-repeat;clip-path:none}
#selectScreen .frontCards [data-class="core"] .thumb{background-image:url('core-idle.webp')}
#selectScreen .frontCards [data-class="elite"] .thumb{background-image:url('elite-idle.webp')}
#selectScreen .frontCards [data-class="mythic"] .thumb{background-image:url('mythic-idle.webp')}


#mapScreen .campaignMap{display:block;flex:none;width:100%;height:auto;min-height:0;aspect-ratio:auto;overflow:auto;cursor:grab;touch-action:pan-y;background:#06131b}
#mapScreen .campaignMap.dragging{cursor:grabbing}
#mapScreen .mapPlane{position:relative;height:auto;aspect-ratio:1672/941;width:max(100%,850px);min-width:850px;overflow:hidden;background:url('gridwell-campaign-map.webp') center/100% 100% no-repeat}
#mapScreen .campaignArt{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:fill;pointer-events:none;user-select:none}
#mapScreen .mapStops{position:absolute;inset:0;transform:none}#mapScreen .mapNode{width:42px;height:42px;font-size:14px}
#mapScreen .mapFog{z-index:1;pointer-events:none}#mapScreen .mapStops{z-index:2}#mapScreen .fogCaption{z-index:2}
.exitButton{position:absolute;right:16px;bottom:18px;z-index:12;min-height:48px;background:#93ffe0;color:#08272d;border:2px solid #e1fff2;border-radius:12px;padding:12px 18px;font:900 14px system-ui;cursor:pointer}

/* Six-character roster, with static portraits until replacement videos arrive. */
#selectScreen [hidden]{display:none!important}
#heroPortrait{display:block;width:min(100%,360px);height:clamp(180px,38dvh,360px);object-fit:contain;margin:auto;border-radius:12px;background:#041725}
#front .frontCards{grid-template-columns:repeat(3,minmax(0,1fr))}
#front .frontCards [data-class="founder"] .thumb,#front .galleryCards [data-preview="founder"] .thumb{background-image:url('founder-portrait.jpg');background-size:contain;background-position:center;background-repeat:no-repeat}
#front .frontCards [data-class="wraith"] .thumb,#front .galleryCards [data-preview="wraith"] .thumb{background-image:url('wraith-portrait.webp');background-size:contain;background-position:center;background-repeat:no-repeat}
#front .frontCards [data-class="blight"] .thumb,#front .galleryCards [data-preview="blight"] .thumb{background-image:url('blight-portrait.png');background-size:contain;background-position:center;background-repeat:no-repeat}
@media(max-width:700px){#front .frontCards{grid-template-columns:repeat(2,minmax(0,1fr))}.frontCards .cardText small{font-size:12px}}

.trainingStart{margin-top:12px;border:1px solid #6dadac;border-radius:9px;background:#092b36;color:#c5fff2;padding:12px 18px;font:700 14px system-ui;cursor:pointer}
.trainingGuide{display:flex;gap:12px;align-items:center;justify-content:space-between;margin-top:9px;padding:12px;background:#0b2a35;border:1px solid #63d9c5;border-radius:10px}.trainingGuide strong{color:#9affe2;font-size:16px}.trainingGuide p{margin:5px 0;font-size:14px;line-height:1.4}.trainingGuide progress{height:7px;width:100%;accent-color:#7fffcf}.trainingButtons{display:flex;gap:6px;flex-wrap:wrap}.trainingButtons button{min-height:40px;border:1px solid #5d9b9b;border-radius:7px;background:#0b3a43;color:#e1fff6;font:700 12px system-ui;padding:8px;cursor:pointer}.combatReadout{display:flex;align-items:center;gap:10px;flex-wrap:wrap;border:1px solid var(--cue,#9affe2);background:#10262d;padding:9px 12px;border-radius:8px;margin-top:8px;color:var(--cue,#9affe2)}.combatReadout strong{font-size:14px;flex:1 1 240px}.combatReadout progress{width:100px;height:8px;accent-color:var(--cue,#9affe2)}.combatReadout small{font-size:12px;color:#b6dad5}@media(max-width:700px){.trainingGuide{align-items:stretch;flex-direction:column;padding:9px;gap:5px}.trainingButtons button{flex:1}.combatReadout{gap:5px;padding:7px 9px}.combatReadout strong{flex-basis:100%}}

.sectorPreview{width:100%;max-height:220px;object-fit:cover;border-radius:12px;border:1px solid #65ddeb;margin:9px 0}.floodReadout{display:flex;flex-direction:column;gap:5px;padding:10px 12px;margin-top:8px;border:1px solid #57b5cb;border-radius:10px;background:linear-gradient(110deg,#0c3445,#08232f);color:#c5f8ff}.floodReadout strong{font-size:14px;color:#b8faff}.floodReadout span{font-size:13px;line-height:1.4}.floodAction{position:absolute;left:12px;bottom:12px;z-index:8;border:2px solid #ffdb9b;border-radius:10px;background:#163842f0;color:#fff2d8;padding:12px;font:800 14px system-ui;cursor:pointer}.floodAction:disabled{opacity:.85;cursor:default}

.frontCards button[data-class="elite"] .thumb,.frontCards button[data-preview="elite"] .thumb{background-image:url('elite-action-portrait.webp');background-size:contain;background-position:center;background-repeat:no-repeat}
.frontCards button[data-class="mythic"] .thumb,.frontCards button[data-preview="mythic"] .thumb{background-image:url('mythic-action-portrait.webp');background-size:contain;background-position:center;background-repeat:no-repeat}
.frontCards button[data-class="core"] .thumb,.frontCards button[data-preview="core"] .thumb{background-image:url('core-action-portrait.webp');background-size:contain;background-position:center;background-repeat:no-repeat}
.audioPanel{max-height:90dvh;overflow-y:auto}.saveActions{display:flex;gap:10px}.saveActions button{margin-top:8px}.saveStatus{font-size:13px;line-height:1.5;color:#bcece2}.audioPanel h3{margin:22px 0 8px;font-size:15px}.saveNote{font-size:12px;color:#add2cf}
#weaponLabSelect{max-width:100%;background:#092a37;color:#d8ffed;border:1px solid #5dbba8;border-radius:8px;padding:10px}.trainingGuide{flex-wrap:wrap}#weaponLabControls{font-size:12px} .comboReadout{margin:0 auto 8px;padding:7px 12px;border:1px solid var(--combo-color,#65ffe4);border-radius:8px;background:#031b27e8;color:var(--combo-color,#65ffe4);font:700 12px system-ui;position:absolute;top:86px;left:50%;transform:translateX(-50%);z-index:3;white-space:nowrap;pointer-events:none}.game{position:relative} 
#heroPortrait{width:min(100%,420px);height:clamp(250px,46dvh,520px);object-fit:contain;background:#041725}
#heroPortrait[hidden],#heroVideo[hidden],#heroPlayback[hidden]{display:none!important}
#heroViewMode{display:block;margin:8px auto;padding:9px 16px;border:1px solid #75b6bd;border-radius:8px;background:#092b37;color:#d7fff0;font:700 12px system-ui;min-height:42px}
[data-class="core"] .thumb,[data-preview="core"] .thumb{background-image:url(core-relic-portrait.webp)!important;background-size:cover!important;background-position:50% 28%!important}
[data-class="elite"] .thumb,[data-preview="elite"] .thumb{background-image:url(elite-relic-portrait.webp)!important;background-size:cover!important;background-position:50% 28%!important}
[data-class="mythic"] .thumb,[data-preview="mythic"] .thumb{background-image:url(mythic-relic-portrait.webp)!important;background-size:cover!important;background-position:50% 28%!important}
[data-class="founder"] .thumb,[data-preview="founder"] .thumb{background-image:url(founder-relic-portrait.webp)!important;background-size:cover!important;background-position:50% 28%!important}
[data-class="wraith"] .thumb,[data-preview="wraith"] .thumb{background-image:url(wraith-relic-portrait.webp)!important;background-size:cover!important;background-position:50% 28%!important}
[data-class="blight"] .thumb,[data-preview="blight"] .thumb{background-image:url(blight-relic-portrait.webp)!important;background-size:cover!important;background-position:50% 28%!important}

/* V44: independent phone scrolling and map panning. */
html,body{max-width:100%;overflow-x:hidden}#front{display:block;overflow-y:auto;overflow-x:hidden;touch-action:pan-y}.screen{width:100%;min-width:0;max-width:100%}#mapScreen{height:auto;min-height:100dvh;overflow:visible;padding:12px}.progressWrap{width:100%;max-width:1040px;min-width:0;margin:55px auto 28px;flex-shrink:0}.progressWrap>*{min-width:0;max-width:100%;flex-shrink:0}#mapScreen .campaignMap{width:100%;max-width:100%;overflow-x:auto;overflow-y:hidden;touch-action:pan-y}.mapPlane{width:850px;min-width:850px;max-width:none}.upgradeCopy{min-width:0;flex:1;overflow-wrap:anywhere}.upgradeGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.sectorPreview{width:100%;height:auto}#mapBack{position:sticky;bottom:10px;z-index:3}.upgradeHead{flex-wrap:wrap}#comboReadout{left:7px;bottom:7px;top:auto;transform:none;font-size:10px;max-width:90%;pointer-events:none}#observatoryAction{position:absolute;z-index:9;right:8px;bottom:8px;max-width:65%;border:1px solid #ffdb8c;background:#192639ed;color:#ffecb4;padding:10px;border-radius:9px;font-weight:bold}.artifactCard{padding:14px;border:1px solid #ddc587;background:#14273be8;border-radius:10px;color:#ffebb9}.artifactCard p{margin:5px 0}.observatoryMap{position:absolute;left:170px;top:165px;z-index:3;font-size:11px;border:1px solid #e8c885;background:#101c32;color:#ffe4ac;padding:5px;border-radius:8px}@media(max-width:700px){.upgradeGrid{grid-template-columns:1fr}#comboReadout{font-size:9px}.progressWrap h1{font-size:24px}}

#foundryChamberPanel{position:fixed;z-index:45;inset:8% 6%;background:linear-gradient(135deg,#111d24f5,#241b21f5);border:2px solid #70ead7;border-radius:18px;padding:18px;color:#e6f9f3;overflow:auto;box-shadow:0 0 45px #31cdb633;touch-action:manipulation}
#foundryChamberPanel h2{margin:0 0 8px;font-size:clamp(16px,3vw,24px)}
#foundryChamberPanel p{font-size:clamp(12px,2vw,16px);margin:8px 0}
#foundryChamberPanel button{min-height:48px;border:1px solid #74d7c9;border-radius:8px;background:#15332f;color:#eafff8;padding:10px;margin:4px;font-weight:bold;touch-action:none}
#foundryChamberPanel button:disabled{opacity:.45}
#foundryHeat{display:block;width:100%;height:18px;accent-color:#f8a16b}
#foundryChamberStatus{min-height:32px;color:#ffd899}
#foundrySecretAction{position:absolute;z-index:12;left:50%;top:28%;transform:translateX(-50%);border:1px solid #79ffe3;background:#132b29ee;color:#baffed;border-radius:9px;padding:12px}
.comboReadout{top:8px;right:8px;left:auto;transform:none;max-width:48%;white-space:normal;text-align:right;font-size:11px;padding:5px 8px;line-height:1.35}@media(max-width:700px){.comboReadout{max-width:45%;font-size:9px;top:6px;right:6px}}#weaponLabOpponent{border:1px solid #d2a5ff;border-radius:8px;padding:9px;background:#251b39;color:#ead4ff;margin:6px}.actions button .controlIcon{display:block;font-size:21px;line-height:22px;pointer-events:none}.actions button .controlName{display:block;font-size:8px;font-weight:900;line-height:11px;letter-spacing:.02em;pointer-events:none}.actions button{padding:2px}.actions .dash .controlIcon,.actions .block .controlIcon{font-size:18px;line-height:19px}@media(max-width:700px){.actions button .controlIcon{font-size:18px;line-height:20px}.actions button .controlName{font-size:7px;line-height:9px}}
.actions button.charging{box-shadow:0 0 15px #87efff;border-color:#b7ffff;background-image:conic-gradient(from -90deg,#93f5ff88 var(--charge),#11283622 0)}.actions button.chargeReady{border-color:#edffb0;box-shadow:0 0 22px #d9ff8e}.actions button.chargeReady .controlName{color:#edffb0}
/* v62: keep the viewport and pad together; detail panels follow both. */
.hud{align-items:center;font-size:11px;gap:4px 12px;margin:6px 0}.hud progress{width:92px;height:10px;accent-color:#62f5c7;vertical-align:middle}.hud .lowHealth62{accent-color:#ff667f}.actions button.reloading{border-color:#ffac70;box-shadow:0 0 12px #ff8449}.actions button[data-key="shoot"]{background-image:conic-gradient(from -90deg,#ffa36b66 var(--heat,0deg),#0a4554 0)}.actions button.guardLatched{box-shadow:0 0 20px #98fff2;border-color:#a6ffed}#weaponLabControls{display:flex;flex-wrap:wrap;gap:6px;align-items:center}#weaponLabControls select{max-width:100%;flex:1;min-width:145px}#weaponLabOpponent{display:none}#labMoves62{font-size:12px;color:#b9ddd6}#labMoves62 summary{cursor:pointer;font-weight:700}#labMoves62 p{font-size:12px}.trainingGuide{margin-top:12px}#play .top{margin-bottom:5px}
@media(max-width:650px){#play{padding:6px}.hud{font-size:10px;gap:3px 9px}.hud>div:nth-last-child(-n+3){display:none}.controller{height:166px}.actions{transform:scale(.88);transform-origin:right center;height:150px}.stick{width:112px;height:112px}#play .brand{font-size:17px}.topButtons{gap:3px}.topButtons button{font-size:10px;padding:6px}#play .help,#play .actionLegend{font-size:10px}.trainingGuide{padding:9px}.trainingGuide p{font-size:12px}#game{max-height:max(140px,calc(100dvh - 250px));object-fit:contain}}

#mapContinue66{position:sticky;bottom:12px;z-index:3;box-shadow:0 0 25px #5affe766}
#resultShowcase66{display:grid;grid-template-columns:minmax(100px,180px) 1fr;gap:16px;align-items:center;text-align:left;margin:10px 0}
#resultShowcase66.hide{display:none}#resultPortrait66{width:100%;height:200px;object-fit:cover;object-position:50% 20%;border-radius:15px;border:1px solid #6ae9d6;box-shadow:0 0 25px #56e5d333;animation:resultReveal66 .6s ease-out}
#resultBadges66 span{display:block;border-left:3px solid #ffd889;background:#123336;padding:9px;margin:6px 0;font-size:13px}
#resultStats{white-space:pre-line;line-height:1.7}.overlay .panel{max-height:90%;overflow:auto}.overlay .panel .intro{padding:20px}
#foundryChamberPanel{inset:3% max(3%,calc((100% - 850px)/2));padding:14px;background:radial-gradient(ellipse at top,#29434a,#101a20 65%)}
#thermalCanvas66{display:block;width:min(100%,530px);height:auto;max-height:50vh;object-fit:contain;margin:auto;background:radial-gradient(ellipse,#29434b77,transparent 70%)}
@keyframes resultReveal66{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:500px){#resultPortrait66{height:150px}#resultShowcase66{grid-template-columns:110px 1fr;gap:8px}#resultBadges66 span{font-size:11px;padding:6px}}

/* v67: single-column results and always reachable thermal controls. */
#overlay .panel{grid-template-columns:1fr;width:min(740px,100%)}
.resultActions67{display:flex;flex-wrap:wrap;gap:8px;position:sticky;bottom:0;background:#071e28;padding:10px 0;z-index:2}
.resultActions67 button{flex:1 1 220px;min-height:48px;margin:0}#start{order:-1}
#mapBack{position:static}#mapContinue66{bottom:12px}
.thermalControls67{position:sticky;bottom:0;background:#101d24f5;border-top:1px solid #69d8c599;padding:8px 0;z-index:2}
.thermalRoutes67{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}
#foundryChamberPanel .thermalControls67 button{margin:0;padding:9px 5px;min-width:0;min-height:48px}
#foundryChamberExit{width:100%;margin-top:6px!important}#thermalCanvas66{max-height:38dvh}
@media(max-width:500px){.thermalRoutes67{grid-template-columns:repeat(2,minmax(0,1fr))}#foundryChamberPanel{inset:2% 3%;padding:10px}#thermalCanvas66{max-height:32dvh}#foundryChamberStatus{font-size:12px;line-height:1.3}#overlay .panel .intro{padding:8px}.resultActions67 button{flex-basis:100%}}
@media(prefers-reduced-motion:reduce){#resultPortrait66,.overlay::after{animation:none}}

#stormAction,#skyVault68{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);z-index:12;max-width:85%;font-size:clamp(11px,2vw,16px);padding:10px 14px;min-height:44px}
#foundryChamberPanel button[aria-pressed=true]{border-color:#ffe498;background:#315650;box-shadow:0 0 14px #73efd433}

#shieldBar69{width:105px;height:10px;accent-color:#54eaff;border-radius:6px}#shieldBar69.aegis69{accent-color:#c592ff;filter:drop-shadow(0 0 5px #c58cff)}
#secretAction71{position:absolute;bottom:16px;left:16px;z-index:8;padding:12px 17px;max-width:75%;font-size:13px;border:2px solid #83e9ff;border-radius:12px;background:#092333ee;color:#dffffa;touch-action:manipulation}
.runTools73{display:flex;gap:7px;margin:8px 0}.runTools73 button{flex:1;min-width:0;padding:10px 5px;font-size:12px;touch-action:manipulation}.playerPanel73{position:fixed;inset:0;z-index:90;background:#020b14eF;display:grid;place-items:center;padding:16px;overflow:auto}.playerPanel73 .panel73{width:min(760px,100%);max-height:90dvh;overflow:auto;background:#08222d;border:1px solid #5dada9;border-radius:18px;padding:20px;color:#e4fff7}.panel73 h2{font-size:24px}.panel73 h3{margin:24px 0 10px;color:#a9f1e3}.panel73 button{padding:12px;margin:5px 0}.inventoryGrid73{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.inventoryGrid73 article{padding:14px;border:1px solid #537c86;border-radius:10px;background:#041722}.inventoryGrid73 strong,.inventoryGrid73 small{display:block}.inventoryGrid73 small{color:#8bcbbf;margin:6px 0}.inventoryGrid73 p{font-size:14px;line-height:1.5}.inventoryGrid73 .sealed73{opacity:.65}.inventoryGrid73 .owned73{border-color:#bd9c5c}.inventoryGrid73 .itemWhere73{color:#a7c3cd}.inventoryHead73{display:flex;justify-content:space-between;align-items:center;position:sticky;top:-20px;background:#08222d;gap:10px;padding:8px 0}.inventorySummary73{color:#aadfd5}.playerPanel73.hide{display:none!important}

.spearCrop74{clip-path:polygon(0 0,100% 0,100% 75%,65% 100%,0 100%)}.itemArt74{height:142px;position:relative;display:grid;place-items:center;margin:-2px 0 12px;overflow:hidden;border-radius:9px;background:radial-gradient(ellipse at 50% 62%,#1d4b5d99,transparent 68%)}.itemFloat74{display:grid;place-items:center;width:112px;height:116px;position:relative;z-index:1;transform-origin:50% 65%;filter:drop-shadow(0 0 6px #a5fff855)}.itemFloat74 svg{width:112px;height:112px}.itemCrop74{display:block;position:relative;overflow:hidden;max-width:108px;max-height:116px;height:116px;width:auto}.itemCrop74 img{position:absolute;display:block;pointer-events:none}.itemHalo74{position:absolute;width:88px;height:22px;border:1px solid #8ffff555;border-radius:50%;bottom:8px;background:#64ffdc12;box-shadow:0 0 18px #52ffe622}.itemAwake74 .itemFloat74{animation:itemHover74 4s ease-in-out infinite}.itemAwake74 .itemHalo74{animation:itemGlow74 4s ease-in-out infinite}.inventoryGrid73 article:nth-child(2n) .itemFloat74,.inventoryGrid73 article:nth-child(2n) .itemHalo74{animation-delay:-1.3s}.inventoryGrid73 article:nth-child(3n) .itemFloat74,.inventoryGrid73 article:nth-child(3n) .itemHalo74{animation-delay:-2.5s}.itemDormant74 .itemFloat74{filter:grayscale(.9);opacity:.5}.itemDormant74 .itemHalo74{opacity:.3}@keyframes itemHover74{0%,100%{transform:translateY(3px) rotate(-2deg)}50%{transform:translateY(-5px) rotate(2deg)}}@keyframes itemGlow74{0%,100%{opacity:.4;transform:scaleX(.85)}50%{opacity:.95;transform:scaleX(1.1)}}@media(prefers-reduced-motion:reduce){.itemAwake74 .itemFloat74,.itemAwake74 .itemHalo74{animation:none!important}}
#puzzleCanvas75{width:100%;height:auto;touch-action:manipulation;border:1px solid #416b7c;border-radius:12px;background:#05121c}#puzzleControls75{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}#puzzleControls75 button{font-size:12px;padding:9px 4px}#shieldNotice75{position:fixed;left:50%;top:34%;transform:translateX(-50%);z-index:85;max-width:90%;padding:15px 20px;background:#321822ed;color:#ffcfba;border:2px solid #ff8869;border-radius:12px;text-align:center;font-weight:800;pointer-events:none;box-shadow:0 0 25px #ff603655}.shieldEmpty75{border-color:#ba7462!important;color:#ffbc9f!important}.shieldWarning75{animation:shieldFail75 .2s ease-in-out 5 alternate!important}@keyframes shieldFail75{to{background:#803529;transform:scale(.95)}}.runTools73 button{background:#0b333f;border:1px solid #448b8d;border-radius:12px;color:#d9fff7}
.transition76{position:fixed;inset:0;z-index:2000;display:grid;place-items:center;padding:22px;background:radial-gradient(ellipse at center,#20243dea,#020c14fa 72%);backdrop-filter:blur(9px);animation:signal76 .85s ease-out both;color:#d9f8f3;text-align:center}.transition76.hide{display:none}.transition76>div{width:min(530px,90vw);padding:28px;border:1px solid #60dacb66;border-radius:20px;box-shadow:0 0 70px #61d9cb18}.transition76 h2{font-size:clamp(25px,6vw,42px);letter-spacing:.08em}.transition76 p{line-height:1.6}.transition76 button{display:block;width:100%;margin-top:18px;min-height:56px}.transition76 button:disabled{opacity:.4}.transition76 img{height:190px;max-width:85%;object-fit:contain;filter:saturate(.45) drop-shadow(0 0 18px #ad6dff66)}.eyebrow76{color:#9b82cb;letter-spacing:.22em;font-size:12px}@keyframes signal76{from{opacity:0;transform:scale(1.025)}to{opacity:1;transform:scale(1)}}@media(prefers-reduced-motion:reduce){.transition76{animation:none;backdrop-filter:none}}

/* v77: a landscape combat stage with transparent, multitouch controls. */
body.playing77{height:100dvh;width:100%;overflow:hidden;background:#02080d;overscroll-behavior:none;user-select:none;-webkit-user-select:none}body.playing77 #play{position:fixed;inset:0;width:100%;height:100dvh;max-width:none;margin:0;padding:0;overflow:hidden;background:radial-gradient(ellipse,#102a33,#02080d)}#play>.top,#play>.hud,#play>.actionLegend,#play>.help{display:none!important}#play>.game{position:absolute;inset:0;border:0;border-radius:0;box-shadow:none;background:transparent}#game{width:100%;height:100%;aspect-ratio:auto;object-fit:contain}#play>.controller{position:absolute;inset:0;z-index:20;width:100%;height:100%;padding:0;border:0;background:none;box-shadow:none;border-radius:0;pointer-events:none}#play .stick{position:absolute;left:max(22px,env(safe-area-inset-left));bottom:max(22px,env(safe-area-inset-bottom));width:clamp(100px,26dvh,145px);height:clamp(100px,26dvh,145px);border:1px solid #b3fff34d;background:#08333b35;box-shadow:inset 0 0 28px #7ffff516,0 0 10px #08141d55;opacity:.55;pointer-events:auto;touch-action:none}#play .stick::before{inset:15%;border-color:#c4fff12b}#play .stickKnob{width:43%;height:43%;border:1px solid #c9fff88f;background:#6ce8d938;box-shadow:none}#play .stick.active{opacity:.9}#play .actions{position:absolute;right:max(18px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom));width:250px;height:210px;pointer-events:none}#play .actions button{width:58px;height:58px;min-width:0;padding:0;border:1px solid #dbfff56e;background:#12353b49;box-shadow:inset 0 0 18px #9ffffb0a,0 3px 12px #0003;opacity:.5;color:#f1fffc;pointer-events:auto;touch-action:none;transition:opacity .1s,background .1s;transform:none;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:0}#play .actions button.pressed{opacity:1;background:#a1fff34d;border-color:#f3fffa;transform:scale(.95)}#play .actions .controlIcon{font:600 24px system-ui;line-height:1.1}#play .actions .controlName{font:700 8px system-ui;letter-spacing:.05em}#play .actions .melee{left:88px;top:77px;bottom:auto;width:76px;height:76px;border-color:#d9fff7aa;background:#265b614d;opacity:.67}#play .actions .melee .controlIcon{font-size:31px}#play .actions .shoot{left:178px;top:38px}#play .actions .special{left:91px;top:0;right:auto;width:66px;height:66px}#play .actions .jump{left:176px;top:126px}#play .actions .dash{left:76px;top:156px;width:52px;height:52px}#play .actions .block{left:12px;top:99px;width:52px;height:52px}#play .actions .ultimate77{border-color:var(--specialColor,#c0a2ff);box-shadow:0 0 18px color-mix(in srgb,var(--specialColor,#c0a2ff) 25%,transparent);opacity:.7}#play .actions .ready77{background:radial-gradient(circle,#e7f8ff25,#14293833)}#play .actions button[data-cooldown]:not([data-cooldown=""])::after{content:attr(data-cooldown);position:absolute;inset:0;display:grid;place-items:center;border-radius:50%;background:#03101bc9;color:#dcf8f5;font:700 15px system-ui}#play .actions .empty77{border-color:#ff7b8760;color:#ffb3b7}#hud77{position:absolute;left:max(16px,env(safe-area-inset-left));top:max(10px,env(safe-area-inset-top));z-index:23;pointer-events:none;width:210px;color:#effffb;text-shadow:0 1px 5px #000}.heroChip77{display:flex;align-items:center;gap:6px}.heroChip77 img{width:38px;height:45px;object-fit:contain;filter:drop-shadow(0 0 6px #75e5cc44)}.heroChip77>div{flex:1;min-width:0}#hudName77{display:block;font:700 9px system-ui;letter-spacing:.04em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:180px;margin-bottom:4px}#hud77 progress{display:block;width:155px;height:7px;border:0;border-radius:5px;overflow:hidden;background:#08131c9c;margin:3px 0;appearance:none}#hud77 progress::-webkit-progress-bar{background:#07131b9c}#hp77::-webkit-progress-value{background:linear-gradient(90deg,#43cbb6,#d1fff2)}#guard77::-webkit-progress-value{background:linear-gradient(90deg,#6b83dc,#c3b3ff)}#hp77::-moz-progress-bar{background:#7af1cf}#guard77::-moz-progress-bar{background:#a99aeb}#hudSupplies77{display:block;margin:1px 0 0 45px;font:600 9px system-ui;color:#c5ddd8}#play>.runTools73{position:absolute;right:max(16px,env(safe-area-inset-right));top:max(9px,env(safe-area-inset-top));display:flex;width:auto;gap:5px;z-index:25;padding:0;margin:0;background:none}#play>.runTools73 button,#tools77 button{padding:5px 7px;min-height:29px;border:1px solid #b7e3dc3b;border-radius:8px;color:#e3f5f0;background:#061b2985;font:700 9px system-ui}#tools77{position:absolute;z-index:25;right:max(16px,env(safe-area-inset-right));top:max(45px,calc(env(safe-area-inset-top) + 37px));display:flex;gap:5px}#tools77 button{font-size:18px;width:33px;padding:1px}#combatReadout{position:absolute;z-index:15;top:12px;left:32%;width:35%;max-width:370px;padding:4px 7px;background:#03121b77;border:0;font-size:10px}#combatReadout small{display:none}#combatReadout progress{height:3px}#play #comboReadout{left:25%;bottom:23%;font-size:11px;max-width:45%;background:#03131b66}#play .floodAction,#play #observatoryAction,#play #foundrySecretAction,#play #secretAction71,#play #exitButton,#play #hackButton{left:50%!important;right:auto!important;bottom:12%!important;top:auto!important;transform:translateX(-50%);max-width:38%;width:auto;font-size:11px;padding:10px 14px;min-height:38px;z-index:30;background:#082330cc;border-width:1px;border-radius:10px}#play #hackMeter{left:50%;bottom:24%;transform:translateX(-50%);font-size:10px}#play #secretReturn71{top:85px!important;right:12px!important;font-size:9px!important;max-width:130px}#play #shieldNotice75{top:75px;bottom:auto;font-size:11px}#play #devPanel{position:absolute;bottom:0;left:25%;z-index:30}#castBanner77{position:absolute;z-index:16;top:19%;left:50%;transform:translateX(-50%);pointer-events:none;font:800 clamp(13px,2vw,23px) system-ui;letter-spacing:.19em;color:#effff9;text-shadow:0 0 15px #88ffe8,0 2px 9px #00111b;white-space:nowrap;animation:castReveal77 .4s ease-out both}#rotate77{position:fixed;inset:0;z-index:3000;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;background:radial-gradient(circle,#173a49,#020b13 75%);color:#d9fff4;padding:25px}#rotate77 h2{letter-spacing:.15em;font-size:23px}#rotate77 p{font-size:14px;line-height:1.7;color:#9ec9c3}#rotate77 button{padding:12px 22px;margin:8px;border:1px solid #65b9ae;background:#10343c;color:#e1fff5;border-radius:9px}.rotateIcon77{font-size:65px;color:#76f6d5}#missionBody77 .floodReadout,#missionBody77 .trainingGuide{position:static!important;margin:12px 0;width:100%;background:#0d2532;border:1px solid #3e5d67}#missionBody77 .trainingGuide{display:block}#missionBody77 #weaponLabControls{display:flex;flex-wrap:wrap;gap:7px}#missionBody77 select{max-width:100%;min-height:40px}#missionBody77 .trainingButtons{margin-top:12px}.playerPanel73 .panel73{max-height:92dvh;overflow:auto}#play .overlay{z-index:70}.overlay .panel{max-height:90dvh}#mastery77{margin:18px 0;padding:18px;border:1px solid #86adbe60;border-radius:15px;background:linear-gradient(120deg,#112735,#141c32)}.masteryHead77{display:flex;justify-content:space-between;gap:12px;align-items:center}.masteryHead77 h2{font-size:18px;margin:5px 0}.masteryHead77 small{letter-spacing:.14em;color:#80f7d9;font-size:10px}.masteryHead77 select{padding:11px;border-radius:7px;background:#10222e;color:#fff;border:1px solid #53777a}.masteryGrid77{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:15px 0}.masteryGrid77 button{display:flex;text-align:left;align-items:center;gap:10px;padding:12px;border:1px solid #75c0b777;border-radius:10px;background:#142e3f;color:#e0fff6}.masteryGrid77 img{width:50px;height:65px;object-fit:contain}.masteryGrid77 p{font-size:12px;color:#adc7ca}.masteryGrid77 small{color:#e7dca4}.masteryGrid77 button:disabled{opacity:.6}#mastery77>small{display:block;color:#a2bac3;line-height:1.5}@keyframes castReveal77{from{opacity:0;letter-spacing:.4em}to{opacity:1;letter-spacing:.19em}}@media(max-height:430px){#play .actions{transform:scale(.84);transform-origin:bottom right;right:14px;bottom:8px}#play .stick{width:108px;height:108px;bottom:17px}#hud77{transform:scale(.9);transform-origin:top left}#play .floodAction,#play #exitButton,#play #hackButton{bottom:9%!important;font-size:10px;padding:7px 10px}.overlay .panel{padding:12px}.resultActions67{gap:5px}.resultShowcase66 img{max-height:100px}#resultPortrait66{max-height:110px}#mastery77{padding:12px}.masteryGrid77 button{padding:8px}.masteryGrid77 img{width:35px;height:45px}}@media(max-width:600px){.masteryGrid77{grid-template-columns:1fr}.masteryHead77{flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){#castBanner77{animation:none}}

/* Geometry overrides apply only after a layout is saved or while editing it. */
#play.customTouch78 .actions{inset:0!important;width:100%!important;height:100%!important;transform:none!important;transform-origin:center!important}#play.customTouch78 .stick,#play.customTouch78 .actions button{position:absolute;flex:none;max-width:none;max-height:none}#play.customTouch78 .actions button.pressed,#play.customTouch78 .stick.active{opacity:1!important}#play.customTouch78 .actions button.pressed{background:#7af8df55!important}#play.customTouch78 .actions .melee .controlIcon{font-size:clamp(20px,4dvh,31px)}#play.customTouch78 .stickKnob{width:43%;height:43%}#controlEditor78{position:fixed;inset:0;z-index:2602;pointer-events:none;background:linear-gradient(#020d1699,transparent 45%)}.touchToolbar78{position:absolute;top:max(6px,env(safe-area-inset-top));left:max(10px,env(safe-area-inset-left));right:max(10px,env(safe-area-inset-right));pointer-events:auto;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;background:#071925ee;border:1px solid #79d6c582;border-radius:14px;box-shadow:0 8px 30px #0008;color:#e4fff6}.touchToolbar78>div:first-child{max-width:220px}.touchToolbar78 small{display:block;font:700 9px system-ui;letter-spacing:.15em;color:#8cead1}.touchToolbar78 strong{font-size:15px;display:block}.touchToolbar78 p{font-size:10px;line-height:1.4;color:#b0c5c9;margin:5px 0}.touchToolbar78 label{font:700 9px system-ui;display:flex;flex-direction:column;gap:3px;max-width:150px;min-width:80px}.touchToolbar78 output{font-size:10px;color:#9affdd}.touchToolbar78 input{width:100%;accent-color:#73edcd;min-height:26px}.touchToolbar78 select{background:#12323e;color:#e3fff5;border:1px solid #517a7d;border-radius:6px;padding:7px;max-width:140px}.touchEditActions78{display:flex;gap:5px;flex-wrap:wrap;max-width:180px}.touchEditActions78 button{background:#173541;color:#d5ede9;border:1px solid #628486;border-radius:7px;padding:8px 10px;min-height:36px;font:800 10px system-ui}.touchEditActions78 #touchSave78{background:#78edcd;color:#05221f;border-color:#baffea}.editingTouch78 #play>.runTools73,.editingTouch78 #tools77,.editingTouch78 #hud77,.editingTouch78 #play .game>button{visibility:hidden!important}.editingTouch78 #play>.controller{z-index:2501}.editingTouch78 #play .actions button,.editingTouch78 #play .stick{outline:1px dashed #b2fff4a0;outline-offset:5px;cursor:move}.editingTouch78 #play .selectedTouch78{outline:2px solid #f4dd8c!important;outline-offset:5px;box-shadow:0 0 22px #ffe09c55!important}.editingTouch78 #play .actions button::after{display:none!important}.editingTouch78 #play .actions button{transition:none!important}.editingTouch78 #play .stick::after{content:'DRAG';position:absolute;bottom:5px;left:0;right:0;text-align:center;font:700 9px system-ui;color:#f4ffef;pointer-events:none}@media(max-height:430px){.touchToolbar78{gap:8px;padding:7px 10px}.touchToolbar78>div:first-child{max-width:150px}.touchToolbar78 strong{font-size:12px}.touchToolbar78 p{font-size:9px}.touchToolbar78 label{max-width:115px;min-width:65px}.touchEditActions78{max-width:140px}.touchEditActions78 button{padding:6px;min-height:32px;font-size:9px}}@media(max-width:650px){.touchToolbar78{flex-wrap:wrap}.touchToolbar78>div:first-child{display:none}.touchEditActions78{max-width:none;flex-wrap:nowrap}.touchToolbar78 select{max-width:110px}}

/* v79: readable vitals, filled action glyphs and landscape-safe panels. */
#hud77{box-sizing:border-box;width:clamp(220px,28vw,290px);padding:7px 9px;border:1px solid #a5d7e755;border-radius:12px;background:#020e1c8c;box-shadow:0 3px 15px #0004}#hud77 .heroChip77{gap:9px}#hud77 .heroChip77 img{width:43px;height:64px}#hud77 .heroChip77>div{flex:1;min-width:0}#hud77 #hudName77{max-width:230px;font-size:9px;margin-bottom:5px;color:#f6ffff}#hud77 progress{width:100%;height:19px;margin:0;border:1px solid #e5f5ffb3;border-radius:5px;background:#07111e;box-sizing:border-box}#hud77 .vitalRow79{position:relative;margin:4px 0;height:19px}#hud77 .vitalRow79>span{position:absolute;inset:0;z-index:1;display:flex;align-items:center;padding-left:7px;font:800 10px system-ui;letter-spacing:.06em;color:#fff;text-shadow:0 1px 3px #000,1px 0 2px #000;pointer-events:none}#hud77 progress::-webkit-progress-bar{background:#0b1726}#hud77 #hp77::-webkit-progress-value{background:linear-gradient(90deg,#be293f,#fb536b)}#hud77 #guard77::-webkit-progress-value{background:linear-gradient(90deg,#1357b3,#369ef8)}#hud77 #hp77::-moz-progress-bar{background:#e13a54}#hud77 #guard77::-moz-progress-bar{background:#217de3}#hud77.healthCritical79{border-color:#ff8f9b;box-shadow:0 0 15px #fa244533}#hud77.shieldDepleted79 #guard77{border-color:#a5a9af;border-style:dashed}#hud77.shieldDepleted79 #shieldLabel79{color:#ffcf97}#hud77 #hudSupplies77{font-size:9px;color:#ecf6ff;margin-left:52px}#play #combatReadout{left:50%;transform:translateX(-50%);width:26%;max-width:360px;font-size:10px}#play .actions .controlIcon svg{display:block;width:28px;height:28px;filter:drop-shadow(0 1px 2px #0007)}#play .actions .melee .controlIcon svg{width:33px;height:33px}#play .actions button{background:#17465088;border-color:#d5fff68c}#play .actions button.pressed{background:#60c8b9c9}#play #hackButton{top:auto!important;bottom:8%!important;left:50%!important;right:auto!important;width:146px!important;max-width:26%!important;min-height:34px;padding:7px 10px;font:800 10px system-ui;letter-spacing:.03em;border:1px solid #e7c877;border-radius:9px;background:#102b36ed;box-shadow:0 2px 10px #0008}#play #hackMeter{top:auto!important;bottom:calc(8% + 40px)!important;left:50%!important;right:auto;transform:translateX(-50%);width:146px;height:28px;box-sizing:border-box;gap:6px;padding:3px 7px;font-size:8px;border:1px solid #b7d8d966;background:#071923ed;box-shadow:none;border-radius:7px}#hackMeter .hackRing{width:21px;height:21px}#hackMeter .hackRing::before{width:17px;height:17px}#hackMeter .hackRing strong{font-size:6px}#hackMeter small{font-size:7px;line-height:1.1}#hackMeter>span:last-child{line-height:1.15}#trialHud79{position:absolute;z-index:26;left:50%;top:65px;transform:translateX(-50%);max-width:38%;padding:6px 10px;border:1px solid #a7c8db70;border-radius:7px;background:#071623e6;color:#dff7ff;font:700 10px system-ui;text-align:center;pointer-events:none}#trialHud79.trialComplete79{border-color:#99ffd1;color:#c7ffe4}#death76{padding:max(12px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;place-items:center}#death76>div{display:grid;grid-template-columns:minmax(100px,34%) minmax(0,1fr);align-items:center;gap:22px;width:min(720px,94vw);max-height:calc(100dvh - 28px);overflow-y:auto;padding:18px 26px;box-sizing:border-box;background:linear-gradient(120deg,#1b2039,#06151ff2);text-align:left}#death76 #deathPortrait76{height:min(220px,65dvh);max-width:100%;width:100%;margin:0;object-fit:contain}#death76 .deathCopy79{min-width:0}#death76 .eyebrow76{font-size:10px;margin:0 0 7px}#death76 h2{font-size:clamp(22px,4vw,36px);line-height:1.05;margin:7px 0 12px;letter-spacing:.035em}#death76 p{font-size:12px;margin:8px 0;line-height:1.4}#death76 #deathContinue76{margin-top:16px;min-height:44px;max-width:340px;border-radius:9px;background:#84e8d1;color:#062026;font:800 13px system-ui;box-shadow:0 0 22px #66dfca33}#death76 #deathContinue76:disabled{background:#233c4b;color:#c7dadf;opacity:.75}#play #overlay{overflow-y:auto;touch-action:pan-y;overscroll-behavior:contain;padding:12px;align-items:start}#play #overlay>.panel{max-height:calc(100dvh - 24px);overflow-y:auto;margin:auto;padding:18px;width:min(700px,96vw)}#play #overlay .intro h1{font-size:clamp(22px,5vw,36px);margin:6px 0}#play #overlay .intro p{font-size:12px;margin:7px 0}#play #overlay .resultActions67{gap:6px}#play #overlay .resultActions67 button{min-height:38px;padding:7px;font-size:11px}@media(max-height:340px){#death76>div{gap:14px;padding:12px 18px}#death76 #deathPortrait76{height:62dvh}#death76 h2{font-size:23px}#death76 p{font-size:11px}#death76 #deathContinue76{margin-top:10px;min-height:40px}#hud77{padding:4px 7px;width:220px}#hud77 .heroChip77 img{height:55px;width:35px}#hud77 progress,#hud77 .vitalRow79{height:17px}#hud77 .vitalRow79>span{font-size:9px}}

/* v80: landscape command panels, inspired by the supplied pause concept. */
.playerPanel73{background:radial-gradient(ellipse at 30% 10%,#1b2938b8,#030a13dd 80%);backdrop-filter:blur(12px);padding:max(12px,env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left));overflow-y:auto;touch-action:pan-y;overscroll-behavior:contain}.playerPanel73>.panel73{background:linear-gradient(135deg,#1b2939f5,#0a1421f5);border:1px solid #9aacbd9c;box-shadow:inset 0 0 0 5px #becde506,0 20px 90px #0009;border-radius:20px;color:#e5edf8;padding:22px;width:min(850px,94vw);box-sizing:border-box;max-height:calc(100dvh - 28px);overflow-y:auto}.playerPanel73 h2{letter-spacing:.03em;font-weight:800;color:#f4f8ff}.playerPanel73 button{background:#d7e5f10b;color:#eaf2fc;border:1px solid #a1aeb47a;box-shadow:inset 0 0 0 4px #e5edff05;border-radius:12px;min-height:42px;font-weight:750}.playerPanel73 button:hover,.playerPanel73 button:focus-visible{background:#b5e7ff22;border-color:#e1f2ff;outline:2px solid #98d7ed;outline-offset:2px}#pausePanel73 .pauseShell80{display:grid;grid-template-columns:31% minmax(0,1fr);gap:28px;padding:24px 30px;position:relative}#pausePanel73 .pauseSummary80{display:flex;flex-direction:column;justify-content:center;text-align:left;border-right:1px solid #b6d3e326;padding-right:20px}.pauseSummary80 .pauseGlyph80{font-size:30px;font-weight:900;color:#bce6f4;margin-bottom:10px}.pauseSummary80>small{font-size:9px;letter-spacing:.12em;color:#9eb4c8}.pauseSummary80 h2{font-size:clamp(24px,4vw,42px);line-height:1.04;margin:14px 0}.pauseSummary80 p{font-size:11px;line-height:1.5;color:#b9c8d8;margin:8px 0}.pauseSummary80 #pauseSummary80{font-size:9px;color:#7bd9d5;text-transform:uppercase}#pausePanel73 .pauseActions80{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-content:center}#pausePanel73 .pauseActions80 button{padding:10px 12px;font-size:11px;line-height:1.3;width:100%;margin:0;min-height:48px}#pausePanel73 #resume73{grid-column:1/-1;background:linear-gradient(#fff,#e9f5fc);color:#0b172a;border:0;box-shadow:0 0 28px #badbf026;min-height:64px;font-size:clamp(16px,2.4vw,25px);letter-spacing:.02em}#pausePanel73 #gameSettings,#pausePanel73 #sound{font-size:11px;min-width:0;min-height:40px}#pausePanel73 #sound{background:#9de6d419;color:#bef5e7}#pilotLine80{display:block;pointer-events:auto;margin:4px 0 0 51px;padding:3px 4px;width:calc(100% - 51px);background:#152b3999;border:1px solid #8abacb40;border-radius:4px;color:#d0e7f5;text-align:left;font:800 8px system-ui;letter-spacing:.03em}#hud77{padding-bottom:6px}#pilotPanel80{z-index:2800}.pilotShell80 header{display:flex;align-items:center;justify-content:space-between;gap:16px}.pilotShell80 header small{font-size:9px;letter-spacing:.14em;color:#8eb7c8}.pilotShell80 h2{font-size:22px;margin:5px 0}.pilotShell80 header button{font-size:10px;padding:6px 14px}#pilotStats80{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin:18px 0}#pilotStats80>div{padding:12px;border:1px solid #9cbacb40;border-radius:10px;background:#09142170}#pilotStats80 small{display:block;font-size:8px;color:#9fb9cc}#pilotStats80 strong{display:block;font-size:26px;color:#e7f7ff;margin-top:5px}.localOnly80{font-size:10px;line-height:1.5;color:#a5bac9}.boardScroll80{overflow:auto;max-height:40dvh}#pilotPanel80 table{width:100%;border-collapse:collapse;font-size:11px;text-align:left}#pilotPanel80 th{position:sticky;top:0;background:#142535;padding:10px 8px;font-size:9px;color:#9fc7dc}#pilotPanel80 td{padding:10px 8px;border-bottom:1px solid #90b5c52a}#pilotPanel80 td small{display:block;font-size:8px;color:#8daebf;margin-top:3px}#pilotPanel80 td:first-child{color:#f2d797}#inventoryPanel73 .inventoryGrid73 article{background:#111e2d;border:1px solid #8eabb846;border-radius:12px}.editingTouch78 #pilotLine80{visibility:hidden}@media(max-height:400px){#pausePanel73 .pauseShell80{padding:14px 22px;gap:20px}.pauseSummary80 .pauseGlyph80{display:none}.pauseSummary80 h2{margin:8px 0;font-size:29px}.pauseSummary80 p{font-size:10px}#pausePanel73 .pauseActions80{gap:7px}#pausePanel73 .pauseActions80 button{min-height:40px;padding:7px;font-size:10px}#pausePanel73 #resume73{min-height:53px;font-size:20px}.playerPanel73>.panel73{padding:14px 20px}.pilotShell80 h2{font-size:18px}#pilotStats80{margin:10px 0}#pilotStats80>div{padding:8px}#pilotStats80 strong{font-size:20px}}@media(max-width:580px){#pausePanel73 .pauseShell80{grid-template-columns:1fr;gap:12px}.pauseSummary80{border-right:0!important;padding-right:0!important}.pauseSummary80 h2 br{display:none}.pauseSummary80 .pauseGlyph80,.pauseSummary80>p,.pauseSummary80>small:last-child{display:none}#pilotStats80{grid-template-columns:1fr 1fr}}

/* v85 local service card; original character portraits and bounded CSS animation. */
.pilotShell80{width:min(1020px,96vw)!important;max-width:1020px!important}.identityNav85{display:flex;gap:7px;flex-wrap:wrap;margin:16px 0}.identityNav85 button{flex:1;min-width:125px;padding:12px 10px;border:1px solid #5c8298;border-radius:8px;background:#0b2231;color:#b8d7e5;font:800 11px system-ui;letter-spacing:.08em}.identityNav85 button[aria-pressed=true]{background:#b3f7e2;color:#08222c;border-color:#dcfff2}
.serviceCard85{--cardAccent85:#7fffe0;position:relative;isolation:isolate;display:grid;grid-template-columns:29% 1fr;min-height:320px;overflow:hidden;border:2px solid var(--cardAccent85);border-radius:18px;background:linear-gradient(125deg,#132d3e,#061522 60%,#1c273a);box-shadow:0 12px 28px #0006,inset 0 0 45px #99e8ff0d;color:#e9fff7}.cardGrid85{position:absolute;inset:0;z-index:-1;opacity:.18;background-image:linear-gradient(#9acee41a 1px,transparent 1px),linear-gradient(90deg,#9acee41a 1px,transparent 1px);background-size:28px 28px;transform:skewY(-8deg) scale(1.3)}.cardScan85{position:absolute;inset:-60% -100%;z-index:2;pointer-events:none;background:linear-gradient(110deg,transparent 42%,#d5fff20b 48%,#d5fff21a 50%,transparent 58%);animation:identitySheen85 8s ease-in-out infinite}.serviceCard85[data-prestige="0"] .cardScan85{opacity:.45}.serviceCard85:not([data-prestige="0"]){box-shadow:0 0 22px color-mix(in srgb,var(--cardAccent85) 23%,transparent),inset 0 0 45px #99e8ff0d}.cardArt85{position:relative;display:flex;align-items:flex-end;justify-content:center;background:radial-gradient(ellipse at 50% 55%,color-mix(in srgb,var(--cardAccent85) 16%,transparent),transparent 70%);min-width:0;padding:12px 0 34px}.cardArt85 img{width:100%;height:260px;object-fit:contain;filter:drop-shadow(0 0 10px #94f8e530)}.cardArt85 span{position:absolute;left:8px;right:8px;bottom:39px;text-align:center;color:var(--cardAccent85);font:700 9px system-ui;letter-spacing:.05em}.cardCopy85{min-width:0;padding:25px 84px 42px 12px}.cardEyebrow85{font:800 10px system-ui;letter-spacing:.2em;color:#a8c5d7}.cardCopy85 #cardPrestige85{font:800 10px system-ui;color:var(--cardAccent85);letter-spacing:.13em;margin:14px 0 5px}.cardCopy85 #cardName85{font:900 clamp(20px,3.6vw,38px)/1.1 system-ui;letter-spacing:.025em;text-transform:uppercase;overflow-wrap:anywhere;color:#f3fff9;margin:6px 0}.cardCopy85 #cardTitle85{font:800 12px system-ui;letter-spacing:.15em;color:var(--cardAccent85);margin:8px 0}.cardCopy85 #cardId85{font:600 10px ui-monospace,monospace;color:#90acbc;letter-spacing:.13em}.cardBadge85{position:absolute;right:15px;top:22px;width:64px;height:73px;color:var(--cardAccent85)}.cardBadge85 svg{width:100%;height:100%}.cardBadge85>strong{position:absolute;left:0;right:0;bottom:-16px;text-align:center;font:900 18px system-ui;color:#f1fff9}.cardFooter85{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:space-between;gap:10px;border-top:1px solid #95d3e133;padding:9px 15px;color:#9fb8ca;background:#03101cb3;font:700 8px system-ui;letter-spacing:.1em}#cardStats85{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-top:23px}#cardStats85 strong{display:block;font:800 24px system-ui;color:#edfff8}#cardStats85 small{display:block;font:700 8px system-ui;letter-spacing:.07em;color:#91afc3;margin-top:4px}.serviceTrack85{padding:13px 3px 18px;color:#bde9da;font:800 10px system-ui;letter-spacing:.08em}.serviceTrack85 progress{display:block;width:100%;height:8px;accent-color:#8cf1cf;margin-top:8px}
.profileForm85{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:12px;padding:18px;border:1px solid #6b96ad55;border-radius:12px;background:#112a3b88}.profileForm85 h3{grid-column:1/-1;margin:0 0 3px;font-size:13px;letter-spacing:.12em}.profileForm85 label{display:grid;gap:7px;font:700 9px system-ui;letter-spacing:.1em;color:#a9c7d5}.profileForm85 input,.profileForm85 select{box-sizing:border-box;min-width:0;width:100%;min-height:43px;padding:10px;border:1px solid #6894aa;background:#061b29;color:#f0fff8;border-radius:6px;font:600 13px system-ui}.profileForm85 button{grid-column:1/-1;justify-self:end}.profileForm85 button,.prestigeBox85 button,.identityBackup85 button{min-height:42px;padding:11px 17px;border:1px solid #9ce1cc;border-radius:7px;background:#b3f7e2;color:#08212c;font:800 11px system-ui;letter-spacing:.05em}.profileNotice85{min-height:20px;line-height:1.6;color:#b7f3dc;font-size:12px;margin:10px 0}.prestigeBox85{display:flex;flex-wrap:wrap;gap:14px;align-items:center;padding:18px;margin:16px 0;border:1px solid #e6ca8755;border-radius:12px;background:linear-gradient(120deg,#382c1f77,#112532)}.prestigeBox85>div:first-child{flex:1;min-width:220px}.prestigeBox85 h3{font-size:16px;letter-spacing:.1em;margin:7px 0}.prestigeBox85 small{font:700 8px system-ui;letter-spacing:.12em;color:#efd69e}.prestigeBox85 p,.identityBackup85 p{font-size:12px;line-height:1.65;color:#b3c9d6;margin:5px 0}.prestigeBox85 button:disabled{opacity:.4;cursor:default;background:#334452;color:#abbecb;border-color:#637780}.prestigeBox85 #prestigeConfirm85{flex-basis:100%;padding-top:10px;border-top:1px solid #d2bd7d44}.prestigeBox85 #prestigeCancel85{background:#102a3b;color:#d8eaf2;border-color:#6c8c9b;margin-left:7px}.identityHeading85{font-size:13px;letter-spacing:.12em;margin:23px 0 13px}.profileAchievements85{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.profileAchievements85 article{padding:12px;border:1px solid #7ab7a344;border-radius:8px;background:#14333966}.profileAchievements85 strong{font:800 10px system-ui;color:#c1ffe6;letter-spacing:.04em}.profileAchievements85 p{font-size:11px;line-height:1.5;color:#a2bac6;margin:6px 0 0}.profileAchievements85 .locked85{opacity:.52;background:#0c1f2c;border-color:#6a8b9c33}.identityBackup85{margin-top:23px;padding:17px;border:1px dashed #77a5b366;border-radius:9px}.identityBackup85 h3{font-size:12px;letter-spacing:.1em;margin:0 0 9px}.identityBackup85>div{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.identityBackup85 button{background:#163649;color:#d2fff0;border-color:#659aab}
.masteryRecords85{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}.masteryRecords85 article{display:flex;gap:13px;padding:15px 12px;border:1px solid #7aa6b655;border-radius:12px;background:linear-gradient(135deg,#193243,#0b1e2c)}.masteryRecords85 img{width:95px;height:170px;object-fit:contain;align-self:center}.masteryRecords85 article>div{flex:1;min-width:0}.masteryRecords85 h3{font-size:18px;letter-spacing:.08em;margin:3px 0 8px}.masteryRecords85 strong{font-size:10px;color:#a2f7d8}.masteryRecords85 p{font-size:11px;line-height:1.5;color:#aac4d2}.masteryRecords85 small{display:block;font-size:8px;color:#8eacbd;line-height:1.8;margin-top:7px}.masteryRecords85 progress{width:100%;height:6px;accent-color:#88e7cd;display:block;margin-top:9px}#pilotLine80{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}@keyframes identitySheen85{0%,20%{transform:translateX(-25%)}80%,100%{transform:translateX(30%)}}
@media(max-width:700px){.profileForm85{grid-template-columns:1fr 1fr}.profileForm85 label:first-of-type{grid-column:1/-1}.profileAchievements85{grid-template-columns:1fr 1fr}.masteryRecords85{grid-template-columns:1fr}.cardCopy85{padding-right:65px}.cardBadge85{right:9px;width:49px;height:60px}.cardArt85 img{height:235px}#cardStats85{grid-template-columns:1fr 1fr;gap:12px;margin-top:15px}.serviceCard85{min-height:320px}.cardCopy85 #cardName85{font-size:25px}.cardCopy85 #cardTitle85{font-size:10px}.cardFooter85{font-size:7px}}@media(max-width:430px){.serviceCard85{grid-template-columns:30% 1fr}.cardCopy85{padding-left:3px;padding-right:45px}.cardBadge85{width:38px;height:50px;right:5px}.cardCopy85 #cardName85{font-size:21px}.cardEyebrow85{font-size:8px}.cardArt85 span{font-size:7px}.profileForm85{grid-template-columns:1fr}.profileAchievements85{grid-template-columns:1fr}.masteryRecords85 img{width:74px;height:145px}.cardFooter85{padding:9px;font-size:6px}.prestigeBox85 #prestigeCancel85{margin:8px 0 0}.identityNav85 button{min-width:90px;font-size:9px}}@media(prefers-reduced-motion:reduce){.cardScan85{animation:none;display:none}}
.serviceCard85:not([data-prestige="0"]){animation:prestigeGlow85 4s ease-in-out infinite}@keyframes prestigeGlow85{0%,100%{box-shadow:0 0 16px color-mix(in srgb,var(--cardAccent85) 20%,transparent),inset 0 0 45px #99e8ff0d}50%{box-shadow:0 0 28px color-mix(in srgb,var(--cardAccent85) 38%,transparent),inset 0 0 45px #99e8ff18}}@media(prefers-reduced-motion:reduce){.serviceCard85{animation:none!important}}

/* v86: combat artifact loadout, readable on touch screens. */
.artifactSection86 {border-bottom:1px solid #527085;padding-bottom:22px;margin-bottom:20px}
.artifactSection86 h3 small {color:#9bffe1;font-size:12px;margin-left:10px}
.artifactSection86 #artifactStatus86 {color:#c5e9ff;min-height:24px}
.artifactCard86 {border-color:var(--artifact-color)!important;position:relative;display:flex;flex-direction:column;gap:7px}
.artifactCard86 strong,.artifactCard86 small {color:var(--artifact-color)}
.artifactGlyph86 {font-size:42px;line-height:1.3;color:var(--artifact-color);text-shadow:0 0 15px var(--artifact-color)}
.artifactCard86 button {min-height:46px;margin-top:auto;border:1px solid var(--artifact-color);background:#142a3d;color:#effaff;border-radius:7px;font-weight:800;cursor:pointer}
.artifactCard86 button[aria-pressed="true"] {background:#284641;box-shadow:inset 0 0 0 1px #a6ffe0}
.artifactCard86 button:disabled {opacity:.55;cursor:default}
.artifactCard86 button:focus-visible {outline:3px solid white;outline-offset:3px}

/* v87: a quiet, readable close-up using the original inventory weapon artwork. */
.weaponShowcase87{position:fixed;inset:0;z-index:120;display:grid;place-items:center;background:#020713ed;backdrop-filter:blur(8px);padding:18px;overflow:auto;color:#e9fff7;text-align:center}
.weaponShowcase87.hide{display:none}
.weaponCard87{width:min(640px,100%);padding:26px;border:1px solid #8ee6cf80;border-radius:20px;background:radial-gradient(ellipse at 50% 25%,#244d5555,#081322 70%);box-shadow:0 0 65px #65ffe31a}
.weaponEyebrow87{letter-spacing:.22em;font-size:12px;color:#9bdecf}.weaponCard87 h2{font-size:clamp(26px,5vw,40px);margin:10px 0}.weaponCard87 p{line-height:1.55}.weaponHint87{font-size:12px;color:#a0b7bb}
#weaponArt87{height:240px;display:grid;place-items:center;overflow:hidden}#weaponArt87 .itemArt74{transform:scale(2.1);margin:0}#weaponArt87 .itemFloat74{animation:none}
#weaponOwner87{color:#b7f7df;letter-spacing:.12em;font-size:12px}#weaponContinue87{min-width:160px;min-height:44px;border:1px solid #8ffff0;border-radius:10px;padding:12px 24px;background:#123c40;color:#e0fff1;font-weight:800}#weaponContinue87:disabled{opacity:.4}#weaponContinue87:focus-visible{outline:3px solid #ffe3a1;outline-offset:4px}
.inventoryPulse87{animation:inventoryPulse87 1.1s ease-in-out infinite}@keyframes inventoryPulse87{50%{box-shadow:0 0 22px #91ffe2;border-color:#caffef}}
@media(max-height:540px){.weaponShowcase87{padding:10px}.weaponCard87{padding:12px 22px}.weaponCard87 p{margin:6px 0}#weaponArt87{height:145px}#weaponArt87 .itemArt74{transform:scale(1.3)}.weaponCard87 h2{font-size:26px}}
@media(prefers-reduced-motion:reduce){.inventoryPulse87{animation:none;outline:2px solid #adffe5}#weaponArt87 *{animation:none!important}}
@media(max-height:540px) and (min-width:600px){.weaponCard87{display:grid;grid-template-columns:180px 1fr;column-gap:20px;text-align:left;width:min(760px,100%);padding:14px}.weaponCard87>*{grid-column:2}.weaponCard87 #weaponArt87{grid-column:1;grid-row:1/8;height:250px}.weaponCard87 #weaponArt87 .itemArt74{transform:scale(1.7)}.weaponCard87 h2{font-size:26px}.weaponCard87 #weaponInfo87{font-size:14px}.weaponCard87 #weaponContinue87{justify-self:start;min-height:40px}}
/* v91: original weapon art on a character-coloured reveal stage. */
.weaponCard87{border-color:var(--weapon-accent91,#8ee6cf);position:relative;isolation:isolate;background:radial-gradient(ellipse at 25% 40%,#25465177,#081322 70%)}
#weaponArt87{position:relative;border-radius:12px;overflow:visible;background:radial-gradient(ellipse,#7be5dc18,transparent 67%)}
#weaponArt87:before{content:"";position:absolute;width:175px;height:175px;border:1px solid var(--weapon-accent91);border-radius:50%;opacity:.35;box-shadow:0 0 30px #84e7df22,inset 0 0 25px #84e7df18;animation:weaponRing91 8s ease-out both}
#weaponArt87 .itemArt74{filter:drop-shadow(0 0 12px var(--weapon-accent91));animation:weaponArrival91 .65s ease-out both}
#weaponStyle91{font-size:11px;letter-spacing:.12em;color:var(--weapon-accent91);margin:5px 0}
.weaponMoves91{display:flex;gap:10px;justify-content:center;margin:12px 0}.weaponMoves91 span{flex:1;border:1px solid #c1eced26;border-radius:8px;padding:8px;font-size:10px;letter-spacing:.05em;color:#a9bec5}.weaponMoves91 b{display:block;font-size:11px;color:#efffff;margin-top:4px}
#weaponProgress91{height:2px;background:#536a702e;overflow:hidden;margin:12px 0}#weaponProgress91:after{content:"";display:block;width:var(--reveal91,0%);height:100%;background:var(--weapon-accent91)}
.weaponActions91{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}#weaponInspect91{min-height:44px;border:1px solid #7898a3;border-radius:10px;background:#142432;color:#dbedf0;padding:10px 14px;font-size:11px;font-weight:700}#weaponInspect91:disabled{opacity:.4}#weaponInspect91:focus-visible{outline:3px solid #ffe3a1;outline-offset:4px}
@keyframes weaponArrival91{from{opacity:0;translate:0 14px}to{opacity:1;translate:0 0}}@keyframes weaponRing91{from{scale:.8;opacity:.65}to{scale:1.1;opacity:.2}}
@media(max-height:540px) and (min-width:600px){.weaponCard87{grid-template-columns:210px 1fr;width:min(800px,100%);gap:0 20px}.weaponCard87 #weaponArt87{grid-row:1/11;height:260px}.weaponCard87 #weaponArt87 .itemArt74{transform:scale(1.85)}.weaponMoves91{margin:5px 0}.weaponMoves91 span{padding:6px}.weaponActions91{justify-content:flex-start}.weaponCard87 #weaponInfo87{font-size:12px;line-height:1.4}#weaponProgress91{margin:7px 0}.weaponCard87 .weaponHint87{font-size:10px}}
@media(prefers-reduced-motion:reduce){#weaponArt87:before,#weaponArt87 .itemArt74{animation:none}}
/* v92: two visible lessons; campaign controls and their saved geometry are untouched. */
#trainingTip92{position:fixed;z-index:35;top:78px;left:50%;translate:-50% 0;width:min(520px,52vw);border:1px solid #8ee9d7;border-radius:10px;background:#061c2bf2;color:#e9fffa;padding:10px 14px;text-align:center;box-shadow:0 5px 24px #0008;pointer-events:auto}#trainingTip92.hide{display:none}#trainingTip92 strong{font-size:13px;letter-spacing:.06em;color:#96ffe5}#trainingTip92 p{font-size:12px;line-height:1.4;margin:6px 0}#trainingArtifact92{min-height:40px;border:1px solid #72dcca;border-radius:8px;background:#12433f;color:#e6fff7;font-size:11px;font-weight:800;padding:8px 12px}#trainingArtifact92.hide{display:none}
@media(max-height:420px){#trainingTip92{top:72px;padding:8px 10px}#trainingTip92 p{font-size:11px}}
/* v93: practice text occupies the space beside the HUD, never behind it. */
#trainingTip92{box-sizing:border-box;translate:none;padding:9px 12px}#trainingTip92 p{margin:5px 0;font-size:11px}#trainingTip92 .practiceActions93{display:flex;gap:6px;flex-wrap:wrap;justify-content:center}#trainingTip92 button{min-height:36px;border:1px solid #72c6bb;border-radius:7px;background:#103b3c;color:#eafff7;padding:6px 9px;font-size:10px;font-weight:800;cursor:pointer}#trainingTip92 button.hide,#practiceCombo93.hide{display:none}#practiceCombo93{color:#9fffe1;font-size:10px!important;letter-spacing:.04em}#trainingTip92 button:focus-visible{outline:3px solid #ffe4a0;outline-offset:2px}
/* v94: a small cue strip; explanations and options live behind Help. */
#trainingTip92{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 8px;padding:6px 9px;text-align:left;border-color:#73cdbd99;background:#061c2be8;box-shadow:0 3px 12px #0005}#trainingTip92.hide{display:none}#trainingTipTitle92{grid-column:1;font-size:10px!important;letter-spacing:.03em!important}#trainingTipHelp92{grid-column:1;font-size:10px!important;line-height:1.3!important;margin:0!important}#trainingTip92 .practiceActions93{grid-column:2;grid-row:1/3;align-items:center;gap:4px;max-width:184px}#trainingTip92 button{min-height:30px;font-size:9px;padding:5px 7px}#practiceCombo93{display:none!important}
#taunt94{display:none;position:fixed;z-index:25;width:52px;height:44px;border:1px solid #a6e7db99;border-radius:12px;background:#092b36ba;color:#d3fff1;padding:3px;place-content:center;text-align:center;touch-action:none;cursor:pointer}body.playing77 #taunt94{display:grid}#taunt94 span{font-size:18px;line-height:19px}#taunt94 small{font-size:9px;font-weight:800;letter-spacing:.06em}#taunt94:disabled{color:#94acb4;border-color:#759aa466}#taunt94:focus-visible{outline:3px solid #ffe3a1;outline-offset:3px}

/* In-game Dev menu: keep the existing gameplay control geometry unchanged. */
#devDialog95{z-index:3100}
.devTools95{width:min(560px,94vw);text-align:left}
.devTools95 header{display:flex;align-items:center;justify-content:space-between;gap:12px}
.devTools95 fieldset{border:1px solid #86759c;border-radius:10px;padding:12px}
.devTools95 fieldset:disabled{opacity:.5}
.devTools95 label{display:block;margin:12px 0 5px}
.devTools95 select{width:100%;min-height:44px;background:#10222e;color:#fff;border:1px solid #827299;border-radius:6px;padding:8px}
.devTools95 button{min-height:44px;white-space:normal}
.devTools95 .devSwitch95{padding:12px;background:#24304b;border-radius:8px;font-weight:700}
.devSwitch95 input{width:22px;height:22px;vertical-align:middle;margin-right:8px}
.devActions95{display:grid;gap:8px;margin:12px 0}
#devStatus95{color:#ddc5ff;font-weight:700}
#devBadge95{display:block;color:#edcbff;font-size:9px;letter-spacing:.06em}
#devBadge95.hide{display:none}

/* Mission text occupies the space between the existing HUD and action controls. */
#deadTracker96{position:absolute;z-index:26;top:12px;left:50%;transform:translateX(-50%);width:min(280px,32%);padding:7px 10px;border-left:2px solid #8dfce3;background:linear-gradient(90deg,#071c29ed,#071c29a0);pointer-events:none;text-align:left;color:#e9fff9;border-radius:0 7px 7px 0}
#deadTracker96 small{display:block;color:#89cbbb;font:700 8px system-ui;letter-spacing:.12em}
#deadTracker96 strong{display:block;font:800 11px system-ui;line-height:1.35;margin:3px 0}
#deadTracker96 span{display:block;font:600 9px system-ui;color:#e0c797}
#deadBanner96{position:absolute;z-index:28;top:24%;left:50%;transform:translateX(-50%);width:min(460px,60%);pointer-events:none;text-align:center;background:linear-gradient(90deg,#071b2200,#071b22ed 16%,#071b22ed 84%,#071b2200);padding:12px 20px;color:#e8fff8;border-top:1px solid #9fe9d45c;border-bottom:1px solid #9fe9d45c}
#deadBanner96 small{display:block;font:700 8px system-ui;letter-spacing:.22em;color:#83cbb8}
#deadBanner96 strong{display:block;font:800 clamp(12px,1.7vw,18px) system-ui;margin:5px 0}
#deadBanner96 span{display:block;font:500 11px system-ui;line-height:1.5;color:#c0d5d5}
#deadComms96{position:absolute;z-index:29;bottom:26%;left:50%;transform:translateX(-50%);width:min(430px,46%);padding:10px 13px;background:#03141ff0;border-left:2px solid #9bded9;border-radius:0 8px 8px 0;pointer-events:none;color:#f4fff9;box-shadow:0 2px 15px #0009}
#deadComms96 strong{display:block;color:#a3f7e5;font:800 9px system-ui;letter-spacing:.13em;margin-bottom:4px}
#deadComms96 span{display:block;font:600 clamp(12px,1.5vw,15px) system-ui;line-height:1.45}
#deadSkip96{position:absolute;z-index:31;right:4%;bottom:6%;padding:11px 16px;min-height:44px;background:#092335e8;color:#defff6;border:1px solid #7faeae;border-radius:8px;font-weight:800}
#play.deadLocked96 .controller,#play.deadLocked96 #taunt94,#play.deadLocked96 #hud77,#play.deadLocked96 #caveAction,#play.deadLocked96 #exitButton{visibility:hidden;pointer-events:none}
#play.deadLocked96 #deadComms96{width:min(560px,74%);bottom:17%}
#play.deadLocked96 #deadTracker96{top:16px;left:16px;transform:none;width:min(330px,50%)}
@media(max-width:600px) and (orientation:portrait){#deadTracker96{top:105px;left:12px;transform:none;width:calc(100% - 24px);max-width:290px}#deadTracker96 strong{font-size:11px}#deadBanner96{top:25%;width:88%}#deadComms96{bottom:34%;width:80%}#play.deadLocked96 #deadTracker96{top:14px;left:12px;width:75%}#play.deadLocked96 #deadComms96{width:84%;bottom:24%}}
#taunt94.missionHidden96{display:none!important}
#play.deadLocked96 #inventory73,#play.deadLocked96 #stance73{visibility:hidden;pointer-events:none}
#deadComms96{top:88px;bottom:auto;width:min(400px,36%)}
#play.deadLocked96 #deadComms96{top:auto;bottom:17%}
@media(max-width:600px) and (orientation:portrait){#deadComms96{top:175px;bottom:auto;width:80%}#play.deadLocked96 #deadComms96{top:auto;bottom:24%}}

/* A relay interaction uses the same held control without a misleading cache label. */
#hackMeter.depthInteract99>span:last-child{display:none}
/* Shared dialogue lives in screen space below the action, with room reserved for saved controls. */
#play #deadComms96,#play.deadLocked96 #deadComms96{top:auto;bottom:max(12px,env(safe-area-inset-bottom));left:28%;width:44%;max-width:560px;transform:none;padding:8px 11px;border-left:2px solid #b5d5c9;background:#061821d9;box-shadow:none;pointer-events:none}
#play #deadComms96 #deadSpeaker96{font:800 9px system-ui;letter-spacing:.08em;margin-bottom:3px}
#play #deadComms96 #deadLine96{font:500 clamp(12px,1.4vw,15px)/1.35 system-ui}
.storyControls100{display:flex;justify-content:flex-end;gap:7px;margin-top:5px;pointer-events:auto}
.storyControls100 button{min-height:30px;min-width:54px;padding:3px 9px;border:1px solid #a3bfb36b;border-radius:5px;background:#16313bc9;color:#e3f5e9;font:700 10px system-ui;touch-action:manipulation}
#play #deadComms96 #deadSpeaker96{min-height:30px;padding-right:124px;display:flex;align-items:center;font-size:10px}
.storyControls100{position:absolute;right:8px;top:7px;margin:0}

#play{--story-safe-bottom:env(safe-area-inset-bottom,0px)}

#hackMeter.forgeRide105>span:last-child{display:none}
