@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700;800;900&family=Inter:wght@400;500;600;700;800&display=swap');
:root{--red:#e33b36;--red2:#a92425;--ink:#0b0e11;--panel:rgba(13,17,21,.91);--line:rgba(255,255,255,.12);--white:#f1f2f3;--muted:#8e969d}
*{box-sizing:border-box;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent} input{user-select:text;-webkit-user-select:text} canvas,button,a,.overlay{user-select:none;-webkit-user-select:none}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#101418;color:var(--white);font-family:Inter,Arial,sans-serif}button,input{font:inherit}button{cursor:pointer}#game-shell{position:relative;width:100%;height:100%;overflow:hidden;background:#111}#game{display:block;width:100%;height:100%;outline:none}.vignette{pointer-events:none;position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.55),transparent 23%,transparent 70%,rgba(0,0,0,.64)),radial-gradient(ellipse at center,transparent 45%,rgba(0,0,0,.25));}
.topbar{position:absolute;top:0;left:0;right:0;height:78px;display:flex;align-items:center;padding:0 30px;border-bottom:1px solid rgba(255,255,255,.09);background:linear-gradient(180deg,rgba(7,10,12,.75),transparent);gap:24px}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:white;font-size:13px;font-weight:800;letter-spacing:1.2px}.brand-mark{display:grid;place-items:center;width:39px;height:39px;background:var(--red);font-family:'Barlow Condensed';font-size:22px;font-weight:900;letter-spacing:-1px;clip-path:polygon(0 0,100% 0,100% 75%,75% 100%,0 100%)}.brand .muted{color:#aab0b4}.brand small{display:block;font-size:8px;letter-spacing:2px;color:#92999e;margin-top:4px}.server-pill{margin-left:auto;border:1px solid var(--line);background:rgba(10,13,16,.5);padding:10px 13px;font-size:9px;letter-spacing:1.4px;color:#aab0b4}.server-pill i,.eyebrow span{display:inline-block;width:6px;height:6px;border-radius:50%;background:#e34a43;margin-right:8px;box-shadow:0 0 10px #e34a4380}.server-pill b{color:#e8e9e9;margin-left:9px;font-weight:600}.icon-btn{border:1px solid var(--line);background:rgba(10,13,16,.55);color:#e7e9ea;padding:10px 12px;font-size:13px}.icon-btn span{font-size:9px;letter-spacing:1px;margin-left:5px}
.hud{position:absolute;top:100px;left:30px;display:flex;gap:8px}.hud-card{min-width:144px;padding:13px 15px;background:var(--panel);border:1px solid var(--line);border-top:2px solid #9d302d;box-shadow:0 8px 24px #0003;backdrop-filter:blur(7px)}.hud-card small,.mission-grid small{display:block;color:#929aa0;font-size:8px;letter-spacing:1.8px;font-weight:700}.hud-card strong{display:block;font-family:'Barlow Condensed';font-size:27px;line-height:1.2;letter-spacing:.4px;margin:4px 0}.hud-card strong em{font-size:14px;color:#9ca3a9;font-style:normal}.hud-card>span{font-size:8px;letter-spacing:1.2px;color:#d4d7d9}.speed-meter{height:3px;background:#33393d;margin-top:8px}.speed-meter span{display:block;width:0;height:100%;background:var(--red);transition:width .1s}.crosshair{position:absolute;left:50%;top:50%;width:17px;height:17px;transform:translate(-50%,-50%);opacity:.9;pointer-events:none}.crosshair i{position:absolute;background:#f4f4ed;box-shadow:0 0 2px #000}.crosshair i:nth-child(1){height:5px;width:1px;top:0;left:8px}.crosshair i:nth-child(2){height:5px;width:1px;bottom:0;left:8px}.crosshair i:nth-child(3){width:5px;height:1px;left:0;top:8px}.crosshair i:nth-child(4){width:5px;height:1px;right:0;top:8px}
.bottom-left,.bottom-right{position:absolute;bottom:22px;font-size:8px;letter-spacing:1.4px;color:#d2d6d8;text-shadow:0 1px 5px #000}.bottom-left{left:30px;display:flex;align-items:center;gap:8px}.bottom-right{right:30px;text-align:right;display:grid;gap:7px;color:#aeb4b8}.keycap{padding:5px 6px;border:1px solid #ffffff45;background:#0a0d10a8;font-size:8px;color:white}.notice{position:absolute;top:43%;left:50%;transform:translate(-50%,-50%) translateY(10px);opacity:0;padding:11px 17px;background:#111a;border-left:3px solid var(--red);font-size:10px;font-weight:800;letter-spacing:2px;transition:.2s;pointer-events:none}.notice.show{opacity:1;transform:translate(-50%,-50%)}#hit-flash{position:absolute;inset:0;pointer-events:none;background:#e22b25;opacity:0;transition:opacity .18s}
.overlay{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:7vh 10vw;background:linear-gradient(90deg,rgba(6,9,12,.94) 0%,rgba(6,9,12,.79) 38%,rgba(6,9,12,.16) 75%,transparent);backdrop-filter:blur(1px)}.hidden{display:none!important}.eyebrow{font-size:9px;letter-spacing:2px;color:#b2b8bc;font-weight:700;margin-bottom:18px}.overlay h1,.overlay h2{font-family:'Barlow Condensed';font-weight:900;font-size:clamp(64px,9vw,126px);line-height:.76;letter-spacing:-2px;margin:0 0 23px;text-shadow:0 5px 25px #0008}.overlay h1 span,.overlay h2 span{color:var(--red)}.overlay h2{font-size:clamp(55px,7vw,94px);line-height:.85}.intro{max-width:370px;font-size:12px;line-height:1.8;color:#b7bdc1;margin:0 0 27px}.mission-grid{display:grid;grid-template-columns:1fr;gap:13px;border-left:1px solid #e13a35;padding-left:15px;margin:0 0 28px}.mission-grid b{display:block;font-size:9px;letter-spacing:1.2px;margin-top:5px}.primary-btn,.secondary-btn{width:230px;padding:15px 17px;text-align:left;border:0;font-weight:800;font-size:10px;letter-spacing:2px}.primary-btn{background:var(--red);color:#fff;box-shadow:0 8px 25px #d22b2b35;transition:background .15s,transform .15s}.primary-btn:hover{background:#f14a43;transform:translateY(-1px)}.primary-btn span{float:right;font-size:17px;line-height:10px}.secondary-btn{background:transparent;color:#c4c9cc;border:1px solid #ffffff33;margin-top:9px}.microcopy{font-size:8px;letter-spacing:1.1px;color:#828b91;margin-top:13px}.finish-time{font-family:'Barlow Condensed';font-size:52px;font-weight:800;margin:0 0 20px}.name-label{font-size:8px;letter-spacing:1.5px;color:#aab0b5;margin-bottom:6px}.overlay input{width:230px;background:#11171b;border:1px solid #454b50;padding:12px;color:white;outline:none;margin-bottom:12px;font-size:11px}.overlay input:focus{border-color:var(--red)}.pause-hint{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:10px;letter-spacing:2px;background:#0b0e11dc;padding:14px 18px;border:1px solid var(--line)}
#loading{position:absolute;inset:0;z-index:20;background:#0b0e11;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;font-size:9px;letter-spacing:2px;color:#8e969d;transition:opacity .4s}.loader-mark{display:grid;place-items:center;width:55px;height:55px;background:var(--red);font-family:'Barlow Condensed';font-size:30px;font-weight:900;color:white}.load-track{width:160px;height:2px;background:#272d31}.load-track span{display:block;width:0;height:100%;background:var(--red);animation:load 1.2s ease forwards}@keyframes load{to{width:100%}}
@media(max-width:700px){.topbar{height:65px;padding:0 14px}.server-pill{display:none}.hud{left:12px;top:78px;gap:5px}.hud-card{min-width:0;width:112px;padding:10px}.hud-card strong{font-size:22px}.hud-card>span{font-size:7px}.overlay{padding:8vh 8vw;background:rgba(6,9,12,.76)}.overlay h1{font-size:70px}.bottom-left{left:12px;right:12px;bottom:45px;flex-wrap:wrap;gap:5px}.bottom-right{right:12px;bottom:12px}.crosshair{top:50%}.speed-card{display:none}}
/* v5 expanded competitive leaderboard */
#pause-screen{align-items:flex-start;overflow-y:auto;justify-content:flex-start;padding-top:6vh;padding-bottom:5vh}
#pause-screen .intro{margin-bottom:18px}
#pause-screen .primary-btn,#pause-screen>.secondary-btn{width:260px;flex-shrink:0}
.leaderboard-panel{width:min(760px,84vw);max-height:54vh;overflow:auto;margin-top:16px;padding:20px 22px;background:linear-gradient(145deg,rgba(13,18,22,.98),rgba(5,8,10,.97));border:1px solid #ffffff25;border-top:3px solid var(--red);box-shadow:0 20px 60px #0009;backdrop-filter:blur(14px)}
.leaderboard-heading{display:flex;justify-content:space-between;align-items:center;gap:18px;font-family:'Barlow Condensed';font-size:clamp(20px,2.2vw,29px);letter-spacing:1.7px}
.leaderboard-heading strong:before{content:'TOP TIMES / ';color:var(--red)}
.leaderboard-heading button{background:#1b2227;color:#e6e9eb;border:1px solid #ffffff35;padding:10px 13px;font-size:10px;font-weight:800;letter-spacing:1.2px}
.leaderboard-heading button:hover{border-color:var(--red);background:#2b1718}
.leaderboard-status{font-size:10px;letter-spacing:1.5px;color:#9ca5ab;margin:14px 0 10px;padding-bottom:12px;border-bottom:1px solid #ffffff1a}
.leaderboard-panel ol{list-style:none;padding:0;margin:0;counter-reset:rank}
.leaderboard-panel li{display:grid;grid-template-columns:54px minmax(0,1fr) minmax(115px,auto);gap:18px;align-items:center;min-height:48px;padding:10px 13px;border-bottom:1px solid #ffffff12;font-size:14px;background:linear-gradient(90deg,rgba(255,255,255,.025),transparent 80%)}
.leaderboard-panel li:nth-child(1){background:linear-gradient(90deg,#a989382e,transparent 82%);border-left:3px solid #e2bf59}
.leaderboard-panel li:nth-child(2){background:linear-gradient(90deg,#aeb8c12a,transparent 82%);border-left:3px solid #aeb8c1}
.leaderboard-panel li:nth-child(3){background:linear-gradient(90deg,#a66c422a,transparent 82%);border-left:3px solid #b87c52}
.leaderboard-rank{font-family:'Barlow Condensed';font-size:22px;color:#f04b45;font-weight:900;letter-spacing:.5px}
.leaderboard-panel li:nth-child(1) .leaderboard-rank{color:#f0cf69}.leaderboard-panel li:nth-child(2) .leaderboard-rank{color:#d0d7dc}.leaderboard-panel li:nth-child(3) .leaderboard-rank{color:#d39a70}
.leaderboard-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#e1e5e7;font-weight:700;font-size:13px}
.leaderboard-time{font-family:'Barlow Condensed';font-size:22px;letter-spacing:.5px;font-variant-numeric:tabular-nums;font-weight:800;color:#fff;text-align:right}
@media(max-width:650px){#pause-screen{padding:5vh 7vw;}.leaderboard-panel{width:100%;max-height:48vh;padding:14px}.leaderboard-panel li{grid-template-columns:36px minmax(0,1fr) auto;gap:9px;padding:9px 7px;min-height:42px}.leaderboard-rank{font-size:19px}.leaderboard-name{font-size:11px}.leaderboard-time{font-size:18px}.leaderboard-heading{font-size:19px}}
/* v6 animated skybox selection */
.environment-picker{width:min(480px,80vw);margin:0 0 18px;padding:13px 14px;background:linear-gradient(110deg,rgba(10,14,18,.84),rgba(10,14,18,.38));border:1px solid #ffffff20;border-left:2px solid var(--red);backdrop-filter:blur(8px)}
.picker-label{font-size:8px;letter-spacing:2px;font-weight:800;color:#aeb7bd;margin-bottom:10px}
.environment-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.environment-option{min-width:0;display:flex;align-items:center;gap:8px;text-align:left;padding:9px 7px;background:rgba(255,255,255,.035);border:1px solid #ffffff1a;color:#e8ecee;transition:border-color .2s,background .2s,transform .2s}
.environment-option:hover{transform:translateY(-1px);border-color:#ffffff65}.environment-option.active{background:rgba(207,49,45,.16);border-color:#e34a43;box-shadow:inset 0 0 16px #e34a4314}
.environment-option span{font-size:8px;line-height:1.4;letter-spacing:.7px;font-weight:900;white-space:nowrap}.environment-option small{display:block;color:#9ba5ac;font-size:6px;letter-spacing:.7px;margin-top:3px}
.theme-swatch{flex:0 0 23px;height:31px;border:1px solid #ffffff2c;display:block;background:#101}.theme-swatch.rift{background:radial-gradient(ellipse at 65% 40%,#ff4d45 0,#8d174b 28%,#160e2b 70%)}.theme-swatch.grid{background:repeating-linear-gradient(0deg,transparent 0 7px,#14baf7 8px 9px),repeating-linear-gradient(90deg,#03142a 0 7px,#0870a7 8px 9px)}.theme-swatch.aurora{background:linear-gradient(155deg,#061624 10%,#19b88c 40%,#522d92 62%,#07111f 90%)}
.pause-environment{width:min(760px,84vw);margin-top:14px;margin-bottom:4px}.pause-environment .environment-options{max-width:560px}
@media(max-width:700px){.environment-picker{width:100%;padding:9px;margin-bottom:12px}.environment-option{gap:5px;padding:7px 4px}.environment-option span{font-size:7px;letter-spacing:0}.environment-option small{font-size:5px}.theme-swatch{flex-basis:16px;height:25px}.pause-environment{width:100%}#start-screen{overflow-y:auto;justify-content:center;padding-top:4vh;padding-bottom:4vh}.overlay h1{margin-bottom:15px}.intro{margin-bottom:15px}.mission-grid{gap:8px;margin-bottom:15px}}

/* v10 compact, always-accessible sky theme dock */
.theme-dock{position:absolute;z-index:5;top:88px;right:28px;width:142px;padding:9px 10px;background:rgba(8,12,15,.72);border:1px solid #ffffff24;border-top:2px solid var(--red);backdrop-filter:blur(9px)}
.theme-dock-label{display:block;font-size:7px;font-weight:800;letter-spacing:1.7px;color:#aeb7bd;margin:0 0 7px 2px}
.theme-dock-options{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}
.theme-dock .environment-option{justify-content:center;padding:5px;background:#ffffff08;border:1px solid #ffffff1c;min-height:31px}
.theme-dock .environment-option.active{background:#cf312d26;border-color:#e34a43;box-shadow:inset 0 0 12px #e34a4312}
.theme-dock .theme-swatch{flex:0 0 21px;width:21px;height:20px}
@media(max-width:700px){.theme-dock{top:72px;right:12px;width:118px;padding:7px}.theme-dock-label{font-size:6px;margin-bottom:5px}.theme-dock .environment-option{min-height:27px;padding:3px}.theme-dock .theme-swatch{flex-basis:17px;width:17px;height:17px}.hud{right:12px}.bottom-right{max-width:145px}}

/* v11 compact volume control beside the soundtrack toggle */
.music-controls{display:flex;align-items:center;gap:9px;flex-shrink:0}.volume-control{display:flex;flex-direction:column;gap:5px;width:112px;padding:7px 9px;background:rgba(8,12,15,.68);border:1px solid #ffffff24;border-top:2px solid #9d302d;backdrop-filter:blur(8px)}.volume-control>span{display:flex;justify-content:space-between;font-size:7px;letter-spacing:1.4px;color:#aeb7bd;font-weight:800}.volume-control b{color:#f0f2f3;font-variant-numeric:tabular-nums}.volume-control input{width:100%;height:12px;margin:0;accent-color:#e33b36;cursor:pointer;user-select:auto;-webkit-user-select:auto}.volume-control input:focus-visible{outline:1px solid #f45b55;outline-offset:3px}
.location-tag{position:absolute;left:30px;top:calc(100% - 2px);transform:translateY(8px);font-size:7px;letter-spacing:1.7px;color:#b8c5cb;text-shadow:0 2px 8px #000;opacity:.82;pointer-events:none}
@media(max-width:700px){.topbar{gap:7px;padding:0 10px}.brand{gap:7px;font-size:10px;letter-spacing:.5px}.brand-mark{width:31px;height:31px;font-size:18px}.brand small{font-size:6px;letter-spacing:1px}.music-controls{gap:5px}.music-controls .icon-btn{padding:8px 7px;font-size:11px}.music-controls .icon-btn span{font-size:7px;margin-left:2px}.volume-control{width:78px;padding:5px 6px;gap:3px}.volume-control>span{font-size:6px;letter-spacing:.7px}.server-pill{display:none}.location-tag{left:12px;top:65px;font-size:6px}.theme-dock{top:108px;right:12px}}


/* v12 Steam-authenticated multiplayer roster */
.multiplayer-panel{position:absolute;z-index:5;top:176px;right:28px;width:230px;max-height:40vh;overflow:hidden;background:rgba(8,12,15,.82);border:1px solid #ffffff24;border-top:2px solid var(--red);backdrop-filter:blur(10px);box-shadow:0 10px 35px #0004}
.mp-heading{display:flex;align-items:center;justify-content:space-between;padding:10px 11px;border-bottom:1px solid #ffffff15;font-size:8px;letter-spacing:1.3px;color:#c5ccd0;font-weight:800}.mp-heading b{font-variant-numeric:tabular-nums;color:#f0f2f3}.mp-live-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#e34a43;box-shadow:0 0 9px #e34a43;margin-right:6px}.steam-login{display:block;width:calc(100% - 18px);margin:9px;padding:9px 8px;background:#17395c;color:#f1f5fa;border:1px solid #4b82b7;font-size:8px;letter-spacing:1px;font-weight:800}.steam-login:hover{background:#205184}.player-list{max-height:calc(40vh - 90px);overflow:auto}.player-list-empty{margin:0;padding:11px;color:#8f9aa1;font-size:9px;line-height:1.6}.mp-player{display:flex;align-items:center;gap:8px;padding:7px 10px;border-bottom:1px solid #ffffff0d;min-width:0}.mp-player img{width:27px;height:27px;flex:0 0 27px;object-fit:cover;border:1px solid #ffffff35;background:#20262a}.mp-player .mp-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:700;color:#e6e9eb}.mp-player .mp-you{font-size:7px;color:#e34a43;letter-spacing:1px;margin-top:3px}.mp-player .mp-copy{min-width:0}.mp-status-note{padding:8px 10px;font-size:8px;line-height:1.5;color:#aab4ba;border-top:1px solid #ffffff12}
@media(max-width:700px){.multiplayer-panel{top:176px;left:12px;right:auto;width:154px;max-height:27vh}.mp-heading{padding:7px;font-size:7px}.steam-login{margin:6px;width:calc(100% - 12px);padding:7px 4px;font-size:7px}.player-list{max-height:calc(27vh - 74px)}.mp-player{gap:5px;padding:5px 6px}.mp-player img{width:22px;height:22px;flex-basis:22px}.mp-player .mp-name{font-size:8px}.player-list-empty{font-size:8px;padding:7px}}


/* Immersive HUD toggle: keep only the compact H hint visible while playing. */
.hud-hint{position:absolute;z-index:30;top:18px;left:50%;transform:translateX(-50%);padding:9px 15px;border:1px solid rgba(255,255,255,.18);border-top:2px solid var(--red);background:rgba(7,10,13,.78);backdrop-filter:blur(8px);color:#e9edef;font-size:9px;font-weight:800;letter-spacing:2px;text-align:center;white-space:nowrap;pointer-events:none;text-shadow:0 1px 5px #000;transition:background .18s,border-color .18s,opacity .18s}
.hud-hint.hint-pulse{background:rgba(130,20,25,.9);border-color:#e34a43}
body.hud-hidden .topbar,body.hud-hidden .hud,body.hud-hidden .multiplayer-panel,body.hud-hidden .theme-dock,body.hud-hidden .bottom-left,body.hud-hidden .bottom-right,body.hud-hidden .server-pill,body.hud-hidden .music-controls,body.hud-hidden #pause-btn{opacity:0!important;visibility:hidden!important;pointer-events:none!important}
body.hud-hidden .crosshair{opacity:.3}
@media(max-width:700px){.hud-hint{top:8px;padding:7px 10px;font-size:8px;letter-spacing:1.1px;max-width:calc(100vw - 24px)}}

/* V18: soundtrack picker and explicit Steam session sign-out. */
.track-control{display:flex;flex-direction:column;gap:4px;padding:6px 7px;background:rgba(8,12,15,.68);border:1px solid #ffffff24;border-top:2px solid #9d302d;color:#aeb7bd;font-size:7px;font-weight:800;letter-spacing:1.3px}
.track-control select{max-width:90px;background:#10161c;color:#f0f2f3;border:1px solid #ffffff28;padding:4px;font-size:9px;letter-spacing:.4px;cursor:pointer}
.steam-logout{display:block;width:100%;margin-top:7px;padding:9px 10px;border:1px solid #803632;background:rgba(85,19,22,.55);color:#f2c7c5;font-size:9px;font-weight:800;letter-spacing:1px;cursor:pointer}
.steam-logout[hidden]{display:none!important}
/* H hides the interface but intentionally leaves the run timer readable. */
body.hud-hidden .hud{opacity:1!important;visibility:visible!important;pointer-events:none!important}
body.hud-hidden .hud .hud-card:not(.timer-card){opacity:0!important;visibility:hidden!important}
body.hud-hidden .hud .timer-card{opacity:1!important;visibility:visible!important;pointer-events:none!important;position:fixed;top:18px;left:18px;z-index:31;background:rgba(7,10,13,.82)}
@media(max-width:700px){.track-control{display:none}body.hud-hidden .hud .timer-card{top:8px;left:8px}}

/* V21: distinct multiplayer join notification treatment. */
.notice.player-join-notice{top:30%;padding:14px 20px;border-left:3px solid #e34a43;border-right:1px solid #e34a4355;background:linear-gradient(110deg,rgba(23,10,12,.96),rgba(8,12,15,.94));box-shadow:0 12px 40px #0009,0 0 24px #e33b3622;letter-spacing:1.5px}
.notice.player-join-notice.show{animation:joinNoticeIn .32s ease-out both}
@keyframes joinNoticeIn{from{opacity:0;transform:translate(-50%,-50%) translateY(12px) scale(.97)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}
@media(prefers-reduced-motion:reduce){.notice.player-join-notice.show{animation:none}}

/* V22 pause menu navigation and community card */
#pause-screen .pause-link{display:block;text-decoration:none;box-sizing:border-box;color:#dce0e2;line-height:1.2}
#pause-screen .pause-link span{float:right;color:var(--red);font-size:16px;line-height:10px}
.discord-cta{display:flex;align-items:center;gap:13px;width:min(390px,84vw);padding:14px 16px;margin-top:14px;text-decoration:none;color:#f2f4f5;background:linear-gradient(110deg,rgba(88,101,242,.18),rgba(15,20,26,.92) 60%);border:1px solid rgba(125,139,255,.35);border-left:3px solid #7280ff;box-shadow:0 12px 30px #0005;transition:transform .18s,border-color .18s,background .18s}
.discord-cta[href]:hover{transform:translateY(-2px);border-color:#9ca5ff;background:linear-gradient(110deg,rgba(88,101,242,.28),rgba(15,20,26,.96) 65%)}
.discord-icon{display:grid;place-items:center;flex:0 0 38px;height:38px;background:#5865f2;color:white;font-size:25px;font-weight:900;border-radius:10px}
.discord-cta>span:nth-child(2){display:grid;gap:5px;min-width:0}.discord-cta strong{font-size:10px;letter-spacing:1.2px}.discord-cta small{font-size:9px;line-height:1.5;color:#aab3c7}.discord-cta>b{margin-left:auto;color:#aeb5ff;font-size:18px}.discord-unconfigured{opacity:.8}
@media(max-width:650px){.discord-cta{width:100%;max-width:390px;padding:12px}}


/* V23 usability pass: route progress, clear controls, and pause shortcuts */
.course-progress{position:absolute;top:88px;left:50%;transform:translateX(-50%);width:min(360px,32vw);z-index:4;padding:9px 12px 10px;background:rgba(8,11,14,.78);border:1px solid rgba(255,255,255,.1);backdrop-filter:blur(8px);pointer-events:none}
.course-progress-meta{display:flex;align-items:center;justify-content:space-between;margin-bottom:7px;color:#aeb5ba;font-size:8px;font-weight:800;letter-spacing:1.5px}.course-progress-meta b{color:#f0f1f2;font-variant-numeric:tabular-nums}.course-progress-track{height:3px;background:#34393d;overflow:hidden}.course-progress-track span{display:block;width:0;height:100%;background:linear-gradient(90deg,#9f2928,#ef5148);box-shadow:0 0 10px #e33b3666;transition:width .16s linear}
.control-guide{display:grid;grid-template-columns:repeat(3,minmax(88px,1fr));gap:8px;max-width:410px;width:100%;margin:0 0 20px}.control-guide>div{display:flex;align-items:center;gap:8px;min-width:0;padding:8px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.1)}.control-guide kbd{flex:0 0 auto;min-width:36px;padding:5px 4px;text-align:center;background:#24292d;border:1px solid #535b61;color:#fff;font:700 9px Inter,Arial,sans-serif}.control-guide span{font-size:8px;font-weight:800;letter-spacing:.8px;color:#aeb5ba}.pause-shortcuts{max-width:390px;margin:12px 0 0;color:#899198;font-size:8px;letter-spacing:1.3px;line-height:1.7}
body.hud-hidden .course-progress{opacity:0!important;visibility:hidden!important}
@media(max-width:700px){.course-progress{top:73px;width:min(300px,52vw);left:auto;right:10px;transform:none;padding:7px 9px}.course-progress-meta{font-size:7px}.control-guide{grid-template-columns:repeat(2,minmax(100px,1fr));gap:6px;max-width:280px}.control-guide>div{padding:6px}.control-guide span{font-size:7px}.pause-shortcuts{max-width:280px}}
@media(max-height:760px){#start-screen{overflow-y:auto;justify-content:flex-start;padding-top:5vh;padding-bottom:5vh}.overlay h1{font-size:clamp(54px,8vw,90px);margin-bottom:16px}.overlay .intro{margin-bottom:16px}.mission-grid{gap:8px;margin-bottom:16px}.control-guide{margin-bottom:12px}}

/* V27 playable world UX */
.run-status{position:absolute;left:30px;top:203px;display:flex;flex-wrap:wrap;gap:7px;max-width:540px;pointer-events:none;z-index:3}
.run-status span{background:rgba(5,12,18,.83);border-left:2px solid #ab4148;color:#bdcbd3;padding:8px 10px;font-size:9px;letter-spacing:1.1px;font-weight:700;backdrop-filter:blur(5px)}
.run-status b{color:#f7faff;font-variant-numeric:tabular-nums;margin-left:4px}.run-status span:first-child{color:#ffb5ab;border-left-color:#fa5046}
.game-mode-picker{display:flex;gap:8px;max-width:550px;width:100%;margin:0 0 15px}
.game-mode-picker button{flex:1;min-width:0;text-align:left;border:1px solid #53606d;background:#111d28dc;color:#e4f0f8;padding:12px 13px}
.game-mode-picker button.selected{border-color:#ff5861;box-shadow:inset 0 0 0 1px #ff58613d;background:#292025ec}
.game-mode-picker b{display:block;font-size:11px;letter-spacing:1.1px}.game-mode-picker small{display:block;font-size:9px;line-height:1.5;color:#a6b5bf;margin-top:4px}
.pause-toolbox{display:grid;grid-template-columns:repeat(2,minmax(250px,1fr));gap:13px;width:min(780px,83vw);margin-top:15px}
.pause-section{background:rgba(8,17,24,.9);border:1px solid #7e899347;border-top:2px solid #a63946;padding:12px 15px;min-width:0}
.pause-section h3{font-size:11px;letter-spacing:1.4px;margin:0 0 12px;color:#f1f5f8}.help{font-size:9px;color:#9aafbd;line-height:1.55;margin:8px 0}
.course-map{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.map-stop{min-height:37px;border:1px solid #66788770;background:#132531;color:#e1f0f6;font-size:9px;font-weight:700;text-align:left;padding:8px;letter-spacing:.35px}
.map-stop.current{border-color:#ff5961;background:#512630}.map-stop:disabled{opacity:.45;cursor:not-allowed}
.split-list{display:grid;gap:3px;max-height:190px;overflow-y:auto}
.split-row{display:grid;grid-template-columns:minmax(110px,1fr) 91px 58px;gap:7px;font-size:9px;padding:6px;border-bottom:1px solid #ffffff1d;color:#b4c7d0}
.split-row strong{color:#fff;font-variant-numeric:tabular-nums;text-align:right}.split-row small{text-align:right;color:#92b8c6}
.settings-line{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:7px 0;font-size:10px;letter-spacing:1px}
.settings-line select{max-width:190px;padding:10px;border:1px solid #73808a;color:#eef3f8;background:#101d26;font-size:10px}
.settings-line input{accent-color:#e2474d;height:18px;width:18px;margin:0}
.pause-section .secondary-btn{max-width:100%;width:100%;font-size:9px;padding:11px}
body.hud-hidden .run-status{display:none}
#start-screen{overflow-y:auto;justify-content:flex-start;padding-top:4vh;padding-bottom:4vh}
#pause-screen{padding-left:6vw;padding-top:4vh}
#pause-screen h2{font-size:clamp(48px,5vw,70px);margin-bottom:12px}
#pause-screen .intro{margin-bottom:9px}
#pause-screen .eyebrow{margin-bottom:12px}
@media(max-width:900px){.pause-toolbox{grid-template-columns:1fr;width:min(520px,94vw)}.run-status{top:190px;right:10px}}
@media(max-width:700px){.game-mode-picker{flex-direction:column}.run-status{top:156px;left:12px;right:12px}.run-status span{padding:5px;font-size:8px}.pause-toolbox{width:100%}.course-map{grid-template-columns:repeat(2,minmax(0,1fr))}#pause-screen{padding-left:5vw}}
@media(max-height:750px){#start-screen{padding-top:3vh}.overlay h1{font-size:60px}}

.spectator-hud{position:absolute;z-index:11;left:50%;bottom:38px;transform:translateX(-50%);display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px;padding:12px;background:#0b161de9;border-top:2px solid #f05c65;box-shadow:0 14px 50px #0009;min-width:min(640px,94vw)}
.spectator-hud strong{font-size:12px;letter-spacing:1px}.spectator-hud span{font-size:9px;color:#a4b8c5}
.spectator-hud button{background:#1b2d3a;border:1px solid #6f8293;color:#eaf5fa;font-size:10px;padding:10px 12px;font-weight:750}
/* The pause layout owns the screen; gameplay chrome must not cover menu buttons. */
body:has(#pause-screen:not(.hidden)) :is(.topbar,.hud,.run-status,.course-progress,.theme-dock,.multiplayer-panel,.bottom-left,.bottom-right,.crosshair,.hud-hint){visibility:hidden;pointer-events:none}
#pause-screen{z-index:9}
#start-screen,#finish-screen{z-index:9}

/* V28: accessible, immediately visible leaderboard dialog; no scrolling to bottom of pause menu. */
.leaderboard-modal{position:fixed;inset:0;z-index:40;display:grid;place-items:center;padding:20px;background:rgba(2,6,11,.89);backdrop-filter:blur(9px)}
.leaderboard-modal .leaderboard-panel{margin:0;width:min(760px,95vw);max-height:min(760px,90dvh);overflow:auto;border-top:3px solid #f05a62;box-shadow:0 22px 90px #000d}
.leaderboard-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:15px 0 8px}
.leaderboard-toolbar label{font-size:10px;letter-spacing:1px;color:#b9ced8;font-weight:800}
.leaderboard-toolbar select{flex:1;min-width:170px;background:#15212b;border:1px solid #526779;color:#eff5ff;padding:11px;font:700 11px Inter,Arial,sans-serif}
.leaderboard-toolbar button,.leaderboard-heading button{cursor:pointer;min-height:36px;background:#182a35;color:#e8f4fa;border:1px solid #778693;padding:8px 14px;font-size:10px;letter-spacing:.6px;font-weight:800}
.leaderboard-explanation{font-size:10px;color:#9caebd;line-height:1.6;margin:7px 0 14px}
.leaderboard-modal :is(button,select):focus-visible{outline:2px solid #ff6268;outline-offset:3px}
@media(max-width:600px){.leaderboard-modal{padding:8px}.leaderboard-modal .leaderboard-panel{max-height:95dvh;padding:13px}.leaderboard-toolbar{gap:6px}}
