:root{--ground: #fafafc;--surface: #ffffff;--surface-alt: #f1f0f6;--ink: #1b1a24;--ink-2: #56535f;--ink-3: #7c7889;--rule: #e3e1ea;--rule-strong: #cfccda;--accent: #6a3fd4;--accent-ink: #5732b4;--accent-soft: #efe9fd;--good: #1e7a4b;--good-soft: #e3f3ea;--warn: #9a6608;--warn-soft: #f8eeda;--bad: #b3261e;--bad-soft: #fbe9e7;--f-display: "Archivo", "Helvetica Neue", Arial, sans-serif;--f-body: "Source Serif 4", Georgia, "Times New Roman", serif;--f-ui: "Archivo", "Helvetica Neue", Arial, sans-serif;--f-mono: "IBM Plex Mono", ui-monospace, "SFMono-Regular", Consolas, monospace;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 24px;--sp-6: 32px;--sp-7: 48px;--sp-8: 72px;--radius: 5px;--radius-sm: 3px;--shadow: 0 1px 2px rgb(27 26 36 / .06), 0 4px 16px rgb(27 26 36 / .05)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--ground: #131218;--surface: #1a1922;--surface-alt: #22212c;--ink: #ecebf2;--ink-2: #a5a2b1;--ink-3: #837f91;--rule: #2d2b38;--rule-strong: #403d4f;--accent: #a98bfa;--accent-ink: #bea6ff;--accent-soft: #272040;--good: #4fd08c;--good-soft: #14301f;--warn: #e2ac44;--warn-soft: #33260d;--bad: #f2857c;--bad-soft: #3a1714;--shadow: 0 1px 2px rgb(0 0 0 / .4), 0 4px 16px rgb(0 0 0 / .3)}}:root[data-theme=dark]{--ground: #131218;--surface: #1a1922;--surface-alt: #22212c;--ink: #ecebf2;--ink-2: #a5a2b1;--ink-3: #837f91;--rule: #2d2b38;--rule-strong: #403d4f;--accent: #a98bfa;--accent-ink: #bea6ff;--accent-soft: #272040;--good: #4fd08c;--good-soft: #14301f;--warn: #e2ac44;--warn-soft: #33260d;--bad: #f2857c;--bad-soft: #3a1714;--shadow: 0 1px 2px rgb(0 0 0 / .4), 0 4px 16px rgb(0 0 0 / .3)}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--ground);color:var(--ink);-webkit-font-smoothing:antialiased}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:var(--radius-sm)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}body{font-family:var(--f-ui);font-size:15px;line-height:1.55}.centre{min-height:100vh;display:grid;place-items:center;padding:var(--sp-5)}.panel{width:100%;max-width:27rem;background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius);box-shadow:var(--shadow);padding:var(--sp-6);display:flex;flex-direction:column;gap:var(--sp-3)}.panel-title{font-family:var(--f-display);font-size:1.35rem;font-weight:600;letter-spacing:-.02em;margin:0}.eyebrow{font-family:var(--f-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);margin:0}.muted{color:var(--ink-2);margin:0}.small{font-size:.86rem}.footnote{margin-top:var(--sp-6);padding-top:var(--sp-4);border-top:1px solid var(--rule);color:var(--ink-3)}.row{display:flex;gap:var(--sp-2);margin-top:var(--sp-2)}.btn{font-family:var(--f-ui);font-size:.9rem;font-weight:600;padding:9px 16px;border-radius:var(--radius);border:1px solid var(--rule-strong);background:var(--surface);color:var(--ink);cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;transition:background-color .15s ease,border-color .15s ease}.btn:hover{border-color:var(--ink-3)}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-ink);border-color:var(--accent-ink)}.btn-quiet{border-color:transparent;background:transparent;color:var(--ink-2)}.btn-quiet:hover{background:var(--surface-alt)}.btn-block{width:100%;justify-content:center;margin-top:var(--sp-2)}.shell{min-height:100vh;display:flex;flex-direction:column}.appbar{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);padding:var(--sp-4) var(--sp-5);border-bottom:1px solid var(--rule);background:var(--surface)}.appbar-right{display:flex;align-items:center;gap:var(--sp-3)}.wordmark{font-family:var(--f-display);font-weight:700;font-size:1.05rem;letter-spacing:-.02em;color:var(--ink)}.tag{font-family:var(--f-mono);font-size:10.5px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;background:var(--warn-soft);color:var(--warn);padding:3px 8px;border-radius:var(--radius-sm);margin-left:var(--sp-2);vertical-align:2px}.content{flex:1;width:100%;max-width:60rem;margin:0 auto;padding:var(--sp-6) var(--sp-5) var(--sp-8)}.page-title{font-family:var(--f-display);font-size:1.5rem;font-weight:600;letter-spacing:-.02em;margin:0 0 var(--sp-3)}.placeholder{background:var(--surface-alt);border:1px dashed var(--rule-strong);border-radius:var(--radius);padding:var(--sp-5) var(--sp-6);margin-top:var(--sp-5)}.eyebrow-sm{font-family:var(--f-mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);margin:0 0 var(--sp-3)}ul.plain{margin:0;padding-left:var(--sp-5);color:var(--ink-2);display:flex;flex-direction:column;gap:var(--sp-2)}.appbar-left{display:flex;align-items:center;gap:var(--sp-5);min-width:0}.nav{display:flex;gap:var(--sp-1);overflow-x:auto}.navlink{font-size:.88rem;font-weight:600;color:var(--ink-2);text-decoration:none;padding:6px 11px;border-radius:var(--radius-sm);white-space:nowrap}.navlink:hover{background:var(--surface-alt)}.navlink.active{background:var(--accent-soft);color:var(--accent-ink)}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-4);flex-wrap:wrap;margin-bottom:var(--sp-5)}.page-head .page-title{margin-bottom:2px}.section{margin-top:var(--sp-7);padding-top:var(--sp-5);border-top:1px solid var(--rule)}.section-gap{margin-top:var(--sp-5)}.section-title{font-family:var(--f-display);font-size:1.05rem;font-weight:600;letter-spacing:-.01em;margin:0 0 var(--sp-3)}.panel-inline{background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius);padding:var(--sp-6);margin-bottom:var(--sp-5)}.error{color:var(--bad);background:var(--bad-soft);border-radius:var(--radius-sm);padding:var(--sp-3) var(--sp-4);margin:0 0 var(--sp-4)}.notice{background:var(--warn-soft);color:var(--warn);border-radius:var(--radius-sm);padding:var(--sp-3) var(--sp-4);margin:0 0 var(--sp-4);font-size:.9rem}.notice a{color:inherit}.form{display:flex;flex-direction:column;gap:var(--sp-4);max-width:46rem}.field{display:flex;flex-direction:column;gap:5px;flex:1;min-width:12rem}.field-row{display:flex;gap:var(--sp-4);flex-wrap:wrap}.field-label{font-size:.82rem;font-weight:600;color:var(--ink-2)}.field-hint{font-size:.8rem;color:var(--ink-3);line-height:1.45}.input{font-family:var(--f-ui);font-size:.95rem;padding:8px 11px;border-radius:var(--radius);border:1px solid var(--rule-strong);background:var(--surface);color:var(--ink);min-width:0}.input:focus{border-color:var(--accent)}.input.mono{font-family:var(--f-mono);font-size:.86rem}select.input{cursor:pointer}.fieldset{border:1px solid var(--rule);border-radius:var(--radius);padding:var(--sp-4) var(--sp-5) var(--sp-5);display:flex;flex-direction:column;gap:var(--sp-4);margin:0}.fieldset legend{padding:0 var(--sp-2)}.radio-row{display:flex;gap:var(--sp-4)}.radio{display:flex;align-items:center;gap:6px;font-size:.9rem;cursor:pointer}.danger-zone .section-title{color:var(--bad)}.btn.danger:hover{color:var(--bad);background:var(--bad-soft)}.btn-sm{font-size:.82rem;padding:5px 10px}.card-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--sp-2)}.card{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);flex-wrap:wrap;background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius);padding:var(--sp-3) var(--sp-4)}.card-main{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}.card-name{font-weight:600;letter-spacing:-.01em;color:var(--ink);text-decoration:none}a.card-name:hover{color:var(--accent-ink)}.card-meta,.card-actions{display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap}.dim-inline{font-size:.8rem;color:var(--ink-3)}.dim-inline.mono{font-family:var(--f-mono);font-size:.75rem}.chip{font-family:var(--f-mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;padding:3px 9px;border-radius:var(--radius-sm);border:1px solid var(--rule-strong);color:var(--ink-2);white-space:nowrap}.chip-ris{background:var(--accent-soft);border-color:transparent;color:var(--accent-ink)}.chip-tsl,.chip-ready{background:var(--good-soft);border-color:transparent;color:var(--good)}.chip-pending{background:var(--warn-soft);border-color:transparent;color:var(--warn)}.chip-race{background:var(--accent-soft);border-color:transparent;color:var(--accent-ink)}.chip-qualifying{background:var(--warn-soft);border-color:transparent;color:var(--warn)}.chip-practice{background:var(--surface-alt);border-color:transparent;color:var(--ink-2)}code{font-family:var(--f-mono);font-size:.86em;background:var(--surface-alt);border:1px solid var(--rule);border-radius:var(--radius-sm);padding:1px 5px}.error-inline{color:var(--bad)}.import-row{display:flex;gap:var(--sp-3);align-items:flex-start;width:100%}.import-pick{padding-top:6px}.import-body{display:flex;flex-direction:column;gap:var(--sp-2);min-width:0;flex:1}.import-source{font-size:12px;color:var(--ink-2);display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap}.import-fields{display:grid;grid-template-columns:minmax(120px,2fr) minmax(100px,1.4fr) minmax(90px,1fr) 150px 110px 90px;gap:var(--sp-2)}.import-fields .input{padding:5px 8px;font-size:13px}@media(max-width:900px){.import-fields{grid-template-columns:1fr 1fr}}.dim-card{opacity:.62}.modal{border:1px solid var(--rule-strong);border-radius:var(--radius);background:var(--surface);color:var(--ink);padding:0;max-width:min(1040px,94vw);width:100%;max-height:88vh;box-shadow:0 24px 60px #14122047}.modal::backdrop{background:#14122073}.modal-body{display:flex;flex-direction:column;gap:var(--sp-3);padding:var(--sp-5);max-height:88vh}.modal-scroll{overflow-y:auto;min-height:0;display:flex;flex-direction:column;gap:var(--sp-3)}.modal-head{display:flex;flex-direction:column;gap:var(--sp-1)}.modal-title{font-family:var(--f-display);font-size:19px;font-weight:600;margin:0}.modal-foot{display:flex;align-items:center;justify-content:flex-end;gap:var(--sp-3);padding-top:var(--sp-3);border-top:1px solid var(--rule)}.modal-foot .field-hint{margin-right:auto}.progress{height:4px;border-radius:2px;background:var(--surface-alt);overflow:hidden}.progress-bar{height:100%;width:34%;border-radius:2px;background:var(--accent);animation:progress-slide 1.5s ease-in-out infinite}@keyframes progress-slide{0%{transform:translate(-100%)}to{transform:translate(340%)}}@media(prefers-reduced-motion:reduce){.progress-bar{animation:none;width:100%;opacity:.5}}
