:root{--primary:#8b9096;--on-primary:#111;--bg:#0d0e10;--panel:#0c0d0fd1;--line:#ffffff1a;--text:#f2f2f2;--muted:#9a9ca2;--font:"Bahnschrift", "DIN Alternate", "Roboto Condensed", "Arial Narrow", system-ui, sans-serif;--mono:ui-monospace, "Cascadia Mono", Consolas, monospace}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--text);font-family:var(--font);-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;touch-action:none;margin:0;overflow:hidden}#app,#app canvas{width:100%;height:100%;display:block;position:fixed;inset:0}[hidden]{display:none!important}button{font:inherit;color:inherit;cursor:pointer}.screen{z-index:10;flex-direction:column;justify-content:center;align-items:center;gap:18px;display:flex;position:fixed;inset:0}#loader{background:var(--bg);transition:opacity .5s}#loader.out{opacity:0;pointer-events:none}#loader:not(.ready)>*{visibility:hidden}#loader .bar{background:var(--line);width:220px;height:2px;overflow:hidden}#loader .bar i{background:var(--primary);width:0;height:100%;transition:width .3s;display:block}#loader p{color:var(--muted);letter-spacing:.08em;margin:0;font-size:13px}.logo{text-transform:uppercase;align-items:baseline;gap:8px;font-style:italic;font-weight:700;line-height:1;display:flex}.logo .venue-name{letter-spacing:-.01em;font-size:40px}.logo .venue-name:before{content:"";background:var(--primary);width:14px;height:30px;margin-right:10px;display:inline-block;transform:skew(-18deg)}.logo em{color:var(--primary);font-size:22px}.logo .logo-img{aspect-ratio:800/169;width:280px;max-width:100%;height:auto;font-style:normal;display:block}.logo.has-img .venue-name,.logo.has-img .venue-sub{display:none}.side{background:linear-gradient(90deg,#08080aeb,#08080a8c 45%,#0000 75%);justify-content:center;align-items:flex-start;padding:16px 0 16px clamp(16px,6vw,80px);overflow:hidden}.panel{transform-origin:0;flex-direction:column;flex:none;gap:16px;width:min(400px,100vw - 32px);display:flex}.panel h1{text-transform:uppercase;margin:6px 0 0;font-size:clamp(30px,4.6vw,44px);font-style:italic;font-weight:700;line-height:1.02}.panel h1:before{content:"";background:var(--primary);width:40px;height:3px;margin-bottom:14px;display:block}.meta{text-transform:uppercase;flex-direction:column;gap:2px;display:flex}.meta span{color:var(--muted);letter-spacing:.12em;font-size:11px}.meta b{font-size:20px}.laps-pick,.suit-pick,.line-pick{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;flex-direction:column;gap:6px;font-size:11px;display:flex}.laps-pick .seg,.line-pick .seg{background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(auto-fit,minmax(44px,1fr));gap:1px;display:grid}.laps-pick .seg button,.line-pick .seg button{background:#0c0d0ff2;border:0;min-height:48px;font-size:17px;font-weight:700}.laps-pick .seg button.on,.line-pick .seg button.on{background:var(--primary);color:var(--on-primary)}.line-pick .seg button{color:var(--text);font-size:14px}#gfx-panel .seg.line-seg{grid-template-columns:repeat(3,1fr)}.suit-pick .swatches{flex-wrap:wrap;gap:10px;display:flex}.suit-pick .swatch{border:2px solid var(--line);background:var(--suit);border-radius:50%;width:48px;height:48px;padding:0;position:relative;overflow:hidden}.suit-pick .swatch i{background:var(--helmet);border:2px solid #00000073;border-radius:50%;width:20px;height:20px;margin:-10px 0 0 -10px;position:absolute;top:50%;left:50%}.suit-pick .swatch u{display:none}.suit-pick .swatch[aria-pressed=true]{border-color:var(--text);box-shadow:0 0 0 2px var(--primary)}.suit-pick b{color:var(--text);letter-spacing:.04em;min-height:1.2em;font-size:14px}.livery-pick{margin-bottom:10px}.livery-pick .swatch{background-position:100% 33.333%;background-size:200% 400%;border-radius:4px;width:96px;height:48px}.field{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;flex-direction:column;gap:6px;font-size:11px;display:flex}.field input{font:inherit;letter-spacing:0;text-transform:none;color:var(--text);border:1px solid var(--line);-webkit-user-select:text;user-select:text;background:#ffffff0f;outline:none;padding:10px 12px;font-size:17px}.field input:focus{border-color:var(--primary)}.cta{background:var(--primary);min-width:220px;color:var(--on-primary);text-transform:uppercase;letter-spacing:.04em;border:0;justify-content:space-between;align-items:center;gap:30px;padding:15px 20px;font-size:17px;font-weight:700;text-decoration:none;transition:transform .12s,filter .12s;display:inline-flex}.cta:hover{filter:brightness(1.08)}.cta:active{transform:scale(.98)}.cta i{font-style:normal}.ghost-btn{border:1px solid var(--line);text-transform:uppercase;letter-spacing:.04em;background:0 0;padding:14px 18px;font-weight:700}.ghost-btn:hover{border-color:#ffffff59}.hint{color:var(--muted);letter-spacing:.02em;margin:0;font-size:12px;line-height:1.5}.actions{flex-wrap:wrap;gap:10px;display:flex}#topbar{top:calc(12px + env(safe-area-inset-top));right:calc(12px + env(safe-area-inset-right));z-index:20;gap:6px;display:flex;position:fixed}#topbar button{border:1px solid var(--line);background:#0c0d0fb3;place-items:center;min-width:36px;height:36px;padding:0 8px;font-size:12px;font-weight:700;display:grid}#topbar .langs{display:flex;position:relative}#topbar .lang-btn{grid-auto-flow:column;gap:6px;padding:0 8px}#topbar .flag{aspect-ratio:3/2;border:1px solid #ffffff40;width:26px;display:block;overflow:hidden}#topbar .flag svg{width:100%;height:100%;display:block}#topbar .lang-btn .caret{width:12px;height:12px}#topbar .lang-btn[aria-expanded=true] .caret{transform:rotate(180deg)}#topbar .lang-menu{border:1px solid var(--line);background:#0c0d0ff5;flex-direction:column;min-width:180px;animation:.15s ease-out sheetIn;display:flex;position:absolute;top:calc(100% + 6px);right:0}#topbar .lang-menu[hidden]{display:none}#topbar .lang-menu button{text-align:left;background:0 0;border:0;border-left:3px solid #0000;justify-content:flex-start;align-items:center;gap:12px;height:46px;padding:0 14px;font-size:15px;display:flex}#topbar .lang-menu button+button{border-top:1px solid var(--line)}#topbar .lang-menu button.on{border-left-color:var(--primary);background:#ffffff0f}.touch-only{display:none!important}#topbar button.off{opacity:.45}#topbar svg{width:18px;height:18px}#btn-sound .cross{display:none}#btn-sound.muted .cross{display:inline}#btn-sound.muted .wave{display:none}#hud{inset:0 env(safe-area-inset-right) 0 env(safe-area-inset-left);z-index:5;pointer-events:none;font-weight:700;position:fixed}#hud small{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-size:10px;font-weight:600;display:block}.hud-lap{background:var(--panel);border-left:3px solid var(--primary);padding:8px 14px 8px 12px;position:absolute;top:14px;left:14px}.hud-lap b{font-size:40px;font-style:italic;line-height:1}.hud-lap span{color:var(--muted);font-size:18px}.hud-time{background:var(--panel);text-align:center;min-width:240px;padding:8px 18px 10px;position:absolute;top:14px;left:50%;transform:translate(-50%)}#time{font-variant-numeric:tabular-nums;font-size:38px;font-style:italic;font-weight:700;line-height:1.05}.hud-time .clock{justify-content:center;align-items:baseline;gap:12px;display:flex}#delta{font-variant-numeric:tabular-nums;text-align:left;min-width:4.4em;font-size:20px;font-style:italic;font-weight:700;line-height:1;transition:color .2s}#delta.none{color:var(--muted);opacity:.45}#delta.faster{color:#39d36b}#delta.slower{color:#ff4a3d}.hud-time .sub{color:var(--muted);font-variant-numeric:tabular-nums;justify-content:center;align-items:baseline;gap:6px;margin-top:4px;font-size:13px;display:flex}.hud-time .sub small{margin-left:8px;display:inline}.hud-time .sub b{color:var(--text)}#minimap{background:var(--panel);width:140px;height:140px;position:absolute;top:108px;left:14px}.hud-speed{text-align:right;background:var(--panel);border-right:3px solid var(--primary);padding:8px 14px;position:absolute;bottom:18px;right:18px}.hud-speed b{font-size:44px;font-style:italic;line-height:1;font-family:var(--font)}#countdown{text-shadow:0 6px 30px #0009;font-size:140px;font-style:italic;position:absolute;top:38%;left:50%;transform:translate(-50%,-50%)}#countdown.go{color:#3ddc5a}#countdown.pop{animation:.45s ease-out pop}@keyframes pop{0%{opacity:0;transform:translate(-50%,-50%)scale(1.5)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}#toast{text-transform:uppercase;opacity:0;text-align:center;text-shadow:0 4px 20px #000000b3;white-space:nowrap;font-size:30px;font-style:italic;transition:opacity .25s;position:absolute;top:24%;left:50%;transform:translate(-50%)}#toast.show{opacity:1}#toast small{font-family:var(--mono);color:var(--primary);letter-spacing:0;font-size:22px;font-style:normal}#wrongway{text-transform:uppercase;background:#d7261e;padding:10px 22px;font-size:26px;font-style:italic;display:none;position:absolute;top:46%;left:50%;transform:translate(-50%)}#wrongway.show{animation:.8s steps(2,end) infinite blink;display:block}@keyframes blink{50%{opacity:.35}}#penalty{text-align:center;flex-direction:column;align-items:center;gap:3px;min-width:260px;max-width:min(460px,100vw - 40px);padding:8px 20px 10px;animation:.25s ease-out penIn;display:flex;position:absolute;top:112px;left:50%;transform:translate(-50%)}#penalty[hidden]{display:none}#penalty b{text-transform:uppercase;font-size:26px;font-style:italic;line-height:1.05}#hud #penalty small{color:inherit;opacity:.85;letter-spacing:.02em;text-transform:none;font-size:12px;font-weight:700}#penalty .pen-bar{background:#ffffff26;align-self:stretch;height:4px;margin-top:5px;display:none}#penalty .pen-bar i{transform-origin:0;background:#3ddc5a;height:100%;transition:transform .2s linear;display:block;transform:scaleX(0)}#penalty.warn{color:#111;background:#ffc531;animation:.25s ease-out penIn,.5s steps(2,end) 4 blink}#penalty.warn.compact{min-width:0;padding:4px 12px;animation:none}#penalty.warn.compact b{font-size:14px}#penalty.warn.compact small{display:none}#penalty.slow{color:#fff;background:#0c0d0feb;border:2px solid #ff7a1a;border-top:0;padding-top:14px}#penalty.slow:before{content:"";background:repeating-linear-gradient(-45deg,#ff7a1a 0 10px,#111 10px 20px);height:6px;position:absolute;top:0;left:-2px;right:-2px}#penalty.slow b{color:#ff7a1a}#penalty.slow .pen-bar{display:block}@keyframes penIn{0%{opacity:0;transform:translate(-50%)scale(1.25)}}.hud-speed.limited{border-color:#ff7a1a}.hud-speed.limited b{color:#ff7a1a}#touch{display:none}@media (pointer:coarse){.touch-only{display:grid!important}#touch.tilt .pad.left,#touch .zone{display:none}#touch.tilt{align-items:flex-end;top:0}#touch.tilt .zone{pointer-events:auto;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;width:50%;display:block;position:absolute;top:25%;bottom:0}#touch.tilt .zone-brake{left:0}#touch.tilt .zone-gas{right:0}#touch.tilt .pad.right{display:contents}#touch.tilt button{pointer-events:none}#touch.tilt button.brake{left:14px;bottom:calc(14px + env(safe-area-inset-bottom));position:absolute}#touch.tilt button.gas{right:14px;bottom:calc(14px + env(safe-area-inset-bottom));position:absolute}#touch{padding:0 14px calc(14px + env(safe-area-inset-bottom));pointer-events:none;justify-content:space-between;display:flex;position:absolute;bottom:0;left:0;right:0}#touch .pad{pointer-events:auto;gap:12px;display:flex}#touch button{touch-action:none;background:#0c0d0f73;border:1px solid #fff3;border-radius:50%;width:76px;height:76px;font-size:26px}#touch button.gas,#touch button.brake{text-transform:uppercase;letter-spacing:.06em;font-size:13px}#touch button.gas{border-color:var(--primary);width:92px;height:92px}#touch button.on{background:#ffffff40}.hud-speed{margin-top:46px;top:14px;bottom:auto;right:14px}.hud-speed b{font-size:30px}.hud-time{min-width:0;padding:6px 12px}#time{font-size:24px}#delta{font-size:16px}.hud-lap b{font-size:28px}#minimap{width:112px;height:112px;top:84px}#countdown{font-size:100px}#penalty{min-width:0;padding:5px 14px 7px;top:74px}#penalty b{font-size:18px}#hud #penalty small{font-size:11px}}#results .panel{gap:14px}#pb{color:var(--primary);text-transform:uppercase;letter-spacing:.06em;margin:-4px 0 0;font-weight:700}.stats{background:var(--line);grid-template-columns:1fr 1fr;gap:1px;display:grid}.stats div{background:#0c0d0fe6;padding:10px 12px}.stats small,.promo small{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-size:10px;display:block}.stats b{font-family:var(--mono);font-size:22px}#res-laps{font-family:var(--mono);color:var(--muted);touch-action:pan-y;flex-direction:column;gap:2px;max-height:30vh;margin:0;padding:0;font-size:14px;list-style:none;display:flex;overflow-y:auto}#res-laps li{background:#ffffff08;flex:none;justify-content:space-between;padding:4px 12px;display:flex}#res-laps li.best{color:var(--text);border-left:2px solid var(--primary)}.promo{border:1px dashed var(--primary);padding:12px 14px}.promo b{letter-spacing:.08em;color:var(--primary);font-size:30px;font-family:var(--mono);margin:2px 0 4px;display:block}.promo p{color:var(--muted);margin:0;font-size:13px;line-height:1.45}@media (width<=700px){.side{background:linear-gradient(#0000,#08080a66 25%,#08080af2 60%);justify-content:flex-end;align-items:center;padding:16px}#results.side{background:#08080ae0;justify-content:center}.side .panel{transform-origin:50%}.logo .venue-name{font-size:30px}}@media (height<=620px){#results .panel{gap:10px}#results .logo,#res-laps{display:none}.promo b{font-size:24px}.panel h1{font-size:30px}.panel h1:before{margin-bottom:8px}}body.racing #topbar .langs{display:none}body:not(.racing) #topbar #btn-reset,body:not(.racing) #topbar #btn-gfx,body:not(.racing) #topbar #btn-tilt{display:none!important}@media (width<=600px){body.racing #topbar{flex-direction:column;top:10px;right:10px}body.racing #topbar button{min-width:34px;height:34px}.hud-lap{padding:6px 10px 6px 9px;top:10px;left:10px}.hud-lap b{font-size:26px}.hud-lap span{font-size:14px}.hud-time{min-width:0;padding:6px 10px 7px;top:10px}#time{font-size:22px}#delta{font-size:15px}.hud-time .clock{gap:7px}.hud-time .sub{flex-wrap:wrap;gap:2px 4px;max-width:170px;font-size:10px}.hud-time .sub small{margin-left:0}#minimap{width:110px;height:110px;top:66px;left:10px}.hud-speed{top:auto;left:50%;right:auto;bottom:calc(118px + env(safe-area-inset-bottom));border-right:0;border-bottom:2px solid var(--primary);text-align:left;margin:0;padding:4px 12px;transform:translate(-50%)}.hud-speed b{font-size:26px}#touch{padding:0 10px calc(16px + env(safe-area-inset-bottom))}#touch .pad{gap:8px}#touch button{width:68px;height:68px}#touch button.gas{width:80px;height:80px}#touch .pad.right{align-items:flex-end}#countdown{font-size:90px}#toast{font-size:22px}#penalty{max-width:calc(100vw - 24px);top:186px}}html.swipe-fs,html.swipe-fs body{touch-action:pan-y;height:auto;overflow:hidden auto}button,a,input,label,.screen,#topbar,#hud,#gfx-panel{touch-action:manipulation}html.swipe-fs body{min-height:calc(100vh + 600px)}html.swipe-fs #app canvas{touch-action:pan-y}html.zoomed,html.zoomed *{touch-action:pinch-zoom pan-x pan-y!important}#swipe-fs{z-index:35;pointer-events:none;text-align:center;background:#08090ae6;place-items:center;display:grid;position:fixed;inset:0}#swipe-fs[hidden]{display:none}body:has(#gfx-panel:not([hidden])) #swipe-fs{display:none}#swipe-fs b{text-transform:uppercase;letter-spacing:.02em;font-size:22px;font-style:italic;display:block}#swipe-fs small{display:none}#swipe-fs .arrow{color:var(--primary);font-size:52px;animation:1.1s ease-in-out infinite swipeUp;display:block}@keyframes swipeUp{0%,to{opacity:.6;transform:translateY(14px)}50%{opacity:1;transform:translateY(-14px)}}#swipe-fs.pill{inset:auto auto auto 50%;top:calc(64px + env(safe-area-inset-top));border-left:3px solid var(--primary);background:#0c0d0fcc;padding:6px 14px;transform:translate(-50%)}#swipe-fs.pill b,#swipe-fs.pill .arrow{display:none}#swipe-fs.pill small{font-size:12px;font-weight:700;display:block}#swipe-fs.pill small:before{content:"↑ ";color:var(--primary)}#rotate-hint{z-index:35;pointer-events:none;text-align:center;background:#08090ae6;place-items:center;display:grid;position:fixed;inset:0}#rotate-hint[hidden]{display:none}body:has(#gfx-panel:not([hidden])) #rotate-hint{display:none}#rotate-hint b{text-transform:uppercase;letter-spacing:.02em;font-size:22px;font-style:italic;display:block}#rotate-hint small{color:var(--muted);margin-top:6px;font-size:14px;display:block}#rotate-hint .ob-phone{margin:0 auto}#rotate-hint.pill{inset:auto auto auto 50%;top:calc(78px + env(safe-area-inset-top));border-left:3px solid var(--primary);white-space:nowrap;background:#0c0d0fcc;padding:6px 14px 6px 8px;transform:translate(-50%)}#rotate-hint.pill>div{align-items:center;gap:6px;display:flex}#rotate-hint.pill .ob-phone{width:34px;height:34px}#rotate-hint.pill .ob-phone i{border-width:2px;border-radius:4px;width:14px;height:24px}#rotate-hint.pill .ob-phone i:before{display:none}#rotate-hint.pill b{letter-spacing:0;font-size:12px;font-style:normal}#rotate-hint.pill small,html.onboarding #rotate-hint,html.onboarding #swipe-fs{display:none}#onboarding{z-index:60;background:var(--bg);padding:calc(14px + env(safe-area-inset-top)) calc(16px + env(safe-area-inset-right)) calc(14px + env(safe-area-inset-bottom)) calc(16px + env(safe-area-inset-left));touch-action:manipulation;justify-content:center;display:flex;position:fixed;inset:0;overflow-y:auto}#onboarding .ob-in{flex-direction:column;justify-content:center;gap:12px;width:min(520px,100%);min-height:100%;display:flex}#onboarding.wait .ob-list{pointer-events:none;opacity:.6}.ob-list{flex-direction:column;flex:none;gap:12px;display:flex}.ob-opt{text-align:left;background:var(--panel);border:1px solid var(--line);flex:none;justify-content:center;align-items:center;gap:18px;height:clamp(64px,15vh,120px);padding:8px 18px;transition:transform .12s,border-color .12s;display:flex}.ob-opt:active{border-color:var(--primary);transform:scale(.98)}.ob-opt[data-code]{justify-content:flex-start;padding-left:max(18px,50% - 120px)}.ob-opt b{text-transform:uppercase;letter-spacing:.02em;font-size:26px;font-style:italic;line-height:1.1;display:block}.ob-opt small{color:var(--muted);margin-top:4px;font-size:14px;line-height:1.35;display:block}.ob-flag{aspect-ratio:3/2;border:1px solid var(--line);flex:none;width:66px;display:block;overflow:hidden}.ob-flag svg{width:100%;height:100%;display:block}.ob-icon{width:52px;height:52px;color:var(--primary);flex:none}.ob-icon svg{width:100%;height:100%}#onboarding h2{text-align:center;text-transform:uppercase;margin:4px 0 0;font-size:clamp(26px,8vw,38px);font-style:italic;font-weight:700;line-height:1.04}#onboarding h2:before{content:"";background:var(--primary);width:40px;height:3px;margin:0 auto 12px;display:block}.ob-note{min-height:1.4em;color:var(--primary);text-align:center;margin:0;font-size:14px;font-weight:700}.ob-text{color:var(--muted);text-align:center;margin:0;font-size:16px;line-height:1.45}.ob-skip,.ob-go{border:1px solid var(--line);text-transform:uppercase;letter-spacing:.04em;pointer-events:auto;background:0 0;margin-top:8px;padding:15px 18px;font-weight:700}.ob-go{background:var(--primary);color:var(--on-primary);border:0}#onboarding.rotate .ob-in,#onboarding.swipe .ob-in,#onboarding.denied .ob-in{justify-content:center}#onboarding.swipe{pointer-events:none;background:#08090aeb}#onboarding.swipe .ob-in{text-align:center;align-items:center}#onboarding.swipe h2:before{margin-inline:auto}#onboarding.swipe .ob-skip,#onboarding.rotate .ob-skip{margin-top:8px}.ob-arrow{color:var(--primary);font-size:64px;line-height:1;animation:1.1s ease-in-out infinite swipeUp}.ob-phone{flex:none;align-self:center;place-items:center;width:150px;height:150px;display:grid}.ob-phone i{border:4px solid var(--text);border-radius:12px;width:62px;height:108px;animation:3s ease-in-out infinite obRotate;position:relative}.ob-phone i:before{content:"";background:var(--primary);border-radius:2px;width:16px;height:4px;margin-left:-8px;position:absolute;top:6px;left:50%}@keyframes obRotate{0%,18%{transform:rotate(0)}52%,82%{transform:rotate(-90deg)}to{transform:rotate(0)}}@media (height<=460px){#onboarding{padding-top:calc(8px + env(safe-area-inset-top));padding-bottom:calc(8px + env(safe-area-inset-bottom))}#onboarding .ob-in,.ob-list{gap:8px}.ob-opt{height:clamp(52px,19vh,96px);padding:4px 16px}.ob-opt b{font-size:22px}.ob-opt small{margin-top:2px;font-size:14px}#onboarding .ob-in{width:min(680px,100%)}.ob-icon{width:40px;height:40px}.ob-flag{width:54px}#onboarding h2{font-size:24px}#onboarding h2:before{margin-bottom:6px}.ob-arrow{font-size:56px}.ob-text{font-size:14px}.ob-skip,.ob-go{padding:10px 18px}}#gfx-panel{z-index:45;top:calc(56px + env(safe-area-inset-top));right:calc(12px + env(safe-area-inset-right));border:1px solid var(--line);background:#0c0d0ff0;flex-direction:column;gap:10px;width:min(300px,100vw - 24px);padding:14px;display:flex;position:fixed}#gfx-panel[hidden]{display:none}#gfx-panel h2{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0;font-size:12px}#gfx-panel .seg{background:var(--line);border:1px solid var(--line);grid-template-columns:1fr 1fr;gap:1px;display:grid}#gfx-panel .seg button{min-height:44px;color:var(--text);font:inherit;background:#0c0d0ff2;border:0;font-size:14px;font-weight:700}#gfx-panel .seg button.on{background:var(--primary);color:var(--on-primary)}#gfx-note{min-height:1.3em;color:var(--muted);margin:-4px 0 0;font-size:12px}#gfx-panel .tog{border:0;border-top:1px solid var(--line);min-height:44px;color:var(--text);font:inherit;text-align:left;background:0 0;justify-content:space-between;align-items:center;gap:12px;padding:0 2px;font-size:14px;font-weight:700;display:flex}#gfx-panel .tog i{background:#ffffff29;border-radius:12px;flex:none;width:42px;height:24px;transition:background .15s;position:relative}#gfx-panel .tog i:after{content:"";background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .15s;position:absolute;top:3px;left:3px}#gfx-panel .tog[aria-checked=true] i{background:var(--primary)}#gfx-panel .tog[aria-checked=true] i:after{background:#111;transform:translate(18px)}#gfx-panel section{flex-direction:column;gap:10px;display:flex}#gfx-panel .touch-sec{display:none}@media (pointer:coarse){#gfx-panel .touch-sec{display:flex}}#gfx-panel .touch-sec.dim .sens,#gfx-panel .touch-sec.dim #tilt-invert{opacity:.45}#gfx-panel .sens label{font-size:14px;font-weight:700}#gfx-panel .sens-row{align-items:center;gap:8px;min-height:44px;display:flex}#gfx-panel .sens-row small{color:var(--muted);font-size:11px}#gfx-panel input[type=range]{min-width:0;height:44px;accent-color:var(--primary);touch-action:pan-y;flex:1;margin:0}#tilt-sens-note{min-height:1.3em;color:var(--muted);margin:0;font-size:12px}@media (width<=600px){body.racing #gfx-panel{top:10px;right:54px}}@media (pointer:coarse) and (height<=520px){#gfx-panel{top:calc(54px + env(safe-area-inset-top));flex-direction:row;align-items:flex-start;gap:14px;width:min(600px,100vw - 24px);padding:10px}#gfx-panel section{flex:1 1 0;gap:6px;min-width:0}#gfx-panel .seg{grid-template-columns:repeat(4,1fr)}#gfx-panel .seg button{padding:0 2px;font-size:13px}}.screen.center{padding:calc(56px + env(safe-area-inset-top)) 16px calc(16px + env(safe-area-inset-bottom));background:radial-gradient(55% 75%,#08080ae0 35%,#08080a80 75%,#08080a26);justify-content:center;overflow:hidden}#menu .panel{transform-origin:50%;text-align:center;align-items:center;gap:14px;width:min(420px,100vw - 32px)}#menu .logo{justify-content:center}#menu .panel h1{margin:0;font-size:clamp(24px,3.6vw,34px)}#menu .panel h1:before{margin:0 auto 12px}#menu .field{text-align:left;width:100%}#menu .cta{width:100%}.menu-goals{flex-direction:column;align-items:center;gap:4px;display:flex}.menu-best{text-transform:uppercase;letter-spacing:.06em;margin:0;font-size:13px}.menu-best .stars{font-size:15px}.star-goals{font-family:var(--mono);color:var(--muted);flex-wrap:wrap;justify-content:center;gap:4px 14px;font-size:13px;display:flex}.star-goals b{font-family:var(--font);color:#ffc531;letter-spacing:-.05em}.stars i{color:#ffffff2e;font-style:normal}.stars i.on{color:#ffc531;text-shadow:0 0 12px #ffc53173}.menu-icons{gap:8px;width:100%;display:flex}.menu-icons button{background:var(--panel);border:1px solid var(--line);flex-direction:column;flex:1 1 0;align-items:center;gap:6px;min-width:0;padding:10px 2px 8px;transition:transform .12s,border-color .12s;display:flex}.menu-icons button:hover{border-color:#ffffff4d}.menu-icons button:active{border-color:var(--primary);transform:scale(.96)}.mi-ic{place-items:center;width:40px;height:40px;display:grid}.mi-ic svg{width:30px;height:30px}.mi-ic b{font-size:30px;font-style:italic;line-height:1}.mi-suit{background:var(--suit);border:2px solid #ffffff40;border-radius:50%;width:34px;height:34px;display:block;position:relative}.mi-suit u{background:var(--helmet);border:2px solid #00000073;border-radius:50%;width:14px;height:14px;margin:-7px 0 0 -7px;position:absolute;top:50%;left:50%}.menu-icons small{text-overflow:ellipsis;white-space:nowrap;letter-spacing:.1em;text-transform:uppercase;max-width:100%;color:var(--muted);font-size:10px;overflow:hidden}#menu-sheet{z-index:30;background:#06060899;place-items:center;padding:16px;animation:.18s ease-out fadeIn;display:grid;position:fixed;inset:0}#menu-sheet.closing{pointer-events:none;animation:.18s ease-in forwards fadeOut}#menu-sheet.closing .sheet-in{animation:.18s ease-in forwards sheetOut}@keyframes fadeOut{to{opacity:0}}@keyframes sheetOut{to{opacity:0;transform:translateY(8px)scale(.97)}}.sheet-in{touch-action:pan-y;border:1px solid var(--line);border-top:3px solid var(--primary);text-align:left;background:#0c0d0ff7;flex-direction:column;gap:12px;width:min(440px,100%);max-height:calc(100vh - 32px);padding:12px 16px 18px;animation:.18s ease-out sheetIn;display:flex;overflow-y:auto}@keyframes sheetIn{0%{opacity:0;transform:translateY(10px)scale(.98)}}.sheet-in header{justify-content:space-between;align-items:center;gap:12px;display:flex}.sheet-in h2{text-transform:uppercase;margin:0;font-size:18px;font-style:italic}.sheet-close{border:1px solid var(--line);background:0 0;flex:none;width:44px;height:44px;font-size:24px;line-height:1}.sheet-in section{flex-direction:column;gap:12px;display:flex}.ctl-touch{flex-direction:column;gap:8px;display:flex}.ctl-opt{text-align:left;border:1px solid var(--line);background:#ffffff0a;flex-direction:column;align-items:flex-start;gap:4px;padding:12px 14px;display:flex}.ctl-opt[aria-pressed=true]{border-color:var(--primary);box-shadow:inset 3px 0 0 var(--primary)}.ctl-opt b{text-transform:uppercase;font-size:18px;font-style:italic}.ctl-opt small{color:var(--muted);font-size:13px;line-height:1.35}.ctl-keys{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.ctl-keys li{background:#ffffff0a;padding:10px 12px;font-size:15px}#powered{right:calc(14px + env(safe-area-inset-right));bottom:calc(10px + env(safe-area-inset-bottom));color:var(--muted);letter-spacing:.14em;text-transform:uppercase;opacity:.85;align-items:center;gap:8px;padding:6px 8px;font-size:11px;text-decoration:none;transition:opacity .15s;display:flex;position:absolute}#powered:hover,#powered:focus-visible{opacity:1}#privacy-link{left:calc(14px + env(safe-area-inset-left));bottom:calc(10px + env(safe-area-inset-bottom));min-height:34px;color:var(--muted);font:inherit;letter-spacing:.14em;text-transform:uppercase;text-underline-offset:3px;opacity:.85;cursor:pointer;background:0 0;border:0;padding:6px 8px;font-size:11px;text-decoration:underline;transition:opacity .15s;position:absolute}#privacy-link:hover,#privacy-link:focus-visible{opacity:1}.sheet-in:has(.privacy-text:not([hidden])){width:min(520px,100%);overflow:hidden}.privacy-text{overscroll-behavior:contain;gap:10px;min-height:0;padding-right:4px;overflow-y:auto}.privacy-text p{color:var(--muted);margin:0;font-size:13px;line-height:1.45}.privacy-text a{color:var(--text,#fff);text-underline-offset:2px}#powered img{width:104px;height:auto;display:block}@media (height<=520px){#powered,#privacy-link{bottom:calc(4px + env(safe-area-inset-bottom))}#powered img{width:84px}}body:not(.racing):has(#gfx-panel:not([hidden])):before{content:"";z-index:44;background:#06060899;animation:.18s ease-out fadeIn;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}}body:not(.racing) #gfx-panel{max-height:calc(100vh - 24px);top:50%;left:50%;right:auto;overflow-y:auto;transform:translate(-50%,-50%)}@media (height<=520px){#menu.center{padding-top:calc(50px + env(safe-area-inset-top));padding-bottom:8px}#menu .panel{gap:10px;width:min(520px,100vw - 32px)}#menu .panel h1{display:none}#menu .logo .venue-name{font-size:28px}#menu .logo .logo-img{width:170px}#menu .field input{padding:8px 12px}#menu .cta{padding:12px 20px}.menu-icons button{gap:4px;padding:6px 2px}.mi-ic{width:30px;height:30px}.mi-ic svg{width:24px;height:24px}.mi-ic b{font-size:24px}.mi-suit{width:26px;height:26px}.sheet-in{max-height:calc(100vh - 16px);padding:10px 14px 14px}#menu-sheet{padding:8px}.laps-pick .seg button,.line-pick .seg button{min-height:44px}}#res-stars{gap:6px;font-size:46px;line-height:1;display:flex}#res-stars i.on{animation:.45s cubic-bezier(.2,1.6,.4,1) both starIn}#res-stars i:nth-child(2){animation-delay:.15s}#res-stars i:nth-child(3){animation-delay:.3s}@keyframes starIn{0%{opacity:0;transform:scale(.2)}}#res-next{margin-top:-8px}#toast .stars{font-size:26px;font-style:normal}#stuck{z-index:2;pointer-events:auto;border-top:3px solid var(--primary);background:#0c0d0fe6;flex-direction:column;align-items:center;gap:12px;padding:16px 18px;animation:.2s ease-out sheetIn;display:flex;position:absolute;top:46%;left:50%;transform:translate(-50%,-50%)}#stuck[hidden]{display:none}#stuck b{text-transform:uppercase;font-size:28px;font-style:italic}#stuck .actions{justify-content:center}#stuck .cta{gap:16px;min-width:0}#stuck .cta i{font-family:var(--mono);opacity:.7;border:1px solid;padding:1px 6px;font-size:13px}@media (pointer:coarse){#stuck .cta i{display:none}}@media (height<=520px) and (width<=900px){#menu.center{padding-bottom:calc(42px + env(safe-area-inset-bottom))}}
