:root{--bg:#111923;--panel:#0d131bc7;--line:#ffffff1a;--text:#f3f7fa;--muted:#9fb0bf;--accent:#39d8e8;--pb:#ba8cff;--better:#72e0a0;--worse:#ffd36b;--bad:#ff8a5c;--font:"Barlow Semi Condensed", system-ui, sans-serif;--mono:"JetBrains Mono", ui-monospace, monospace;--safe-l:env(safe-area-inset-left,0px);--safe-r:env(safe-area-inset-right,0px);--safe-t:env(safe-area-inset-top,0px);--safe-b:env(safe-area-inset-bottom,0px);--card:#111923e6;--card-2:#ffffff0a;--gold:#f2c94c;--silver:#c9d3dc;--bronze:#d08a55;--radius:14px}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--text);font-family:var(--font);-webkit-user-select:none;user-select:none;touch-action:none;overscroll-behavior:none;margin:0;overflow:hidden}#game{width:100%;height:100%;display:block;position:fixed;inset:0}.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}#hud{pointer-events:none;position:fixed;inset:0}#hud button{pointer-events:auto}.panel{background:var(--panel);border:1px solid var(--line);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:10px}#board{top:14px;left:calc(14px + var(--safe-l));min-width:220px;padding:10px 14px 12px;position:absolute}#board header{letter-spacing:.08em;align-items:center;gap:8px;margin-bottom:6px;font-size:15px;font-weight:700;display:flex}#board .tag{background:var(--accent);color:#062027;border-radius:4px;padding:1px 6px;font-size:11px}#board dl{grid-template-columns:1fr auto;gap:3px 16px;margin:0;font-size:14px;display:grid}#board dt{color:var(--muted)}#board dd{text-align:right;margin:0;font-size:13px}#timer{text-align:center;text-shadow:0 2px 10px #0009;position:absolute;top:10px;left:50%;transform:translate(-50%)}#lap-label{letter-spacing:.18em;color:var(--muted);font-size:13px;font-weight:700}#lap-time{font-size:40px;font-weight:700;line-height:1.05}#delta{background:var(--panel);border-radius:6px;min-height:1.5em;margin-top:4px;padding:2px 10px;font-size:16px;font-weight:700;display:inline-block}#delta[data-kind=faster]{color:#062014;background:var(--better)}#delta[data-kind=slower]{color:#2a1c00;background:var(--worse)}#delta[data-kind=none]{color:var(--muted);font-size:13px}#delta:empty{visibility:hidden}#sectors{top:14px;right:calc(14px + var(--safe-r));gap:6px;display:flex;position:absolute}.sector{background:var(--panel);border:1px solid var(--line);text-align:center;border-bottom:4px solid #ffffff26;border-radius:8px;width:92px;padding:6px 8px;transition:border-color .2s,background .2s}.sector b{letter-spacing:.12em;color:var(--muted);font-size:12px;display:block}.sector span{font-size:16px;font-weight:700}.sector[data-state=pending]{border-bottom-color:var(--accent)}.sector[data-state=pb]{border-bottom-color:var(--pb);background:#ba8cff38}.sector[data-state=better]{border-bottom-color:var(--better);background:#72e0a033}.sector[data-state=worse]{border-bottom-color:var(--worse);background:#ffd36b29}.sector[data-state=invalid]{border-bottom-color:var(--bad);opacity:.6}.sector[data-state=invalid] span{text-decoration:line-through}.c-pb{color:var(--pb)}.c-better{color:var(--better)}.c-worse{color:var(--worse)}#banner{background:var(--panel);color:var(--text);opacity:0;white-space:nowrap;border-radius:8px;padding:6px 16px;font-size:16px;font-weight:700;transition:opacity .2s,transform .2s;position:absolute;top:108px;left:50%;transform:translate(-50%)translateY(-6px)}#banner.show{opacity:1;transform:translate(-50%)}#banner.bad{color:#2b0d00;background:#ff8a5ceb}#toast{background:var(--panel);opacity:0;white-space:nowrap;border-radius:10px;padding:10px 22px;font-size:26px;font-style:italic;font-weight:800;transition:opacity .25s,transform .25s;position:absolute;top:34%;left:50%;transform:translate(-50%,10px)}#toast.show{opacity:1;transform:translate(-50%)}#toast.pb{background:var(--pb);color:#1a0b33}#toast.bad{color:var(--bad);font-size:18px}#minimap{left:calc(14px + var(--safe-l));background:var(--panel);border:1px solid var(--line);border-radius:12px;width:170px;height:170px;position:absolute;bottom:14px}#dash{right:calc(14px + var(--safe-r));background:var(--panel);border:1px solid var(--line);border-radius:12px;width:250px;padding:10px 14px 12px;position:absolute;bottom:14px}#shift-lights{justify-content:center;gap:5px;margin-bottom:6px;display:flex}#shift-lights i{background:#ffffff1f;border-radius:4px;width:18px;height:8px}#shift-lights i[data-on="1"]:nth-child(-n+3){background:var(--better)}#shift-lights i[data-on="1"]:nth-child(n+4):nth-child(-n+6){background:#f55}#shift-lights i[data-on="1"]:nth-child(n+7){background:var(--pb)}.dash-row{align-items:center;gap:14px;display:flex}#gear{text-align:center;width:48px;font-size:58px;font-weight:800;line-height:1}.speed-box{align-items:baseline;gap:6px;display:flex}#speed{font-size:40px;font-weight:700}.speed-box small{color:var(--muted);font-size:15px;font-weight:600}#rpm{background:#ffffff1a;border-radius:3px;height:6px;margin-top:8px;overflow:hidden}#rpm-fill{background:linear-gradient(90deg, var(--accent), var(--better) 70%, #f55 92%);transform-origin:0;height:100%;transform:scaleX(0)}#recover{text-align:center;opacity:0;font-weight:700;transition:opacity .15s;position:absolute;bottom:30%;left:50%;transform:translate(-50%)}#recover div{background:#fff3;border-radius:3px;width:220px;height:6px;margin-top:6px;overflow:hidden}#recover i{background:var(--accent);transform-origin:0;height:100%;display:block;transform:scaleX(0)}#telemetry{left:calc(14px + var(--safe-l));background:var(--panel);font:12px/1.5 var(--mono);color:var(--muted);border-radius:8px;margin:0;padding:8px 10px;display:none;position:absolute;bottom:196px}#fps{font:11px var(--mono);color:var(--muted);display:none;position:absolute;top:4px;right:50%;transform:translate(160px)}#top-buttons{top:80px;right:calc(14px + var(--safe-r));gap:8px;display:flex;position:absolute}.round{border:1px solid var(--line);background:var(--panel);width:40px;height:40px;color:var(--text);cursor:pointer;border-radius:50%;font-size:16px}body:not(.touch) #touch-camera,body:not(.touch) #touch-pause,#touch{display:none}body.touch #touch{padding:0 calc(16px + var(--safe-r)) 16px calc(16px + var(--safe-l));justify-content:space-between;display:flex;position:absolute;inset:auto 0 0}#touch button{width:92px;height:92px;color:var(--text);font:700 28px var(--font);touch-action:none;background:#0d131b73;border:1px solid #ffffff2e;border-radius:18px}#touch button.active{background:#39d8e873}.touch-left,.touch-right{gap:14px;display:flex}#touch .brake,#touch .throttle{letter-spacing:.06em;font-size:15px}body.touch #dash{width:200px;bottom:140px}body.touch #board{min-width:0;padding:6px 10px}body.touch #board dl{font-size:12px}body.touch #board dt:nth-of-type(n+4),body.touch #board dd:nth-of-type(n+4),body:not(.driving) #hud{display:none}#board .tag[data-kind=ok]{background:var(--accent);color:#062027}#board .tag[data-kind=muted]{color:var(--muted);background:#ffffff24}#board .tag[data-kind=bad]{background:var(--bad);color:#2b0d00}#rank-line{letter-spacing:.02em;margin:0 0 6px;font-size:13px;font-weight:700}#rank-line:empty{display:none}#rank-line[data-kind=ok]{color:var(--accent)}#rank-line[data-kind=pending]{color:var(--worse)}#rank-line[data-kind=pending]:before{content:"";background:var(--worse);border-radius:50%;width:8px;height:8px;margin-right:6px;animation:1s ease-in-out infinite pulse;display:inline-block}#rank-line[data-kind=muted]{color:var(--muted)}#rank-line[data-kind=bad]{color:var(--bad)}@keyframes pulse{50%{opacity:.25}}.round svg,#touch svg{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.round{place-items:center;display:grid}body.touch.driving #touch{pointer-events:auto;touch-action:none;height:46%;padding:0 calc(18px + var(--safe-r)) calc(16px + var(--safe-b)) calc(18px + var(--safe-l));align-items:flex-end;display:flex;inset:auto 0 0}#touch button{pointer-events:none;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);width:clamp(76px,12vw,104px);height:clamp(76px,12vw,104px);color:var(--text);background:#0d131b6b;border:1.5px solid #ffffff38;border-radius:22px;place-items:center;transition:background 80ms,transform 80ms,border-color 80ms;display:grid}#touch button.active{border-color:var(--accent);background:#39d8e861;transform:scale(.95)}#touch .steer svg{stroke-width:2.6px;width:38px;height:38px}#touch .brake.active{border-color:var(--bad);background:#ff8a5c66}#touch .throttle{height:clamp(100px,17vw,136px);margin-top:0}#touch .throttle.active{border-color:var(--better);background:#72e0a066}.touch-left,.touch-right{align-items:flex-end;gap:14px}body.tilt #touch .steer{display:none}body.touch #top-buttons{top:calc(72px + var(--safe-t))}body.touch .round{width:48px;height:48px}body.touch #dash{bottom:calc(clamp(100px, 17vw, 136px) + 26px + var(--safe-b));width:190px;padding:8px 12px 10px}body.touch #gear{font-size:44px}body.touch #speed{font-size:30px}body.touch #minimap{width:96px;height:96px;top:auto;bottom:calc(clamp(76px, 12vw, 104px) + 30px + var(--safe-b))}body.touch #telemetry{display:none!important}#rotate{display:none}@media (orientation:portrait) and (pointer:coarse){body.driving #rotate{z-index:40;display:flex}}.rotate-icon{border:3px solid var(--accent);border-radius:10px;width:46px;height:74px;margin:0 auto 14px;animation:1.8s ease-in-out infinite rotate-hint}@keyframes rotate-hint{0%,20%{transform:rotate(0)}60%,to{transform:rotate(-90deg)}}#tuning{z-index:60;touch-action:pan-y;--font-family:var(--font);--font-size:13px;--background-color:#0d131bf5;--title-background-color:#0b1118;--number-color:var(--accent);max-height:calc(100vh - 160px);overflow:auto;top:calc(130px + var(--safe-t))!important;right:calc(14px + var(--safe-r))!important}body:not(.driving) #tuning{max-height:calc(100vh - 32px);top:calc(16px + var(--safe-t))!important}.overlay{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#080c12cc;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.overlay .card{text-align:center;max-width:420px;margin:16px}#ui:empty{display:none}.screen,.overlay-screen{z-index:20;touch-action:pan-y;-webkit-overflow-scrolling:touch;padding:calc(20px + var(--safe-t)) calc(24px + var(--safe-r)) calc(20px + var(--safe-b)) calc(24px + var(--safe-l));position:fixed;inset:0;overflow:hidden auto}.screen{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:radial-gradient(120% 90% at 85% 10%,#39d8e81f,#0000 55%),linear-gradient(#0a0f16c7,#0a0f16eb);animation:.18s ease-out fade-in}.screen.garage{-webkit-backdrop-filter:none;backdrop-filter:none;background:linear-gradient(90deg,#0a0f16e6 0%,#0a0f168c 45%,#0a0f160d 100%)}.overlay-screen{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#080c12a8;justify-content:center;align-items:center;animation:.15s ease-out fade-in;display:flex}@keyframes fade-in{0%{opacity:0}}.screen-inner{flex-direction:column;gap:18px;max-width:1080px;min-height:100%;margin:0 auto;display:flex}.boot .screen-inner,.auth .screen-inner{justify-content:center}.screen-head{align-items:center;gap:14px;min-height:48px;display:flex}.screen-head h2{letter-spacing:.02em;flex:1;margin:0;font-size:30px;font-style:italic;font-weight:800}.head-right{align-items:center;gap:10px;margin-left:auto;display:flex}.logo{letter-spacing:.06em;color:var(--accent);text-shadow:0 6px 30px #39d8e840;margin:0;font-size:56px;font-style:italic;font-weight:800;line-height:1}.screen-head .logo{font-size:40px}.logo-mini{color:var(--accent);letter-spacing:.06em;font-style:italic;font-weight:800}.sub{color:var(--muted);letter-spacing:.14em;text-transform:uppercase;margin:8px 0 0;font-size:14px;font-weight:600}.hint{color:var(--muted);margin:8px 0;font-size:15px;line-height:1.45}.muted{color:var(--muted)}.label{color:var(--muted);text-transform:uppercase;letter-spacing:.14em;font-size:12px;font-weight:700;display:block}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:20px 22px;box-shadow:0 18px 50px #00000059}.card h3{text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin:18px 0 8px;font-size:15px}.card h3:first-child{margin-top:0}.card h2{margin:4px 0 8px;font-size:32px;font-style:italic;font-weight:800}.btn{border:1px solid var(--line);min-height:48px;color:var(--text);font:700 16px var(--font);letter-spacing:.06em;cursor:pointer;background:#ffffff12;border-radius:11px;justify-content:center;align-items:center;gap:8px;padding:10px 18px;transition:background .12s,transform 80ms,border-color .12s;display:inline-flex}.btn:hover{background:#ffffff1f}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.6;cursor:progress}.btn.primary{background:var(--accent);color:#062027;border-color:#0000;font-size:18px;font-style:italic;font-weight:800}.btn.primary:hover{background:#5fe4f1}.btn.ghost{background:0 0}.btn.warn{color:var(--bad);border-color:#ff8a5c80}.btn.small{min-height:36px;padding:6px 12px;font-size:14px}.btn.wide{width:100%}.btn-row{flex-wrap:wrap;gap:10px;margin-top:12px;display:flex}.btn-row .btn{flex:140px}.icon-btn{border:1px solid var(--line);width:48px;height:48px;color:var(--text);cursor:pointer;background:#ffffff0f;border-radius:12px;font-size:22px}.link{color:var(--accent);font:600 15px var(--font);cursor:pointer;background:0 0;border:none;padding:4px 0}.link.small{font-size:13px}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.segmented{border:1px solid var(--line);background:#0000004d;border-radius:12px;gap:4px;padding:4px;display:flex}.segmented button{min-height:40px;color:var(--muted);font:700 15px var(--font);letter-spacing:.05em;cursor:pointer;background:0 0;border:none;border-radius:9px;flex:1}.segmented button.on{color:var(--text);background:#39d8e829;box-shadow:inset 0 0 0 1px #39d8e880}.split .screen-inner{flex-direction:row;justify-content:center;align-items:center;gap:48px}.brand{max-width:380px}.boot .brand{text-align:center;margin:0 auto}.brand .btn{margin-top:12px}.form-card{width:min(420px,100%)}.auth:not(.split) .form-card{margin:0 auto}.auth-form{flex-direction:column;gap:12px;display:flex}.auth-form h3{color:var(--text);text-transform:none;letter-spacing:0;margin:0;font-size:22px}.field{flex-direction:column;gap:6px;display:flex}.field>span{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);justify-content:space-between;align-items:center;font-size:13px;font-weight:700;display:flex}.field input{border:1px solid var(--line);min-height:48px;color:var(--text);font:600 17px var(--font);-webkit-user-select:text;user-select:text;background:#00000059;border-radius:10px;padding:10px 14px}.field input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #39d8e82e}.form-error{min-height:1.2em;color:var(--bad);margin:0;font-size:15px;font-weight:700}.form-error:empty{min-height:0}.form-info{color:var(--worse);margin:0;font-size:14px}.form-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.pilot-row{background:var(--card-2);border-radius:10px;align-items:center;gap:8px;padding:10px 12px;display:flex}.rank-chip{font:700 13px var(--mono);color:var(--accent)}.pilot-preview{font-weight:700}.spinner{border:3px solid #ffffff26;border-top-color:var(--accent);border-radius:50%;width:28px;height:28px;margin:22px auto 0;animation:.8s linear infinite spin}.spinner.small{border-width:2px;width:18px;height:18px;margin:0}@keyframes spin{to{transform:rotate(360deg)}}.menu-grid{flex:1;grid-template-columns:minmax(260px,420px) minmax(240px,340px);justify-content:space-between;align-items:end;gap:24px;display:grid}.menu-list{flex-direction:column;gap:10px;display:flex}.menu-item{border:1px solid var(--line);color:var(--text);text-align:left;cursor:pointer;background:#0d131bb8;border-left:4px solid #0000;border-radius:12px;flex-direction:column;align-items:flex-start;gap:2px;padding:14px 20px;transition:border-color .12s,background .12s,transform .12s;display:flex}.menu-item b{letter-spacing:.06em;font-size:22px;font-style:italic;font-weight:800}.menu-item small{color:var(--muted);font-size:14px}.menu-item:hover,.menu-item:focus-visible{border-left-color:var(--accent);background:#141e2ae6;transform:translate(3px)}.menu-item.primary{border-left-color:var(--accent);background:linear-gradient(90deg,#39d8e847,#39d8e80f)}.menu-item.primary b{font-size:28px}.menu-side .last h3{color:var(--text);text-transform:none;letter-spacing:0;margin:4px 0 10px;font-size:26px;font-style:italic}.menu-side .btn{margin-top:14px}.conn{color:var(--muted);align-items:center;gap:8px;margin:16px 0 0;font-size:13px;display:flex}.conn i{background:var(--better);border-radius:50%;width:8px;height:8px}.conn.off i{background:var(--bad)}.user-chip{border:1px solid var(--line);text-overflow:ellipsis;white-space:nowrap;background:#ffffff12;border-radius:999px;align-items:center;gap:8px;max-width:220px;padding:6px 12px;font-weight:700;display:inline-flex;overflow:hidden}.user-chip i{background:var(--accent);border-radius:50%;width:8px;height:8px}.user-chip.guest i{background:var(--muted)}.notice{color:var(--worse);background:#ffd36b1f;border:1px solid #ffd36b4d;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;margin:0;padding:10px 14px;font-size:14px;font-weight:600;display:flex}.notice.bad{color:var(--bad);background:#ff8a5c1f;border-color:#ff8a5c59}.kv{grid-template-columns:1fr auto;gap:6px 16px;margin:8px 0;font-size:15px;display:grid}.kv dt{color:var(--muted)}.kv dd{text-align:right;font-family:var(--mono);margin:0;font-size:14px}.kv dd .rank{color:var(--accent);margin-left:8px;font-style:normal}.medal{border:1px solid var(--line);background:#ffffff12;border-radius:999px;align-items:center;gap:7px;padding:4px 10px 4px 6px;font-size:14px;font-weight:700;display:inline-flex}.medal i{border-radius:50%;width:16px;height:16px;box-shadow:inset 0 -2px #00000040}.medal.small{padding:2px 8px 2px 4px;font-size:12px}.medal.small i{width:12px;height:12px}.medal-bronze i{background:var(--bronze)}.medal-prata i{background:var(--silver)}.medal-ouro i{background:var(--gold)}.medal-equipe i{background:conic-gradient(var(--pb), var(--accent), var(--pb))}.medal-equipe{border-color:#ba8cff80}.track-list{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px;display:grid}.track-card{border-radius:var(--radius);border:1px solid var(--line);background:var(--card);color:var(--text);text-align:left;cursor:pointer;flex-direction:column;gap:8px;padding:14px;transition:border-color .12s,transform .12s,background .12s;display:flex}.track-card:hover,.track-card:focus-visible{border-color:#39d8e899;transform:translateY(-2px)}.track-card.selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.outline{background:#00000040;border-radius:10px;align-self:center;display:block}.tc-head b{font-size:20px;font-style:italic;font-weight:800;display:block}.tc-head small{color:var(--muted);font-size:13px}.track-card .kv{margin:0;font-size:13px}.track-card .kv dd{font-size:12px}.tc-foot{min-height:22px}.board-grid{grid-template-columns:minmax(220px,280px) 1fr;align-items:start;gap:18px;display:grid}.board-side{flex-direction:column;gap:8px;display:flex}.board-side .notice{font-size:13px}.board-main{flex-direction:column;gap:12px;min-height:320px;display:flex}.lb{flex-direction:column;gap:4px;display:flex}.lb-row{background:var(--card-2);border-radius:9px;grid-template-columns:56px 1fr auto auto;align-items:center;gap:12px;padding:9px 12px;display:grid}.lb-row.me{box-shadow:inset 3px 0 0 var(--accent);background:#39d8e824}.lb-row.expandable{cursor:pointer}.lb-rank{font:700 14px var(--mono);color:var(--muted)}.lb-row:first-child .lb-rank{color:var(--gold)}.lb-row:nth-child(2) .lb-rank{color:var(--silver)}.lb-row:nth-child(3) .lb-rank{color:var(--bronze)}.lb-name{text-overflow:ellipsis;white-space:nowrap;font-size:16px;font-weight:700;overflow:hidden}.lb-name em{letter-spacing:.08em;text-transform:uppercase;background:var(--accent);color:#062027;border-radius:4px;margin-left:8px;padding:1px 6px;font-size:11px;font-style:normal}.lb-time{font-size:15px}.lb-date{color:var(--muted);font-size:12px}.lb-laps{color:var(--muted);grid-column:1/-1;font-size:12px;display:none}.lb-row.open .lb-laps{display:block}.lb-gap{color:var(--muted);text-align:center;padding:4px 12px;font-size:13px}.lb-state{color:var(--muted);text-align:center;flex-direction:column;align-items:center;gap:8px;padding:40px 12px;display:flex}.lb-state b{color:var(--text);font-size:18px}.lb-state.bad b{color:var(--bad)}.garage-panel{max-width:440px}.livery-grid{grid-template-columns:repeat(3,1fr);gap:10px;margin-top:8px;display:grid}.livery{border:1px solid var(--line);background:var(--card-2);color:var(--text);font:700 14px var(--font);cursor:pointer;border-radius:12px;flex-direction:column;align-items:center;gap:8px;padding:12px 8px;display:flex}.livery.selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.swatch{border-radius:8px;width:64px;height:28px;display:flex;overflow:hidden;box-shadow:inset 0 0 0 1px #fff3}.swatch i:first-child{background:var(--c1);flex:3}.swatch i:nth-child(2){background:var(--c2);flex:1.4}.swatch i:nth-child(3){background:var(--c3);flex:1}.cols{grid-template-columns:1fr 1fr;align-items:start;gap:18px;display:grid}.row{border-bottom:1px solid var(--line);cursor:pointer;align-items:center;gap:14px;min-height:52px;padding:6px 0;display:flex}.row-text{flex-direction:column;flex:1;display:flex}.row-text b{font-size:16px}.row-text small{color:var(--muted);font-size:13px}.toggle input{opacity:0;pointer-events:none;position:absolute}.switch{background:#ffffff29;border-radius:13px;flex:none;width:46px;height:26px;transition:background .15s;position:relative}.switch:after{content:"";background:#fff;border-radius:50%;width:20px;height:20px;transition:transform .15s;position:absolute;top:3px;left:3px}.toggle input:checked+.switch{background:var(--accent)}.toggle input:checked+.switch:after{transform:translate(20px)}.toggle input:focus-visible+.switch{outline:2px solid var(--accent);outline-offset:2px}.slider input{max-width:180px;accent-color:var(--accent);flex:1}.slider output{text-align:right;width:48px;font:600 14px var(--mono)}.row-inline{align-items:center;gap:10px;min-height:8px;margin-top:6px;display:flex}.controls{gap:7px;margin:0 0 10px;padding:0;font-size:15px;list-style:none;display:grid}body.touch .controls.kb{display:none}kbd{border:1px solid var(--line);min-width:26px;font:600 13px var(--mono);text-align:center;background:#ffffff14;border-radius:5px;margin-right:3px;padding:1px 6px;display:inline-block}.legend{gap:8px;margin:0;padding:0;list-style:none;display:grid}.legend li{color:var(--muted);align-items:center;gap:8px;display:flex}.legend b{color:var(--text)}.sw{border-radius:4px;width:26px;height:8px}.sw.pb{background:var(--pb)}.sw.better{background:var(--better)}.sw.worse{background:var(--worse)}.sw.bad{background:var(--bad)}.pause-card,.summary-card,.dialog-card{width:min(480px,100%);margin:auto}.status-pill{color:var(--muted);background:#ffffff12;border-radius:999px;margin:4px 0;padding:5px 12px;font-size:14px;font-weight:700;display:inline-block}.status-pill.ok{color:var(--accent);background:#39d8e829}.status-pill.pending{color:var(--worse);background:#ffd36b24}.status-pill.bad{color:var(--bad);background:#ff8a5c24}.stats{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:10px 0}.medal-row{align-items:center;gap:10px;margin:10px 0;display:flex}.medal-row .new{color:var(--worse)}.records{gap:6px;margin:0;padding:0;list-style:none;display:grid}.record b{color:var(--pb)}#app-toast{left:50%;bottom:calc(24px + var(--safe-b));z-index:80;border:1px solid var(--line);opacity:0;pointer-events:none;background:#0d131bf2;border-radius:10px;max-width:calc(100% - 32px);padding:10px 18px;font-weight:700;transition:opacity .2s,transform .2s;position:fixed;transform:translate(-50%,10px)}#app-toast.show{opacity:1;transform:translate(-50%)}@media (max-height:520px){#lap-time{font-size:30px}#board dl{font-size:12px}.sector{width:74px}.screen,.overlay-screen{padding:calc(10px + var(--safe-t)) calc(16px + var(--safe-r)) calc(10px + var(--safe-b)) calc(16px + var(--safe-l))}.screen-inner{gap:10px}.logo{font-size:40px}.screen-head .logo{font-size:30px}.screen-head h2{font-size:24px}.card{padding:14px 16px}.menu-item{padding:8px 16px}.menu-item b,.menu-item.primary b{font-size:19px}.menu-item small{display:none}.menu-list{gap:6px}.track-list{touch-action:pan-x;grid-template-columns:none;grid-auto-columns:200px;grid-auto-flow:column;padding-bottom:6px;overflow-x:auto}.auth-form{gap:8px}.field input{min-height:42px}.split .screen-inner{gap:24px}.split .brand .hint,.pause-card .hint,.summary-card .hint{display:none}.btn-row{margin-top:8px}.stats{grid-template-columns:1fr auto 1fr auto;padding:4px 0}.board-main{min-height:0}}@media (max-width:760px){.split .screen-inner{flex-direction:column;gap:16px}.split .brand{text-align:center}.menu-grid,.board-grid,.cols{grid-template-columns:1fr}}@media (max-width:760px) and (max-height:520px){.split .screen-inner{flex-direction:row}.menu-grid{grid-template-columns:1fr 1fr}}@media (max-height:520px){#board{top:calc(8px + var(--safe-t));transform-origin:0 0;min-width:0;padding:6px 10px 8px;transform:scale(.82)}#board dl{gap:1px 12px}#board dt:nth-of-type(n+3),#board dd:nth-of-type(n+3){display:none}#sectors{top:calc(8px + var(--safe-t));transform-origin:100% 0;transform:scale(.8)}#minimap{width:110px;height:110px;bottom:calc(8px + var(--safe-b))}#dash{width:190px;bottom:calc(8px + var(--safe-b));padding:6px 10px 8px}#gear{width:34px;font-size:40px}#speed{font-size:30px}}
