:root{--bg: #0d0f13;--bg-elev: #161a21;--bg-elev-2: #1e232c;--line: #2a303b;--text: #e8ebf0;--muted: #8a93a3;--accent: #ff3b2f;--accent-2: #ffb400;--go: #39d353;--radius: 10px;--maxw: 1200px;color-scheme:dark}:root[data-theme=light]{--bg: #f4f5f7;--bg-elev: #ffffff;--bg-elev-2: #eef0f4;--line: #d9dce3;--text: #15181d;--muted: #5c6472;color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}a{color:inherit;text-decoration:none}code{font-family:ui-monospace,SF Mono,Menlo,monospace;background:var(--bg-elev-2);padding:1px 6px;border-radius:5px;font-size:.9em}.app-shell{min-height:100%;display:flex;flex-direction:column}.content{width:100%;max-width:var(--maxw);margin:0 auto;padding:24px 16px;flex:1}.topbar{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;background:var(--bg-elev);border-bottom:1px solid var(--line);gap:12px;flex-wrap:wrap}.brand{display:flex;align-items:center;gap:6px}.brand-logo{height:40px;width:auto;display:block}@media (max-width: 480px){.brand-logo{height:32px}}.brand-nitto{color:var(--accent)}.brand-1320{color:var(--text)}.brand-legends{color:var(--muted);font-weight:600;font-size:.8em;align-self:center}.topbar-right{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.wallet{font-variant-numeric:tabular-nums;font-weight:600}.wallet.points{color:var(--accent-2)}.handle{font-weight:600}.lvl{color:var(--muted);font-size:.85em}.navbar{background:var(--bg-elev-2);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}.navbar-inner{max-width:var(--maxw);margin:0 auto;display:flex;gap:4px;padding:0 12px;flex-wrap:wrap}.nav-section{position:relative}.nav-label{display:block;padding:12px 14px;font-weight:600;cursor:default;border-bottom:2px solid transparent}.nav-section.active .nav-label{border-bottom-color:var(--accent)}.nav-section:hover .nav-label{color:var(--accent)}.nav-dropdown{display:none;position:absolute;left:0;top:100%;min-width:180px;background:var(--bg-elev);border:1px solid var(--line);border-radius:0 0 var(--radius) var(--radius);box-shadow:0 12px 30px #00000059;padding:6px;z-index:20}.nav-section:hover .nav-dropdown,.nav-section:focus-within .nav-dropdown{display:block}.nav-item{display:block;padding:8px 10px;border-radius:6px;color:var(--muted)}.nav-item:hover{background:var(--bg-elev-2);color:var(--text)}.nav-item.active{color:var(--accent)}@media (max-width: 640px){.nav-dropdown{position:static;display:block;border:none;box-shadow:none;padding:0 0 8px 12px;min-width:0;background:transparent}.nav-section{width:100%}}.card{background:var(--bg-elev);border:1px solid var(--line);border-radius:var(--radius);padding:18px;margin-bottom:18px}.card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;gap:12px;flex-wrap:wrap}.card h2{margin:0;font-size:1.25rem}.card-actions{display:flex;gap:8px}.table{width:100%;border-collapse:collapse}.table th,.table td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line)}.table th{color:var(--muted);font-weight:600;font-size:.85em;text-transform:uppercase;letter-spacing:.5px}.row-active{background:#ff3b2f0f}.row-actions{display:flex;gap:8px;justify-content:flex-end}.rank{font-weight:700;color:var(--accent-2)}.tag{font-size:.7em;background:var(--accent);color:#fff;padding:1px 6px;border-radius:10px;vertical-align:middle}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;background:var(--accent);color:#fff;border:none;border-radius:8px;padding:9px 16px;font-weight:600;cursor:pointer;font-size:.95em}.btn:hover{filter:brightness(1.08)}.btn:disabled{opacity:.45;cursor:not-allowed;filter:none}.btn.ghost{background:transparent;color:var(--text);border:1px solid var(--line)}.btn.big{padding:12px 22px;font-size:1.05em}.btn.sm{padding:5px 10px;font-size:.85em}.linkbtn{background:none;border:none;color:var(--accent);cursor:pointer;padding:0;font:inherit}.form{display:flex;flex-direction:column;gap:14px}.form label{display:flex;flex-direction:column;gap:6px;font-size:.9em;color:var(--muted)}.form input{background:var(--bg);border:1px solid var(--line);color:var(--text);border-radius:8px;padding:10px 12px;font:inherit}.form input:focus{outline:none;border-color:var(--accent)}.auth-wrap{max-width:420px;margin:40px auto}.switch{margin-top:12px}.loading,.error,.muted,.banner{font-size:.95em}.loading{color:var(--muted);padding:20px 0}.error{color:var(--accent);padding:12px 0}.muted{color:var(--muted)}.banner{background:#39d3531f;border:1px solid rgba(57,211,83,.4);color:var(--go);padding:10px 12px;border-radius:8px;margin-bottom:14px}.hero{background:linear-gradient(135deg,#1a1d24,#0d0f13 60%),radial-gradient(circle at 80% 20%,rgba(255,59,47,.25),transparent 50%);border:1px solid var(--line);border-radius:var(--radius);padding:48px 32px;margin-bottom:24px}.hero h1{font-size:clamp(2rem,5vw,3.4rem);margin:0 0 12px;line-height:1.05}.hero .accent{color:var(--accent)}.hero-copy p{max-width:540px;color:var(--muted);font-size:1.1em}.hero-cta{display:flex;gap:12px;margin-top:22px;flex-wrap:wrap}.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.tile{background:var(--bg-elev);border:1px solid var(--line);border-radius:var(--radius);padding:18px;transition:border-color .15s}.tile:hover{border-color:var(--accent)}.tile h3{margin:0 0 6px}.tile p{margin:0;color:var(--muted);font-size:.9em}.car-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}.car-card{background:var(--bg-elev-2);border:1px solid var(--line);border-radius:var(--radius);padding:14px;display:flex;flex-direction:column;gap:10px}.car-card-top{display:flex;align-items:center;justify-content:space-between}.car-year{color:var(--muted);font-size:.85em}.car-card h3{margin:0;font-size:1.05rem}.spec{display:grid;grid-template-columns:1fr 1fr;gap:4px 12px;margin:0}.spec div{display:flex;justify-content:space-between;border-bottom:1px dotted var(--line);font-size:.85em}.spec dt{color:var(--muted);margin:0}.spec dd{margin:0;font-variant-numeric:tabular-nums}.car-price{display:flex;gap:10px;flex-wrap:wrap;margin-top:auto}.price{font-weight:700;font-variant-numeric:tabular-nums}.price.points{color:var(--accent-2)}.price.event{color:var(--muted);font-weight:600}.class-badge{font-weight:800;font-size:.75em;padding:2px 8px;border-radius:6px;background:var(--line)}.class-S{background:var(--accent);color:#fff}.class-A{background:var(--accent-2);color:#000}.class-B{background:#3b82f6;color:#fff}.class-C{background:#8b5cf6;color:#fff}.class-D{background:var(--bg-elev);color:var(--text);border:1px solid var(--line)}.ladder{display:flex;flex-direction:column;gap:8px}.ladder-row{display:grid;grid-template-columns:1fr 2fr auto auto;gap:14px;align-items:center;background:var(--bg-elev-2);border:1px solid var(--line);border-radius:8px;padding:10px 14px}.ladder-tier{color:var(--accent-2);font-weight:600;font-size:.9em}.ladder-ghost{display:flex;flex-direction:column}.ladder-ghost .muted{font-size:.82em}.ladder-purse{font-weight:700;color:var(--go);font-variant-numeric:tabular-nums}@media (max-width: 640px){.ladder-row{grid-template-columns:1fr 1fr}}.race-stage{position:relative}.race-canvas{display:block;width:100%;height:auto;aspect-ratio:960 / 360;background:var(--bg);border:1px solid var(--line);border-radius:var(--radius)}.race-close{position:absolute;bottom:16px;right:16px}.race-banner{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;gap:10px;align-items:center;justify-content:center;text-align:center;background:#06080cc7;border-radius:var(--radius);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.race-banner-result{font-size:3.4rem;font-weight:900;letter-spacing:2px;line-height:1}.race-banner.win .race-banner-result{color:var(--accent-2)}.race-banner.loss .race-banner-result{color:var(--accent)}.race-banner-detail{color:var(--text);font-size:.95rem;max-width:80%}.race-banner-purse{color:var(--accent-2);font-weight:800;font-size:1.3rem}.tune-layout{display:grid;grid-template-columns:240px 1fr;gap:16px}.car-picker{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.picker-item{width:100%;text-align:left;background:var(--bg-elev-2);border:1px solid var(--line);border-radius:8px;padding:10px 12px;cursor:pointer;color:var(--text);display:flex;justify-content:space-between;align-items:center}.picker-item.active{border-color:var(--accent)}.picker-item .muted{font-size:.8em}.tune-panel{background:var(--bg-elev-2);border:1px solid var(--line);border-radius:8px;padding:16px}@media (max-width: 640px){.tune-layout{grid-template-columns:1fr}}.tabs{display:flex;gap:4px}.tab{background:transparent;border:1px solid var(--line);color:var(--muted);padding:6px 12px;border-radius:8px;cursor:pointer;font:inherit}.tab.active{border-color:var(--accent);color:var(--text)}.pack-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}.pack{background:var(--bg-elev-2);border:1px solid var(--line);border-radius:10px;padding:16px;text-align:center;display:flex;flex-direction:column;gap:4px;align-items:center}.pack-pts{font-size:1.4rem;font-weight:800}.pack-label{color:var(--muted);font-size:.8em}.pack-usd{font-weight:700;color:var(--accent-2);margin:6px 0}.mod-search{display:flex;gap:8px;margin-bottom:14px}.mod-search input{flex:1;background:var(--bg);border:1px solid var(--line);color:var(--text);border-radius:8px;padding:10px 12px;font:inherit}.mod-card{background:var(--bg-elev-2);border:1px solid var(--line);border-radius:var(--radius);padding:16px;margin-top:12px}.mod-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.mod-card-head h3{margin:0}.mod-score{text-align:right}.mod-score-val{font-size:1.4rem;font-weight:800;color:var(--accent-2);font-variant-numeric:tabular-nums}.mod-badges{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0}.mod-ban-row{display:flex;gap:8px;margin-top:10px}.mod-ban-row input{flex:1;background:var(--bg);border:1px solid var(--line);color:var(--text);border-radius:8px;padding:9px 12px;font:inherit}.inline-form{flex-direction:row;flex-wrap:wrap;align-items:center;margin-top:14px;gap:8px}.inline-form input,.inline-form select{background:var(--bg);border:1px solid var(--line);color:var(--text);border-radius:8px;padding:9px 12px;font:inherit}.footer{border-top:1px solid var(--line);padding:18px 16px;text-align:center;color:var(--muted);font-size:.82em}
