:root{color-scheme:dark;--bg: #070b12;--bg-elev: #0a1019;--surface: #0e1726;--surface-2: #111d30;--surface-raised: #16223a;--border: #1d2a40;--border-strong: #2c3d59;--text: #c2cee0;--text-strong: #f3f7fd;--muted: #8493ab;--muted-2: #647189;--accent: #2f8bff;--accent-strong: #5aa6ff;--accent-2: #22d3ee;--accent-soft: rgba(47, 139, 255, .14);--accent-border: rgba(47, 139, 255, .35);--ring: rgba(47, 139, 255, .55);--accent-fill: var(--accent);--on-accent: #04101f;--success: #34d399;--warn: #fbbf24;--danger: #f87171;--sans: "Inter", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Monaco, Consolas, monospace;--text-xs: .75rem;--text-sm: .85rem;--text-base: 1rem;--text-lg: 1.15rem;--text-xl: 1.5rem;--text-2xl: 2rem;--text-3xl: 2.75rem;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-6: 24px;--space-8: 32px;--space-12: 48px;--radius-sm: 8px;--radius: 14px;--radius-lg: 20px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .35);--shadow: 0 18px 40px -24px rgba(0, 0, 0, .75);--duration-fast: .12s;--duration: .16s;--container: 1200px;--header-h: 68px;font-family:var(--sans);font-size:16px;line-height:1.6;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html.light{color-scheme:light;--bg: #f3f6fb;--bg-elev: #ffffff;--surface: #ffffff;--surface-2: #f6f9fd;--surface-raised: #ffffff;--border: #e3eaf3;--border-strong: #cbd6e6;--text: #44566d;--text-strong: #0c1a2c;--muted: #5b6b82;--muted-2: #7686a0;--accent: #1f7ae0;--accent-strong: #1768c4;--accent-2: #0ea5c4;--accent-soft: rgba(31, 122, 224, .1);--accent-border: rgba(31, 122, 224, .28);--ring: rgba(31, 122, 224, .5);--accent-fill: var(--accent-strong);--on-accent: #ffffff;--success: #047857;--warn: #b45309;--danger: #b91c1c;--shadow-sm: 0 1px 2px rgba(15, 35, 70, .12);--shadow: 0 18px 40px -28px rgba(15, 35, 70, .4)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);overflow-x:hidden}h1,h2,h3,h4{color:var(--text-strong);font-weight:700;letter-spacing:-.02em;line-height:1.15;margin:0}p{margin:0}a{color:var(--accent-strong);text-decoration:none}a:hover{color:var(--accent)}code,.mono{font-family:var(--mono)}img,svg{max-width:100%}button{font-family:inherit}:focus-visible{outline:2px solid var(--ring);outline-offset:2px;border-radius:4px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important}}.surface{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.app-shell{min-height:100vh;display:grid;align-items:start;padding:var(--space-8)}.builder-panel{width:min(100%,840px);margin:0 auto}.builder-heading{margin-bottom:var(--space-6)}.eyebrow{color:var(--accent-2);font-size:var(--text-sm);font-weight:700;margin-bottom:var(--space-2);text-transform:uppercase}.competitor-form,.competitor-list{display:grid;gap:var(--space-4)}.competitor-row{margin:0;padding:var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm)}.competitor-row legend{padding:0 var(--space-2);color:var(--text-strong);font-weight:700}.competitor-controls{display:grid;grid-template-columns:minmax(0,1fr) auto 44px;gap:var(--space-3);align-items:end}label{display:grid;gap:var(--space-2);color:var(--text-strong);font-size:var(--text-sm);font-weight:700}input{width:100%;min-height:44px;margin:0;padding:0 var(--space-3);color:var(--text-strong);background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--radius-sm);font:inherit}input::placeholder{color:var(--muted)}.field-status{min-height:1.4em;margin-top:var(--space-2);color:var(--muted);font-size:var(--text-sm)}.result-list{display:grid;gap:var(--space-2);margin-top:var(--space-3)}.result-option{display:grid;gap:var(--space-1);width:100%;padding:var(--space-3);color:var(--text);text-align:left;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer}.result-option:hover{border-color:var(--accent-border)}.result-option span:first-child{color:var(--text-strong);font-weight:700}.result-option small{color:var(--muted);font-size:var(--text-sm)}.builder-actions{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--space-3)}.race-panel{width:min(100%,900px);margin:0 auto;display:grid;gap:var(--space-6)}.battle-results{min-width:0}.race-heading{display:grid;gap:var(--space-2)}.race-list{display:grid;gap:var(--space-3);margin:0;padding:0;list-style:none}.race-row{display:grid;gap:var(--space-3);padding:var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm)}.race-row-header{display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:var(--space-3);align-items:baseline}.race-rank,.race-title,.race-value{color:var(--text-strong);font-weight:700}.race-title{overflow-wrap:anywhere}.race-value{font-family:var(--mono);text-align:right}.race-bar-track{height:18px;overflow:hidden;background:var(--surface-2);border:1px solid var(--border-strong);border-radius:999px}.race-bar-fill{display:block;height:100%;min-width:2px;transition:width var(--duration) ease}.playback-controls{display:grid;grid-template-columns:repeat(4,max-content) minmax(180px,1fr);gap:var(--space-3);align-items:end}.playback-controls .field-status{grid-column:1 / -1;margin-top:0}.timeline-scrub{min-width:180px}.timeline-panel,.battle-state{width:min(100%,900px);min-width:0;margin:0 auto;display:grid;gap:var(--space-4)}.timeline-heading{display:grid;gap:var(--space-2)}.timeline-table-wrap{min-width:0;max-width:100%;overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm)}.timeline-table{width:100%;min-width:560px;border-collapse:collapse;background:var(--surface)}.timeline-table th,.timeline-table td{padding:var(--space-3);text-align:right;border-bottom:1px solid var(--border)}.timeline-table th{color:var(--text-strong);font-weight:700}.timeline-table th:first-child,.timeline-table td:first-child{text-align:left}.timeline-table tbody tr:last-child th,.timeline-table tbody tr:last-child td{border-bottom:0}.timeline-table td{font-family:var(--mono)}.state-notice,.battle-state{padding:var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm)}.battle-state h2{font-size:var(--text-xl)}.battle-state-error{border-color:color-mix(in srgb,var(--danger) 55%,var(--border))}.primary-button,.secondary-button,.icon-button{min-height:44px;border:1px solid transparent;border-radius:var(--radius-sm);font-weight:700;cursor:pointer}.primary-button,.secondary-button{padding:0 var(--space-4)}.primary-button{color:var(--on-accent);background:var(--accent-fill)}.secondary-button{color:var(--text-strong);background:var(--surface-2);border-color:var(--border-strong)}.icon-button{width:44px;color:var(--text-strong);background:var(--surface-2);border-color:var(--border-strong);font-size:var(--text-xl);line-height:1}button:hover:not(:disabled){border-color:var(--accent-border)}button:disabled{color:var(--muted-2);cursor:not-allowed;opacity:.65}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:640px){.app-shell{padding:var(--space-4)}.competitor-controls{grid-template-columns:1fr 44px}.competitor-controls label,.competitor-controls .secondary-button{grid-column:1 / -1}.builder-actions{display:grid}.race-row-header{grid-template-columns:44px minmax(0,1fr)}.race-value{grid-column:2;text-align:left}.playback-controls{grid-template-columns:1fr 1fr}.timeline-scrub{grid-column:1 / -1}}
