@charset "UTF-8";
:root{font-family:Inter,"Aptos","Segoe UI",Arial,sans-serif;color:#f7f2e8;background:#101426;font-synthesis:none;font-weight:450;font-size:14px;font-optical-sizing:auto;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;color-scheme:dark}
*{box-sizing:border-box}html,body,#game,#ui{width:100%;height:100%;margin:0;overflow:hidden}body{overscroll-behavior:none}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button,a{touch-action:manipulation}button{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #fff4c3;outline-offset:5px}button:disabled{cursor:default}button .icon{flex-shrink:0}a{color:inherit;text-decoration:none}[hidden]{display:none!important}#game{position:fixed;inset:0;display:block;outline:none;touch-action:none}.game-ui{--accent:#ffbc63;--accent-rgb:255,188,99;--muted:#a3aabc;--line:rgba(234,235,255,.12);--panel:rgba(12,18,34,.88);position:fixed;inset:0;pointer-events:none;isolation:isolate}.game-ui[data-theme=lunar]{--accent:#b79dff;--accent-rgb:183,157,255}.icon{display:block;width:21px;height:21px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.eyebrow{margin:0;font-size:10px;font-weight:750;letter-spacing:.18em;line-height:1.5}.muted{color:var(--muted)}
.menu-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(9,14,26,.94) 0%,rgba(10,15,29,.87) 23%,rgba(9,14,26,.3) 49%,rgba(7,11,23,.02) 76%),linear-gradient(0deg,rgba(9,14,26,.62),transparent 25%,transparent 82%,rgba(9,14,26,.38));transition:opacity .35s}
.menu-header{position:absolute;top:max(28px,env(safe-area-inset-top));left:max(40px,env(safe-area-inset-left));right:max(40px,env(safe-area-inset-right));display:flex;align-items:center;justify-content:space-between;gap:24px;pointer-events:auto}.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:49px;height:49px;color:#f5d598}.brand>span{font-size:21px;font-weight:850;letter-spacing:.1em;line-height:1.1}.brand small{display:block;font-size:12px;letter-spacing:.25em;font-weight:550;margin-top:5px}.header-right{display:flex;gap:10px;align-items:center}.profile-pill{display:flex;align-items:center;gap:11px;min-height:58px;padding:7px 16px 7px 8px;background:rgba(12,18,34,.7);backdrop-filter:blur(18px);border:1px solid var(--line);border-radius:13px}.profile-avatar{--avatar-color:#ffb84d;width:40px;height:40px;border-radius:10px;background:linear-gradient(140deg,color-mix(in srgb,var(--avatar-color) 25%,#1c2442),#171f36);border:1px solid color-mix(in srgb,var(--avatar-color) 35%,transparent);display:grid;place-items:center}.profile-avatar .brand-mark{width:28px;height:28px;color:var(--avatar-color)}.profile-info{display:flex;flex-direction:column;gap:3px;max-width:144px}.player-name{max-width:144px;width:144px;background:transparent;border:0;border-bottom:1px solid transparent;border-radius:0;color:#f7f2e8;font-size:13px;font-weight:700;padding:0 0 2px}.player-name:hover{border-color:rgba(255,255,255,.3)}.profile-level{font-size:8px;font-weight:600;letter-spacing:.1em;color:#adb4c7}.profile-wallet{border-left:1px solid var(--line);display:flex;gap:8px;align-items:center;margin-left:5px;padding-left:13px;color:#efd9a6;font-size:13px}.profile-wallet .icon{width:17px;height:17px}.icon-button{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--line);border-radius:11px;background:rgba(13,20,37,.84);color:#dce0eb;transition:background .15s,border-color .15s,transform .15s;flex-shrink:0}.icon-button:hover{background:rgba(42,50,72,.9);border-color:rgba(237,235,255,.3);transform:translateY(-1px)}
.menu-screen{position:absolute;inset:0;display:flex;align-items:center;justify-content:space-between;padding:124px 55px 88px 5.5vw;pointer-events:none}.menu-content{max-width:480px;pointer-events:auto}.festival{display:flex;align-items:center;gap:10px;font-size:9px;color:#e3c394;margin:0 0 23px;letter-spacing:.22em}.live-dot{width:5px;height:5px;border-radius:50%;background:#e6c69c;display:inline-block;box-shadow:0 0 10px rgba(246,203,125,.3);flex-shrink:0}.menu-content h1{font-size:clamp(42px,4.9vw,74px);font-weight:900;line-height:.99;letter-spacing:-.055em;margin:0 0 26px;text-shadow:0 4px 35px rgba(2,6,14,.14)}.menu-content h1>span{color:#f6c781;display:block}.menu-lead{font-size:16px;font-weight:600;letter-spacing:-.01em;margin:0 0 8px}.menu-description{font-size:12px;line-height:1.75;color:#aeb6c8;margin:0 0 28px;letter-spacing:.005em}.play-actions{width:305px;display:flex;flex-direction:column;gap:9px}.button{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:47px;padding:13px 18px;border-radius:8px;border:1px solid transparent;font-weight:750;font-size:13px;text-align:left;transition:background .16s,transform .16s,box-shadow .16s;pointer-events:auto}.button:hover{transform:translateY(-2px)}.button:active{transform:translateY(0)}.button-primary{color:#211d1a;background:#f1ca8b;border-color:#f7d9a8;box-shadow:0 4px 23px rgba(208,158,77,.1)}.button-primary:hover{background:#ffdb9f;box-shadow:0 7px 30px rgba(226,174,95,.23)}.button-primary .icon{width:23px;height:23px}.play-primary{min-height:70px;padding:14px 19px}.play-primary>span{display:flex;flex-direction:column;gap:5px}.play-primary strong{font-size:18px;letter-spacing:-.03em}.play-primary small{font-size:10px;font-weight:500;color:#5f4d34;letter-spacing:.035em}.button-secondary{background:rgba(25,33,52,.76);color:#e7e8ef;border-color:rgba(220,225,255,.16)}.button-secondary:hover{background:rgba(44,54,76,.88);border-color:rgba(220,225,255,.3)}.button-secondary>span{flex:1}.button-secondary .icon:first-child{width:18px;height:18px;color:#bac4d9}.button-secondary .icon:last-child{width:16px;height:16px;color:#9aa7be}.text-button{background:none;border:0;display:inline-flex;align-items:center;justify-content:center;gap:9px;color:#bac3d4;font-size:11px;font-weight:650;padding:9px 0;pointer-events:auto}.text-button:hover{color:#fff4da}.text-button .icon{width:17px;height:17px}.customize-trigger{margin:11px 0 0;gap:8px;font-size:10px}.tiny-tag{font-size:7px;padding:3px 5px;letter-spacing:.08em;border-radius:3px;border:1px solid var(--line);color:#8f9ab0;margin-left:3px}.arena-dossier{align-self:flex-end;margin-bottom:25px;padding:22px 0 0 19px;width:230px;border-left:1px solid rgba(241,233,218,.28);text-shadow:0 2px 20px rgba(1,2,12,.4)}.dossier-index{font-size:27px;font-weight:450;letter-spacing:-.05em;color:#f7d6a1}.dossier-index>span{font-size:8px;letter-spacing:.18em;font-weight:650;margin-left:8px;color:#e3ddcf}.arena-dossier h2{font-size:24px;font-weight:600;line-height:1.2;letter-spacing:-.04em;margin:12px 0 20px}.dossier-line{height:1px;background:rgba(230,229,240,.18);max-width:177px}.dossier-states{display:flex;gap:12px;align-items:center;margin:15px 0 12px}.dossier-states>span{display:flex;gap:5px;align-items:center;font-size:8px;letter-spacing:.1em;font-weight:700;color:#f4cfa0}.dossier-states>span:last-child{color:#d1b8fb}.dossier-states .icon{width:14px;height:14px}.dossier-states>i{display:block;width:17px;height:1px;background:rgba(243,231,213,.4)}.arena-dossier p{font-size:10px;line-height:1.65;color:#c1c3d2;margin:0}.menu-footer{position:absolute;bottom:max(29px,env(safe-area-inset-bottom));left:max(40px,env(safe-area-inset-left));right:max(40px,env(safe-area-inset-right));display:flex;justify-content:space-between;align-items:center;gap:16px}.route-legend{display:flex;gap:21px;font-size:15px}.route-legend>span{display:flex;align-items:center;gap:6px}.route-legend b{font-size:9px;letter-spacing:.015em;font-weight:550;color:#afb9cb}.route-safe{color:#75decb}.route-medium{color:#eac082}.route-risk{color:#c5a1fa}.version-label{font-size:8px;letter-spacing:.16em;color:#b8becb;display:flex;gap:9px;align-items:center}.version-label>i{width:3px;height:3px;background:#8a90a4;border-radius:50%}
.race-hud{position:absolute;inset:0;display:none}.hud-top{position:absolute;inset:max(23px,env(safe-area-inset-top)) max(27px,env(safe-area-inset-right)) auto max(27px,env(safe-area-inset-left));display:flex;justify-content:space-between;align-items:flex-start;gap:14px}.hud-panel{background:var(--panel);border:1px solid rgba(225,229,253,.12);border-radius:11px;box-shadow:0 4px 20px rgba(3,7,16,.1)}.objective{padding:15px 18px;width:242px}.objective>.eyebrow{font-size:8px;color:#a8b1c6;letter-spacing:.14em}.objective h2{margin:6px 0 14px;font-size:19px;font-weight:650;letter-spacing:-.035em}.checkpoint-row{display:flex;gap:18px;justify-content:space-between;align-items:center}.checkpoint-row>span{font-size:7px;letter-spacing:.1em;color:#a4afc5;font-weight:700;white-space:nowrap}.checkpoint-dots{display:flex;align-items:center;gap:8px}.checkpoint-dots>i{display:block;width:9px;height:9px;border:1px solid #7e859b;transform:rotate(45deg);border-radius:1px;transition:background .2s,box-shadow .2s}.checkpoint-dots>i.passed{border-color:#74e3bd;background:#74e3bd;box-shadow:0 0 10px rgba(92,227,172,.3)}.dobra{position:absolute;left:50%;transform:translateX(-50%);display:flex;gap:12px;align-items:center;min-width:243px;padding:12px 16px 16px;border-color:rgba(var(--accent-rgb),.32);overflow:hidden}.dobra-symbol{color:var(--accent);width:32px;height:32px;display:grid;place-items:center}.dobra-symbol .icon{width:28px;height:28px}.dobra-copy{display:flex;flex-direction:column;gap:4px;flex:1}.dobra-copy>.eyebrow{font-size:8px;color:var(--accent);letter-spacing:.13em}.dobra-copy>strong{font-size:12px;font-weight:600;color:#e3e3ec}.dobra-timer{display:flex;align-items:baseline;gap:2px;margin-left:10px}.dobra-timer>strong{font-size:28px;line-height:1.2;letter-spacing:-.06em;font-variant-numeric:tabular-nums;font-weight:450}.dobra-timer>small{font-size:10px;color:#919caf}.dobra-track{position:absolute;bottom:0;left:0;right:0;height:3px;background:rgba(var(--accent-rgb),.14)}.dobra-track>i{display:block;height:100%;background:var(--accent);box-shadow:0 0 12px rgba(var(--accent-rgb),.45);transition:width .2s linear}.dobra-warning{animation:dobra-pulse .8s ease-in-out infinite}.dobra-warning .dobra-copy>.eyebrow{color:#ffe0d3}.dobra-warning .dobra-timer{color:var(--accent)}.race-stats{display:flex;gap:8px;margin-left:auto;align-items:flex-start}.rank-panel{padding:10px 15px;min-width:103px}.rank-panel>.eyebrow,.timer-panel>.eyebrow{font-size:7px;color:#a6afc3;letter-spacing:.14em}.rank-panel>div{display:flex;gap:10px;align-items:baseline}.rank-panel strong{font-size:31px;font-weight:550;line-height:1.12;letter-spacing:-.065em}.rank-panel>div>span{font-size:11px;color:#7d8aab}.rank-panel>div>span>b{font-weight:500;color:#aeb7cd}.timer-panel{padding:10px 13px;display:flex;flex-direction:column;gap:7px;min-width:91px}.timer-panel>strong{font-size:20px;font-weight:550;line-height:1.12;letter-spacing:-.04em;font-variant-numeric:tabular-nums}.timer-panel>strong.time-low{color:#ffb39a}.hud-options{width:33px;height:33px;border-radius:8px;pointer-events:auto}.hud-options .icon{width:18px;height:18px}.hud-bottom{position:absolute;bottom:max(23px,env(safe-area-inset-bottom));left:max(28px,env(safe-area-inset-left));right:max(28px,env(safe-area-inset-right));display:flex;justify-content:space-between;align-items:flex-end;gap:15px;text-shadow:0 2px 6px #080e21}.player-status{display:flex;gap:7px;align-items:center;flex-wrap:wrap;width:210px}.you-tag{font-size:7px;font-weight:750;letter-spacing:.1em;padding:4px 5px;border:1px solid rgba(246,242,231,.35);border-radius:3px}.player-status>strong{font-size:12px;max-width:145px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dash-status{display:flex;align-items:center;gap:5px;width:100%;font-size:9px;color:#e6cf9f;padding-top:4px}.dash-status .icon{width:13px;height:13px}.dash-status>i{display:block;width:35px;height:3px;background:#eac487;border-radius:3px;margin-left:4px;box-shadow:0 0 10px rgba(235,196,135,.22)}.dash-unavailable{opacity:.45}.dash-unavailable>i{background:#8c97af;box-shadow:none;width:12px}.control-strip{display:flex;gap:15px;position:absolute;left:50%;transform:translateX(-50%);bottom:0;align-items:center;font-size:8px;color:#c9ccda;white-space:nowrap;padding:10px 13px;background:rgba(11,18,33,.74);border:1px solid rgba(233,228,248,.08);border-radius:7px}.control-strip>span,.control-strip>button{display:flex;gap:5px;align-items:center}.control-strip>button{font-size:8px;background:none;border:0;padding:0;color:#c9ccda;pointer-events:auto}.control-strip kbd{font-size:7px;padding:3px 4px}.connection-status{display:flex;align-items:center;gap:6px;color:#c7ccda;letter-spacing:.075em;font-size:8px;background:rgba(11,18,33,.6);padding:8px 10px;border-radius:6px}.connection-status>.live-dot{width:4px;height:4px;background:#79d4ad;box-shadow:none}.connection-status>small{font-size:8px;letter-spacing:0;color:#e2ba8b}kbd{font-family:inherit;font-size:10px;border:1px solid rgba(218,226,247,.3);border-bottom-color:rgba(218,226,247,.5);border-radius:3px;padding:5px 7px;background:rgba(245,240,255,.06);font-weight:600;letter-spacing:.04em;white-space:nowrap}
.center-status{display:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;min-width:360px;padding:42px 40px 30px;background:rgba(10,16,31,.88);backdrop-filter:blur(15px);border:1px solid var(--line);border-radius:16px;pointer-events:auto}.status-orbit{width:54px;height:54px;border:1px solid rgba(245,211,147,.16);border-top-color:#efce97;border-right-color:#bda0f2;border-radius:50%;margin:0 auto 23px;animation:spin 1.3s linear infinite}.center-status>.eyebrow{font-size:8px;color:#d6b988}.center-status h2{font-size:25px;letter-spacing:-.04em;font-weight:600;margin:10px 0}.center-status>p:not(.eyebrow){font-size:11px;color:#9fa9be;max-width:310px;line-height:1.7}.center-status>.text-button{margin-top:15px}.countdown-screen{display:none;position:absolute;top:51%;left:50%;transform:translate(-50%,-50%);text-align:center;text-shadow:0 4px 30px rgba(4,9,24,.7);min-width:360px}.countdown-screen>.eyebrow{font-size:10px;letter-spacing:.22em;color:#ffefcf}.countdown-number{font-size:148px;line-height:1.2;font-weight:750;letter-spacing:-.08em;font-variant-numeric:tabular-nums}.countdown-screen>p:not(.eyebrow){font-size:14px;font-weight:600;letter-spacing:-.01em}.briefing-routes{display:flex;gap:15px;justify-content:center;font-size:10px;color:#dddbe9}.briefing-routes>span:first-child{color:#9ff3d5}.briefing-routes>span:nth-child(2){color:#f3d398}.briefing-routes>span:last-child{color:#dfc8ff}
.results-screen{display:none;position:absolute;inset:0;background:linear-gradient(110deg,rgba(9,14,28,.95),rgba(12,16,32,.82) 48%,rgba(10,16,31,.6));backdrop-filter:blur(7px);overflow-y:auto;pointer-events:auto}.results-content{width:min(970px,90vw);min-height:100%;margin:auto;padding:62px 0 42px;display:flex;gap:95px;align-items:center;justify-content:space-between}.result-story{flex:1;max-width:415px}.result-emblem{width:49px;height:49px;display:grid;place-items:center;color:#c5b4e9;background:rgba(175,145,220,.12);border:1px solid rgba(199,173,246,.25);border-radius:12px;margin-bottom:19px}.result-emblem .icon{width:27px;height:27px}.result-story>.eyebrow{font-size:9px;color:#bdb3d7;margin-bottom:12px}.result-story>h1{font-size:65px;line-height:.99;letter-spacing:-.07em;font-weight:850;margin:0 0 22px}.result-subtitle{font-size:12px;line-height:1.6;color:#abb5c9;margin:0 0 25px}.is-winner .result-emblem{color:#f4ce82;background:rgba(214,170,102,.12);border-color:rgba(240,196,120,.3)}.is-winner .result-story>.eyebrow{color:#f1cc8d}.reward-box{border:1px solid rgba(237,223,196,.15);background:rgba(16,24,42,.65);border-radius:10px;padding:18px 19px;margin-bottom:21px;max-width:340px}.reward-box>.eyebrow{color:#a7b0c5;font-size:8px;letter-spacing:.13em}.reward-values{display:flex;gap:35px;padding:15px 0 18px}.reward-values>div{display:flex;flex-direction:column;gap:5px}.reward-values>div>strong{display:flex;gap:8px;align-items:center;font-size:29px;font-weight:550;letter-spacing:-.05em;color:#f0d7ab}.reward-values>div>strong>.icon{width:21px;height:21px}.reward-values>div>span{font-size:7px;letter-spacing:.13em;color:#a7afc1;font-weight:650}.xp-track{height:4px;border-radius:3px;overflow:hidden;background:#2b3349}.xp-track>i{display:block;height:100%;width:0;background:#e1c08c;border-radius:3px;transition:width .7s}.xp-label{display:flex;justify-content:space-between;margin-top:8px;color:#8995ad;font-size:7px;letter-spacing:.09em;font-weight:600}.result-actions{display:flex;flex-direction:column;gap:7px;max-width:340px}.result-actions>.button{min-height:50px}.ranking-card{width:415px;flex-shrink:0;border:1px solid rgba(226,227,251,.14);border-radius:14px;background:rgba(12,19,37,.77);box-shadow:0 20px 50px rgba(1,4,16,.2);padding:21px 20px 0;overflow:hidden}.ranking-heading{display:flex;gap:15px;align-items:center;justify-content:space-between;margin-bottom:25px}.ranking-heading>.eyebrow{font-size:9px;letter-spacing:.12em}.ranking-heading>span:last-child{font-size:7px;color:#8e9bb5;letter-spacing:.07em}.ranking-columns{display:flex;justify-content:space-between;padding:0 0 12px;font-size:7px;color:#7a87a2;letter-spacing:.11em;border-bottom:1px solid rgba(221,231,255,.1)}.ranking-list{list-style:none;margin:0;padding:0;max-height:49vh;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#434968 transparent}.ranking-row{display:flex;align-items:center;gap:11px;padding:12px 7px;border-bottom:1px solid rgba(231,234,255,.055);min-height:61px}.ranking-position{font-size:14px;font-weight:500;letter-spacing:-.05em;color:#77859f;width:20px}.ranking-first .ranking-position{color:#f1c988}.ranking-avatar{width:28px;height:28px;border-radius:9px 9px 7px 7px;background:var(--avatar-color);position:relative;border:1px solid rgba(255,250,239,.3);box-shadow:inset 0 -8px 0 rgba(25,28,52,.22)}.ranking-avatar:after{content:"";position:absolute;width:17px;height:7px;border-radius:4px;background:#253044;left:4px;top:7px;border:1px solid rgba(255,255,255,.15)}.ranking-name{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.ranking-name>strong{font-size:11px;line-height:1.1;font-weight:550;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:160px}.ranking-name>small{font-size:6px;letter-spacing:.13em;color:#6e7f9d}.ranking-time{font-size:12px;color:#aab7ce;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.ranking-you{background:rgba(241,199,123,.07);border-left:2px solid #d9b778;padding-left:5px}.ranking-you .ranking-name>small{color:#e5c58e}.ranking-you .ranking-time{color:#f4dfbc}.ranking-footnote{font-size:8px;line-height:1.6;color:#78869f;padding:14px 0;margin:0}
.toast-stack{position:absolute;top:148px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;max-width:min(450px,88vw);z-index:20}.toast{display:flex;align-items:center;gap:9px;font-size:11px;font-weight:600;background:rgba(17,26,44,.97);color:#f0eddf;padding:12px 17px;border:1px solid rgba(224,232,255,.22);border-radius:7px;box-shadow:0 6px 25px rgba(0,4,14,.15);animation:toast-in .2s ease-out;text-align:center}.toast-marker{display:block;width:5px;height:5px;background:#d3c09a;transform:rotate(45deg);flex-shrink:0}.toast[data-tone=success] .toast-marker{background:#93f0bd}.toast[data-tone=lunar] .toast-marker{background:#c3a2ff}.toast[data-tone=warning],.toast[data-tone=error]{border-color:rgba(255,175,133,.4)}.toast[data-tone=warning] .toast-marker,.toast[data-tone=error] .toast-marker{background:#ffbd98}
.modal-backdrop{position:absolute;inset:0;background:rgba(3,8,20,.62);backdrop-filter:blur(10px);display:grid;place-items:center;padding:28px;pointer-events:auto;z-index:30}.modal{width:min(470px,100%);max-height:90vh;overflow-y:auto;background:linear-gradient(135deg,#1c263e,#11192c 70%);border:1px solid rgba(219,226,255,.19);border-radius:16px;box-shadow:0 30px 100px rgba(0,2,13,.5);padding:27px;scrollbar-width:thin;scrollbar-color:#434968 transparent}.modal-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.modal-heading .eyebrow{color:#9ca8bf;font-size:8px}.modal-heading h2{font-size:27px;font-weight:600;letter-spacing:-.05em;margin:7px 0 0}.modal-heading>.icon-button{width:32px;height:32px;border-radius:8px;background:transparent;backdrop-filter:none}.modal-heading>.icon-button>.icon{width:17px;height:17px}.modal-intro{font-size:11px;line-height:1.7;color:#a0acc3;margin:18px 0 23px;max-width:355px}.setting-row{display:flex;align-items:center;justify-content:space-between;position:relative;gap:15px;padding:18px 0;border-bottom:1px solid var(--line);cursor:pointer}.setting-row>span{display:flex;align-items:center;gap:12px}.setting-row>span>.icon{width:18px;height:18px;color:#b4bdd0}.setting-row>span>span{display:flex;flex-direction:column;gap:5px}.setting-row strong{font-size:11px;font-weight:600}.setting-row small{font-size:9px;color:#8c9bb5;line-height:1.4}.setting-row input{position:absolute;opacity:0;right:0;width:38px;height:22px;cursor:pointer}.switch{display:block;position:relative;width:34px;height:20px;border-radius:12px;background:#34415a;flex-shrink:0;pointer-events:none;transition:background .2s}.switch:after{content:"";position:absolute;top:3px;left:3px;width:14px;height:14px;border-radius:50%;background:#c0c9d9;transition:transform .2s}.setting-row input:checked+.switch{background:#d7b883}.setting-row input:checked+.switch:after{background:#2a2b31;transform:translateX(14px)}.setting-row input:focus-visible+.switch{outline:2px solid #f3d69e;outline-offset:4px}.setting-row select{background:#202b43;color:#e5e7f0;border:1px solid rgba(241,231,255,.2);border-radius:5px;font-size:10px;padding:7px 5px}.settings-race-note{font-size:9px;color:#8f9ab1;margin:19px 0;line-height:1.6}.modal-resume{width:100%;margin-top:24px}.leave-race{display:flex;margin:8px auto 0;color:#c5a5a6}.help-controls{display:flex;flex-direction:column;gap:18px;margin:25px 0}.help-controls>div{display:flex;align-items:center;gap:18px}.help-controls kbd{width:74px;flex-shrink:0;text-align:center;padding:8px;font-size:8px;color:#dae0ee;background:#202b43}.help-controls>div>span{font-size:11px;display:flex;flex-direction:column;gap:5px}.help-controls small{font-size:9px;color:#8b9bb6}.help-dobra{display:flex;align-items:flex-start;gap:11px;padding:17px 13px;background:rgba(186,160,215,.06);border:1px solid rgba(199,169,219,.14);border-radius:8px}.help-dobra>.icon{flex-shrink:0;width:18px;height:18px;color:#f0cf93}.help-dobra>.icon:last-child{color:#bb9be8}.help-dobra strong{font-size:10px;font-weight:600}.help-dobra p{font-size:9px;line-height:1.7;color:#9dabca;margin:7px 0 0}.help-footer{font-size:9px;line-height:1.7;color:#909fb9;margin:17px 0}.help-content>.button{width:100%;margin-top:20px}.cosmetics-balance{display:flex;align-items:center;gap:7px;padding:10px 12px;margin-bottom:17px;background:rgba(241,204,143,.07);border:1px solid rgba(238,204,154,.14);border-radius:6px;color:#edcc96}.cosmetics-balance>.icon{width:16px;height:16px}.cosmetics-balance>strong{font-size:14px;font-weight:600}.cosmetics-balance>span{font-size:7px;letter-spacing:.14em;margin-left:auto;color:#b8a786}.cosmetic-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.cosmetic-card{display:flex;flex-direction:column;align-items:center;gap:8px;min-height:124px;padding:15px 7px 12px;border:1px solid rgba(217,225,251,.13);border-radius:9px;background:rgba(17,27,48,.8);transition:border-color .2s,background .2s,transform .2s}.cosmetic-card:hover{background:#222e47;border-color:var(--cosmetic-color);transform:translateY(-2px)}.cosmetic-card.selected{border-color:var(--cosmetic-color);background:color-mix(in srgb,var(--cosmetic-color) 9%,#142039)}.cosmetic-swatch{width:48px;height:48px;display:grid;place-items:center;border-radius:13px;color:var(--cosmetic-color);background:radial-gradient(ellipse,color-mix(in srgb,var(--cosmetic-color) 17%,transparent),transparent 70%)}.cosmetic-swatch>.brand-mark{color:var(--cosmetic-color);width:42px;height:42px}.cosmetic-card>strong{font-size:11px;font-weight:650}.cosmetic-status{font-size:7px;font-weight:650;letter-spacing:.1em;color:#92a0bc}.cosmetic-card.selected .cosmetic-status{color:var(--cosmetic-color)}.cosmetic-card.unaffordable{opacity:.7}.cosmetic-note{font-size:9px;text-align:center;line-height:1.7;color:#8e9cb5;margin:20px 0 0}
.touch-controls{display:none;position:absolute;inset:0;pointer-events:none}#camera-touch{position:absolute;top:150px;right:0;width:52%;bottom:190px;touch-action:none;pointer-events:auto}#joystick{position:absolute;width:146px;height:146px;left:max(30px,env(safe-area-inset-left));bottom:max(48px,env(safe-area-inset-bottom));display:grid;place-items:center;touch-action:none;pointer-events:auto;border-radius:50%}.joystick-ring{width:104px;height:104px;border-radius:50%;border:1px solid rgba(240,234,255,.26);background:rgba(15,23,44,.25);display:grid;place-items:center;box-shadow:inset 0 0 20px rgba(1,4,16,.1)}.joystick-ring>i{display:block;width:45px;height:45px;border-radius:50%;border:1px solid rgba(246,235,255,.38);background:rgba(211,213,234,.17);box-shadow:0 4px 13px rgba(1,4,16,.15)}.touch-actions{display:flex;align-items:center;gap:17px;position:absolute;right:max(36px,env(safe-area-inset-right));bottom:max(70px,env(safe-area-inset-bottom))}.touch-actions>button{width:65px;height:65px;border:1px solid rgba(241,231,255,.29);border-radius:50%;background:rgba(18,28,46,.6);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;pointer-events:auto;touch-action:none;backdrop-filter:blur(5px)}.touch-actions>button>span{font-size:6px;font-weight:700;letter-spacing:.1em}.touch-actions>#jump-button{width:83px;height:83px;border-color:rgba(255,218,162,.5);background:rgba(210,163,101,.22)}#jump-button>.icon{transform:rotate(-90deg);color:#f5d7a2;width:25px;height:25px}
.game-ui:not([data-screen=menu]) .menu-header,.game-ui:not([data-screen=menu]) .menu-screen,.game-ui:not([data-screen=menu]) .menu-footer{display:none}.game-ui:not([data-screen=menu]) .menu-shade{opacity:0}.game-ui[data-screen=countdown] .race-hud,.game-ui[data-screen=race] .race-hud,.game-ui[data-screen=waiting] .race-hud{display:block}.game-ui[data-screen=countdown] .countdown-screen{display:block}.game-ui[data-screen=connecting] .center-status,.game-ui[data-screen=waiting] .center-status{display:block}.game-ui[data-screen=results] .results-screen{display:block}.game-ui[data-screen=menu] .settings-race-note,.game-ui[data-screen=menu] .leave-race,.game-ui[data-screen=results] .settings-race-note,.game-ui[data-screen=results] .leave-race{display:none}.game-ui[data-screen=menu] .toast-stack,.game-ui[data-screen=results] .toast-stack{top:105px}.game-ui.has-modal .touch-controls{visibility:hidden}.game-ui.reduced-motion *{animation:none!important;transition:none!important}
@keyframes spin{to{transform:rotate(360deg)}}@keyframes toast-in{from{transform:translateY(-8px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes dobra-pulse{50%{border-color:rgba(var(--accent-rgb),.85);box-shadow:0 0 21px rgba(var(--accent-rgb),.15)}}
@media(min-width:1600px){.menu-screen{padding-left:7vw;padding-right:6vw}.menu-content{max-width:590px}.menu-content h1{font-size:85px}.menu-lead{font-size:19px}.menu-description{font-size:14px}.play-actions{width:340px}.play-primary{min-height:79px}.play-primary strong{font-size:21px}.play-primary small{font-size:11px}.button-secondary{min-height:51px}.menu-content .festival{font-size:11px}.arena-dossier{width:250px;margin-bottom:55px}.arena-dossier h2{font-size:29px}.arena-dossier p{font-size:12px}}
@media(max-width:1100px){.menu-header{left:28px;right:28px;top:23px}.menu-screen{padding-left:4vw;padding-right:35px}.menu-content h1{font-size:59px}.menu-content{max-width:420px}.arena-dossier{width:197px}.menu-footer{left:28px;right:28px}.objective{width:208px;padding:13px 14px}.objective h2{font-size:17px}.checkpoint-row{gap:10px}.checkpoint-dots{gap:6px}.dobra{min-width:216px;gap:8px;padding:12px 12px 15px}.dobra-symbol .icon{width:25px;height:25px}.dobra-copy>.eyebrow{font-size:7px}.dobra-timer{margin-left:4px}.control-strip{gap:10px}.control-strip>span,.control-strip>button{font-size:7px}.hud-bottom{left:23px;right:23px}.player-status{width:173px}.player-status>strong{max-width:118px}.connection-status{font-size:7px}.results-content{width:88vw;gap:40px}.ranking-card{width:390px}.result-story>h1{font-size:56px}.reward-values{gap:25px}}
@media(max-width:850px){.brand>span{font-size:17px}.brand small{font-size:10px}.brand-mark{width:42px;height:42px}.brand{gap:10px}.profile-pill{min-height:51px;gap:7px;padding-right:10px}.profile-info,.player-name{width:115px;max-width:115px}.profile-avatar{width:35px;height:35px}.profile-wallet{margin-left:0;padding-left:8px;gap:5px}.profile-level{font-size:7px}.header-right{gap:7px}.menu-content h1{font-size:54px}.arena-dossier{width:168px;margin-bottom:34px;padding-left:15px}.arena-dossier h2{font-size:21px}.dossier-states{gap:7px}.dossier-states>span{font-size:7px}.dossier-states>i{width:12px}.dossier-index{font-size:23px}.dossier-index>span{font-size:7px}.menu-content{max-width:365px}.menu-lead{font-size:14px}.menu-description{font-size:11px}.play-actions{width:280px}.dobra{min-width:196px;top:2px}.dobra-copy>strong{font-size:10px}.dobra-symbol{width:24px}.dobra-symbol .icon{width:23px;height:23px}.dobra-timer>strong{font-size:24px}.rank-panel{min-width:80px;padding:10px 10px}.rank-panel strong{font-size:26px}.timer-panel{min-width:74px;padding:10px}.timer-panel>strong{font-size:17px}.hud-top{left:17px;right:17px;top:17px;gap:10px}.objective{width:185px;padding:12px}.objective h2{font-size:16px;margin-bottom:11px}.objective>.eyebrow{font-size:7px}.checkpoint-row>span{font-size:6px}.checkpoint-dots{gap:5px}.checkpoint-dots>i{width:7px;height:7px}.control-strip{bottom:0;gap:9px}.control-strip>span:nth-child(3){display:none}.race-stats{gap:5px}.hud-options{width:28px;height:28px}.hud-options .icon{width:15px;height:15px}.hud-bottom{bottom:18px;left:18px;right:18px}.connection-status{letter-spacing:.02em}.results-content{gap:25px;width:90vw}.ranking-card{width:350px;padding:19px 15px 0}.result-story>h1{font-size:45px}.result-subtitle{font-size:11px}.reward-box{padding:16px}.reward-values{gap:20px}.reward-values>div>strong{font-size:25px}}
@media(max-height:720px) and (min-width:701px){.menu-header{top:20px}.menu-screen{padding-top:100px;padding-bottom:66px}.menu-content h1{font-size:56px;margin-bottom:18px}.festival{margin-bottom:17px}.menu-description{margin-bottom:20px}.play-primary{min-height:61px;padding:12px 16px}.button-secondary{min-height:43px;padding:10px 16px}.customize-trigger{margin-top:7px}.arena-dossier{margin-bottom:25px}.menu-footer{bottom:22px}.results-content{padding:30px 0}.result-emblem{margin-bottom:13px;width:40px;height:40px}.result-story>h1{font-size:55px;margin-bottom:15px}.result-subtitle{margin-bottom:18px}.reward-box{padding:15px 17px;margin-bottom:15px}.ranking-list{max-height:55vh}}
@media(max-height:570px) and (min-width:701px){.menu-header{top:15px}.brand-mark{width:35px;height:35px}.brand>span{font-size:16px}.brand small{font-size:9px;margin-top:3px}.profile-pill{min-height:45px}.profile-avatar{height:30px;width:30px}.menu-screen{padding-top:86px;padding-bottom:56px}.festival{margin-bottom:11px;font-size:8px}.menu-content h1{font-size:43px;margin-bottom:13px}.menu-content h1>span{display:inline}.menu-lead{font-size:12px}.menu-description{margin-bottom:16px;font-size:10px;line-height:1.5}.play-primary{min-height:53px;padding:10px 15px}.play-primary strong{font-size:16px}.play-primary small{font-size:8px}.play-actions{gap:6px;width:263px}.button-secondary{min-height:37px;font-size:11px;padding:8px 15px}.customize-trigger{font-size:9px;margin-top:5px;padding:7px 0}.tiny-tag{font-size:6px}.arena-dossier h2{font-size:21px;margin:8px 0 14px}.arena-dossier{margin-bottom:16px}.menu-footer{bottom:18px}.results-content{padding:22px 0;gap:50px}.result-story>h1{font-size:42px}.result-emblem{width:32px;height:32px;margin-bottom:12px}.result-emblem .icon{width:20px;height:20px}.result-story>.eyebrow{margin-bottom:8px}.result-subtitle{font-size:10px;margin-bottom:16px}.reward-box{padding:13px 15px;margin-bottom:13px}.reward-values{padding:10px 0 13px}.reward-values>div>strong{font-size:23px}.result-actions>.button{min-height:43px}.ranking-heading{margin-bottom:18px}.ranking-card{max-width:380px}.ranking-list{max-height:61vh}.ranking-row{padding-top:9px;padding-bottom:9px;min-height:51px}.ranking-footnote{padding:11px 0}.countdown-number{font-size:110px}}
@media(max-width:700px){.menu-header{left:20px;right:20px;top:max(18px,env(safe-area-inset-top));align-items:flex-start}.brand{gap:8px}.brand-mark{width:35px;height:35px}.brand>span{font-size:14px}.brand small{font-size:8px;letter-spacing:.2em;margin-top:4px}.header-right{gap:7px;flex-wrap:wrap;justify-content:flex-end;max-width:238px}.profile-pill{padding:6px 9px 6px 6px;gap:7px;min-height:46px;border-radius:10px}.profile-avatar{width:29px;height:29px;border-radius:7px}.profile-avatar .brand-mark{width:21px;height:21px}.profile-info,.player-name{max-width:89px;width:89px}.player-name{font-size:10px}.profile-level{font-size:6px}.profile-wallet{font-size:10px;gap:4px;padding-left:7px}.profile-wallet .icon{width:13px;height:13px}.header-right>.icon-button{width:32px;height:32px;border-radius:8px}.header-right>.icon-button .icon{width:17px;height:17px}.header-right>.icon-button[data-ui=help]{display:none}.menu-screen{padding:108px 27px 77px;align-items:flex-end}.menu-shade{background:linear-gradient(0deg,rgba(9,14,26,.97) 0%,rgba(9,14,26,.92) 34%,rgba(9,14,26,.43) 65%,rgba(9,14,26,.07) 80%),linear-gradient(180deg,rgba(7,12,25,.45),transparent 25%)}.menu-content{max-width:100%;width:100%}.festival{font-size:8px;margin-bottom:15px;letter-spacing:.17em}.menu-content h1{font-size:clamp(41px,10vw,61px);max-width:440px;margin-bottom:19px;line-height:1}.menu-content h1>span{display:inline}.menu-lead{font-size:13px;margin-bottom:7px}.menu-description{font-size:11px;margin-bottom:20px}.desktop-break{display:none}.play-actions{width:min(320px,100%)}.play-primary{min-height:62px}.play-primary strong{font-size:17px}.button-secondary{min-height:43px}.customize-trigger{font-size:9px;margin-top:9px}.arena-dossier{display:none}.menu-footer{left:27px;right:27px;bottom:max(21px,env(safe-area-inset-bottom));align-items:flex-end}.route-legend{gap:12px;font-size:13px}.route-legend b{font-size:7px}.version-label{font-size:6px;gap:5px;letter-spacing:.08em}.version-label>i{width:2px;height:2px}.hud-top{left:12px;right:12px;top:max(12px,env(safe-area-inset-top))}.objective{width:159px;padding:11px}.objective>.eyebrow{font-size:6px;letter-spacing:.07em}.objective h2{font-size:14px;margin:5px 0 10px}.checkpoint-row{gap:5px}.checkpoint-row>span{font-size:5px;letter-spacing:.07em}.checkpoint-dots{gap:5px}.checkpoint-dots>i{width:6px;height:6px}.dobra{top:83px;min-width:203px;left:50%;padding:9px 13px 12px;gap:9px;background:rgba(12,18,34,.83);border-radius:9px}.dobra-copy>.eyebrow{font-size:7px}.dobra-copy>strong{font-size:10px}.dobra-timer>strong{font-size:24px}.dobra-symbol .icon{width:22px;height:22px}.race-stats{gap:5px}.rank-panel{padding:9px;min-width:75px}.rank-panel>.eyebrow,.timer-panel>.eyebrow{font-size:6px}.rank-panel strong{font-size:24px}.rank-panel>div>span{font-size:8px}.rank-panel>div{gap:7px}.timer-panel{min-width:65px;padding:9px 8px;gap:6px}.timer-panel>strong{font-size:16px;line-height:1.3}.hud-options{width:27px;height:27px}.hud-options .icon{width:14px;height:14px}.hud-bottom{bottom:max(13px,env(safe-area-inset-bottom));left:17px;right:17px}.control-strip{display:none}.player-status{width:160px}.player-status>strong{font-size:10px;max-width:116px}.you-tag{font-size:6px;padding:3px 4px}.dash-status{font-size:8px;padding-top:2px}.connection-status{font-size:6px;gap:5px;padding:7px}.toast-stack{top:162px;max-width:90vw;width:max-content}.toast{font-size:10px;padding:11px 14px}.countdown-screen{top:48%;min-width:310px}.countdown-number{font-size:126px}.countdown-screen>p:not(.eyebrow){font-size:12px}.briefing-routes{font-size:9px;gap:10px}.center-status{min-width:0;width:88%;padding:30px 23px 22px}.center-status h2{font-size:23px}.center-status>.eyebrow{font-size:7px}.center-status>p:not(.eyebrow){max-width:100%}.results-content{width:min(430px,86vw);padding:35px 0 26px;flex-direction:column;align-items:stretch;gap:26px}.result-story{max-width:100%}.result-emblem{width:36px;height:36px;margin-bottom:13px}.result-emblem .icon{width:22px;height:22px}.result-story>.eyebrow{font-size:8px;margin-bottom:10px}.result-story>h1{font-size:49px;margin-bottom:14px}.result-subtitle{font-size:10px;margin-bottom:17px}.reward-box{max-width:none;padding:15px 18px;margin-bottom:15px}.reward-values{gap:42px;padding:12px 0 15px}.reward-values>div>strong{font-size:27px}.result-actions{max-width:none}.result-actions>.button{min-height:47px}.ranking-card{width:100%;padding:19px 17px 0}.ranking-heading{margin-bottom:20px}.ranking-list{max-height:400px}.ranking-row{min-height:53px;padding-top:9px;padding-bottom:9px}.ranking-name>strong{max-width:155px}.modal-backdrop{padding:18px}.modal{padding:22px;max-height:92vh;border-radius:12px}.modal-heading h2{font-size:24px}.modal-intro{font-size:10px}.setting-row{padding:16px 0}.setting-row strong{font-size:10px}.setting-row small{font-size:8px}.setting-row>span{gap:9px}.setting-row>span>.icon{width:16px;height:16px}.cosmetic-grid{gap:8px}.cosmetic-card{padding:12px 5px;min-height:112px}.cosmetic-card>strong{font-size:10px}.cosmetic-status{font-size:6px}.cosmetic-swatch>.brand-mark{width:35px;height:35px}.cosmetic-swatch{width:40px;height:40px}.help-controls>div{gap:13px}.help-controls small{font-size:8px}.help-controls kbd{width:66px;font-size:7px}.help-dobra{padding:13px 10px;gap:8px}.help-dobra strong{font-size:9px}.help-dobra p{font-size:8px}.help-dobra>.icon:last-child{display:none}}
@media(max-width:400px){.menu-header{left:17px;right:17px}.brand>span{font-size:12px}.brand small{font-size:7px}.brand-mark{width:30px;height:30px}.profile-info,.player-name{max-width:78px;width:78px}.profile-avatar{display:none}.profile-pill{padding:7px 9px}.profile-wallet{margin-left:0}.header-right{gap:5px}.header-right>.icon-button{width:28px;height:28px}.menu-screen{padding-left:23px;padding-right:23px}.menu-content h1{font-size:43px}.menu-footer{left:23px;right:23px}.route-legend{gap:10px}.version-label{max-width:65px;line-height:1.8;flex-wrap:wrap;gap:4px}.objective{width:146px}.objective h2{font-size:13px}.objective>.eyebrow{font-size:5px}.rank-panel{min-width:65px;padding:8px}.rank-panel strong{font-size:22px}.timer-panel{min-width:59px;padding:8px 7px}.timer-panel>strong{font-size:15px}.hud-options{width:25px;height:25px}.hud-top{left:9px;right:9px}.dobra{top:80px}.ranking-name>strong{max-width:119px}.modal{padding:19px}.setting-row small{max-width:200px}.setting-row>span>.icon{display:none}}
@media(max-width:700px) and (max-height:720px){.menu-screen{padding-top:100px;padding-bottom:66px}.menu-content h1{font-size:43px;margin-bottom:13px}.festival{margin-bottom:12px}.menu-description{font-size:10px;margin-bottom:17px}.menu-lead{font-size:12px}.play-primary{min-height:56px;padding:11px 16px}.play-primary small{font-size:9px}.button-secondary{min-height:39px;padding:10px 16px;font-size:12px}.customize-trigger{margin-top:6px;font-size:8px}.menu-footer{bottom:18px}.toast-stack{top:158px}}
@media(pointer:coarse){.game-ui[data-screen=race] .touch-controls,.game-ui[data-screen=countdown] .touch-controls{display:block}.control-strip{display:none}.race-hud .hud-bottom{bottom:max(17px,env(safe-area-inset-bottom))}}
@media(pointer:coarse) and (orientation:landscape) and (max-height:600px){.hud-top{top:12px;left:20px;right:20px}.dobra{top:0;left:50%}.objective{padding:9px 12px;width:179px}.objective h2{margin:4px 0 8px;font-size:14px}.objective>.eyebrow{font-size:6px}.rank-panel{padding:8px 10px}.timer-panel{padding:8px 10px}.hud-options{width:28px;height:28px}.toast-stack{top:105px}.countdown-screen{top:54%}.countdown-number{font-size:92px}.countdown-screen>.eyebrow{font-size:8px}.countdown-screen>p:not(.eyebrow){font-size:11px;margin-top:3px}.briefing-routes{font-size:8px}#joystick{left:35px;bottom:36px;width:125px;height:125px}.joystick-ring{width:96px;height:96px}.touch-actions{right:38px;bottom:52px;gap:19px}.touch-actions>button{width:59px;height:59px}.touch-actions>#jump-button{width:75px;height:75px}#camera-touch{top:100px;bottom:145px}.hud-bottom{bottom:14px}.player-status>strong{font-size:10px}.dash-status{font-size:8px}.connection-status{font-size:7px}.center-status{padding:21px 30px 17px}.status-orbit{width:35px;height:35px;margin-bottom:16px}.center-status h2{font-size:22px}.center-status>.text-button{margin-top:8px}.modal-backdrop{padding:15px}.modal{max-height:94vh;padding:21px}.modal-heading h2{font-size:22px}.modal-intro{margin:13px 0 15px}.cosmetic-card{min-height:94px;padding:10px 5px;gap:6px}.cosmetic-swatch{height:33px;width:33px}.cosmetic-swatch>.brand-mark{height:32px;width:32px}.cosmetic-note{margin-top:15px}.cosmetics-balance{margin-bottom:13px}.cosmetic-grid{gap:8px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.joystick-ring>i{transform:translate(var(--jx,0px),var(--jy,0px))}
.fatal-error{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:40px;background:radial-gradient(ellipse at top,#26334c,#101426 65%);color:#f7f2e8}.fatal-error h1{font-size:clamp(25px,5vw,45px);letter-spacing:-.05em;margin:0 0 18px}.fatal-error p{max-width:430px;font-size:14px;line-height:1.7;color:#aebbd1}
.game-ui.has-modal .toast-stack{top:max(20px,env(safe-area-inset-top));z-index:40}
@media(orientation:landscape) and (max-height:480px){.menu-header{top:max(13px,env(safe-area-inset-top));left:max(24px,env(safe-area-inset-left));right:max(24px,env(safe-area-inset-right))}.menu-screen{padding:77px 30px 46px;align-items:center}.menu-shade{background:linear-gradient(90deg,rgba(9,14,26,.94),rgba(9,14,26,.76) 39%,rgba(9,14,26,.04) 80%),linear-gradient(0deg,rgba(9,14,26,.6),transparent 35%)}.menu-content{max-width:410px}.menu-content h1{font-size:35px;margin-bottom:12px}.menu-content h1>span{display:inline}.festival{font-size:7px;margin-bottom:10px;letter-spacing:.14em}.menu-lead{font-size:11px;margin-bottom:15px}.menu-description{display:none}.play-actions{flex-direction:row;align-items:stretch;width:360px;gap:8px}.play-primary{min-height:51px;width:199px;padding:10px 13px}.play-primary strong{font-size:14px}.play-primary small{font-size:7px}.play-primary>.icon{width:19px;height:19px}.button-secondary{min-height:51px;width:153px;padding:10px 11px;font-size:10px;gap:7px}.button-secondary .icon:first-child{width:15px;height:15px}.button-secondary .icon:last-child{display:none}.customize-trigger{margin-top:4px;font-size:8px;padding:7px 0}.tiny-tag{font-size:6px}.arena-dossier{display:none}.menu-footer{left:30px;right:30px;bottom:max(14px,env(safe-area-inset-bottom))}.route-legend{gap:15px;font-size:12px}.route-legend b{font-size:7px}.version-label{font-size:6px}.result-story>h1{font-size:38px}.results-content{width:90vw;flex-direction:row;padding:20px 0;gap:30px;align-items:center}.result-story{max-width:48%}.result-emblem{width:29px;height:29px;margin-bottom:9px}.result-emblem .icon{width:18px;height:18px}.result-story>.eyebrow{font-size:7px;margin-bottom:8px}.result-subtitle{font-size:9px;margin-bottom:13px}.reward-box{padding:12px 14px;margin-bottom:11px}.reward-values{padding:8px 0 11px;gap:20px}.reward-values>div>strong{font-size:22px}.reward-values>div>span{font-size:6px}.reward-box>.eyebrow{font-size:7px}.result-actions>.button{min-height:39px;padding:10px 12px;font-size:11px}.result-actions>.text-button{font-size:9px;padding:6px 0}.ranking-card{width:47%;padding:15px 12px 0}.ranking-heading{margin-bottom:15px;flex-direction:column;align-items:flex-start;gap:6px}.ranking-heading>.eyebrow{font-size:8px}.ranking-columns{font-size:6px;padding-bottom:10px}.ranking-list{max-height:54vh}.ranking-row{gap:8px;min-height:45px;padding:8px 4px}.ranking-avatar{width:23px;height:23px;border-radius:7px;flex-shrink:0}.ranking-avatar:after{width:14px;height:6px;left:3px;top:6px}.ranking-name>strong{font-size:9px;max-width:115px}.ranking-position{font-size:11px;width:17px}.ranking-name>small{font-size:5px}.ranking-time{font-size:9px}.ranking-footnote{font-size:6px;padding:9px 0}.rank-panel,.timer-panel{min-width:68px}.objective{width:160px}.hud-top .dobra{top:0}.toast-stack{top:102px}.game-ui[data-screen=menu] .toast-stack{top:76px}}

.course-picker{display:flex;align-items:center;gap:10px;margin:2px 0 4px;pointer-events:auto}.course-picker label{font-size:10px;font-weight:750;letter-spacing:.18em;color:#bac3d4}.course-picker input{flex:1;min-width:0;max-width:230px;background:rgba(16,20,38,.55);border:1px solid rgba(186,195,212,.28);border-radius:8px;color:#f7f2e8;font:inherit;font-size:12px;padding:8px 10px;letter-spacing:.06em;text-transform:none}.course-picker input:focus{outline:2px solid #ffb84d;outline-offset:1px}.course-picker input::placeholder{color:#8a93a8;letter-spacing:0}.course-picker .text-button{padding:8px 4px}
.course-line{margin:-4px 0 14px;font-size:11px;font-weight:750;letter-spacing:.18em;color:#ffb84d}.course-line:empty{display:none}
@media(max-width:700px){.course-picker input{max-width:none}}

/* Festival visual pass: clean white/violet competitive panels and warm action buttons. */
:root{--festival-ink:#28224c;--festival-purple:#7548d9;--festival-gold:#ffd350}
.game-ui{--accent:#ffd350;--accent-rgb:255,211,80}
.menu-shade{background:linear-gradient(90deg,rgba(35,25,79,.94),rgba(44,34,92,.76) 29%,rgba(52,41,108,.10) 64%,transparent),linear-gradient(0deg,rgba(32,29,70,.68),transparent 25%)}
.menu-content h1{font-weight:950;letter-spacing:-.055em;text-shadow:0 4px 0 #51378b,0 8px 26px #30206466}
.menu-content h1>span{color:#ffd350}.festival{color:#eee6ff}.menu-lead{color:#fff}.menu-description{color:#e1def3}
.button{border-radius:15px;font-weight:800}.button-primary{background:linear-gradient(#ffe17c,#ffc641);color:#342550;border:2px solid #fff0ad;box-shadow:0 5px 0 #ae7927,0 10px 24px #34235a44}.button-primary:hover{background:#ffe792;transform:translateY(-2px)}.button-primary:active{transform:translateY(3px);box-shadow:0 2px 0 #ae7927}
.button-secondary{background:#7651bdcc;border-color:#b6a0f2;color:white}.button:focus-visible,.cosmetic-card:focus-visible{outline:3px solid #7de8ff;outline-offset:4px}
.arena-dossier{display:none}.profile-pill{background:#372469dc;border:1px solid #c4abff66;box-shadow:0 5px 15px #20134333}.menu-footer{color:#fff}.customize-trigger{color:#fff}.tiny-tag{color:#ffdf79}
.hud-panel{background:linear-gradient(135deg,#fffffffa,#eceaffef);border:2px solid #ffffff;border-radius:17px;color:#28224c;box-shadow:0 5px 0 #6c4fbb99,0 10px 22px #30205c26;backdrop-filter:none}
.hud-panel .eyebrow{color:#7650b6;font-weight:850}.objective h2{color:#28224c;font-weight:950;letter-spacing:-.035em}.checkpoint-row{color:#615489}.checkpoint-dots>i{background:#c8bfe2}.checkpoint-dots>i.passed{background:#48ba8d}
.rank-panel strong,.timer-panel>strong,.rank-panel>div>span{color:#28224c}.dobra{background:linear-gradient(120deg,#453182f7,#332562f5);color:#fff;border:2px solid #aa85f0;box-shadow:0 5px 0 #2a1b6388}.dobra .eyebrow{color:#f4dd80}.dobra-copy>strong{color:white}.dobra-timer>strong{color:#ffe06c}.dobra-symbol{color:#ffe06c}.dobra-track{background:#9580c84d}.dobra-track>i{background:#ffdc70}.game-ui[data-theme=lunar] .dobra{border-color:#79ddff}.game-ui[data-theme=lunar] .dobra-symbol{color:#7de8ff}
.dobra.dobra-warning{animation:dobra-pulse .6s ease-in-out infinite}.toast{background:#3b2b72ed;border:1px solid #b392ff;color:white;border-radius:12px;box-shadow:0 4px 0 #261a5080}.you-tag{background:#734dcc;color:white}.player-status,.control-strip,.connection-status{filter:drop-shadow(0 2px 3px #202045)}
.modal{background:linear-gradient(145deg,#352561,#231b46);border:1px solid #ae8fe377;border-radius:22px;box-shadow:0 22px 70px #15122a88}.modal-heading h2{color:white}.cosmetic-card{border-radius:14px;background:#65529a33;border:1px solid #b09bc944}.cosmetic-card.selected{background:#8d6aca44;border-color:#ffdb71}.cosmetic-card:hover{background:#8d6aca55}.cosmetic-swatch{overflow:hidden;width:76px;height:76px;border-radius:16px}.cosmetic-swatch img{width:100%;height:100%;object-fit:cover;display:block}.cosmetic-card.unaffordable{opacity:.68}.preview-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.preview-controls>span{font-size:9px;letter-spacing:.1em;color:#ded3ef}.preview-controls .icon-button{font-size:25px}
.showcase-open .menu-screen,.showcase-open .menu-header,.showcase-open .menu-footer{visibility:hidden}.showcase-open .modal-backdrop{justify-content:flex-start;padding-left:5vw;background:linear-gradient(90deg,#241b5a99,transparent 65%);backdrop-filter:none}.showcase-open .modal{width:min(410px,42vw);max-height:90vh}.showcase-open .cosmetic-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.showcase-open .cosmetic-card{min-height:95px;padding:10px;gap:5px}.showcase-open .cosmetic-swatch{width:54px;height:54px}.showcase-open .modal-intro{margin:12px 0}.showcase-open .cosmetics-balance{margin-bottom:12px}
.countdown-number{color:#fff;text-shadow:0 7px 0 #7950c4,0 12px 35px #39276999}.countdown-screen>.eyebrow{color:#ffde67}.result-emblem{background:#ffce49;color:#463069;box-shadow:0 6px 0 #aa762d}.reward-box,.ranking-card{background:#382665ee;border-color:#ac8ada66;border-radius:18px}.reward-values>div>strong{color:#ffdf74}.xp-track>i{background:linear-gradient(90deg,#aa77ed,#76ddff)}
.touch-actions>button,.joystick-ring{border:3px solid #ffffffcc;background:#56389866;box-shadow:0 3px 14px #30216433}.touch-actions>#jump-button{background:#7951d088;border-color:white}#jump-button>.icon{color:white}.touch-actions>button{color:white}
@media(max-width:700px){.menu-shade{background:linear-gradient(0deg,#251a57f5,#332268df 37%,#35237422 78%)}.showcase-open .modal-backdrop{align-items:flex-end;justify-content:center;padding:10px}.showcase-open .modal{width:100%;max-height:53vh;padding:17px}.showcase-open .cosmetic-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.showcase-open .cosmetic-card{min-height:80px;padding:7px}.showcase-open .cosmetic-swatch{width:42px;height:42px}.showcase-open .modal-intro,.showcase-open .cosmetics-balance,.showcase-open .cosmetic-note{display:none}.showcase-open .modal-heading{margin-bottom:8px}.showcase-open .preview-controls{margin-bottom:8px}.objective{border-radius:12px}.dobra{border-radius:12px}.hud-panel{box-shadow:0 3px 0 #6c4fbb88}.modal{border-radius:17px}}

.checkpoint-row{display:flex;flex-direction:column;align-items:flex-start;gap:7px}.checkpoint-dots{display:flex;gap:5px;flex-wrap:wrap}.checkpoint-dots>i{width:6px;height:6px}.preview-controls .icon-button{flex-shrink:0}

.setting-row input[type=range]{position:static;opacity:1;width:132px;height:22px;accent-color:#ffb84d;flex:none;cursor:pointer}
.cosmetic-swatch>svg:not(.brand-mark){display:block;width:100%;height:100%}

/* District navigation and functional obstacle cues; no extra modal while racing. */
.objective .district-label{margin:-7px 0 10px;font-size:10px;font-weight:700;color:#655090;letter-spacing:.02em}
.obstacle-hint{position:absolute;left:50%;top:124px;transform:translateX(-50%);margin:0;padding:9px 15px;max-width:min(420px,90vw);border:2px solid #ffcf68;border-radius:10px;background:#272052ed;color:#fff7e5;text-align:center;font-size:11px;font-weight:750;line-height:1.4;box-shadow:0 4px 16px #19123e28;pointer-events:none}
.obstacle-hint[hidden]{display:none}
.help-obstacles{margin:18px 0;padding:15px;border:1px solid #bda5e855;border-radius:10px;font-size:13px;line-height:1.55}
.help-obstacles p{margin:6px 0 0;color:inherit;opacity:.85}
@media(max-width:700px){.objective .district-label{font-size:8px;margin:-3px 0 6px}.obstacle-hint{top:166px;max-width:82vw;font-size:10px;padding:7px 10px}}
@media(max-height:500px){.obstacle-hint{top:112px;font-size:9px;padding:5px 9px}.objective .district-label{display:none}}

/* Race guidance: useful information stays near the existing HUD, away from landing silhouettes. */
.objective .checkpoint-row{flex-wrap:wrap;gap:7px}
.objective .checkpoint-dots{gap:4px;flex-shrink:0}
.objective .checkpoint-dots>i{width:6px;height:6px}
.race-progress{height:5px;margin:10px 0 7px;background:#d8cdec;border-radius:6px;overflow:hidden}
.race-progress>i{display:block;height:100%;width:0;background:linear-gradient(90deg,#6e4dc4,#b26fea);transition:width .22s linear;border-radius:inherit}
.next-gate{display:flex;justify-content:space-between;gap:8px;font-size:8px;font-weight:850;letter-spacing:.04em;color:#5e4385}
.next-gate strong{font-variant-numeric:tabular-nums;white-space:nowrap;color:#342353}
.next-gate .backtrack{color:#9a3762}
.route-coach{position:absolute;top:193px;left:max(27px,env(safe-area-inset-left));max-width:224px;display:flex;flex-direction:column;gap:4px;padding:9px 12px;border-left:3px solid #b391ed;border-radius:0 9px 9px 0;background:#2c2254e8;color:white}
.route-coach strong{font-size:9px;letter-spacing:.06em}.route-coach span{font-size:10px;line-height:1.45;color:#ebe4fc}
.route-coach[data-route=safe]{border-color:#6be1b7}.route-coach[data-route=balanced]{border-color:#ffcf66}.route-coach[data-route=risk]{border-color:#ff80b0}
.live-board{position:absolute;right:max(27px,env(safe-area-inset-right));top:120px;width:196px;padding:10px 12px;box-shadow:0 3px 0 #6c4fbb77}
.live-board>div{display:flex;justify-content:space-between;gap:6px;font-size:8px;letter-spacing:.03em;font-weight:850;color:#745094}
.live-board>div b{font-weight:600}.live-board ol{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:3px}
.live-board li{display:flex;align-items:center;gap:7px;padding:5px 3px;border-radius:5px;font-size:10px}
.live-board li.is-you{background:#ded1f5}.live-board li>b{color:#7950b2;font-size:9px;font-variant-numeric:tabular-nums}
.live-board li>span{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700}.live-board li>small{font-size:7px;color:#715d8b;white-space:nowrap}
.course-best{min-height:13px;margin:4px 0;font-size:9px;color:#c8f9e8;font-weight:750;letter-spacing:.04em}
.course-best:empty{display:none}
.finish-card{position:absolute;bottom:max(94px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:min(410px,88vw);padding:17px 20px 10px;border:2px solid #ffe392;border-radius:18px;background:linear-gradient(130deg,#3e2869f5,#241b4df5);box-shadow:0 6px 0 #24184377;color:#fff;pointer-events:auto;text-align:center;z-index:3}
.finish-heading{display:flex;gap:13px;justify-content:center;align-items:center}.finish-heading>.icon{width:31px;height:31px;color:#ffe18b}.finish-heading>div{display:flex;flex-direction:column;gap:2px;text-align:left}.finish-heading span{font-size:9px;font-weight:850;letter-spacing:.1em;color:#ffdc83}.finish-heading strong{font-size:30px;font-weight:900;font-variant-numeric:tabular-nums}
.finish-card>p{font-size:11px;line-height:1.5;margin:9px 0;color:#e7dcfa}.finish-card>.text-button{margin:5px auto 0;font-size:10px;color:#ffdf92;padding:6px}
.spectator-controls{display:flex;align-items:center;gap:8px;background:#ffffff12;border-radius:10px;padding:3px}.spectator-controls strong{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px}.spectator-controls button{border:1px solid #cbb8f377;border-radius:8px;background:#7044a9;color:white;font-size:25px;width:42px;min-height:40px;line-height:1}
.game-ui.finished-run #joystick,.game-ui.finished-run .touch-actions,.game-ui.finished-run .control-strip,.game-ui.finished-run .dash-status{display:none}
.run-summary{display:grid;grid-template-columns:1fr 1fr;gap:11px;padding:13px 15px;margin:10px 0 16px;border:1px solid #ba9de16b;border-radius:13px;background:#392669d9}
.run-summary>div{display:flex;flex-direction:column;gap:3px}.run-summary>div:nth-child(3){grid-column:1/-1;flex-direction:row;justify-content:space-between;align-items:center}
.run-summary span{font-size:7px;font-weight:750;letter-spacing:.06em;color:#cfbce9}.run-summary strong{font-size:18px;font-variant-numeric:tabular-nums;color:white}.run-summary>div:nth-child(3)>strong{font-size:15px}
.run-summary>p,.run-summary>small{grid-column:1/-1;margin:0;line-height:1.45}.run-summary>p{font-size:9px;font-weight:850;color:#eedcff}.run-summary>small{font-size:8px;color:#c5b5dd}.run-summary.new-record{border-color:#ffdc75}.run-summary.new-record>p{color:#ffdf82}
.reward-notice{margin:7px 0 0;color:#b0f0d2;font-size:8px;font-weight:750;letter-spacing:.06em}
@media(max-width:850px){.live-board{right:17px;top:104px;width:174px}.route-coach{left:17px;top:190px;width:185px}.objective .checkpoint-dots{gap:3px}.objective .checkpoint-dots>i{width:5px;height:5px}}
@media(max-width:700px){.live-board{display:none}.objective .checkpoint-row{flex-direction:column;align-items:flex-start;gap:5px}.objective .checkpoint-dots{gap:4px}.objective .race-progress{margin-top:8px}.next-gate{font-size:7px;gap:4px}.hud-top .dobra{top:139px}.obstacle-hint{top:221px}.game-ui[data-screen=race] .toast-stack{top:267px}.route-coach{top:auto;bottom:206px;left:17px;width:auto;max-width:185px;padding:7px 9px}.route-coach>span{display:none}.route-coach strong{font-size:8px}.finish-card{bottom:91px;padding:13px 15px 8px}.finish-heading strong{font-size:26px}.run-summary{margin-bottom:13px}.results-content{padding-top:28px}}
@media(max-height:500px){.live-board{display:none}.route-coach{top:auto;bottom:89px;max-width:165px}.route-coach>span{display:none}.hud-top .dobra{top:0}.objective .district-label{display:none}.objective .race-progress{margin:7px 0 5px}.obstacle-hint{top:113px}.game-ui[data-screen=race] .toast-stack{top:153px}.finish-card{bottom:66px;width:330px;padding:10px 13px 6px}.finish-heading strong{font-size:23px}.finish-card>p{font-size:9px;margin:5px 0}.finish-card>.text-button{margin-top:2px;padding:3px}.spectator-controls button{min-height:34px;width:38px}.run-summary{padding:10px;gap:7px}.run-summary strong{font-size:15px}}

/* Controls and recovery. Bindings update labels in both the HUD and the help panel. */
.control-options{margin:24px 0 18px;padding-top:19px;border-top:1px solid #bb9dea55}
.control-options h3{font-size:11px;letter-spacing:.12em;color:#ffdc89;margin:0 0 10px}
.control-intro{font-size:11px;line-height:1.6;color:#cbbdde;margin:7px 0 14px}
.binding-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.binding-button{display:flex;align-items:center;justify-content:space-between;gap:9px;min-height:49px;padding:9px 11px;border:1px solid #a88bc766;border-radius:10px;background:#6e4c9529;color:white;text-align:left}
.binding-button span{font-size:10px;line-height:1.4;font-weight:650}.binding-button kbd{flex-shrink:0;font-size:9px;color:#ffdc87;background:#21133e77;padding:5px;border-radius:5px}
.binding-button.listening{background:#8367bc55;border-color:#91e6ff;box-shadow:0 0 0 2px #91e6ff44}
.binding-status{font-size:10px;line-height:1.5;color:#a3edff;min-height:30px;margin:10px 0 0}
.control-options>.text-button{font-size:11px;color:#ffdc89;margin-bottom:10px}
.control-options .setting-row>span{display:flex;flex-direction:column;gap:4px;align-items:flex-start}
.control-options .setting-row small{font-size:10px;line-height:1.5;color:#bbaecf}
.control-options .setting-row input[type=range]{width:110px;max-width:35%}
.gamepad-status{font-size:9px;color:#a0e7d1;letter-spacing:.07em;font-weight:750;margin:17px 0 7px}
.recover-action{width:100%;background:#62458b;border:1px solid #ae8bdd;color:#fff;min-height:44px;font-size:12px}
.recover-note{font-size:10px;color:#c1b2d7;line-height:1.5;text-align:center;margin:8px 0 18px}
.game-ui:not([data-screen=race]) .recover-note,.game-ui.finished-run .recover-note{display:none}
.recovery-banner{position:absolute;top:42%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;gap:6px;align-items:center;max-width:86vw;padding:16px 22px;border:2px solid #c1a7f6;border-radius:15px;background:#332259f2;color:white;text-align:center;box-shadow:0 6px 22px #24154255}
.recovery-banner strong{font-size:17px;font-variant-numeric:tabular-nums;color:#ffde8c}.recovery-banner span{font-size:11px;color:#e5dcf6}
.hud-recover{pointer-events:auto;width:34px;height:34px}.hud-recover .icon{width:19px;height:19px}
.hud-recover:disabled,.recover-action:disabled{opacity:.5;cursor:wait}
.game-ui.is-recovering .route-coach,.game-ui.is-recovering .obstacle-hint{visibility:hidden}
.game-ui.force-touch[data-screen=race] .touch-controls,.game-ui.force-touch[data-screen=countdown] .touch-controls{display:block}
.game-ui.force-touch .control-strip{display:none}
#joystick{transform:scale(var(--touch-scale,1));transform-origin:bottom left}
.touch-actions{transform:scale(var(--touch-scale,1));transform-origin:bottom right}
#camera-touch{bottom:calc(190px * var(--touch-scale,1))}
.game-ui.touch-left #joystick{left:auto;right:max(30px,env(safe-area-inset-right));transform-origin:bottom right}
.game-ui.touch-left .touch-actions{right:auto;left:max(36px,env(safe-area-inset-left));transform-origin:bottom left;flex-direction:row-reverse}
.game-ui.touch-left #camera-touch{right:auto;left:0}
@media(max-width:700px){.hud-recover{position:absolute;right:0;top:68px;width:42px;height:42px}.binding-button{padding:8px;gap:6px}.binding-button span{font-size:9px}.binding-button kbd{font-size:8px}.control-options .setting-row{gap:12px}.recovery-banner strong{font-size:14px}}
@media(max-height:500px){.hud-recover{width:32px;height:32px}.recovery-banner{padding:10px 15px;top:50%}.recovery-banner strong{font-size:13px}.recovery-banner span{font-size:9px}}

/* Release: recovery, interrupted connections and accessible contrast. */
.account-tools{border-top:1px solid #ddd2ee;margin-top:24px;padding-top:20px;display:grid;gap:12px}
.account-tools p{font-size:13px;line-height:1.5;opacity:.85}.account-tools label{font-size:12px;font-weight:800}
.account-tools input,.account-tools textarea{width:100%;padding:12px;border:1px solid #8f79b4;border-radius:10px;background:#f8f5ff;color:#242044;font:inherit;box-sizing:border-box}.account-tools textarea{word-break:break-all;resize:vertical}
.network-banner{position:absolute;top:140px;left:50%;transform:translateX(-50%);background:#262044;color:white;border:2px solid #ffcd72;border-radius:16px;padding:16px;z-index:35;text-align:center;max-width:calc(100vw - 40px);width:430px;box-sizing:border-box;pointer-events:auto}.network-banner .text-button{color:#ffe4a3;display:block;margin:10px auto 0}
.high-contrast .hud-panel,.high-contrast .modal,.high-contrast .live-board,.high-contrast .finish-card,.high-contrast .ranking-card{background:#fff;color:#17112f;border:2px solid #37205a;backdrop-filter:none}
.high-contrast .route-coach,.high-contrast .obstacle-hint,.high-contrast .toast{background:#19122f;color:#fff;border:2px solid #c7b4ff}.high-contrast .eyebrow,.high-contrast .muted{opacity:1}.high-contrast .hud-panel small{color:#392758}
.game-ui :focus-visible{outline:3px solid #ffbb3e;outline-offset:4px}
.fatal-error{z-index:1000;pointer-events:auto}.fatal-error button{margin-top:20px}
@media(max-width:600px){.network-banner{top:120px;font-size:13px}.account-tools{gap:10px}}

/* Clean HUD on phones: keep the track visible. Later rules win over the earlier mobile blocks. */
@keyframes hud-collapse{to{opacity:0;max-height:0;margin:0;padding:0;overflow:hidden}}
@media(pointer:coarse){
.objective .eyebrow,.objective h2,.objective .district-label{max-height:40px;animation:hud-collapse .4s ease 6s forwards}
.objective .next-gate{display:none}
.objective{width:150px;padding:9px 11px}
.hud-top .dobra{top:84px;min-width:0;padding:6px 12px 9px;gap:8px}
.dobra-copy>strong{display:none}
.dobra-timer>strong{font-size:18px}
.game-ui[data-screen=race] .toast-stack,.game-ui[data-screen=countdown] .toast-stack{top:146px;gap:0}
.game-ui[data-screen=race] .toast-stack>.toast:not(:last-child),.game-ui[data-screen=countdown] .toast-stack>.toast:not(:last-child){display:none}
.toast{font-size:10px;padding:8px 12px;line-height:1.35}
.toast[data-tone=lunar],.toast[data-tone=solar]{display:none}
.obstacle-hint{top:190px}
.player-status{display:none}
.hud-recover,.hud-options{opacity:.7}
}
@media(pointer:coarse) and (orientation:landscape) and (max-height:600px){
.objective{width:150px;padding:8px 10px}
.hud-top .dobra{top:0;padding:5px 11px 8px}
.game-ui[data-screen=race] .toast-stack,.game-ui[data-screen=countdown] .toast-stack{top:64px;max-width:300px}
.obstacle-hint{top:122px}
.route-coach{top:92px;bottom:auto;left:auto;right:20px;max-width:170px}
}
