:root{font-family:Inter,Helvetica Neue,Arial,PingFang SC,Microsoft YaHei,sans-serif;color:#f5f3e9;background:#173a3d;font-synthesis:none;--ink:#102c30;--muted:#a7b9b6;--paper:#f5f3e9;--accent:#ff774d;--line:rgba(236,244,234,.17)}*{box-sizing:border-box}html,body,#app{margin:0;width:100%;height:100%;overflow:hidden}button,input{font:inherit}button{color:inherit;cursor:pointer}button:disabled{opacity:.35;cursor:not-allowed}button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #ffd99e;outline-offset:4px}button{border:0}button,a,input{-webkit-tap-highlight-color:transparent}#scene{display:block;width:100%;height:100%}#ui,.scene-vignette{position:absolute;inset:0;pointer-events:none}.scene-vignette{background:linear-gradient(180deg,rgba(6,30,32,.23),transparent 26%,transparent 74%,rgba(6,25,29,.28))}#app[data-screen=home] .scene-vignette{background:linear-gradient(90deg,rgba(7,30,34,.94),rgba(9,35,39,.78) 28%,rgba(12,40,42,.3) 48%,transparent 72%),linear-gradient(0deg,rgba(6,28,31,.3),transparent 25%)}button,input,summary,.panel,#center-card,#home{pointer-events:auto}.hidden{display:none!important}#app[data-screen=home] .race-only,#app:not([data-screen=home]) .home-only{display:none!important}.brand{position:absolute;top:35px;left:4vw;display:flex;align-items:center;gap:15px;font-size:13px;letter-spacing:2.8px;font-weight:750}.brand small{display:block;font-size:10px;letter-spacing:3px;font-weight:400;margin-top:5px;color:#b4c3bd}.brand-mark{border:1px solid #b3c3b677;width:57px;height:46px;display:flex;align-items:center;justify-content:center;font-style:italic;letter-spacing:-3px;font-size:24px}.brand-mark span{color:var(--accent);font-weight:300;margin:0 3px}.home-location{position:absolute;right:4vw;top:48px;font-size:10px;letter-spacing:2px;display:flex;align-items:center;gap:14px}.live-dot{width:5px;height:5px;background:#f3bf83;border-radius:100%}#home{position:absolute;left:7vw;top:50%;transform:translateY(-46%);max-width:580px}.eyebrow{font-size:10px;font-weight:600;letter-spacing:2.3px;color:#a9c1b9;margin:0 0 23px}.eyebrow span{color:var(--accent);margin-right:15px}.home-only h1{font-family:Arial Black,Helvetica Neue,Arial,sans-serif;font-size:clamp(58px,6.5vw,104px);font-weight:900;line-height:.88;letter-spacing:-5px;margin:0 0 25px}.home-only h1 em{font-style:normal;color:#f8bd80}.home-only h2{font-size:19px;font-weight:500;letter-spacing:3px;margin:0 0 18px}.home-description{color:#bbc8c2;font-size:13px;line-height:1.9;margin:0 0 25px}.course-facts{display:flex;gap:23px;margin:0 0 29px;color:#acbdb6;font-size:10px}.course-facts span+span{border-left:1px solid var(--line);padding-left:23px}.course-facts b{font-size:22px;letter-spacing:-1px;color:var(--paper);font-weight:500;margin-right:6px}.home-actions{display:flex;gap:8px}.btn{background:#ffffff08;border:1px solid var(--line);border-radius:5px;padding:13px 18px;min-height:44px;font-size:13px;font-weight:550;transition:background .18s,transform .18s,border-color .18s;display:inline-flex;align-items:center;justify-content:center;gap:15px}.btn:hover:not(:disabled){background:#ffffff12;border-color:#fff6}.btn:active:not(:disabled){transform:translateY(1px)}.btn.primary{background:var(--accent);border-color:var(--accent);color:#142e30}.btn.primary:hover{background:#ff966b;border-color:#ff966b}.home-actions .primary{padding:17px 22px;min-width:207px;font-weight:700}.home-actions .primary span{font-size:21px;margin-left:20px}.text-btn{background:transparent;border-color:transparent;color:#dae2da}.text-btn:hover:not(:disabled){background:#ffffff08;border-color:transparent}.home-secondary{display:flex;gap:24px;margin-top:20px}.home-secondary button{background:transparent;padding:0;color:#afc1b7;font-size:11px}.home-secondary span{margin-left:12px}.home-best{display:flex;align-items:center;gap:14px;border-top:1px solid var(--line);padding-top:17px;margin-top:30px;max-width:376px}.home-best span{font-size:8px;letter-spacing:1.7px;color:#9bafa9}.home-best b{font-size:11px;font-weight:400;color:#c9d4c9}.boat-caption{position:absolute;right:9vw;bottom:17%;text-align:right;border-right:2px solid #f5d1a2;padding-right:18px}.boat-caption span{font-size:9px;letter-spacing:3px}.boat-caption strong{display:block;font-size:44px;font-weight:350;letter-spacing:-2px;margin:5px 0}.boat-caption p{font-size:10px;letter-spacing:2px;margin:0;color:#dbe0ca}.home-footer{position:absolute;left:4vw;right:4vw;bottom:25px;display:flex;justify-content:space-between;gap:25px;font-size:9px;letter-spacing:1.5px;color:#abbfb6}.home-footer i{font-style:normal;margin:0 12px;opacity:.4}#hud-left{position:absolute;top:27px;left:30px;display:flex;background:#102b30ed;border-bottom:2px solid #f27e55;border-radius:4px;padding:16px 0;box-shadow:0 6px 30px #071c221f}.hud-cell{padding:0 21px;border-left:1px solid var(--line);display:flex;flex-direction:column;gap:7px;position:relative}.hud-cell:first-child{border:0}.hud-cell i{font-size:9px;letter-spacing:1.3px;font-style:normal;color:#a8beb7}.hud-cell b{font-size:23px;font-weight:500;line-height:1;font-variant-numeric:tabular-nums;letter-spacing:-1px}.hud-cell.lap-cell b{color:#fac18d}.hud-cell.best-cell b{color:#abc4ba;font-size:20px}.hud-cell.best-cell{min-width:113px}#hud-penalty{position:absolute;bottom:-13px;right:10px;font-size:9px;color:#ffac85}#hud-next{position:absolute;top:30px;left:50%;transform:translate(-14%);display:flex;align-items:center;gap:17px;text-shadow:0 2px 10px #0b313d;background:#102b30dc;border-radius:4px;padding:12px 18px;white-space:nowrap}.next-icon{font-size:28px;color:#fac18d}#hud-next-tag{display:block;font-size:9px;letter-spacing:2px;color:#b0c7bc;margin-bottom:5px}#hud-next-name{font-size:15px;letter-spacing:1px;font-weight:550}#hud-next-dist{font-size:21px;font-variant-numeric:tabular-nums}#hud-cp{border-left:1px solid var(--line);padding-left:14px;font-size:12px;color:#b0c7bc}.icon-btn{position:absolute;right:30px;top:28px;width:54px;height:63px;border-radius:4px;background:#102b30e6;font-size:24px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}.icon-btn small{font-size:8px;letter-spacing:1px;color:#a8beb7}#minimap{position:absolute;left:30px;bottom:28px;width:195px;padding:13px 13px 5px;background:#102b30d9;border:1px solid #bfd7c81c;border-radius:5px}.map-label{display:flex;justify-content:space-between;font-size:8px;letter-spacing:1.4px;color:#b6c9ba}#minimap canvas{display:block;width:100%;height:auto;opacity:.95}#speedo{position:absolute;right:35px;bottom:32px;width:160px;filter:drop-shadow(0 2px 8px #123537);text-align:right}.speed-label{font-size:9px;letter-spacing:3px;color:#dae1ca}#speedo>div{display:flex;align-items:baseline;justify-content:flex-end;gap:9px}#hud-speed{font-size:68px;line-height:1.1;letter-spacing:-4px;font-weight:400;font-variant-numeric:tabular-nums}.unit{font-size:10px;letter-spacing:1px}#speedo .bar{height:3px;background:#d8e9d342;margin-top:7px;display:block}#bar-speed{height:100%;background:#ff9b64;width:0;transition:width .1s}#drive-hint{position:absolute;bottom:33px;left:50%;transform:translate(-50%);color:#e4e6d9;font-size:10px;white-space:nowrap;text-shadow:0 2px 8px #10303b}kbd{font:inherit;font-size:.9em;border:1px solid #a6b7b54d;border-radius:3px;padding:3px 5px}#drive-hint span{opacity:.4;margin:0 9px}#assist-badge{position:absolute;top:116px;left:30px;font-size:10px;letter-spacing:1px;background:#182f32dc;padding:9px 13px;border-left:2px solid #fac18d;color:#fac18d}#assist-badge span{color:#c7d2c8;margin-left:10px;font-size:9px}#center{position:absolute;inset:0;display:grid;place-items:center}#countdown{position:absolute;top:35%;font-size:140px;font-weight:800;font-style:italic;letter-spacing:-8px;opacity:0;color:#faf4dd;text-shadow:0 4px 35px #16383588;transform:scale(.8)}#countdown.show{animation:count .85s both}@keyframes count{0%{opacity:0;transform:scale(1.2)}15%,65%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.9)}}#center-toast{position:absolute;top:135px;left:50%;transform:translate(-50%,-8px);opacity:0;transition:.2s;background:#102d31ed;border-bottom:2px solid #fdb77b;border-radius:3px;padding:12px 22px;font-size:12px;max-width:80vw;text-align:center;line-height:1.6}#center-toast.show{opacity:1;transform:translate(-50%)}#center-card{width:min(540px,calc(100vw - 36px));background:#102b30f5;border:1px solid #a1b9b14d;border-top:3px solid var(--accent);border-radius:6px;padding:35px;box-shadow:0 25px 80px #051c284d;max-height:85vh;overflow:auto}#center-card .eyebrow{margin-bottom:17px}#center-title{font-size:32px;letter-spacing:-1px;font-weight:600;margin:0 0 20px}#center-sub{font-size:13px;line-height:2;color:#b8cac1}#center-sub b{color:#f6ebd6;font-weight:500}.result-time{font-size:58px;letter-spacing:-3px;line-height:1.2;margin:9px 0 18px;font-variant-numeric:tabular-nums;color:#f9c18c}.result-label{font-size:9px;letter-spacing:2px;color:#9cb4ac}.result-laps{display:flex;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:18px 0;padding:13px 0}.result-laps>div{flex:1}.result-laps span{display:block;font-size:9px;color:#9db4ac}.result-laps b{font-size:18px}.result-note{font-size:11px}#center-actions{display:flex;gap:9px;margin-top:25px}#center-actions .btn{flex:1}#modal-shade{position:absolute;inset:0;background:#071d28a3;backdrop-filter:blur(7px);pointer-events:auto;z-index:20}.panel{position:absolute;z-index:21;left:50%;top:50%;transform:translate(-50%,-50%);width:min(460px,calc(100vw - 32px));max-height:calc(100dvh - 40px);overflow:auto;background:#122e33fa;border:1px solid #809c954f;border-radius:8px;box-shadow:0 22px 90px #071d3b4d}.panel header{display:flex;align-items:center;justify-content:space-between;padding:26px 26px 22px;border-bottom:1px solid var(--line);gap:15px}.panel .eyebrow{font-size:8px;margin-bottom:11px;color:#91aaa1}.panel h2{font-size:23px;font-weight:500;letter-spacing:.3px;margin:0}.x{background:transparent;font-size:25px;color:#b7cac0;width:38px;height:38px;border-radius:4px;flex-shrink:0}.x:hover{background:#ffffff0d}.panel-body{padding:23px 26px}.wide{width:100%;justify-content:space-between}.menu-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:13px 0}.menu-grid .btn{padding:13px 12px;font-size:12px;justify-content:space-between}.menu-grid kbd{font-size:9px;color:#90a9a2}.preset-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.preset{padding:16px;text-align:left;border:1px solid var(--line);border-radius:4px;background:#ffffff04}.preset b{font-size:17px;font-weight:500}.preset small{font-size:10px;line-height:1.7;display:block;margin-top:7px;color:#adc0b6}.preset[aria-pressed=true]{border-color:var(--accent);background:#ff774d12}.setup-current{display:flex;gap:10px;align-items:center;font-size:10px;color:#9fb5aa;margin:20px 0 24px}.setup-current b{color:#e5decb;font-weight:400}.setup-current button{margin-left:auto;background:transparent;color:#f2af83;font-size:10px}.slider{display:block;margin:0 0 24px}.slider>span{display:flex;justify-content:space-between;font-size:12px}.slider b{font-size:12px;color:#f5bd8a;font-weight:500;font-variant-numeric:tabular-nums}.slider em{display:block;font-size:10px;color:#8ea89e;font-style:normal;margin-top:3px}input[type=range]{width:100%;accent-color:#ff9769;cursor:pointer;height:21px;margin:8px 0 0;background:transparent}.note{font-size:11px;line-height:1.8;color:#92ada3;margin:15px 0 0}.tele-row{display:flex;justify-content:space-between;font-size:12px;padding:12px 0;border-bottom:1px solid var(--line);color:#acc1b7}.tele-row b{font-weight:500;color:#e7e8d8}details{margin-top:17px;font-size:11px;color:#a8bcb1}summary{cursor:pointer}.readout{font-size:11px;line-height:1.9;color:#a6bfb1}.readout b{font-weight:500;color:#e5e9d7}.help-item{display:flex;gap:19px;padding:0 0 20px}.help-item>b{font-size:12px;color:#f8b989;font-weight:400;padding-top:4px}.help-item h3{font-size:14px;font-weight:500;margin:0 0 10px}.help-item p{margin:0;color:#a9bfb4;font-size:11px;line-height:2.1}.help-item kbd{padding:1px 3px;font-size:10px}.telemetry-panel{left:auto;right:28px;top:112px;transform:none;width:320px;background:#122e33ed}.telemetry-panel header{padding:18px 22px}.telemetry-panel .panel-body{padding:6px 22px 20px}.telemetry-panel h2{font-size:18px}.replay-panel{top:auto;bottom:24px;left:50%;transform:translate(-50%);width:min(650px,calc(100vw - 40px));background:#122e33ed}.replay-panel header{padding:17px 23px 0;border:none}.replay-panel header .eyebrow{margin-bottom:5px}.replay-panel h2{font-size:17px}.replay-panel .panel-body{padding:10px 23px 17px}.replay-controls{display:flex;gap:7px;margin-top:10px}.replay-controls .btn{font-size:11px;min-height:35px;padding:8px 15px}.replay-controls .text-btn{margin-left:auto}.replay-tag{position:absolute;left:30px;top:120px;font-size:10px;letter-spacing:1px;color:#ffe0b2;border-left:2px solid #f7bd81;padding:8px 12px;background:#122e33d9}#app[data-screen=replay] #drive-hint,#app[data-screen=results] #drive-hint{display:none}#app[data-screen=replay] #minimap{bottom:235px;width:150px}#dir-arrow{position:absolute;z-index:3;color:#ffd19b;font-size:35px;filter:drop-shadow(0 2px 5px #122d3a)}#dir-arrow small{position:absolute;left:50%;top:100%;font-size:10px;white-space:nowrap;transform:translate(-50%);color:#fff0d0;letter-spacing:.5px}#fx-ring{position:absolute;inset:0;pointer-events:none;border:0 solid #ffe2b600}#fx-ring.pulse{animation:pulse .3s ease-out}@keyframes pulse{0%{box-shadow:inset 0 0 90px #ffe2b62b}to{box-shadow:none}}#touch{position:absolute;left:20px;right:20px;bottom:20px;display:flex;justify-content:space-between;z-index:6}#touch>div{display:flex;gap:10px}#touch button{touch-action:none;background:#163b42cf;border:1px solid #d5e6d33d;border-radius:12px;width:58px;height:58px;font-size:27px;user-select:none}#touch button.active{background:#ee976ee6;color:#173437}#app.has-touch #drive-hint{display:none}#app.has-touch #minimap{bottom:95px;width:143px}#app.has-touch #speedo{bottom:105px}@media(min-width:1500px){#hud-next{transform:translate(-50%)}#home{left:8vw}}@media(max-width:1100px){#home{left:6vw}.home-only h1{font-size:76px}.home-location{right:30px}.hud-cell{padding:0 15px}.hud-cell.best-cell{display:none}#hud-next{left:auto;right:104px;transform:none;gap:12px}#drive-hint{display:none}.boat-caption{right:7vw}}@media(max-height:780px)and (min-width:701px){#home{transform:translateY(-42%)}.home-only h1{font-size:72px;margin-bottom:20px}.home-only h2{font-size:17px;margin-bottom:12px}.home-description{margin-bottom:15px}.course-facts{margin-bottom:20px}.home-best{margin-top:22px}.eyebrow{margin-bottom:19px}}@media(max-width:700px){.brand{top:23px;left:25px;font-size:10px;gap:10px}.brand-mark{width:42px;height:37px;font-size:21px}.brand small{font-size:8px;letter-spacing:2px}.home-location{top:36px;right:22px;font-size:8px;letter-spacing:1px;gap:7px}.home-location span:last-child{display:none}#home{left:26px;right:26px;top:47%;transform:translateY(-40%)}.home-only h1{font-size:clamp(58px,11vw,78px);letter-spacing:-3px;margin-bottom:23px}.home-only h2{font-size:15px;letter-spacing:1.6px}.home-description{font-size:11px;line-height:1.8;margin-bottom:23px}.eyebrow{font-size:9px}.course-facts{gap:13px;font-size:9px;margin-bottom:22px}.course-facts span+span{padding-left:13px}.course-facts b{font-size:19px;margin-right:5px}.home-actions .primary{min-width:175px;padding:14px 16px;font-size:12px}.home-actions .primary span{margin-left:9px}.home-actions .text-btn{padding:12px 9px;font-size:11px;gap:9px}.home-best{max-width:327px}.boat-caption{display:none}.home-footer{left:26px;bottom:23px;font-size:8px;letter-spacing:.7px}.home-footer>span:nth-child(2){display:none}#app[data-screen=home] .scene-vignette{background:linear-gradient(90deg,#092d32e8,#0b3034a1 70%,#0b303455),linear-gradient(0deg,#0a2c35b3,transparent 45%)}#hud-left{top:17px;left:16px;padding:12px 0}.hud-cell{padding:0 12px;gap:6px}.hud-cell i{font-size:8px;letter-spacing:.3px}.hud-cell b{font-size:19px}.icon-btn{right:16px;top:17px;width:45px;height:62px}#hud-next{top:93px;left:16px;right:auto;padding:9px 12px;gap:12px}#hud-next-name{font-size:12px}#hud-next-tag{font-size:8px}#hud-next-dist{font-size:16px}#hud-cp{font-size:10px}#hud-next .next-icon{font-size:23px}#minimap{left:16px;bottom:22px;width:145px;padding:10px 10px 3px}#speedo{right:21px;bottom:25px;width:116px}#hud-speed{font-size:54px}.speed-label,.unit{font-size:8px}#center-toast{top:164px;font-size:11px;padding:10px 15px;max-width:87vw;width:max-content}#assist-badge{top:153px;left:16px;padding:7px 10px;font-size:9px}#assist-badge span{font-size:8px}#center-card{padding:25px}#center-title{font-size:25px}.result-time{font-size:48px}.panel header{padding:22px}.panel-body{padding:20px 22px}.panel h2{font-size:21px}.telemetry-panel{right:16px;top:155px;width:calc(100vw - 32px);max-width:320px}.replay-panel{bottom:16px;width:calc(100vw - 24px)}.replay-panel header{padding:14px 17px 0}.replay-panel h2{font-size:15px}.replay-panel .panel-body{padding:8px 17px 14px}.replay-controls{gap:4px;flex-wrap:wrap}.replay-controls .btn{padding:8px 11px;font-size:10px}.replay-tag{left:auto;right:16px;top:96px;max-width:110px;font-size:8px;line-height:1.7}#app[data-screen=replay] #minimap{display:none}#touch{left:16px;right:16px;bottom:16px}#touch button{width:52px;height:52px}}@media(max-height:590px){.brand{top:18px}.home-location{top:31px}#home{top:54%;transform:translateY(-47%)}.home-only h1{font-size:52px;margin-bottom:14px;letter-spacing:-3px}.home-only h2{font-size:14px;margin-bottom:12px}.home-description,.home-best,.boat-caption{display:none}.course-facts{margin-bottom:18px}.home-secondary{margin-top:13px}.home-footer{bottom:14px}.eyebrow{margin-bottom:15px}.home-actions .primary{padding:12px 16px}.panel{max-height:calc(100dvh - 24px)}#minimap{width:130px;bottom:20px}#hud-left{top:17px;padding:12px 0}#hud-next,#btn-pause{top:17px}#assist-badge,.replay-tag{top:95px}#center-toast{top:110px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}#countdown.show{animation-duration:.5s}}@media(max-width:700px)and (min-height:650px){#home{inset:13vh 26px 70px;transform:none;max-width:none}.home-only .eyebrow{margin-bottom:17px}.home-only h1{font-size:clamp(48px,13.5vw,68px);line-height:.92;margin-bottom:15px;letter-spacing:-2.5px}.home-only h2{font-size:13px;line-height:1.5;letter-spacing:1px;margin:0}.home-description{display:none}.course-facts{position:absolute;bottom:143px;left:0;margin:0}.home-actions{position:absolute;bottom:68px;left:0;right:0}.home-secondary{position:absolute;bottom:31px;left:0;margin:0}.home-best{position:absolute;bottom:-12px;left:0;right:0;margin:0;padding-top:13px}#app[data-screen=home] .scene-vignette{background:linear-gradient(180deg,#092d32a6,#092d3280 31%,#092d3200 43% 61%,#092d32b8 77%,#092d32ed)}}@media(max-width:700px)and (min-height:650px)and (max-height:740px){.home-only h1{font-size:44px;letter-spacing:-2px}}.boat-caption{bottom:10%}#app:not([data-screen=race]) #touch,#app:not([data-screen=race]) #assist-badge{display:none!important}@media(max-width:380px){.hud-cell{padding:0 10px}.hud-cell b{font-size:17px}.home-actions .primary{min-width:155px}.home-actions .text-btn{font-size:10px;padding:10px 5px}.course-facts{gap:9px}.course-facts span+span{padding-left:9px}.course-facts b{font-size:17px}}#model-status{position:absolute;top:100px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:12px;padding:12px 18px;background:#102e33ed;border-radius:4px;font-size:11px;z-index:12;white-space:nowrap;color:#e2e5d4}#model-status button{background:transparent;color:#ffb88a;text-decoration:underline;font-size:11px}.loading-dot{width:6px;height:6px;border-radius:50%;background:#f3b981;animation:loading 1s infinite alternate}.load-error .loading-dot{animation:none;background:#ff775a}@keyframes loading{to{opacity:.25}}@media(min-width:701px){.replay-panel{width:min(760px,calc(100vw - 330px))}.replay-panel header{padding:12px 20px 0}.replay-panel header .eyebrow{display:none}.replay-panel h2{font-size:14px}.replay-panel .panel-body{display:grid;grid-template-columns:1fr auto;gap:9px 14px;padding:6px 20px 15px}.replay-panel #replay-info{grid-column:1;grid-row:1;align-self:center;font-size:10px}.replay-panel #replay-seek{grid-column:1/-1;grid-row:2;height:14px;margin:0}.replay-controls{grid-column:2;grid-row:1;margin:0;gap:5px}.replay-controls .btn{min-height:32px;padding:7px 11px;font-size:10px}}
