@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:500;font-display:swap;src:url(./font-0-CCxn3Epz.ttf) format("truetype")}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:600;font-display:swap;src:url(./font-1-RZZ47rCX.ttf) format("truetype")}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:700;font-display:swap;src:url(./font-2-CQj3XIHL.ttf) format("truetype")}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:800;font-display:swap;src:url(./font-3-BdFBoAAT.ttf) format("truetype")}@font-face{font-family:DM Sans;font-style:normal;font-weight:400;font-display:swap;src:url(./font-4-CB7WfZ8W.ttf) format("truetype")}@font-face{font-family:DM Sans;font-style:normal;font-weight:500;font-display:swap;src:url(./font-5-DCQhiIS7.ttf) format("truetype")}@font-face{font-family:DM Sans;font-style:normal;font-weight:600;font-display:swap;src:url(./font-6-CYvJJk-g.ttf) format("truetype")}@font-face{font-family:DM Sans;font-style:normal;font-weight:700;font-display:swap;src:url(./font-7-BQ0abr9c.ttf) format("truetype")}:root{font-family:DM Sans,sans-serif;color:#f4f5eb;background:#9eafb0;font-synthesis:none;--lime:#ccf575;--muted:#b9c2c2}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,a,select{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;color:inherit}button:focus-visible,a:focus-visible,select:focus-visible{outline:2px solid var(--lime);outline-offset:5px}button{transition:background .2s,transform .2s}button:hover{background:#ffffff20}button:active{transform:translateY(1px)}#app,#scene,.vignette{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%}#scene{display:block}.vignette{pointer-events:none;background:linear-gradient(180deg,#101b2560 0%,transparent 24%,transparent 58%,#0c151b6e 100%)}header{position:absolute;top:0;left:0;right:0;height:108px;padding:0 48px;display:flex;align-items:center;border-bottom:1px solid #ffffff25;background:linear-gradient(#13212a42,transparent);gap:50px}.brand{color:#faf9ee;text-decoration:none;display:flex;align-items:center;gap:11px}.brand svg{width:35px;height:36px}.brand>span{font-size:29px;letter-spacing:4px;font-weight:700;line-height:1}.brand-sub{display:block;font-size:8px;letter-spacing:4px;margin-top:7px}.track-heading{display:flex;flex-direction:column;gap:8px;font-size:14px}.tiny{font-size:9px;font-weight:600;letter-spacing:2px;color:#d0dad8}.divider{color:#ffffff50;margin:0 9px}.muted{color:#d4dad9}.header-actions{display:flex;align-items:center;gap:10px;margin-left:auto}.live{font-size:9px;letter-spacing:1.5px;display:flex;align-items:center;gap:8px;margin-right:22px}.live i,.performance i,.weather i{display:inline-block;width:5px;height:5px;background:var(--lime);border-radius:50%}.icon-btn{height:38px;min-width:38px;padding:0 10px;border:1px solid #ffffff35;background:#14232920;border-radius:4px;font-size:20px}.sound-state{font-size:8px;margin-left:6px;vertical-align:middle}.intro{position:absolute;top:24%;left:6%;transition:opacity .5s,transform .5s}.intro.dismissed{opacity:0;transform:translate(-30px);pointer-events:none}.eyebrow{font-size:10px;letter-spacing:2.2px;font-weight:600;display:flex;align-items:center;gap:10px}.eyebrow>span{display:inline-block;width:25px;height:2px;background:var(--lime)}h1{font-family:Barlow Condensed,Arial Narrow,sans-serif;font-size:clamp(72px,7.8vw,130px);letter-spacing:-2px;line-height:.88;margin:26px 0 24px;text-shadow:0 2px 50px #14232a30;font-weight:600}h1 em{font-style:normal;color:var(--lime)}.intro p{font-size:13px;line-height:1.9;color:#eef1eb;margin-bottom:30px}.primary{display:flex;justify-content:space-between;align-items:center;gap:36px;background:var(--lime);color:#182420;border:0;border-radius:3px;min-height:51px;padding:0 23px;font-size:11px;letter-spacing:1.3px;font-weight:700}.primary span{font-size:24px;font-weight:400}.primary:hover{background:#d9ff92;transform:translateY(-2px)}.intro-bottom{display:flex;align-items:center;gap:4px;font-size:10px;color:#dfe5df;margin-top:21px}.intro-bottom>span:last-child{margin-left:5px}.key,kbd{font-family:inherit;display:inline-flex;align-items:center;justify-content:center;border:1px solid #ffffff38;background:#15212824;border-radius:3px;min-width:19px;height:19px;font-size:9px}.session-panel{position:absolute;top:145px;right:48px;width:242px;background:#162329b8;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid #ffffff20;border-radius:5px;padding:21px 23px 17px}.section-title{font-size:10px;letter-spacing:1.7px;display:flex;align-items:center;justify-content:space-between;font-weight:600}.tag{font-size:8px;letter-spacing:1px;border:1px solid #ffffff35;border-radius:2px;padding:3px 5px;color:#bfc9c9}.lap-row{margin-top:22px;display:flex;justify-content:space-between;align-items:center;font-size:9px;color:#adbabc}.lap-row b{color:var(--lime);font-weight:500;font-size:12px;margin-left:4px}.lap-row>span:last-child{font-size:7px;letter-spacing:.5px}#timer{font-family:Barlow Condensed,sans-serif;font-size:48px;font-weight:500;letter-spacing:1px;font-variant-numeric:tabular-nums;line-height:1.3}#timer span{color:#afbab9;font-size:33px}.best-row{display:flex;justify-content:space-between;align-items:center;font-size:8px;letter-spacing:.5px;border-top:1px solid #ffffff18;padding-top:14px;margin-top:9px}.best-row>span{color:#abb8b9}.best-row strong{font-size:12px;font-weight:500;letter-spacing:1px}.sector-row{display:flex;gap:9px;margin-top:18px}.sector-row>span{flex:1;color:#829297;font-size:8px;display:flex;gap:7px;align-items:center}.sector-row i{height:3px;flex:1;background:#ffffff25;border-radius:2px}.sector-row .done{color:var(--lime)}.sector-row .done i{background:var(--lime)}.map-panel{position:absolute;bottom:107px;left:48px;width:230px}.map-panel .section-title{font-size:9px}.north{font-size:9px;color:#e7eada;letter-spacing:1px}.map-panel canvas{width:100%;height:150px;margin:12px 0 0}.map-meta{border-top:1px solid #ffffff25;padding-top:12px;display:flex;justify-content:space-between;font-size:8px;letter-spacing:1px}.map-meta b{font-weight:500}.weather{display:flex;align-items:center;gap:5px}.weather i{background:#ead9a8}.car-label{position:absolute;bottom:112px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:8px}.car-label strong{font-size:19px;font-weight:500;letter-spacing:1px}.car-label strong span{font-size:10px;font-style:italic;color:var(--lime);border:1px solid #d1ef8950;padding:2px 4px;margin-left:5px}.car-spec{font-size:7px;letter-spacing:1.5px;color:#cfdbd8}.car-spec i{margin:0 4px}.telemetry{position:absolute;right:48px;bottom:106px;width:245px}.rpm{display:flex;gap:4px;height:6px;margin-bottom:10px}.rpm span{flex:1;background:#ffffff35;transform:skew(-22deg);transition:background .08s}.rpm span.on{background:var(--lime)}.rpm span.red.on{background:#f79567}.speed-row{display:flex;align-items:center;gap:22px;justify-content:flex-end}.gear{width:40px;height:46px;background:#14232845;border:1px solid #ffffff40;border-radius:3px;text-align:center;line-height:46px;font-family:Barlow Condensed,sans-serif;font-size:27px;color:var(--lime)}.speed-value{display:flex;align-items:baseline;gap:12px}.speed-value strong{font-family:Barlow Condensed,sans-serif;font-size:85px;line-height:1;font-weight:600;letter-spacing:-1px;font-variant-numeric:tabular-nums}.speed-value>span{font-size:9px;letter-spacing:1px;color:#dce4de}.pedals{margin-top:16px;display:flex;gap:12px;align-items:center}.pedals>span{font-size:7px;letter-spacing:1px;display:flex;align-items:center;gap:6px}.pedals i{width:35px;background:#ffffff25;height:3px;display:block}.pedals b{display:block;width:0;height:100%;background:var(--lime)}#brake-bar{background:#fa8c76}.grip-label{margin-left:auto;color:var(--lime)}footer{position:absolute;bottom:0;height:65px;left:48px;right:48px;border-top:1px solid #ffffff28;display:flex;align-items:center;justify-content:space-between}.controls{display:flex;gap:25px}.controls>span,.controls>button{font-size:9px;display:flex;align-items:center;gap:5px;color:#d5dfdc}.controls kbd{padding:0 4px}.controls button{border:0;background:none;padding:3px 0}.controls button:hover{color:var(--lime)}.performance{display:flex;align-items:center;gap:6px;font-size:8px;letter-spacing:.8px;color:#cbd8d4}.footer-sep{margin:0 7px;opacity:.4}.toast{position:absolute;top:125px;left:50%;transform:translate(-50%,-10px);padding:12px 23px;background:#17252de8;border:1px solid #c8f36b60;border-radius:3px;font-size:11px;letter-spacing:1px;opacity:0;transition:.25s;pointer-events:none}.toast.visible{opacity:1;transform:translate(-50%)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#101e2975;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);display:flex;align-items:center;justify-content:center;z-index:5}.hidden{display:none!important}.modal{width:440px;padding:35px 38px;background:#1b2a30;border:1px solid #ffffff20;border-radius:7px;box-shadow:0 30px 90px #0004}.modal .eyebrow{color:var(--lime);font-size:8px}h2{font-family:Barlow Condensed,sans-serif;font-size:55px;line-height:1;margin:18px 0 12px;font-weight:500}.modal>p{font-size:12px;color:#b7c5c5;line-height:1.7}.settings-content{margin:28px 0}.settings-content label{font-size:11px;display:block;margin-bottom:9px}select{color:#eaf1e4;background:#26373e;border:1px solid #ffffff30;width:100%;padding:12px;font:inherit;font-size:12px;border-radius:3px}.setting-note{font-size:10px;color:#91a4a9;line-height:1.6}.setting-row{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #ffffff20;padding:15px 0;font-size:11px}.setting-row button{background:#ffffff10;border:1px solid #ffffff30;padding:5px 14px;border-radius:3px;font-size:10px}.help{display:grid;grid-template-columns:1fr 1fr;gap:13px 8px;margin-top:21px;font-size:9px;color:#b7c5c5}.help kbd{margin-right:5px;padding:2px 5px}.modal .primary{width:100%}#loading{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10;background:#1b2a30;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:20px;font-size:11px;letter-spacing:4px}#loading span{width:80px;height:2px;background:var(--lime);animation:pulse 1s infinite}.mobile-note{display:none}@keyframes pulse{50%{opacity:.2}}@media(max-width:1100px){header{padding:0 28px;gap:35px;height:85px}.session-panel{right:28px;top:113px;width:215px}.telemetry{right:28px;bottom:95px}.map-panel{left:28px;bottom:95px;width:190px}.map-panel canvas{height:123px}footer{left:28px;right:28px}.controls{gap:13px}.intro{top:23%;left:6%}.intro p{font-size:12px}.live{display:none}.car-label{bottom:99px}.intro-bottom{font-size:9px}}@media(max-height:760px){.intro{top:23%}h1{font-size:82px;margin:18px 0}.intro p{margin-bottom:20px}.map-panel{bottom:90px;width:165px}.map-panel canvas{height:95px}.map-meta{font-size:7px}.session-panel{top:115px;padding:16px 20px}.car-label{bottom:95px}.telemetry{bottom:90px}.intro-bottom{margin-top:14px}}@media(max-width:740px){header{height:75px;padding:0 18px}.track-heading{display:none}.session-panel{right:18px;top:94px;width:170px;padding:14px}#timer{font-size:37px}.lap-row>span:last-child{display:none}.intro{left:24px;top:27%}h1{font-size:70px}.intro p{font-size:10px}.intro .primary{font-size:9px;padding:0 14px}.map-panel{left:20px;bottom:100px;width:135px}.telemetry{right:20px;width:190px;bottom:100px}.speed-value strong{font-size:65px}.car-label{display:none}footer{left:20px;right:20px}.controls{display:none}.mobile-note{display:block;position:absolute;bottom:27px;right:20px;font-size:8px;color:#d5dfdc}.modal{width:calc(100% - 36px);max-height:95%;overflow:auto}.intro-bottom{display:none}}.intro{top:20%}h1{font-size:clamp(70px,10.5vh,128px)}.vignette{background:linear-gradient(90deg,#10232065,transparent 48%),linear-gradient(180deg,#101b2550 0%,transparent 28%,transparent 58%,#0c151b85 100%)}@media(max-height:760px){.intro{top:19%}h1{font-size:70px;margin:16px 0}.intro p{margin-bottom:18px}.intro-bottom{margin-top:12px}}@media(max-height:900px){.ready .map-panel{opacity:0;pointer-events:none}}.touch-controls,.touch-instructions,.touch-help{display:none}html,body{overscroll-behavior:none}#app{height:100dvh;user-select:none;-webkit-user-select:none}#scene{touch-action:none}button{touch-action:manipulation}@media(max-width:900px),(pointer:coarse){:root{--edge-left:max(12px,env(safe-area-inset-left));--edge-right:max(12px,env(safe-area-inset-right));--safe-top:env(safe-area-inset-top,0px);--dock: calc(150px + env(safe-area-inset-bottom,0px)) }header{height:calc(64px + var(--safe-top));padding:var(--safe-top) var(--edge-right) 0 var(--edge-left);gap:12px;background:#16232970}.brand{gap:7px}.brand svg{width:25px;height:29px}.brand>span{font-size:22px;letter-spacing:3px}.brand-sub{font-size:6px;letter-spacing:2.7px}.track-heading,.live,.car-label,.intro-bottom,.controls,.mobile-note{display:none}.header-actions{gap:6px}.icon-btn{min-width:44px;height:44px;padding:0 8px}.sound-state{font-size:7px;margin-left:3px}.session-panel{left:var(--edge-left);right:auto;top:calc(74px + var(--safe-top));width:calc(50% - 22px);max-width:185px;padding:10px 12px;background:#162329d9;-webkit-backdrop-filter:none;backdrop-filter:none}.session-panel .section-title{font-size:8px;letter-spacing:1px}.tag{font-size:7px;padding:2px 4px}.lap-row{margin-top:8px;font-size:8px}.lap-row>span:last-child{display:block;font-size:7px;letter-spacing:0}.lap-row b{font-size:10px}#timer{font-size:33px;letter-spacing:.5px;line-height:1.15}#timer span{font-size:24px}.best-row{margin-top:5px;padding-top:6px;font-size:8px;letter-spacing:0}.best-row strong{font-size:10px;letter-spacing:0}.sector-row{margin-top:8px;gap:7px}.sector-row>span{font-size:8px;gap:4px}.telemetry{top:calc(85px + var(--safe-top));bottom:auto;right:var(--edge-right);width:calc(50% - 22px);max-width:180px}.rpm{height:4px;gap:3px;margin-bottom:8px}.speed-row{gap:10px}.gear{width:27px;height:35px;line-height:35px;font-size:22px;flex-shrink:0}.speed-value{gap:5px}.speed-value strong{font-size:56px}.speed-value>span{font-size:7px;letter-spacing:0}.pedals{gap:7px;margin-top:8px;flex-wrap:wrap}.pedals>span{font-size:6px;gap:4px}.pedals i{width:26px}.grip-label{width:100%;justify-content:flex-end;font-size:7px}.intro{top:calc(228px + var(--safe-top));left:var(--edge-left);right:var(--edge-right);max-width:390px}.intro .eyebrow{font-size:8px;letter-spacing:1.6px}h1{font-size:clamp(46px,9dvh,78px);margin:15px 0;line-height:.9}.intro>p:not(.touch-instructions){display:none}.intro .primary{min-height:48px;padding:0 19px;font-size:10px}.intro .touch-instructions{display:block;font-size:10px;line-height:1.6;margin:12px 0 0;color:#f0f3e9;text-shadow:0 1px 4px #000}.map-panel{left:var(--edge-left);bottom:calc(var(--dock) + 28px);width:110px;pointer-events:none}.map-panel .section-title{font-size:7px;letter-spacing:.8px}.north{font-size:7px}.map-panel canvas{height:70px;margin-top:5px}.map-meta{display:none}.ready .map-panel{opacity:0}.toast{top:calc(232px + var(--safe-top));width:max-content;max-width:calc(100% - 24px);padding:9px 13px;font-size:9px;line-height:1.5;text-align:center;z-index:2}footer{left:auto;right:var(--edge-right);bottom:calc(var(--dock) + 8px);height:16px;border:0;pointer-events:none}.performance{font-size:7px;gap:5px}.touch-controls{position:absolute;bottom:0;left:0;right:0;z-index:3;display:grid;grid-template-areas:"utilities utilities" "steering pedals";grid-template-columns:1fr 1fr;gap:10px;padding:8px var(--edge-right) max(12px,env(safe-area-inset-bottom)) var(--edge-left);background:linear-gradient(transparent,#122128bd 38%,#122128ee);pointer-events:none}.touch-controls button{pointer-events:auto;touch-action:none;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;border-radius:10px;box-shadow:0 2px 12px #0002;transition:background .08s,border-color .08s;transform:none}.touch-utilities{grid-area:utilities;display:flex;gap:8px;justify-content:center}.touch-utility{height:44px;min-width:76px;padding:0 10px;border:1px solid #c3d5d25e;background:#192b32de;font-size:9px;font-weight:600;letter-spacing:.5px}.touch-utility>span{font-size:17px;vertical-align:middle;margin-right:4px}.touch-steering{grid-area:steering;display:flex;gap:8px}.touch-pedals{grid-area:pedals;display:flex;gap:8px;justify-content:flex-end}.drive-button{width:clamp(58px,16vw,80px);height:76px;border:1px solid #d0e0d670;background:#263b43df;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;color:#f1f4ea}.drive-button>span{font-family:Arial,sans-serif;font-size:35px;line-height:32px}.drive-button>small{font-size:9px;letter-spacing:1px;font-weight:700}.brake-button{border-color:#f4ac947d;background:#654139df}.brake-button>span{font-size:24px}.throttle-button{background:#ccf575e8;border-color:#e1ffa6;color:#192d22}.touch-controls button.held{background:#e0ff9b;color:#172c20;border-color:#fff;box-shadow:0 0 0 2px #d7ff8645,0 0 20px #bcf45b30}.touch-controls .brake-button.held{background:#ffb19b;color:#40271f}.modal-backdrop{padding:max(10px,env(safe-area-inset-top)) var(--edge-right) max(10px,env(safe-area-inset-bottom)) var(--edge-left)}.modal{width:100%;max-width:440px;max-height:100%;overflow:auto;overscroll-behavior:contain;padding:22px}.modal h2{font-size:42px;margin:12px 0}.modal>p{font-size:11px}.settings-content{margin:18px 0}.setting-row button{min-height:44px;min-width:60px}.modal select{min-height:44px;font-size:16px}.modal .help{display:none}.touch-help{display:block;font-size:11px;line-height:1.7;color:#c4d3cf}.modal .primary{position:sticky;bottom:-1px;min-height:48px;box-shadow:0 -8px 14px #1b2a30}}@media(max-width:900px)and (orientation:portrait)and (max-height:700px){.intro{top:calc(228px + var(--safe-top))}h1{font-size:46px;margin:10px 0}.intro h1 br{display:none}.intro h1 em{margin-left:8px}.intro .touch-instructions{font-size:9px;margin-top:8px}.intro .eyebrow{font-size:7px}}@media(max-width:900px)and (orientation:landscape)and (max-height:600px),(pointer:coarse)and (orientation:landscape)and (max-height:600px){:root{--dock: calc(100px + env(safe-area-inset-bottom,0px)) }header{height:calc(52px + var(--safe-top))}.brand>span{font-size:20px}.brand svg{width:23px}.header-actions{gap:8px}.session-panel{top:calc(60px + var(--safe-top));width:166px;padding:8px 10px}#timer{font-size:30px}#timer span{font-size:22px}.session-panel .section-title{font-size:7px}.lap-row{margin-top:5px}.best-row{margin-top:4px;padding-top:4px}.sector-row{margin-top:5px}.telemetry{top:calc(65px + var(--safe-top));width:152px}.speed-value strong{font-size:50px}.rpm{margin-bottom:4px}.pedals{margin-top:4px}.map-panel{left:calc(var(--edge-left) + 182px);top:calc(60px + var(--safe-top));bottom:auto;width:90px}.map-panel canvas{height:56px}.map-panel .section-title{font-size:6px}footer{top:calc(62px + var(--safe-top));bottom:auto;right:calc(var(--edge-right) + 175px)}.touch-controls{grid-template-areas:"steering utilities pedals";grid-template-columns:1fr auto 1fr;align-items:end;padding-top:10px;gap:8px}.touch-utilities{gap:6px}.touch-utility{min-width:54px;padding:0 8px;font-size:8px}.touch-utility>span{display:block;margin:0 0 2px;font-size:16px;line-height:16px}.drive-button{width:64px;height:68px}.touch-steering,.touch-pedals{gap:8px}.intro{top:calc(70px + var(--safe-top));left:calc(var(--edge-left) + 185px);right:calc(var(--edge-right) + 175px);max-width:none}.intro .eyebrow{font-size:7px;letter-spacing:1px}.intro .eyebrow>span{width:12px}h1{font-size:42px;margin:12px 0}.intro h1 br{display:none}.intro h1 em{margin-left:8px}.intro .primary{min-height:44px;font-size:8px;padding:0 12px;gap:8px}.intro .touch-instructions{font-size:8px;line-height:1.5;margin-top:8px}.ready footer{opacity:0}.toast{top:calc(172px + var(--safe-top));max-width:calc(100% - 360px);font-size:8px;padding:7px 10px}.modal{max-width:540px;padding:18px 24px}.modal .eyebrow{font-size:7px}.modal h2{font-size:35px;margin:8px 0}.modal>p{margin:6px 0}.settings-content{margin:12px 0}}@media(max-width:360px){.session-panel{padding:10px 8px}#timer{font-size:30px}#timer span{font-size:21px}.speed-value strong{font-size:50px}.telemetry{width:calc(50% - 20px)}.touch-utility{min-width:72px}}
