:root{--font-ui: "Archivo", system-ui, sans-serif;--font-num: "Saira Condensed", "Archivo", sans-serif;--font-mono: "Spline Sans Mono", ui-monospace, monospace;--street: #ffb031;--garage: #c5342b;--track: #2f6f8f;--bg: #14120e;--bg-elev: #0c0b09;--panel: #1c1812;--panel-2: #181410;--header: #0f0d0a;--border: #221d16;--border-2: #2a251d;--text: #e8e2d6;--dim: #8a8276;--faint: #5d564b;--accent: var(--street);--hot: #ff7a59;--green: #6ee07f;--radius: 7px;--radius-sm: 4px}*{box-sizing:border-box;margin:0;-webkit-tap-highlight-color:transparent}html,body,#app{height:100%}body{font-family:var(--font-ui);background:#000;color:var(--text);overflow:hidden;user-select:none}[data-register=street]{--bg: #14120e;--bg-elev: #0c0b09;--panel: #1c1812;--panel-2: #181410;--header: #0f0d0a;--border: #221d16;--border-2: #2a251d;--text: #e8e2d6;--dim: #8a8276;--faint: #5d564b;--accent: var(--street)}[data-register=track]{--bg: #e9edf0;--bg-elev: #e4e8eb;--panel: #f3f5f7;--panel-2: #ffffff;--header: #dfe5e9;--border: #d3dade;--border-2: #cdd4da;--text: #1d2228;--dim: #7a828a;--faint: #9aa3ab;--accent: var(--track);--hot: #ff4d4d;--green: #1f8a5b}[data-register=garage]{--bg: #14120e;--bg-elev: #0c0b09;--panel: #1c1812;--panel-2: #181410;--header: #0f0d0a;--border: #2a251d;--border-2: #36302482;--text: #e8e2d6;--dim: #8a8276;--faint: #5d564b;--accent: var(--garage)}[data-register=paper]{--bg: #e7ded0;--bg-elev: #ded3c2;--panel: #f4eee2;--panel-2: #ece4d6;--header: #241f17;--border: #c9bda8;--border-2: #d9cdb8;--text: #241f17;--dim: #7d7160;--faint: #a3947c;--accent: var(--garage)}.app{display:flex;flex-direction:column;height:100%;max-width:520px;margin:0 auto;background:var(--bg);color:var(--text);position:relative;overflow:hidden}@media(min-width:900px){.app{max-width:1000px}}.statusbar{flex:0 0 auto;display:flex;align-items:center;gap:10px;height:50px;padding:0 14px;background:var(--header);border-bottom:1px solid var(--border);font-family:var(--font-mono);cursor:pointer}[data-register=paper] .statusbar{color:#efe7d8}.statusbar .cash{font-size:16px;font-weight:600;color:var(--green)}.statusbar .wk{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0}.statusbar .wk .label{font-size:10px;letter-spacing:.12em;color:var(--dim)}.statusbar .wk .track{height:3px;background:var(--border-2);border-radius:9999px;overflow:hidden}.statusbar .wk .track>i{display:block;height:100%;background:var(--accent)}.statusbar .ranks{display:flex;gap:8px;font-size:9.5px;text-align:right}.statusbar .ranks .r{display:flex;flex-direction:column;line-height:1.25}.statusbar .ranks .r b{font-weight:600;font-size:11px}.rank-street b{color:var(--street)}.rank-fame b{color:var(--track)}.rank-notor b{color:var(--hot)}.screen{flex:1 1 auto;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;padding-bottom:8px}.tabbar{flex:0 0 auto;display:flex;height:58px;background:var(--header);border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom)}.tabbar button{flex:1;border:0;background:transparent;color:var(--dim);font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;font-weight:600;cursor:pointer;position:relative;border-top:2px solid transparent}.tabbar button.active{color:var(--text)}.tabbar button.active.t-street{border-top-color:var(--street);color:var(--street)}.tabbar button.active.t-garage{border-top-color:var(--garage);color:var(--garage)}.tabbar button.active.t-track{border-top-color:var(--track);color:var(--track)}.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:12px}.row{display:flex;align-items:center;gap:10px}.col{display:flex;flex-direction:column}.pad{padding:12px 14px}.gap{gap:10px}.spread{justify-content:space-between}.micro{font-family:var(--font-mono);font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:var(--dim)}.num{font-family:var(--font-num)}.mono{font-family:var(--font-mono)}.dim{color:var(--dim)}.faint{color:var(--faint)}.accent{color:var(--accent)}.green{color:var(--green)}.hot{color:var(--hot)}.btn{appearance:none;border:1px solid var(--border-2);background:var(--panel-2);color:var(--text);font-family:var(--font-mono);font-weight:600;letter-spacing:.08em;font-size:13px;padding:13px 16px;border-radius:var(--radius-sm);cursor:pointer;min-height:46px}.btn:active{transform:translateY(1px)}.btn.primary{background:var(--accent);border-color:var(--accent);color:#14120e}[data-register=track] .btn.primary{color:#fff}.btn.full{width:100%}.btn:disabled{opacity:.4;cursor:default}.chip{font-family:var(--font-mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;padding:3px 6px;border-radius:3px;border:1px solid var(--border-2);color:var(--dim);white-space:nowrap}.chip.visible{color:var(--accent);border-color:var(--accent)}.chip.hidden{color:var(--faint)}.chip.warn{color:var(--hot);border-color:var(--hot)}.seg{display:flex;gap:4px;padding:4px;background:var(--panel-2);border:1px solid var(--border);border-radius:var(--radius-sm)}.seg button{flex:1;border:0;background:transparent;color:var(--dim);font-family:var(--font-mono);font-weight:600;letter-spacing:.1em;font-size:12px;padding:9px;border-radius:3px;cursor:pointer}.seg button.active{background:var(--accent);color:#14120e}[data-register=track] .seg button.active{color:#fff}.bigstat{font-family:var(--font-num);font-size:38px;line-height:1;font-weight:600}.list{display:flex;flex-direction:column;gap:8px}.listrow{display:flex;align-items:center;gap:10px;padding:11px 12px;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer}.listrow:active{background:var(--panel-2)}.dyno{background:linear-gradient(180deg,#0a0d0a,#060806);border:1px solid #1a241a;border-radius:var(--radius);padding:8px;position:relative;overflow:hidden}.dyno svg{display:block;width:100%;height:auto}.dyno .grid line{stroke:#15311a;stroke-width:.5}.dyno .curve{fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.dyno .curve.hp{stroke:var(--street);filter:drop-shadow(0 0 3px rgba(255,176,49,.5))}.dyno .curve.tq{stroke:var(--green);filter:drop-shadow(0 0 3px rgba(110,224,127,.4))}.dyno .curve.draw{stroke-dasharray:1400;stroke-dashoffset:1400;animation:slipsDraw 2s ease forwards}.dyno .scan{animation:slipsScan 2s ease forwards}.dyno .peakdot{fill:var(--street)}@keyframes slipsDraw{to{stroke-dashoffset:0}}@keyframes slipsScan{0%{transform:translate(0);opacity:.8}to{transform:translate(100%);opacity:0}}.buzz{height:16px;border-radius:9999px;background:var(--panel-2);border:1px solid var(--border-2);overflow:hidden;position:relative}.buzz>i{display:block;height:100%;background:linear-gradient(90deg,#ffb031,#ff7a59,#ff5a3c);transition:width .5s ease;position:relative}.buzz>i:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.35),transparent);animation:buzzShine 1.8s linear infinite}@keyframes buzzShine{0%{transform:translate(-100%)}to{transform:translate(100%)}}.bust{animation:buzzPulse 1.4s ease-in-out infinite}@keyframes buzzPulse{0%,to{opacity:1}50%{opacity:.45}}.scrim{position:absolute;inset:0;background:#0009;display:flex;align-items:flex-end;z-index:30}.sheet{width:100%;background:var(--panel);border-top:1px solid var(--border-2);border-radius:16px 16px 0 0;padding:16px 16px calc(16px + env(safe-area-inset-bottom));animation:sheetUp .25s ease;max-height:90%;overflow-y:auto}@keyframes sheetUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.sheet h3{font-family:var(--font-ui);font-size:17px;margin-bottom:4px}input[type=range]{width:100%;accent-color:var(--accent)}.overlay{position:absolute;inset:0;z-index:40;display:flex;flex-direction:column;background:var(--bg)}.race-world{flex:1;position:relative;overflow:hidden;background:linear-gradient(180deg,#0a0a0c,#14120e 60%,#0c0b09)}.race-world.day{background:linear-gradient(180deg,#bcd2e0,#dce8ef 55%,#9fb3bf)}.strip-ground{position:absolute;left:0;right:0;bottom:0;height:34%;background:repeating-linear-gradient(90deg,#1a1712 0 40px,#141009 40px 80px)}.race-world.day .strip-ground{background:repeating-linear-gradient(90deg,#6b7e88 0 40px,#5d7079 40px 80px)}.startline{position:absolute;left:8%;top:0;bottom:0;width:3px;background:repeating-linear-gradient(180deg,#fff 0 10px,#222 10px 20px);opacity:.5}.racecar{position:absolute;bottom:22%;width:92px;height:30px;will-change:left}.racecar.you{bottom:22%}.racecar.them{bottom:46%;opacity:.85}.tick{position:absolute;bottom:32%;font-family:var(--font-mono);font-size:9px;color:var(--dim);transform:translate(-50%)}.race-world.day .tick{color:#44525a}.wheel{transform-box:fill-box;transform-origin:center}.spinning{animation:spin .12s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.cluster{flex:0 0 auto;background:linear-gradient(180deg,#0c0b09,#07060500);background-color:#0a0907;border-top:1px solid #1c1812;display:flex;gap:12px;padding:14px;color:#e8e2d6}.tach{flex:0 0 auto}.tach .rpm{font-family:var(--font-num);font-size:22px;fill:#e8e2d6}.gauge-col{display:flex;flex-direction:column;justify-content:center;gap:6px;min-width:64px}.gauge-col .big{font-family:var(--font-num);font-size:30px;line-height:1}.throttle{flex:1;display:flex;flex-direction:column;align-items:stretch;gap:6px}.throttle-track{flex:1;position:relative;border-radius:8px;overflow:hidden;border:1px solid #2a251d;background:linear-gradient(180deg,#4a1410 0 38%,#14120e 38% 100%);min-height:120px;cursor:pointer;touch-action:none}.throttle-grip{position:absolute;left:0;right:0;bottom:0;background:linear-gradient(180deg,#6ee07f,#2f8a4d);opacity:.85}.throttle-limit{position:absolute;left:0;right:0;height:2px;background:#ffb031}.throttle-hold{position:absolute;left:0;right:0;text-align:center;font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;color:#14120e;animation:buzzPulse .7s ease-in-out infinite}.splits{flex:0 0 auto;display:flex;flex-direction:column;gap:3px;font-family:var(--font-mono);font-size:11px;min-width:96px}.splits .s{display:flex;justify-content:space-between;color:var(--dim)}.splits .s.on{color:var(--street)}.tree{position:absolute;left:50%;top:16px;transform:translate(-50%);display:flex;flex-direction:column;gap:5px;align-items:center}.tree .bulb{width:22px;height:22px;border-radius:50%;background:#2a2018;border:1px solid #000}.tree .bulb.amber.on{background:#ffb031;box-shadow:0 0 12px #ffb031}.tree .bulb.green.on{background:#6ee07f;box-shadow:0 0 16px #6ee07f;animation:greenGlow .5s ease}@keyframes greenGlow{0%{box-shadow:0 0 30px #6ee07f}to{box-shadow:0 0 16px #6ee07f}}.go-flag{position:absolute;left:50%;top:30px;transform:translate(-50%);font-family:var(--font-num);font-size:64px;color:var(--street);text-shadow:0 0 20px rgba(255,176,49,.6)}.timeslip-wrap{flex:1;display:flex;align-items:center;justify-content:center;padding:18px;overflow-y:auto;background:#0c0b09}.timeslip{width:320px;max-width:100%;background:#f4efe4;color:#1a1712;font-family:var(--font-mono);font-size:12px;padding:18px 16px;border-radius:3px;position:relative;box-shadow:0 24px 60px #00000080;background-image:radial-gradient(circle at 8px 50%,#d8d0c0 2px,transparent 2px),radial-gradient(circle at calc(100% - 8px) 50%,#d8d0c0 2px,transparent 2px);background-size:16px 22px;background-repeat:repeat-y}.timeslip .ts-body{padding:0 12px}.timeslip h4{text-align:center;font-family:var(--font-mono);letter-spacing:.1em;font-size:12px;border-bottom:1px dashed #998d77;padding-bottom:8px;margin-bottom:8px}.timeslip .tsrow{display:flex;justify-content:space-between;padding:2px 0}.timeslip .tsrow.big{font-size:16px;font-weight:700;border-top:1px dashed #998d77;margin-top:6px;padding-top:6px}.timeslip .stamp{position:absolute;right:18px;top:64px;transform:rotate(-14deg);border:3px solid #b23b2e;color:#b23b2e;font-family:var(--font-num);font-weight:700;font-size:26px;letter-spacing:.1em;padding:2px 10px;border-radius:4px;opacity:.85}.timeslip .stamp.lose{border-color:#555;color:#555}.timeslip .foot{text-align:center;margin-top:10px;font-size:10px;color:#6a5f4c;border-top:1px dashed #998d77;padding-top:8px}.weekend-card{border-radius:var(--radius);border:1px solid var(--border-2);border-left-width:4px;padding:14px;background:var(--panel);cursor:pointer}.weekend-card.street{border-left-color:var(--street)}.weekend-card.track{border-left-color:var(--track)}.weekend-card.sit{border-left-color:var(--faint)}.weekend-card h3{font-size:16px;margin-bottom:3px}.barseg{display:flex;gap:3px}.barseg i{flex:1;height:6px;border-radius:2px;background:var(--border-2)}.barseg i.on{background:var(--accent)}.toast{position:absolute;left:50%;bottom:74px;transform:translate(-50%);background:#000;color:#fff;border:1px solid #333;font-family:var(--font-mono);font-size:12px;padding:9px 14px;border-radius:6px;z-index:50;animation:sheetUp .2s ease;max-width:90%;text-align:center}.sectionhead{display:flex;justify-content:space-between;align-items:baseline;padding:14px 14px 6px}.sectionhead .micro{color:var(--dim)}.allegiance{height:36px;display:flex;align-items:center;gap:8px;padding:0 14px;background:var(--panel-2);border-bottom:1px solid var(--border);font-family:var(--font-mono);font-size:9.5px;letter-spacing:.1em;color:var(--dim)}.allegiance .gbar{flex:1;height:6px;border-radius:9999px;background:linear-gradient(90deg,var(--street),#8a7d70 50%,var(--track));position:relative}.allegiance .gbar i{position:absolute;top:-3px;width:12px;height:12px;border-radius:50%;background:var(--garage);border:2px solid #fff;transform:translate(-50%)}
