:root{--color-ink:#14171c;--color-ink-light:#2a2f38;--color-paddock:#f5f4f0;--color-surface:#fff;--color-line:#d8d5cc;--color-text:#1c1e22;--color-text-muted:#6b6e76;--color-racing-green:#1f5e3c;--color-racing-green-dark:#163f29;--color-caution:#e0a526;--color-penalty:#c0392b;--color-podium-gold:#c9a227;--color-podium-silver:#9aa0a6;--color-podium-bronze:#b0703a;--font-display:"Oswald", sans-serif;--font-body:"Inter", sans-serif;--font-mono:"JetBrains Mono", monospace;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--radius-sm:3px;--radius-md:6px}*{box-sizing:border-box}body{background:var(--color-paddock);color:var(--color-text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;margin:0;font-size:15px;line-height:1.5}h1,h2,h3{font-family:var(--font-display);letter-spacing:.01em;color:var(--color-ink);margin:0 0 var(--space-4);font-weight:600}h1{text-transform:uppercase;font-size:28px}h2{text-transform:uppercase;color:var(--color-text-muted);font-size:18px}a{color:var(--color-racing-green);text-decoration:none}a:hover{text-decoration:underline}button{font-family:var(--font-body);padding:var(--space-2) var(--space-4);border:1px solid var(--color-ink);border-radius:var(--radius-sm);background:var(--color-ink);color:var(--color-paddock);cursor:pointer;font-size:14px;font-weight:500;transition:opacity .15s}button:hover{opacity:.85}button:focus-visible{outline:2px solid var(--color-racing-green);outline-offset:2px}button[type=button]{color:var(--color-ink);background:0 0}input,select{font-family:var(--font-body);padding:var(--space-2) var(--space-3);border:1px solid var(--color-line);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font-size:14px}input:focus,select:focus{outline:2px solid var(--color-racing-green);outline-offset:1px;border-color:var(--color-racing-green)}table{border-collapse:collapse;background:var(--color-surface);width:100%;font-size:14px}thead th{font-family:var(--font-display);letter-spacing:.04em;text-transform:uppercase;text-align:left;color:var(--color-text-muted);border-bottom:2px solid var(--color-ink);padding:var(--space-2) var(--space-3);font-size:12px}tbody td{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-line);font-variant-numeric:tabular-nums}tbody tr:hover{background:var(--color-paddock)}.numeric{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.position-badge{min-width:24px;height:24px;padding:0 var(--space-2);border-radius:var(--radius-sm);font-family:var(--font-mono);color:var(--color-surface);background:var(--color-ink-light);justify-content:center;align-items:center;font-size:13px;font-weight:600;display:inline-flex}.position-badge.p1{background:var(--color-podium-gold);color:var(--color-ink)}.position-badge.p2{background:var(--color-podium-silver);color:var(--color-ink)}.position-badge.p3{background:var(--color-podium-bronze);color:var(--color-surface)}.position-badge.dnf,.position-badge.dsq{background:var(--color-penalty)}.status-tag{font-family:var(--font-body);text-transform:uppercase;letter-spacing:.03em;padding:2px var(--space-2);border-radius:var(--radius-sm);font-size:11px;font-weight:600}.status-tag.reserve{background:var(--color-caution);color:var(--color-ink)}.status-tag.full-time{background:var(--color-racing-green);color:var(--color-surface)}.app-header{background:var(--color-ink);padding:var(--space-3) var(--space-6);justify-content:space-between;align-items:center;display:flex}.app-brand{font-family:var(--font-display);letter-spacing:.05em;color:var(--color-racing-green);margin-right:var(--space-6);font-size:18px;font-weight:700}.app-nav{align-items:center;gap:var(--space-6);flex:1;display:flex}.app-nav a{color:var(--color-paddock);font-family:var(--font-display);text-transform:uppercase;letter-spacing:.03em;font-size:13px}.app-nav a:hover{color:var(--color-racing-green);text-decoration:none}.app-user{align-items:center;gap:var(--space-3);color:var(--color-paddock);font-size:13px;display:flex}.app-user button{border-color:var(--color-paddock);color:var(--color-paddock);background:0 0}.app-main{max-width:1100px;padding:var(--space-8) var(--space-6);margin:0 auto}
