@font-face{font-family:Sora;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/sora-latin-ext-400-normal-Twk1CgKs.woff2) format("woff2"),url(/assets/sora-latin-ext-400-normal-BmhJC382.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Sora;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/sora-latin-400-normal-CRt88UEn.woff2) format("woff2"),url(/assets/sora-latin-400-normal-OW7qkl5a.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Sora;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/sora-latin-ext-500-normal-B5KKQIFO.woff2) format("woff2"),url(/assets/sora-latin-ext-500-normal-DwxUJRqY.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Sora;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/sora-latin-500-normal-01eiPEn0.woff2) format("woff2"),url(/assets/sora-latin-500-normal-w58xtEt9.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Sora;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/sora-latin-ext-600-normal-Cue1zdhl.woff2) format("woff2"),url(/assets/sora-latin-ext-600-normal-DLOJK0Ta.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Sora;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/sora-latin-600-normal-Cdg4DaK0.woff2) format("woff2"),url(/assets/sora-latin-600-normal-1_7fyUAY.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Sora;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/sora-latin-ext-700-normal-DM0oy5s8.woff2) format("woff2"),url(/assets/sora-latin-ext-700-normal-Oc7uZIYt.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Sora;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/sora-latin-700-normal-9waGdLWo.woff2) format("woff2"),url(/assets/sora-latin-700-normal-BKPfQAnC.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Sora;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/sora-latin-ext-800-normal-YDFYE6t9.woff2) format("woff2"),url(/assets/sora-latin-ext-800-normal-BvAfeed7.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Sora;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/sora-latin-800-normal-2tKLL3qT.woff2) format("woff2"),url(/assets/sora-latin-800-normal-c3Huklug.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/fraunces-vietnamese-500-normal-GOH_-EGq.woff2) format("woff2"),url(/assets/fraunces-vietnamese-500-normal-B-KbxExq.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/fraunces-latin-ext-500-normal-Z5DV8IzT.woff2) format("woff2"),url(/assets/fraunces-latin-ext-500-normal-BMcFk1Xs.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/fraunces-latin-500-normal-DnGCNyPD.woff2) format("woff2"),url(/assets/fraunces-latin-500-normal-BTR4KCeb.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/fraunces-vietnamese-600-normal-BjlAJixd.woff2) format("woff2"),url(/assets/fraunces-vietnamese-600-normal-DlAl5EAR.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/fraunces-latin-ext-600-normal-BtzmzP0X.woff2) format("woff2"),url(/assets/fraunces-latin-ext-600-normal-B0Dy4lqi.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/fraunces-latin-600-normal-BFCDtZfi.woff2) format("woff2"),url(/assets/fraunces-latin-600-normal-DL5QCzvS.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/fraunces-vietnamese-700-normal-DH94m5DZ.woff2) format("woff2"),url(/assets/fraunces-vietnamese-700-normal-DxawQjq2.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/fraunces-latin-ext-700-normal-CanUGppC.woff2) format("woff2"),url(/assets/fraunces-latin-ext-700-normal-DuBstVeD.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/fraunces-latin-700-normal-CEOla-zY.woff2) format("woff2"),url(/assets/fraunces-latin-700-normal-DTjk5d1Q.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--game-bg: #050b14;--left-hud-width: 150px;--left-hud-width-tablet: 132px;--left-hud-width-mobile: 118px;--ui-overlay-top-offset: clamp(14px, 25vh, 260px)}html,body{margin:0;padding:0;width:100%;height:100%;overflow:hidden;background:var(--game-bg)}body{position:relative;touch-action:none;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;font-family:Sora,sans-serif}#game-root{position:fixed;inset:0;z-index:0}.game-canvas{width:100%!important;height:100%!important;display:block}.game-loading{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;gap:12px;background-color:#050b142e;color:#e0f2fe;font-family:Sora,sans-serif;font-size:.95rem;letter-spacing:.02em;z-index:20;transition:opacity .6s ease,background-color .6s ease,backdrop-filter .6s ease;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.game-loading.ready{opacity:0;background-color:#050b1400;backdrop-filter:blur(0px);-webkit-backdrop-filter:blur(0px);pointer-events:none}.game-loading .spinner{width:18px;height:18px;border:2px solid rgba(226,232,240,.35);border-top-color:#e2e8f0;border-radius:50%;animation:game-spin .9s linear infinite}@keyframes game-spin{to{transform:rotate(360deg)}}*{-webkit-tap-highlight-color:transparent}.top-left-container{position:absolute;top:10px;left:10px;display:flex;flex-direction:column;align-items:flex-start;gap:10px;z-index:1000;width:var(--left-hud-width);transition:all .3s ease}.top-left-slot{width:100%;display:flex;flex-direction:column;align-items:stretch}#top-left-race-slot{align-items:stretch}.high-sea-panel{width:100%;box-sizing:border-box;display:flex;flex-direction:column;gap:8px;padding:10px;border-radius:10px;background:#080f1cdb;border:1px solid rgba(112,199,255,.35);box-shadow:0 8px 20px #00000059;color:#e6f4ff;user-select:none;font-family:Sora,sans-serif}.high-sea-title{font-size:14px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#7dd3fc}.high-sea-subtitle{font-size:11px;color:#e6f4ffcc}.high-sea-grid{display:grid;grid-template-columns:1fr;gap:4px}.high-sea-row{display:flex;justify-content:space-between;align-items:center;font-size:12px;line-height:1.3}.high-sea-status{font-size:11px;line-height:1.35;color:#bae6fd;min-height:30px}.high-sea-status[data-tone=warning]{color:#facc15}.high-sea-status[data-tone=danger]{color:#fb7185}.high-sea-status[data-tone=success]{color:#4ade80}.ui-toast-stack,.ui-banner-stack{position:fixed;left:0;right:0;display:flex;flex-direction:column;align-items:center;gap:8px;pointer-events:none}.ui-toast-stack{z-index:2300}.ui-banner-stack{z-index:2350}.ui-toast-stack-top,.ui-banner-stack-top{top:var(--ui-overlay-top-offset)}.ui-toast{width:fit-content;max-width:min(640px,calc(100vw - 30px));box-sizing:border-box;padding:11px 14px;border-radius:11px;border:1px solid rgba(148,163,184,.5);background:#0a0f18e6;color:#f8fafc;font-family:Sora,sans-serif;font-size:13px;font-weight:600;line-height:1.35;text-align:center;white-space:pre-line;box-shadow:0 14px 30px #00000057;transform:translateY(-10px);opacity:0;transition:transform .16s ease,opacity .16s ease}.ui-toast.is-visible{transform:translateY(0);opacity:1}.ui-banner{width:fit-content;max-width:min(740px,calc(100vw - 30px));box-sizing:border-box;padding:12px 14px;border-radius:11px;border:1px solid rgba(148,163,184,.5);background:#0f172aeb;color:#f8fafc;font-family:Sora,sans-serif;line-height:1.35;box-shadow:0 14px 30px #00000057;display:flex;align-items:center;justify-content:space-between;gap:10px;pointer-events:auto;transform:translateY(-10px);opacity:0;transition:transform .16s ease,opacity .16s ease}.ui-banner.is-visible{transform:translateY(0);opacity:1}.ui-banner-message{min-width:0;font-size:13px;font-weight:600;white-space:pre-line;overflow-wrap:anywhere}.ui-banner-message-primary{min-width:0;text-align:center}.ui-banner-message-secondary{font-size:16px;font-weight:700;line-height:1.2;white-space:nowrap;text-align:center;color:#cbd5e1}.ui-banner-message-secondary.ui-tone-info{color:#cbd5e1}.ui-banner-message-secondary.ui-tone-success{color:#86efac}.ui-banner-message-secondary.ui-tone-warning{color:#fde047}.ui-banner-message-secondary.ui-tone-danger{color:#fda4af}.ui-banner.high-sea-warning-banner{width:min(620px,calc(100vw - 30px));justify-content:center}.ui-banner.high-sea-warning-banner .ui-banner-message{display:flex;flex-direction:column;align-items:center;gap:2px}.ui-banner.high-sea-warning-banner .ui-banner-message-secondary{font-size:clamp(24px,6vw,36px);font-weight:800;line-height:1;font-variant-numeric:tabular-nums;letter-spacing:.01em;min-width:4.5ch}.ui-banner-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.ui-banner-action,.ui-banner-close{border:1px solid rgba(255,255,255,.2);border-radius:8px;background:#ffffff1f;color:#fff;font-family:Sora,sans-serif;font-size:12px;font-weight:700;cursor:pointer}.ui-banner-action{padding:7px 10px}.ui-banner-close{width:26px;height:26px;padding:0}.ui-system-modal{z-index:2650}.ui-system-modal-panel{width:min(92vw,520px)}.ui-system-modal-description{color:#9fbad3;font-size:13px;margin-bottom:10px}.ui-system-modal-body{display:flex;flex-direction:column;gap:8px}.ui-system-modal-actions{margin-top:12px;display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px}.ui-system-modal-action{padding:8px 12px;border-radius:8px;border:1px solid rgba(255,255,255,.18);color:#fff;font-family:Sora,sans-serif;font-size:13px;font-weight:700;cursor:pointer}.ui-tone-info{border-color:#94a3b880;background:#0f172aeb;color:#e2e8f0}.ui-tone-success{border-color:#86efac8c;background:#09160ce6;color:#dcfce7}.ui-tone-warning{border-color:#facc15b3;background:#292004eb;color:#fef08a}.ui-tone-danger{border-color:#fb7185b3;background:#320a12ed;color:#fecdd3}.logistics-mission-list{display:flex;flex-direction:column;gap:10px}.logistics-mission-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px;border:1px solid rgba(255,255,255,.12);border-radius:8px;background:#ffffff0d}.logistics-mission-info{display:flex;flex-direction:column;gap:4px}.logistics-mission-name{font-size:14px;font-weight:600}.logistics-mission-meta{font-size:12px;opacity:.9}.logistics-btn{padding:8px 12px;border-radius:8px;border:1px solid rgba(255,255,255,.2);color:#fff;cursor:pointer;font-size:13px;font-family:Sora,sans-serif;transition:transform .14s ease}.logistics-btn:hover{transform:scale(1.04)}.logistics-btn-secondary{background:#64748bb8}.logistics-btn-accept{background:#1e90ffe6}.high-sea-center-warning{position:fixed;left:50%;top:34%;width:min(640px,calc(100vw - 32px));padding:14px 16px;box-sizing:border-box;border-radius:12px;border:1px solid rgba(250,204,21,.75);background:#292004eb;color:#fef08a;font-family:Sora,sans-serif;font-size:13px;font-weight:700;line-height:1.35;letter-spacing:.01em;text-align:center;pointer-events:none;transform:translate(-50%,-12px);opacity:0;transition:opacity .18s ease,transform .18s ease;z-index:2250;box-shadow:0 14px 28px #00000057}.high-sea-center-warning.is-visible{opacity:1;transform:translate(-50%)}.high-sea-center-warning[data-tone=danger]{border-color:#fb7185bf;background:#320a12f0;color:#fecdd3}.high-sea-fail-modal{background:#000000ad}.high-sea-fail-card{width:min(100%,380px);margin:0 auto;display:flex;flex-direction:column;gap:10px}.high-sea-fail-panel .game-modal-header{justify-content:center}.high-sea-fail-panel .game-modal-title{width:100%;text-align:center}.high-sea-fail-title{font-size:20px;font-weight:700;color:#fda4af}.high-sea-fail-row{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:14px;color:#e2e8f0;padding:8px 10px;border-radius:8px;background:#ffffff0d}.high-sea-fail-row strong{color:#fff}.high-sea-fail-submit-status{margin:4px 0 0;min-height:40px;font-size:13px;line-height:1.4;color:#cbd5e1}.high-sea-fail-submit-status[data-tone=warning]{color:#fcd34d}.high-sea-fail-submit-status[data-tone=success]{color:#86efac}.high-sea-fail-turnstile{display:none;justify-content:center;min-height:65px}.high-sea-fail-name-group{display:flex;flex-direction:column;gap:6px;margin-top:2px}.high-sea-fail-name-label{font-size:12px;color:#cbd5e1;letter-spacing:.01em}.high-sea-fail-name-input{width:100%;box-sizing:border-box;border:1px solid rgba(255,255,255,.2);border-radius:8px;background:#080f1ed9;color:#f8fafc;font-family:Sora,sans-serif;font-size:14px;padding:10px 12px}.high-sea-fail-name-input:focus{outline:none;border-color:#3b82f6e6}.high-sea-fail-actions{display:flex;gap:10px}.high-sea-fail-submit-button{flex:1;margin-top:6px;border:1px solid rgba(255,255,255,.18);border-radius:10px;background:#0f766eeb;color:#fff;font-family:Sora,sans-serif;font-size:14px;font-weight:700;padding:10px 12px;cursor:pointer;transition:transform .15s ease,background .15s ease}.high-sea-fail-submit-button:hover{background:#0d9488f5;transform:translateY(-1px)}.high-sea-fail-submit-button:disabled{opacity:.55;cursor:not-allowed;transform:none}.high-sea-fail-button{flex:1;margin-top:6px;border:1px solid rgba(255,255,255,.18);border-radius:10px;background:#1d4ed8eb;color:#fff;font-family:Sora,sans-serif;font-size:14px;font-weight:700;padding:10px 12px;cursor:pointer;transition:transform .15s ease,background .15s ease}.high-sea-fail-button:hover{background:#2563ebf5;transform:translateY(-1px)}.high-sea-fail-button:disabled{opacity:.55;cursor:not-allowed;transform:none}.top-right-container{position:absolute;top:10px;right:10px;display:flex;flex-direction:column;align-items:flex-end;gap:10px;z-index:1000;width:130px;transition:all .3s ease}.ui-button-column{display:flex;flex-direction:column;align-items:flex-end;gap:10px;z-index:1000}.ui-button{width:auto;min-width:40px;height:40px;background:#000000b3;color:#fff;display:flex;align-items:center;justify-content:flex-end;cursor:pointer;border-radius:8px;box-shadow:0 4px 8px #0000004d;transition:all .2s ease;user-select:none;-webkit-user-select:none;padding:0}.ui-button:hover{background:#000c;transform:scale(1.05)}.ui-button-content{display:flex;align-items:center;justify-content:center;height:100%;padding:0 8px;pointer-events:none}.ui-button-icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px}.ui-button-label{max-width:0;opacity:0;white-space:nowrap;overflow:hidden;transition:all .5s ease;margin-right:0;font-size:14px;font-weight:600;display:inline-block}.ui-button.expanded .ui-button-label{max-width:150px;opacity:1;margin-right:8px}.ui-badge{display:flex;align-items:center;gap:6px;height:36px;padding:0 10px;border-radius:6px;font-size:13px;font-weight:700;background:#0009;color:#fff;border:1px solid rgba(255,255,255,.2);user-select:none}.ui-badge-count{position:absolute;bottom:-8px;right:-8px;font-size:10px;background:#0009;border-radius:4px;padding:1px 3px;min-width:12px;text-align:center;line-height:1;color:#fff;pointer-events:none}.game-modal-overlay{position:fixed;inset:0;display:none;align-items:center;justify-content:center;background:#00000073;z-index:2500;padding:12px;box-sizing:border-box}.game-modal-overlay.is-visible{display:flex}.game-modal-panel{width:min(92vw,440px);max-height:min(84vh,680px);overflow-y:auto;background:#14181cf2;color:#fff;border-radius:14px;border:1px solid rgba(255,255,255,.12);box-shadow:0 20px 60px #00000073;padding:16px;font-family:Sora,sans-serif}.game-modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.game-modal-title{font-size:20px;font-weight:700;color:#a5d8ff}.game-modal-close{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border:0;border-radius:8px;background:#ffffff14;color:#94a3b8;font-size:14px;cursor:pointer;transition:background .15s ease,color .15s ease;user-select:none}.game-modal-close:hover{background:#ffffff29;color:#fff}.overlay-panel{position:fixed;top:0;left:0;width:100%;height:100%;display:none;justify-content:center;align-items:center;box-sizing:border-box}.overlay-panel.is-visible{display:flex}.pause-overlay{background-color:#00000080;z-index:1000;cursor:pointer}.pause-overlay-content{text-align:center}.pause-overlay-title{color:#fff;font-size:48px;font-weight:700;text-shadow:2px 2px 4px rgba(0,0,0,.5)}.pause-overlay-subtitle{color:#fff;font-size:24px;margin-top:20px;text-shadow:1px 1px 2px rgba(0,0,0,.5)}.hotkeys-overlay{background-color:#0009;z-index:2600;padding:16px}.hotkeys-panel-modal{width:min(92vw,460px);max-height:80vh;background:transparent;border:none;box-shadow:none;padding:0}.hotkeys-panel{width:100%;max-height:80vh;overflow-y:auto;overflow-x:hidden;background:#14181cf2;color:#fff;border-radius:12px;box-shadow:0 20px 60px #00000073;padding:16px;box-sizing:border-box;font-family:Sora,sans-serif}.hotkeys-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.hotkeys-title{font-size:20px;font-weight:700;color:#a5d8ff}.race-challenge-overlay,.race-complete-overlay{background-color:#000000d9;color:#fff;font-family:Sora,sans-serif}.race-challenge-panel,.race-complete-panel{width:min(96vw,560px);background:transparent;border:none;box-shadow:none;padding:0}.performance-monitor-overlay{align-items:flex-start;padding-top:calc(var(--vs-header-clearance, 72px) + 8px);background:transparent;pointer-events:none}.performance-monitor-panel{width:auto;min-width:min(92vw,360px);max-width:min(96vw,560px);white-space:pre;user-select:text;position:relative;padding-right:64px;pointer-events:auto}.performance-monitor-copy{position:absolute;top:12px;right:12px;width:auto;height:auto;min-height:28px;padding:4px 8px}.hotkeys-close{cursor:pointer;padding:6px 8px;border-radius:8px;background:#ffffff0f}.hotkeys-list{display:flex;flex-direction:column;gap:8px}.hotkeys-row{display:flex;align-items:center;justify-content:space-between;gap:8px;background:#ffffff0f;border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:10px 12px}.hotkeys-label{font-size:14px;min-width:0;overflow-wrap:anywhere}.hotkeys-key{flex-shrink:0;padding:4px 8px;border-radius:6px;background:#00000059;border:1px solid rgba(255,255,255,.2);font-size:13px;font-family:monospace}#speed-value{white-space:nowrap}#speed-value-unit{font-size:.68em;opacity:.82}@media(max-width:480px){#speed-value{font-size:20px!important}#speed-value-unit{letter-spacing:0}}@media(max-width:768px){#top-left-container{width:var(--left-hud-width-tablet)!important;transform:scale(.9);transform-origin:top left}#top-right-container{width:120px!important;transform:scale(.9);transform-origin:top right}#speedometer{transform:none;transform-origin:top left}#controls-panel{transform:scale(.8);transform-origin:top left}}@media(max-width:480px){#top-left-container{width:var(--left-hud-width-mobile)!important;transform:scale(.85);transform-origin:top left}#top-right-container{width:110px!important;transform:scale(.85);transform-origin:top right}#speedometer{transform:none;transform-origin:top left}#controls-panel{transform:scale(.75);transform-origin:top left}}body.map-mode{cursor:grab}body.map-mode:active{cursor:grabbing}.map-status{position:fixed;top:16px;left:16px;z-index:30;padding:8px 12px;border-radius:999px;border:1px solid rgba(255,255,255,.24);background:#050b14ad;color:#dbeafe;font-family:Sora,sans-serif;font-size:12px;letter-spacing:.01em;pointer-events:none}.map-hint{position:fixed;left:50%;bottom:18px;transform:translate(-50%);z-index:30;padding:8px 16px;border-radius:999px;border:1px solid rgba(255,255,255,.24);background:#050b14ad;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:#dbeafe;font-family:Sora,sans-serif;font-size:12px;letter-spacing:.02em;pointer-events:none;transition:opacity .6s ease}.mini-map-overlay{opacity:0;pointer-events:none;transition:opacity .2s ease}.mini-map-overlay.is-visible{opacity:1;pointer-events:auto}.mini-map{width:fit-content;max-width:min(92vw,440px);opacity:0;transform:scale(.97);transition:opacity .2s ease,transform .2s ease;background:#14181ceb;border-radius:14px;border:1px solid rgba(255,255,255,.12);box-shadow:0 20px 60px #00000073;overflow:hidden;padding:0}.mini-map.is-visible{opacity:1;transform:scale(1)}.mini-map-surface{position:relative;width:min(420px,calc(92vw - 32px),calc(100vh - 96px));aspect-ratio:1 / 1;margin:0 auto 10px;border-radius:10px;overflow:hidden;border:1px solid rgba(255,255,255,.18);box-shadow:0 4px 16px #0000004d;background:#187db2e0}.mini-map-canvas{width:100%;height:100%;display:block}.mini-map-target{position:absolute;width:12px;height:12px;border-radius:999px;background:#ffd166;border:2px solid rgba(255,255,255,.9);box-shadow:0 0 10px #f59e0bd9;transform:translate(-50%,-50%);pointer-events:none;opacity:0;transition:opacity .15s ease}.mini-map-target.is-visible{opacity:1}.mini-map-arrow{position:absolute;left:50%;top:50%;width:0;height:0;border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:22px solid #ef4444;filter:drop-shadow(0 0 5px rgba(239,68,68,.8));transform:translate(-50%,-50%);transform-origin:50% 70%;pointer-events:none}.mini-map-header{display:flex;align-items:center;justify-content:space-between;padding:8px 10px}.mini-map-title{color:#a5d8ff;font-family:Sora,sans-serif;font-size:13px;font-weight:600;letter-spacing:.1em;text-transform:uppercase}.mini-map-close{border-radius:6px}.mini-map-rim{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:10}.mini-map-rim-wind,.mini-map-rim-target{position:absolute;top:0;left:0;width:20px;height:20px;display:none;filter:drop-shadow(0 0 2px rgba(0,0,0,.5))}.mini-map-rim-wind path{fill:#39f}.mini-map-rim-target path{fill:#ffd166}.mini-map-footer{display:flex;align-items:center;justify-content:center;padding:8px 10px;gap:12px}.mini-map-wind-label{color:#94a3b8;font-family:Sora,sans-serif;font-size:11px;letter-spacing:.04em}.tutorial-overlay{position:fixed;top:24px;left:0;right:0;display:flex;justify-content:center;pointer-events:none;z-index:3000}.tutorial-card{background:#0a0f19d9;border:1px solid rgba(255,255,255,.15);border-radius:40px;padding:16px 60px;width:auto;max-width:680px;text-align:center;box-shadow:0 10px 40px #0006,0 0 0 1px #ffffff0d;position:relative;pointer-events:auto;transition:all .5s cubic-bezier(.2,.8,.2,1)}.tutorial-card.tutorial-card-minimal{background:#0a0f193d;border-color:#ffffff14;box-shadow:0 4px 18px #00000038;transform:translateY(-6px) scale(.98)}.tutorial-card.tutorial-card-minimal .tutorial-title,.tutorial-card.tutorial-card-minimal .tutorial-text{opacity:.25}.tutorial-title{font-family:Sora,sans-serif;font-weight:800;font-size:13px;text-transform:uppercase;letter-spacing:.15em;color:#ffd166;margin-bottom:4px;opacity:.9}.tutorial-text{font-family:Sora,sans-serif;font-size:16px;line-height:1.5;color:#fff;margin-bottom:0}.tutorial-text b{color:#4ade80;font-weight:700}.tutorial-progress{display:flex;justify-content:center;gap:6px;margin:12px 0 4px}.tutorial-dot{width:6px;height:6px;border-radius:50%;background:#fff3;transition:all .3s}.tutorial-dot.active{background:#ffd166;transform:scale(1.3)}.tutorial-dot.completed{background:#fff9}.tutorial-action{display:inline-block;margin-top:12px;padding:8px 24px;background:#ffffff14;border:1px solid rgba(255,255,255,.15);border-radius:40px;font-size:14px;font-weight:600;color:#fff;cursor:pointer;transition:all .2s}.tutorial-action:hover{background:#ffffff26;transform:translateY(-1px)}.tutorial-action.tutorial-action-prompt{padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;color:#e8f2ffeb;font-size:15px;font-weight:600;letter-spacing:.02em;cursor:default;pointer-events:none}.tutorial-action.tutorial-action-prompt:hover{background:transparent;transform:none}.tutorial-action.tutorial-action-start{padding:16px 40px;font-size:18px;background:#ffffff1f;border:2px solid rgba(255,255,255,.3);box-shadow:0 0 20px #ffffff1a;transition:all .3s cubic-bezier(.2,.8,.2,1);animation:tutorial-start-pulse 2s infinite ease-in-out}@keyframes tutorial-start-pulse{0%{transform:scale(1);box-shadow:0 0 20px #ffffff1a;border-color:#ffffff4d}50%{transform:scale(1.05);box-shadow:0 0 30px #fff3;border-color:#ffffff80}to{transform:scale(1);box-shadow:0 0 20px #ffffff1a;border-color:#ffffff4d}}.tutorial-action.tutorial-action-start:hover{background:#fff3;border-color:#ffffff80;box-shadow:0 0 30px #fff3;transform:translateY(-2px) scale(1.02)}.tutorial-voice-toggle{position:absolute;right:12px;top:50%;transform:translateY(-50%);cursor:pointer;opacity:.85;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:center;width:38px;height:38px;background:#ffffff1f;border:1px solid rgba(255,255,255,.15);border-radius:50%;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:10}.tutorial-voice-toggle:hover{opacity:1;background:#ffffff40;transform:translateY(-50%) scale(1.1);border-color:#fff6}.tutorial-voice-toggle svg{display:block;width:22px;height:22px}.tutorial-hint-container{--drag-span: 220px;--drag-rise: 84px;--drag-dip: 64px;position:fixed;inset:0;pointer-events:none;z-index:3200;display:none}.tutorial-hint-hand,.tutorial-hint-mouse{position:absolute;width:62px;height:62px;display:none;opacity:0;filter:drop-shadow(0 3px 10px rgba(0,0,0,.55));transition:opacity .5s}.tutorial-hint-mouse{color:#fffffff5}.tutorial-hint-mouse svg,.tutorial-hint-hand svg{width:100%;height:100%}.tutorial-control-arrow{position:absolute;display:none;width:120px;height:120px;transform:translate(-50%,-50%);pointer-events:none;filter:drop-shadow(0 0 14px rgba(96,215,255,.65))}.tutorial-control-arrow-svg{width:100%;height:100%;overflow:visible}.tutorial-control-arrow-svg line,.tutorial-control-arrow-svg polyline{fill:none;stroke:#f0fcfffa;stroke-width:7;stroke-linecap:round;stroke-linejoin:round}.tutorial-control-arrow-svg line{--tutorial-arrow-dash: 42;stroke-dasharray:var(--tutorial-arrow-dash);stroke-dashoffset:var(--tutorial-arrow-dash);animation:tutorial-control-arrow-stroke 1.05s infinite ease-out}.tutorial-control-arrow-svg polyline{--tutorial-arrow-dash: 34;stroke-dasharray:var(--tutorial-arrow-dash);stroke-dashoffset:var(--tutorial-arrow-dash);animation:tutorial-control-arrow-stroke 1.05s infinite ease-out}.tutorial-control-arrow-left{animation:tutorial-control-arrow-left 1.05s infinite ease-out}.tutorial-control-arrow-down{animation:tutorial-control-arrow-down 1.05s infinite ease-out}.tutorial-wasd-hint{position:absolute;left:50%;bottom:18%;transform:translate(-50%);display:none;grid-template-columns:repeat(3,46px);grid-template-rows:repeat(2,46px);gap:8px;pointer-events:none}.tutorial-wasd-key{display:flex;align-items:center;justify-content:center;border-radius:10px;border:1px solid rgba(255,255,255,.34);background:#05111ebd;color:#ffffffdb;font-family:Sora,sans-serif;font-size:18px;font-weight:700;text-shadow:0 1px 2px rgba(0,0,0,.45);box-shadow:0 6px 14px #00000059;transition:all .2s ease}.tutorial-wasd-key-w{grid-column:2;grid-row:1}.tutorial-wasd-key-a{grid-column:1;grid-row:2}.tutorial-wasd-key-s{grid-column:2;grid-row:2}.tutorial-wasd-key-d{grid-column:3;grid-row:2}.tutorial-wasd-key-active{color:#fff;border-color:#78e6fff2;background:#2870aec7;box-shadow:0 0 16px #69daffa6,0 10px 20px #00000073;transform:translateY(-1px)}.tutorial-wasd-key-primary{position:relative;border-color:#fff0a0fa;background:linear-gradient(180deg,#d68b2ae6,#a35a0ceb);color:#fffaf0;text-shadow:0 0 10px rgba(255,224,138,.8),0 1px 2px rgba(0,0,0,.5);box-shadow:0 0 0 2px #ffe9a059,0 0 20px #ffbb46b3,0 10px 20px #00000073;animation:tutorial-wasd-primary-pulse 1s infinite ease-in-out}.tutorial-wasd-key-primary:after{content:"";position:absolute;inset:-8px;border-radius:14px;border:2px solid rgba(255,221,134,.8);animation:tutorial-wasd-primary-ring 1s infinite ease-out;pointer-events:none}.tutorial-hint-drag-track{position:absolute;left:50%;top:71%;transform:translate(-50%,-50%);display:none;width:min(540px,84vw);height:190px;pointer-events:none}.tutorial-hint-curve{width:100%;height:100%;overflow:visible}.tutorial-hint-curve-path{fill:none;stroke:#ffffff8a;stroke-width:8;stroke-linecap:round;filter:drop-shadow(0 0 16px rgba(80,182,255,.6));stroke-dasharray:18 12;animation:tutorial-drag-track-glow 2.2s infinite ease-in-out}.swipe-hint-mobile{left:50%;top:61%;animation:tutorial-drag-finger 2.4s ease-in-out infinite reverse}.swipe-hint-desktop{left:50%;top:61%;animation:tutorial-drag-pointer 2.4s ease-in-out infinite reverse}.tap-hint-mobile{animation:tutorial-tap-finger 1.15s ease-in-out infinite}.tap-hint-desktop{animation:tutorial-tap-pointer 1.15s ease-in-out infinite}@keyframes tutorial-drag-track-glow{0%{opacity:.68}50%{opacity:1}to{opacity:.68}}@keyframes tutorial-control-arrow-left{0%{transform:translate(-50%,-50%) translate(0) scale(.9);opacity:0}18%{opacity:1}80%{transform:translate(-50%,-50%) translate(-30px) scale(1);opacity:1}to{transform:translate(-50%,-50%) translate(-36px) scale(1);opacity:0}}@keyframes tutorial-wasd-primary-pulse{0%{transform:translateY(-1px) scale(1)}50%{transform:translateY(-2px) scale(1.04)}to{transform:translateY(-1px) scale(1)}}@keyframes tutorial-wasd-primary-ring{0%{opacity:.95;transform:scale(.92)}to{opacity:0;transform:scale(1.18)}}@keyframes tutorial-control-arrow-down{0%{transform:translate(-50%,-50%) translateY(0) scale(.9);opacity:0}18%{opacity:1}80%{transform:translate(-50%,-50%) translateY(30px) scale(1);opacity:1}to{transform:translate(-50%,-50%) translateY(36px) scale(1);opacity:0}}@keyframes tutorial-control-arrow-stroke{0%{stroke-dashoffset:var(--tutorial-arrow-dash)}28%{stroke-dashoffset:0}to{stroke-dashoffset:0}}@keyframes tutorial-tap-finger{0%{transform:translate(-50%,-50%) scale(1) rotate(-8deg);opacity:.95}35%{transform:translate(-50%,calc(-50% + 6px)) scale(.84) rotate(-6deg);opacity:1}62%{transform:translate(-50%,-50%) scale(1.03) rotate(-8deg);opacity:.96}to{transform:translate(-50%,-50%) scale(1) rotate(-8deg);opacity:.95}}@keyframes tutorial-tap-pointer{0%{transform:translate(-50%,-50%) scale(1) rotate(-4deg);opacity:.95}35%{transform:translate(-50%,calc(-50% + 5px)) scale(.84) rotate(-2deg);opacity:1}62%{transform:translate(-50%,-50%) scale(1.02) rotate(-4deg);opacity:.96}to{transform:translate(-50%,-50%) scale(1) rotate(-4deg);opacity:.95}}@keyframes tutorial-drag-finger{0%{transform:translate(calc(-1 * var(--drag-span)),calc(-1 * var(--drag-rise))) rotate(-12deg);opacity:0}14%{opacity:1}48%{transform:translateY(var(--drag-dip)) rotate(0);opacity:1}80%{transform:translate(var(--drag-span),calc(-1 * var(--drag-rise))) rotate(10deg);opacity:1}to{transform:translate(var(--drag-span),calc(-1 * var(--drag-rise))) rotate(10deg);opacity:0}}@keyframes tutorial-drag-pointer{0%{transform:translate(calc(-1 * var(--drag-span)),calc(-1 * var(--drag-rise) + 4px)) rotate(-8deg);opacity:0}14%{opacity:1}48%{transform:translateY(calc(var(--drag-dip) - 2px)) rotate(0);opacity:1}80%{transform:translate(var(--drag-span),calc(-1 * var(--drag-rise) + 4px)) rotate(8deg);opacity:1}to{transform:translate(var(--drag-span),calc(-1 * var(--drag-rise) + 4px)) rotate(8deg);opacity:0}}.tutorial-pulse{position:absolute;width:100px;height:100px;border:4px solid rgba(255,255,255,.4);border-radius:50%;transform:translate(-50%,-50%);animation:tutorial-pulse 2s infinite;pointer-events:none}.tutorial-pulse.tutorial-pulse-tap{width:76px;height:76px;border-color:#baebffb8;animation:tutorial-tap-pulse 1.15s infinite ease-out}@keyframes tutorial-pulse{0%{transform:translate(-50%,-50%) scale(.6);opacity:1;border-width:8px}to{transform:translate(-50%,-50%) scale(1.6);opacity:0;border-width:1px}}@keyframes tutorial-tap-pulse{0%{transform:translate(-50%,-50%) scale(.66);opacity:.95;border-width:6px}70%{transform:translate(-50%,-50%) scale(1.34);opacity:0;border-width:2px}to{transform:translate(-50%,-50%) scale(1.34);opacity:0;border-width:1px}}.tutorial-card.tutorial-card-success{border-color:#4ade8066;background:#0a190fe6;box-shadow:0 20px 60px #00000080,0 0 40px #4ade8026}.tutorial-card-success .tutorial-title{color:#4ade80}.tutorial-action.tutorial-action-success{background:#22c55e33;border:1px solid rgba(74,222,128,.5);color:#4ade80;padding:12px 32px;font-size:16px;box-shadow:0 0 15px #4ade801a}.tutorial-action.tutorial-action-success:hover{background:#22c55e66;border-color:#4ade80;box-shadow:0 0 25px #4ade804d;color:#fff}.hint-left{left:15%;bottom:90px}.hint-right{right:15%;bottom:90px}@media(max-width:768px){.tutorial-hint-hand,.tutorial-hint-mouse{width:56px;height:56px}.tutorial-control-arrow{width:98px;height:98px}.tutorial-hint-drag-track{width:min(360px,88vw);height:146px;top:68%}.tutorial-hint-container{--drag-span: 142px;--drag-rise: 56px;--drag-dip: 44px}.swipe-hint-mobile,.swipe-hint-desktop{top:59%}.tutorial-hint-curve-path{stroke-width:7}}@media(max-width:768px)and (hover:none)and (pointer:coarse){.tutorial-wasd-hint{display:none!important}}
