:root {font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:16px;color-scheme:dark;--bg:#111613;--panel:#1b221d;--surface:#252e28;--text:#f0f2e9;--muted:#abb5ab;--line:#354239;--accent:#d7fa70;--ink:#20300e;--warn:#f6cf8e;--radius:18px}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);line-height:1.5}body[data-theme=light]{color-scheme:light;--bg:#f2f3ed;--panel:#fff;--surface:#e6eae1;--text:#202b24;--muted:#59665b;--line:#cbd4c8;--accent:#36571a;--ink:#fff;--warn:#855315}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit;border:1px solid var(--line);border-radius:12px;background:var(--surface);min-height:44px;padding:10px 15px}button:hover{border-color:var(--muted)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:3px}a{color:var(--text)}button.primary{background:var(--accent);color:var(--ink);border-color:transparent;font-weight:700}button.quiet{background:none}button[aria-pressed=true]{background:var(--accent);color:var(--ink);border-color:transparent}h1,h2,h3,p{margin:0}h1{font-size:clamp(1.8rem,5vw,2.6rem);line-height:1.15;letter-spacing:-.045em}h2{font-size:1.15rem}h3{font-size:1rem}small,.muted{color:var(--muted)}.prototype-banner{font-size:.7rem;font-weight:700;text-align:center;letter-spacing:.08em;background:var(--surface);padding:7px 14px;color:var(--muted)}.shell{max-width:940px;margin:auto;padding:0 28px 145px}.masthead{display:flex;justify-content:space-between;align-items:center;padding:28px 0 35px}.wordmark{display:flex;gap:10px;align-items:center;text-decoration:none;font-weight:800;letter-spacing:.06em}.mark{font-style:italic;letter-spacing:-.15em;color:var(--accent);font-size:1.5rem;margin-right:5px}.alpha{font-size:.6rem;border:1px solid var(--line);padding:2px 5px;border-radius:4px;color:var(--muted)}.icon-button{width:44px;font-size:1.3rem;padding:0;background:transparent}.eyebrow{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:700;margin-bottom:8px}.intro{display:flex;justify-content:space-between;gap:20px;align-items:flex-end;margin-bottom:24px}.intro p{margin-top:10px;color:var(--muted);max-width:520px;font-size:.92rem}.pill{white-space:nowrap;padding:5px 9px;background:var(--surface);border:1px solid var(--line);border-radius:30px;font-size:.7rem;font-weight:650}.segment{display:flex;background:var(--panel);border:1px solid var(--line);padding:4px;border-radius:14px;gap:4px;margin-bottom:20px}.segment button{flex:1;background:none;border:0;font-weight:650}.segment button[aria-pressed=true]{background:var(--accent);color:var(--ink)}.source-status{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:26px;font-size:.73rem}.source-status span{color:var(--muted);display:flex;gap:7px;align-items:center}.source-status i{display:block;width:6px;height:6px;border-radius:50%;background:var(--accent)}.race-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:22px;overflow-wrap:anywhere}.card-top{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:17px}.source-label{font-size:.65rem;letter-spacing:.12em;font-weight:750;color:var(--accent);text-transform:uppercase}.card h3{font-size:1.22rem;letter-spacing:-.02em;line-height:1.3;margin:6px 0 7px}.track{color:var(--muted);font-size:.85rem;min-height:2.6em}.facts{display:flex;gap:12px;margin:18px 0 14px;flex-wrap:wrap;font-size:.9rem}.facts span:first-child{font-weight:700}.requirement{padding-top:13px;border-top:1px solid var(--line);font-size:.75rem;color:var(--muted)}.section-heading{display:flex;justify-content:space-between;align-items:center;margin:26px 0 13px}.section-heading small{font-size:.75rem}.stack{display:grid;gap:12px}.source-row{display:flex;align-items:center;justify-content:space-between;gap:18px}.source-row p{font-size:.78rem;color:var(--muted);margin-top:4px}.switch{width:50px;min-width:50px;border-radius:30px;min-height:32px;height:32px;padding:4px;background:var(--surface)}.switch::after{content:"";display:block;background:var(--muted);width:22px;height:22px;border-radius:50%;transition:transform .15s}.switch[aria-checked=true]{background:var(--accent)}.switch[aria-checked=true]::after{background:var(--ink);transform:translateX(17px)}.source-detail{display:flex;justify-content:space-between;align-items:center;padding-top:15px;margin-top:17px;border-top:1px solid var(--line);font-size:.8rem}.source-detail button{font-size:.8rem}.notice-card{background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--warn);border-radius:12px;padding:17px;margin:0 0 18px;font-size:.86rem}.notice-card p{color:var(--muted);margin-top:5px}.empty{text-align:center;padding:48px 20px}.empty .symbol{font-size:2rem;color:var(--accent);margin-bottom:16px}.empty p{color:var(--muted);max-width:400px;margin:12px auto 22px}.chips{display:flex;flex-wrap:wrap;gap:9px;margin-top:14px}.chips button{font-size:.85rem}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.helper{font-size:.82rem;color:var(--muted);margin-top:13px}.form-field{display:grid;gap:8px;margin:18px 0}.form-field label{font-size:.85rem;font-weight:650}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:12px;padding:13px;background:var(--bg);color:var(--text)}textarea{resize:vertical;min-height:150px}.form-footer{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:15px}.bottom-nav{position:fixed;bottom:max(16px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:min(470px,calc(100% - 28px));display:flex;gap:3px;padding:7px;background:var(--panel);border:1px solid var(--line);border-radius:20px;box-shadow:0 12px 40px #0003;z-index:5}.bottom-nav button{display:grid;justify-items:center;gap:3px;flex:1;padding:7px 4px;font-size:.65rem;background:none;border-color:transparent;min-height:55px}.bottom-nav button span{font-size:1.3rem;line-height:1.2}.bottom-nav button[aria-current=page]{background:var(--surface);color:var(--accent)}.qa-panel{margin-top:40px;border-top:1px dashed var(--line);padding-top:15px;color:var(--muted);font-size:.75rem}.qa-panel label{display:flex;gap:10px;align-items:center;margin:14px 0}.qa-panel select{width:auto;max-width:65%;padding:9px}.qa-panel input{width:auto}.qa-panel summary{cursor:pointer;min-height:44px}.qa-panel p{max-width:440px}#notice{position:fixed;bottom:105px;left:50%;transform:translateX(-50%);background:var(--accent);color:var(--ink);padding:12px 18px;border-radius:12px;font-size:.85rem;max-width:90%;box-shadow:0 5px 25px #0004;z-index:6}#notice:empty{display:none}.back{margin-bottom:22px}.admin-zone{margin-top:20px;border:1px dashed var(--accent)}.schedule-line{display:flex;justify-content:space-between;gap:15px;padding:16px 0;border-bottom:1px solid var(--line);font-size:.86rem}.skeleton{height:200px;background:var(--surface);border-radius:var(--radius)}@media(max-width:600px){.shell{padding:0 17px 135px}.masthead{padding:20px 0 27px}.intro{align-items:flex-start}.intro>.pill{display:none}.race-grid{grid-template-columns:1fr}.card{padding:19px}.track{min-height:0}.source-row{gap:12px}.form-footer{align-items:flex-start;flex-direction:column}.form-footer button{width:100%}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
[hidden]{display:none!important}button:disabled{cursor:wait;opacity:.55}.masthead{padding-top:max(20px,env(safe-area-inset-top))}.loading{padding:40px 0}.source-status .failed i{background:var(--warn)}.card+.card{margin-top:14px}.race-grid .card{margin-top:0}.save-state{font-size:.8rem;color:var(--muted)}.stack .card{margin-top:0}.form-field.checkbox{display:flex;align-items:center}.checkbox input{width:auto;min-width:22px;min-height:22px}.action-error{color:var(--warn)}.diagnostics{white-space:pre-wrap;overflow-wrap:anywhere;font-size:.8rem}.date-line{font-size:.8rem;color:var(--muted);margin-top:12px}
