*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#07151b;color:#eff8ed;font-family:Arial,sans-serif}button{font:inherit;cursor:pointer;color:inherit;border:0}button:focus-visible{outline:2px solid #e9d99d;outline-offset:5px}[hidden]{display:none!important}#app{position:relative;width:100%;height:100%;height:100dvh;overflow:hidden;background:#030b10}#game{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;outline:0;touch-action:none}#vignette{pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 0 100px #020a1060}#hud{position:absolute;inset:0;pointer-events:none}.hud-top{position:absolute;left:3%;right:3%;top:max(24px,env(safe-area-inset-top));display:flex;justify-content:space-between;align-items:start;gap:30px;text-shadow:0 2px 10px #000}.micro-label{font-size:9px;letter-spacing:.18em;color:#adcfca;display:block;margin-bottom:7px}.vitals{min-width:160px}#health{display:flex;gap:5px}#health i{width:22px;height:9px;display:block;border:1px solid #a2e1ca;background:#93d9bc;box-shadow:0 0 9px #73dcb936;transform:skewX(-15deg)}#health i.lost{background:#18333f;border-color:#467079}#shieldStat{display:block;font-size:10px;color:#9bbdec;margin-top:6px}.journey{width:min(390px,38vw)}.journey-heading{display:flex;justify-content:space-between;gap:15px;font-size:10px;letter-spacing:.13em;color:#c5ddd4}#stageName{color:#eef0cb;font-weight:bold}.route-track{height:2px;background:#acc5b535;position:relative;margin-top:11px}.route-track>span{display:block;height:2px;width:0;background:#cfdda2;box-shadow:0 0 8px #a0e5c7}.route-track i{position:absolute;top:-2px;width:5px;height:5px;background:#667e74;border-radius:50%}.route-track i:nth-child(2){left:16.6%}.route-track i:nth-child(3){left:33.3%}.route-track i:nth-child(4){left:50%}.route-track i:nth-child(5){left:66.6%}.route-track i:nth-child(6){left:83.3%}.hud-buttons{display:flex;gap:8px;pointer-events:auto}.hud-buttons button{width:34px;height:34px;border:1px solid #afc7bd33;background:#0b1c2377;border-radius:50%;font-size:17px;backdrop-filter:blur(8px)}.hud-buttons button:hover{background:#57736666}.objective{position:absolute;top:90px;left:3%;max-width:400px;line-height:1.5;filter:drop-shadow(0 2px 5px #000)}#objectiveText{font-size:13px;color:#f1eed5}.objective .micro-label{font-size:8px;margin-bottom:3px}#stageBanner{position:absolute;left:50%;top:25%;transform:translate(-50%,10px);text-align:center;opacity:0;transition:opacity .8s,transform .8s;width:90%;text-shadow:0 3px 25px #000}#stageBanner.show{opacity:1;transform:translate(-50%,0)}#stageBanner span{display:block;font-size:10px;color:#cddab4;letter-spacing:.4em;margin-bottom:14px}#stageBanner strong{font:42px Georgia,serif;letter-spacing:.04em}#message{position:absolute;bottom:136px;left:3%;display:flex;gap:15px;max-width:450px;padding:16px 20px;background:linear-gradient(100deg,#081c25ed,#0c2833d9);border-left:2px solid #a7d7ba;backdrop-filter:blur(10px);border-radius:0 10px 10px 0;box-shadow:0 6px 32px #0002}.message-dot{width:6px;height:6px;background:#b9e4ba;border-radius:50%;margin-top:6px;flex-shrink:0}#message strong{font-size:12px;color:#d8eab9;letter-spacing:.04em}#message p{font-size:12px;line-height:1.65;color:#bbd1ce;margin:6px 0 0}.hud-bottom{position:absolute;bottom:35px;left:3%;right:3%;display:flex;align-items:center;justify-content:space-between;gap:30px;text-shadow:0 2px 8px #000}.abilities{display:flex;gap:22px}.ability{display:flex;align-items:center;gap:9px;opacity:.32}.ability.active{opacity:1}.ability>b{display:grid;place-items:center;width:37px;height:37px;border:1px solid #c4d4af88;border-radius:10px;font-size:24px;background:#0c2a3199;color:#cee3aa}.ability>span{font-size:9px;letter-spacing:.13em;color:#e2e4c9}.ability small{display:block;font-size:8px;letter-spacing:.08em;margin-top:5px;color:#a2beb9}.dash-status{width:145px;font-size:9px;color:#c1d5c6;letter-spacing:.1em}.dash-status>div{margin-top:9px;height:3px;background:#9dbfb738}.dash-status i{display:block;height:3px;background:#d1dbab;width:100%}.atp-status{display:flex;align-items:center;gap:9px}.atp-status b{font:29px Georgia,serif;color:#e7d8a4}.atp-status span{font-size:8px;color:#b7c7b9;letter-spacing:.12em}.desktop-keyline{position:absolute;bottom:13px;left:3%;font-size:8px;letter-spacing:.08em;color:#bfd0be9c}.desktop-keyline span{color:#8ba9ab}.screen{position:absolute;inset:0;z-index:20}.start-screen{display:flex;align-items:center;background:#071a24}.start-art{position:absolute;inset:0;background:url('assets/bio-1.webp') center/cover;animation:drift 30s alternate infinite ease-in-out}.start-shade{position:absolute;inset:0;background:linear-gradient(90deg,#031019ee 0%,#05131bbd 35%,#05131b25 80%),linear-gradient(0deg,#030e18a0,transparent 50%)}.start-main{position:relative;margin:0 7%;max-width:650px}.eyebrow{font-size:10px;letter-spacing:.23em;color:#c4d6b5;display:flex;align-items:center;gap:12px;margin:0 0 25px}.eyebrow>span{width:6px;height:6px;border-radius:50%;background:#bbdeb4;box-shadow:0 0 15px #c2f7bb}h1{font:normal clamp(58px,8vw,108px)/.95 Georgia,serif;letter-spacing:.025em;margin:0;color:#edf0d9}h1>span{display:block;font:normal clamp(21px,3vw,33px)/1.22 Georgia,serif;color:#b8cec6;letter-spacing:0;margin-top:24px}.intro{font-size:14px;line-height:1.8;color:#a4bfbd;margin:26px 0 30px}.start-actions{display:flex;align-items:center;gap:15px}.primary,.secondary{min-height:51px;padding:0 25px;display:inline-flex;align-items:center;justify-content:center;gap:38px;font-size:10px;letter-spacing:.16em;font-weight:bold;border:1px solid #c9dfbc;background:#c9dfbc;color:#13332e;transition:background .2s,transform .2s}.primary:hover{background:#e1efcd;transform:translateY(-2px)}.primary>span{font-size:20px}.secondary{background:#09212c50;color:#d9e2ce;border-color:#b4ccb860}.secondary:hover{background:#b4ccb820}.intro-controls{display:flex;gap:20px;margin-top:33px;font-size:8px;color:#a0b4b2;letter-spacing:.08em}.intro-controls span{display:flex;align-items:center;gap:7px}kbd{font:9px Arial,sans-serif;border:1px solid #a2c7b444;padding:5px 7px;color:#c2d4c6;border-radius:3px}.start-small,.rotation-note{font-size:10px;color:#86a3a1;margin-top:18px}.rotation-note{display:none}.start-side{position:absolute;right:3%;top:7%;bottom:7%;display:flex;flex-direction:column;justify-content:space-between;align-items:center;color:#aec6b77a;font-size:9px;letter-spacing:.15em;writing-mode:vertical-rl}.loading-status{position:absolute;right:3%;bottom:16px;font-size:9px;color:#90b2a2}.overlay{background:#03131bc9;backdrop-filter:blur(16px);display:grid;place-items:center;padding:25px;overflow:auto}.panel{width:min(480px,100%);padding:38px;background:linear-gradient(145deg,#19323ce8,#0c2029f0);border:1px solid #98bdac40;box-shadow:0 30px 100px #0005}.panel h2{font:44px Georgia,serif;margin:0 0 17px;color:#e6edce}.panel p{font-size:13px;line-height:1.8;color:#acc3bd}.panel .primary{margin-top:15px;width:100%}.text-button{background:transparent;color:#a9c6bc;font-size:11px;padding:17px 0;width:100%}.panel-controls{font-size:11px;line-height:1.9;color:#a9c0ba;padding:17px 0;border-top:1px solid #a9c6bc22}.assist{font-size:11px;color:#b7cabd;display:flex;align-items:center;gap:10px;line-height:1.5}.assist input{accent-color:#bfdfab}.map-panel{width:min(620px,100%)}#mapStages{display:grid;gap:0;margin:22px 0}.map-stage{display:grid;grid-template-columns:35px 1fr;gap:10px;padding:11px 0;border-bottom:1px solid #a9c6bc20;opacity:.4}.map-stage.unlocked{opacity:1}.map-stage.current{color:#e4d596}.map-stage b{font:18px Georgia,serif}.map-stage strong{font-size:12px;letter-spacing:.05em}.map-stage small{display:block;margin-top:5px;font-size:11px;color:#9ebdb6}.map-note{font-size:10px!important}.end-screen{background:radial-gradient(ellipse at 65% 35%,#253d38,#071820 75%);display:grid;place-items:center;text-align:center;overflow:auto;padding:30px}.end-content{position:relative;z-index:1}.end-content .eyebrow{justify-content:center}.end-content h2{font:normal clamp(46px,7vw,88px)/1.08 Georgia,serif;margin:18px 0;color:#edf0d5}.end-content h2 em{color:#e2cf98;font-weight:normal}.end-lead{font:25px Georgia,serif;color:#decd9d}.end-sub{font:15px/1.8 Georgia,serif;color:#aebfb0}.end-orbit{position:absolute;inset:0;pointer-events:none}.end-orbit i{position:absolute;left:50%;top:50%;width:65vmin;height:65vmin;border:1px solid #e3d29913;border-radius:50%;transform:translate(-50%,-50%)}.end-orbit i:nth-child(2){width:90vmin;height:90vmin}.end-orbit i:nth-child(3){width:115vmin;height:115vmin}#endStats{font-size:10px;letter-spacing:.07em;color:#96aaa0;margin:27px 0}#touchControls{display:none;position:absolute;bottom:20px;left:20px;right:20px;align-items:end;justify-content:space-between;pointer-events:none}#joystick{width:108px;height:108px;border:1px solid #b5d8cf40;border-radius:50%;background:#0b243a40;position:relative;pointer-events:auto;touch-action:none}#joystick span{position:absolute;inset:35%;border:1px solid #b5d8cf30;border-radius:50%}#stick{position:absolute;width:43px;height:43px;left:32px;top:32px;border:1px solid #d5ebca80;background:#c4ddc447;backdrop-filter:blur(5px);border-radius:50%;pointer-events:none}.touch-actions{display:flex;align-items:end;gap:10px}.touch-actions button{width:50px;height:50px;border-radius:50%;background:#12374499;border:1px solid #bed8c56b;color:#e6eac7;font-size:23px;pointer-events:auto;touch-action:none}#touchFire{width:70px;height:70px;background:#67896b77;font-size:31px}#touchDash{margin-bottom:28px}#touchAction{font-size:17px}.touch-actions button:active{background:#a3c29588}@keyframes drift{to{transform:scale(1.08) translateX(-1%)}}@media(max-height:650px){.start-main{margin-left:6%}.start-main .eyebrow{margin-bottom:15px}h1{font-size:64px}h1>span{font-size:23px;margin-top:13px}.intro{font-size:12px;margin:18px 0}.intro-controls{margin-top:20px}.start-small{margin-top:12px}.panel{padding:23px}.panel h2{font-size:34px}.panel-controls{padding:10px 0}.end-content h2{font-size:56px}}@media(pointer:coarse),(hover:none),(max-width:600px),(max-width:950px) and (max-height:600px){#touchControls{display:flex}.desktop-keyline,.intro-controls{display:none}.rotation-note{display:block}.hud-bottom{bottom:14px;left:150px;right:180px;justify-content:center}.abilities{gap:10px}.ability>span{display:none}.ability>b{width:29px;height:29px;font-size:18px}.dash-status{width:90px;font-size:8px}.atp-status{display:none}.hud-top{top:max(14px,env(safe-area-inset-top));left:max(20px,env(safe-area-inset-left));right:max(20px,env(safe-area-inset-right))}.vitals{min-width:110px}#health i{width:15px}.journey{width:35vw}.objective{top:63px;max-width:310px}#objectiveText{font-size:11px}.hud-buttons button{width:30px;height:30px}#message{bottom:130px;max-width:360px;padding:10px 13px}#message p{font-size:11px}.message-dot{display:none}#stageBanner strong{font-size:32px}}@media(max-width:600px) and (orientation:portrait){.start-main{margin:0 7%;max-width:90%}h1{font-size:57px}h1>span{font-size:27px}.eyebrow{font-size:8px}.intro{font-size:12px}.start-actions{flex-wrap:wrap}.start-side{display:none}.hud-top{gap:7px;top:18px}.journey{width:33vw}.journey-heading{font-size:7px;gap:5px}#stageNumber{display:none}.vitals{min-width:85px}#health{gap:3px}#health i{width:12px}.hud-buttons{gap:4px}.hud-buttons button{width:27px;height:27px;font-size:14px}.objective{top:72px;left:5%;right:5%;max-width:none}.hud-bottom{bottom:150px;left:5%;right:5%;justify-content:space-between}#message{bottom:195px;left:5%;right:5%;max-width:none}#stageBanner{top:24%}.panel{padding:26px}.end-content h2{font-size:51px}.end-content .eyebrow{font-size:8px;letter-spacing:.12em}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
/* Cinematic reveal and legible notifications without covering the swimmer. */
#message{left:auto;right:3%;max-width:330px;bottom:116px}
.end-content{animation:end-reveal 2.7s both}.end-orbit::before,.end-orbit::after{content:'';position:absolute;top:48%;left:50%;width:24px;height:24px;border-radius:50%;background:#ffe7ad;box-shadow:0 0 80px 25px #f5d59a66;animation:merge-light 2.7s both}.end-orbit::after{animation-name:merge-light-right;background:#b8eedb;box-shadow:0 0 80px 25px #a4dbd166}
@keyframes end-reveal{0%,50%{opacity:0;transform:translateY(16px)}100%{opacity:1;transform:none}}@keyframes merge-light{0%{transform:translateX(-200px);opacity:1}55%{transform:translateX(0) scale(2);opacity:1}100%{transform:scale(9);opacity:0}}@keyframes merge-light-right{0%{transform:translateX(200px);opacity:1}55%{transform:translateX(0) scale(2);opacity:1}100%{transform:scale(9);opacity:0}}
@media(max-height:500px){#message{max-width:290px;bottom:100px;padding:9px 12px}#message p{font-size:10px;line-height:1.5}#message strong{font-size:11px}.panel-controls{display:none}.panel .eyebrow{margin-bottom:14px}.panel{padding:20px}.panel h2{font-size:32px;margin-bottom:10px}.panel p{font-size:12px;margin:8px 0}.panel .primary{min-height:42px;margin-top:8px}.text-button{padding:11px 0}.assist{font-size:10px}}
@media(max-width:600px) and (orientation:portrait){#message{bottom:195px;left:5%;right:5%;max-width:none}}
 .portrait-game-note{display:none}@media(max-width:600px) and (orientation:portrait){.portrait-game-note{position:absolute;top:170px;left:0;right:0;display:flex;justify-content:center;align-items:center;gap:12px;color:#b7cbb18c;font-size:30px}.portrait-game-note span{font-size:11px;line-height:1.5}}
.end-orbit{overflow:hidden}
/* Elimination race: standings, shared upgrades, and explicit interaction. */
.start-art{background-image:url('assets/bio-1.webp')}
#roundCounter{display:block;margin-top:8px;font-size:9px;letter-spacing:.02em;color:#b0c6be}
#statusText{display:block;color:#f1ba93;font-size:11px;min-height:16px;margin-top:5px}
#leaderboard{position:absolute;top:92px;right:3%;width:174px;padding:12px 14px;background:#071b24d6;border:1px solid #a7cbbb24;border-radius:9px;backdrop-filter:blur(9px)}
#standings{display:grid;gap:3px}.standing{display:grid;grid-template-columns:5px 14px 1fr 30px;gap:7px;align-items:center;font-size:10px;min-height:24px;color:#a9c1bc;padding:3px 0}.standing>i{width:5px;height:16px;border-radius:3px}.standing>b{font-size:9px}.standing small{text-align:right;font-size:9px}.standing.you{color:#f1f5d6;font-weight:bold}.standing.danger{border-top:1px solid #db9a8140;color:#e4a18e}.standing.danger small{color:#ffb49a}
.hud-bottom{gap:20px}.abilities{gap:12px}.ability{gap:6px}.ability>b{width:31px;height:31px;font-size:20px}.ability>span{font-size:8px;letter-spacing:.01em}.ability small{margin-top:3px}.ability.suppressed{opacity:.38;filter:grayscale(1)}
.disrupt-status{width:140px;font-size:9px;color:#c1d5c6;letter-spacing:.08em}.disrupt-status>div{margin-top:9px;height:3px;background:#9dbfb738}.disrupt-status i{display:block;height:3px;background:#aebeea;width:100%}.mini-stats{display:grid;gap:7px;font-size:8px;letter-spacing:.06em;color:#a8c9bf}
#contextAction{position:absolute;left:50%;top:64%;transform:translateX(-50%);display:flex;align-items:center;gap:10px;max-width:500px;border:1px solid #c7e4bf77;border-radius:7px;padding:10px 14px;background:#082630e8;color:#eff2d8;font-size:11px;box-shadow:0 8px 28px #0004}#contextAction kbd{background:#d4e5bc;color:#173c34;font-weight:bold}
.results-panel{width:min(520px,100%)}.result-row{display:grid;grid-template-columns:35px 1fr 80px;align-items:center;gap:10px;padding:11px 13px;border-bottom:1px solid #b2d0c221;color:#a9c1bc;font-size:12px}.result-row b{font:20px Georgia,serif}.result-row small{font-size:9px;text-align:right;letter-spacing:.04em}.result-row.you{background:#aacd9c12;color:#f1efcc}.result-row.out{color:#e1a28e}.result-row.out small{color:#f3b29b}
.rules-panel{width:min(600px,100%)}.rules-list{padding-left:20px;font-size:12px;line-height:1.7;color:#b5cdc4}.rules-list li{padding:5px 0 5px 6px}.rules-list b{color:#e2ebc9}
#fullStats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:23px 0}#fullStats>div{padding:12px 9px;background:#7baf9e10;border:1px solid #a4c1b52a}#fullStats span{display:block;font-size:9px;color:#aac4b8}#fullStats b{display:block;font:23px Georgia,serif;color:#e4e6b9;margin-top:9px}
#touchDisrupt{font-size:21px;margin-bottom:10px}.touch-actions{gap:8px}
@media(max-width:1150px){.ability>span{display:none}.abilities{gap:9px}.mini-stats{display:none}.hud-bottom{justify-content:flex-start}.dash-status,.disrupt-status{width:130px}}
@media(pointer:coarse),(hover:none),(max-width:600px),(max-width:950px) and (max-height:600px){.hud-bottom{left:145px;right:270px;bottom:16px;gap:13px}.abilities{gap:5px}.ability>b{width:24px;height:24px;font-size:16px}.dash-status,.disrupt-status{display:none}#leaderboard{right:20px;top:64px;width:132px;padding:8px 10px}.standing{font-size:8px;grid-template-columns:3px 10px 1fr 25px;gap:4px;min-height:19px}.standing small{font-size:8px}.standing>i{height:12px;width:3px}#leaderboard .micro-label{font-size:7px;margin-bottom:4px}#roundCounter{font-size:8px;margin-top:6px}.objective{max-width:290px}#contextAction{top:66%;font-size:10px;padding:7px 10px;max-width:350px}#statusText{font-size:9px}#message{bottom:115px;max-width:280px}}
@media(max-height:500px){.hud-top{gap:14px}.vitals{min-width:90px}.objective{top:67px;max-width:275px}#objectiveText{font-size:10px}.journey{width:34vw}.journey-heading{font-size:8px;letter-spacing:.05em}.standing{min-height:17px;padding:2px 0}.rules-list{font-size:11px;line-height:1.5}.rules-list li{padding:3px 0}.results-panel{padding:20px}.result-row{padding:7px 11px}.result-row b{font-size:16px}.results-panel h2{font-size:28px}#contextAction{top:61%}.panel{margin:auto}.end-screen{align-items:start}.end-content{margin:10px 0}.end-content h2{font-size:40px}.end-lead{font-size:18px}.end-sub{font-size:12px}#endStats{margin:14px 0}.start-main .intro{max-width:430px}.intro-controls{gap:10px}}
@media(max-width:600px) and (orientation:portrait){#leaderboard{top:115px;right:5%;width:128px}.objective{max-width:65%}.hud-bottom{bottom:155px;left:5%;right:5%;justify-content:center}.ability>b{width:31px;height:31px;font-size:20px}.abilities{gap:13px}#contextAction{top:64%;width:90%;max-width:360px}.touch-actions{gap:6px}.touch-actions button{width:43px;height:43px}#touchFire{width:58px;height:58px}#joystick{width:96px;height:96px}#stick{left:26px;top:26px}.portrait-game-note{top:260px;font-size:24px}#message{bottom:205px;left:5%;right:5%;max-width:none}.journey-heading{font-size:7px}#roundCounter{font-size:7px}.rules-panel{padding:22px}.panel h2{font-size:31px}.start-small{line-height:1.8}}

@media(max-width:950px) and (max-height:600px){#message{left:20px;right:auto;bottom:140px;max-width:235px;font-size:10px}.message-dot{display:none}}

@media(max-height:500px){.overlay{padding:12px}.results-panel{padding:16px}.results-panel .eyebrow{font-size:9px;margin-bottom:8px}.results-panel h2{font-size:26px;margin-bottom:8px}.results-panel p{font-size:11px;line-height:1.45;margin:6px 0}.result-row{padding:4px 11px;min-height:26px}.result-row b{font-size:15px}.results-panel .primary{min-height:40px;margin-top:8px}}

.primary:disabled{opacity:.45;cursor:wait;transform:none}
/* V4: weapons, automatic capture and visible combat effects. */
#readyPrompt{position:absolute;left:50%;top:24%;transform:translateX(-50%);width:min(500px,70%);padding:20px 28px;text-align:center;background:linear-gradient(100deg,#061b23d9,#143b43e8);border:1px solid #c6e1bc55;border-radius:12px;box-shadow:0 15px 45px #0003}
#readyPrompt strong{display:block;font:26px Georgia,serif;color:#e9efca}#readyPrompt p{font-size:11px;line-height:1.6;color:#bbd3ca;margin:10px 0 0}
#spectatorBadge{position:absolute;left:50%;top:18%;transform:translateX(-50%);background:#12312bea;border:1px solid #cee6b680;border-radius:6px;padding:13px 21px;color:#e8f5c6;font-size:12px;letter-spacing:.1em}
#debuffBar{display:flex;flex-wrap:wrap;gap:5px;margin-top:5px;max-width:350px}.effect-tag{display:inline-block;font-size:9px;line-height:1.4;color:#f9c8ba;border:1px solid #e3a19b45;background:#401c33d9;border-radius:4px;padding:4px 7px}.effect-tag.positive{background:#123e35d9;color:#c2e9ad;border-color:#b7e79b55}
#contextAction{display:block;min-width:220px;text-align:center;font-size:11px;line-height:1.4;padding:9px 16px}.capture-track{height:3px;background:#a7cab33d;margin-top:8px}.capture-track i{display:block;height:3px;background:#e3e8ad;width:0;box-shadow:0 0 8px #def8ad66}
#loadout{position:absolute;left:3%;bottom:91px;display:flex;gap:14px;align-items:center;pointer-events:auto}#weaponBar{display:flex;gap:5px}.weapon-slot,.active-tools button{height:47px;min-width:64px;padding:7px 9px;background:#0a202bdf;border:1px solid #a6c6b838;border-radius:7px;color:#9dbdb6;text-align:center}.weapon-slot b{display:block;font-size:19px;line-height:18px}.weapon-slot span{display:block;font-size:8px;margin-top:4px}.weapon-slot.selected,.active-tools .selected{background:#27493edc;border-color:#d0e3a8;color:#edf4cf;box-shadow:0 0 15px #8bbd7040}.weapon-slot:disabled{opacity:.28;cursor:default}.active-tools{display:flex;gap:5px}.active-tools button{min-width:76px}.active-tools b{font-size:16px;display:block}.active-tools span{font-size:8px;display:block;margin-top:3px}
.abilities{pointer-events:auto;gap:7px;max-width:56%;overflow:auto;scrollbar-width:none;padding:5px 3px;flex-shrink:1}.abilities .ability{position:relative;flex-shrink:0}.abilities .ability>span{display:none}.abilities .ability>b{width:29px;height:29px;border-radius:7px;font-size:18px}.ability::after{content:attr(data-level);position:absolute;right:-3px;top:-4px;background:#0b252a;color:#e9f3d1;font-size:8px;padding:1px 3px;border-radius:3px;border:1px solid #688f7855}.ability.tier-1>b{color:#b4edb1;border-color:#8bc58a99}.ability.tier-2>b{color:#dbb9ff;border-color:#bc8fe1aa}.ability.tier-3>b{color:#ffe0a0;border-color:#e4c07daa;box-shadow:0 0 9px #dabc5c25}.empty-build{font-size:9px;color:#8cae9c;letter-spacing:.06em;white-space:nowrap}
#rivalProfiles{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0}#rivalProfiles>div{padding:9px;border-left:1px solid #aac8b535;background:#b1d3be08}#rivalProfiles strong{font-size:10px}#rivalProfiles small{display:block;color:#9dbab1;line-height:1.5;font-size:10px;margin-top:5px}
.guide-panel{width:min(750px,100%)}.guide-tabs{display:flex;flex-wrap:wrap;gap:6px;margin:19px 0}.guide-tabs button{padding:9px 13px;border:1px solid #adcdb83b;background:#0c2932;color:#b8cec4;font-size:11px;border-radius:5px}.guide-tabs button.selected{border-color:#d5e0ac;color:#e8edca;background:#345347}#guideList{display:grid;grid-template-columns:1fr 1fr;gap:10px;max-height:43vh;overflow:auto;padding-right:8px}.guide-item{display:flex;gap:12px;padding:13px;background:#09232b80;border:1px solid #b3c8b525;border-radius:6px}.guide-item>b{display:grid;place-items:center;min-width:30px;height:35px;font:23px Georgia,serif}.guide-item strong{font-size:11px;color:#d9e4c5}.guide-item p{font-size:11px;line-height:1.55;margin:5px 0 0}
@media(max-width:1100px){#loadout{bottom:83px}.weapon-slot{min-width:55px;padding:6px}.weapon-slot span{font-size:7px}.active-tools button{min-width:65px}.hud-bottom{gap:18px}.abilities{max-width:50%}.ability>b{width:25px!important;height:25px!important}.mini-stats{display:none}}
@media(pointer:coarse),(hover:none),(max-width:600px),(max-width:950px) and (max-height:600px){#loadout{display:none}.touch-actions{display:grid;grid-template-columns:repeat(3,44px);grid-template-rows:44px 60px;gap:7px;align-items:center}.touch-actions button{width:44px;height:44px;font-size:20px;margin:0!important}#touchFire{width:60px;height:60px;grid-column:3;grid-row:2;font-size:28px}#touchDash{grid-column:2;grid-row:2}#touchDisrupt{grid-column:1;grid-row:2}#touchMine{font-size:14px}#touchShield.selected{background:#b2d5ad88}#touchWeapon{font-size:24px}.hud-bottom{left:145px;right:220px;bottom:18px}.abilities{max-width:100%;gap:5px}.empty-build{font-size:8px}#readyPrompt{top:27%;width:54%;padding:12px 18px}#readyPrompt strong{font-size:21px}#readyPrompt p{font-size:10px;margin-top:7px}#readyPrompt .micro-label{font-size:8px}#debuffBar{max-width:260px;gap:3px}.effect-tag{font-size:8px;padding:2px 4px}#contextAction{max-width:340px;min-width:180px;top:67%;font-size:9px}.capture-track{margin-top:5px}#spectatorBadge{top:27%;padding:9px 15px;font-size:10px}}
@media(max-height:500px){.guide-panel{padding:18px}.guide-panel h2{font-size:28px}.guide-tabs{margin:10px 0}.guide-tabs button{padding:7px 12px;font-size:10px}#guideList{max-height:40vh}.guide-item{padding:10px}.guide-item p{font-size:10px;line-height:1.5}.guide-panel .primary{margin-top:10px}#rivalProfiles{grid-template-columns:repeat(3,1fr)}#contextAction{top:63%}}
@media(max-width:600px) and (orientation:portrait){#readyPrompt{top:29%;width:90%;padding:15px}#readyPrompt strong{font-size:23px}#contextAction{top:63%;width:85%}#debuffBar{max-width:235px}.hud-bottom{left:4%;right:4%;bottom:153px}.abilities{max-width:100%;gap:7px}#guideList{grid-template-columns:1fr;max-height:47vh}#rivalProfiles{grid-template-columns:1fr}.guide-tabs{gap:4px}.guide-tabs button{padding:8px 10px}#spectatorBadge{top:26%;width:84%;text-align:center}.portrait-game-note{top:260px}.touch-actions{grid-template-columns:repeat(3,40px);gap:5px}.touch-actions button{width:40px;height:40px}#touchFire{width:53px;height:53px}}.arsenal-label{position:absolute;top:-19px;left:0;font-size:8px;letter-spacing:.12em;color:#cbdcb5;pointer-events:none}.effect-tag.unstable{background:#6b3c3280;border-color:#e7ae6c;color:#ffe1a6}
/* Brief instructions after a completed objective; never intercept movement or aiming. */
#objectiveBanner{position:absolute;z-index:18;top:23%;left:50%;transform:translateX(-50%);width:min(680px,86vw);padding:20px 26px;text-align:center;background:linear-gradient(110deg,#0c292cf2,#183237e8);border:1px solid #c9ffe174;border-radius:18px;box-shadow:0 18px 70px #0007;pointer-events:none}
#objectiveBanner strong{display:block;font-size:clamp(19px,2.7vw,32px);font-weight:800;letter-spacing:.045em;color:#d8ffe8;line-height:1.15}
#objectiveBanner span{display:block;font-size:13px;color:#bfddd1;line-height:1.55;margin-top:10px}
#readyDetail{color:#e4efcb!important;max-width:520px;line-height:1.5}
@media(max-height:500px){#objectiveBanner{top:27%;padding:12px 20px;width:min(560px,76vw)}#objectiveBanner strong{font-size:22px}#objectiveBanner span{font-size:11px;margin-top:5px}}

/* Every real shortcut is visible before a run, including on touch layouts. */
.start-screen{overflow-y:auto;padding:36px 0 42px}
.start-main{width:86%;max-width:1120px;margin:0 auto;display:grid;grid-template-columns:minmax(330px,1.1fr) minmax(340px,1fr);column-gap:clamp(32px,5vw,86px)}
.start-main> :not(.intro-controls){grid-column:1}
.intro-controls{grid-column:2;grid-row:1 / span 9;align-self:center;display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0;padding:22px;background:#071c24d9;border:1px solid #b5d0b93b;border-radius:18px;box-shadow:0 20px 75px #0003;letter-spacing:0;backdrop-filter:blur(10px)}
.controls-heading{grid-column:1 / -1;margin:0 0 7px;color:#d7e5cb;font-size:10px;font-weight:bold;letter-spacing:.16em;display:flex;justify-content:space-between;gap:12px;align-items:center}
.controls-heading>span{font-size:9px;font-weight:normal;color:#93ada4;letter-spacing:0}
.control-card{padding:12px 11px;background:#bad6b70b;border:1px solid #b8d2bb16;border-radius:9px;min-width:0}
.control-card kbd{display:inline-block;font-size:10px;font-weight:bold;color:#e3e5bd;background:#c3d8ac0d;border-color:#bed4b238;margin-bottom:9px;padding:5px 7px}
.control-card strong{display:block;font-size:12px;line-height:1.3;color:#d8e4d8;font-weight:normal}
.control-card small{display:block;font-size:10px;line-height:1.5;color:#92aca5;margin-top:4px}
.controls-footnote{grid-column:1 / -1;font-size:10px;line-height:1.7;color:#9bb8ac;margin:6px 0 0}
.start-small{margin-bottom:0}
@media(min-width:900px) and (max-height:720px){.start-main h1{font-size:76px}.start-main h1>span{font-size:27px;margin-top:18px}.start-main .eyebrow{margin-bottom:18px}.start-main .intro{margin:20px 0}.intro-controls{padding:17px;gap:8px}.control-card{padding:9px 10px}.control-card kbd{margin-bottom:6px}}
@media(max-width:899px){.start-screen{align-items:flex-start;padding-top:34px;padding-bottom:50px}.start-main{display:block;width:86%;max-width:620px;margin:0 auto}.intro-controls{display:grid;grid-template-columns:1fr 1fr;margin-top:28px;padding:18px}.start-side{display:none}.loading-status{position:fixed;right:3%;bottom:10px;padding:5px 8px;border-radius:5px;background:#07151be6;font-size:8px}.start-main .intro{max-width:none}.start-small{margin-top:20px}.rotation-note{margin-bottom:0}.start-main h1{font-size:clamp(57px,12vw,84px)}}
@media(max-width:420px){.control-card{padding:10px 9px}.control-card kbd{font-size:9px}.intro-controls{gap:8px;padding:14px}.controls-heading{font-size:9px}.controls-heading>span{font-size:8px}.control-card small{font-size:9px}}
