:root{--bg:#f4f6fb;--surface:#fff;--border:#dce3f0;--border-soft:#eaeef6;--text:#101828;--muted:#64748b;--muted-2:#7c8aa5;--accent:#1d4ed8;--accent-tint:#1d4ed821;--accent-tint-light:#1d4ed812;--teal:#0d9488;--elite:#f59e0b;--nwag:#e23d6b;--senior:#c58a1e;--neutral-bg:#e7ecf7;--neutral-text:#7c8aa5;--neutral-tick:#a8b4ce;--neutral-label:#8a93a8;--font-heading:"Fredoka", sans-serif;--font-body:"IBM Plex Sans", sans-serif;--font-mono:"IBM Plex Mono", monospace}:root[data-theme=dark]{--bg:#0a1120;--surface:#121b2e;--border:#263453;--border-soft:#1b2740;--text:#e7ecf7;--muted:#93a1c2;--muted-2:#7c8aa5;--accent:#5b8cff;--accent-tint:#5b8cff38;--accent-tint-light:#5b8cff1f;--teal:#2dd4bf;--elite:#fbbf24;--nwag:#f4679a;--senior:#e0ac4f;--neutral-bg:#1b2740;--neutral-text:#7c8aa5;--neutral-tick:#45527a;--neutral-label:#7c8aa5}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);font-family:var(--font-body);margin:0;transition:background .15s,color .15s}a{color:var(--accent)}a:hover{color:#143aa6}button{font-family:var(--font-body)}.page{flex-direction:column;gap:20px;max-width:1320px;margin:0 auto;padding:40px 32px;display:flex}.back-link{color:var(--accent);align-items:center;gap:6px;width:fit-content;font-size:13px;font-weight:600;text-decoration:none;display:flex}.page-title{font-family:var(--font-heading);font-size:27px;font-weight:700}.brand-title{font-family:var(--font-heading);color:var(--accent);letter-spacing:-.01em;font-size:40px;font-weight:700;line-height:1.1}.page-subtitle{color:var(--muted);font-size:14px}.card{background:var(--surface);border:1px solid var(--border);border-radius:12px}.chip-row{flex-wrap:wrap;gap:10px;display:flex}.chip{background:var(--surface);border:1px solid var(--border);color:var(--muted);border-radius:6px;padding:6px 14px;font-size:13px}.dropdown{position:relative}.dropdown select{appearance:none;box-sizing:border-box;background:var(--surface);border:1px solid var(--border);width:100%;color:var(--text);font-size:16px;font-weight:600;font-family:var(--font-body);cursor:pointer;border-radius:10px;padding:12px 38px 12px 16px}.dropdown .chevron{pointer-events:none;color:var(--muted);font-size:12px;position:absolute;top:50%;right:16px;transform:translateY(-50%)}.legend-row{color:var(--muted);flex-wrap:wrap;gap:18px;font-size:12px;display:flex}.legend-item{align-items:center;gap:6px;display:flex}.dot{background:var(--accent);border-radius:50%;width:10px;height:10px;display:inline-block}.swatch{border-radius:2px;width:12px;height:3px;display:inline-block}.switch-track{cursor:pointer;background:var(--border);border-radius:11px;width:40px;height:22px;position:relative}.switch-track.on{background:var(--accent)}.switch-knob{background:#fff;border-radius:50%;width:18px;height:18px;transition:left .15s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #10182840}.switch-knob.on{left:20px}.badge{border-radius:6px;width:fit-content;padding:4px 10px;font-size:12px;font-weight:600}.badge-neutral{background:var(--neutral-bg);color:var(--neutral-text)}.badge-light{background:var(--accent-tint-light);color:var(--accent)}.badge-medium{background:var(--accent-tint);color:var(--accent)}.badge-strong{background:var(--accent);color:#fff}.badge-elite{background:var(--elite);color:#fff}.table-head{border-bottom:1px solid var(--border);color:var(--muted-2);text-transform:uppercase;letter-spacing:.04em;gap:18px;padding:14px 24px;font-size:12px;font-weight:600;display:grid}.table-row{border-bottom:1px solid var(--border-soft);align-items:center;gap:18px;padding:16px 24px;display:grid}.table-row:last-child{border-bottom:none}.btn{cursor:pointer;font-size:15px;font-weight:600;font-family:var(--font-body);border:none;border-radius:8px;padding:12px 22px}.btn-primary{background:var(--accent);color:#fff}.btn-secondary{color:var(--accent);border:1px solid var(--border);background:#fff}.btn-ghost{border:1px solid var(--border);color:var(--muted-2);background:0 0}.input{box-sizing:border-box;background:var(--surface);border:1px solid var(--border);color:var(--text);font-size:15px;font-family:var(--font-body);border-radius:10px;width:100%;padding:12px 16px}.theme-toggle{border:1px solid var(--border);background:var(--surface);width:40px;height:40px;color:var(--muted-2);cursor:pointer;border-radius:10px;flex:none;justify-content:center;align-items:center;font-size:18px;display:flex}.table-scroll{-webkit-overflow-scrolling:touch;overflow-x:auto}@media (width<=720px){.page{gap:16px;padding:24px 16px}.brand-title{font-size:28px}.page-title{font-size:21px}.table-head,.table-row{min-width:720px}}
