:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--page:#f6f5f2;--surface:#fcfcfb;--surface-2:#f0efec;--ink:#0b0b0b;--ink-2:#52514e;--muted:#77756f;--grid:#e1e0d9;--axis:#c3c2b7;--border:#0b0b0b1f;--accent:#1c5cab;--accent-ink:#fff;--accent-wash:#e3eefc;--danger:#b42828;--danger-wash:#fbe9e9;--good-ink:#006300;--good-wash:#e2f3e2;--bad-ink:#a12a2a;--bad-wash:#fbe6e6;--focus:#2a78d6;--series-1:#2a78d6;--series-2:#eb6834;--series-3:#1baf7a;--series-4:#eda100;--series-5:#e87ba4;--series-6:#008300;--series-7:#4a3aa7;--series-8:#e34948;--radius:12px;--tap:44px;--sidebar:300px;--tabbar-h:56px;--font:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--page:#0d0d0d;--surface:#1a1a19;--surface-2:#242422;--ink:#fff;--ink-2:#c3c2b7;--muted:#9a988f;--grid:#2c2c2a;--axis:#45453f;--border:#ffffff1f;--accent:#6da7ec;--accent-ink:#0b0b0b;--accent-wash:#1c2c42;--danger:#f08080;--danger-wash:#3a1d1d;--good-ink:#5fd35f;--good-wash:#16301a;--bad-ink:#f59a9a;--bad-wash:#3b1c1c;--focus:#6da7ec;--series-1:#3987e5;--series-2:#d95926;--series-3:#199e70;--series-4:#c98500;--series-5:#d55181;--series-6:#008300;--series-7:#9085e9;--series-8:#e66767}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{font-family:var(--font);background:var(--page);color:var(--ink);-webkit-tap-highlight-color:transparent;margin:0;font-size:16px;line-height:1.45;overflow-x:clip}h1,h2,h3{margin:0;line-height:1.2}h1{font-size:1.25rem}h2{font-size:1.05rem}h3{font-size:.95rem}a{color:var(--accent)}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.num{font-variant-numeric:tabular-nums}.muted{color:var(--muted)}.small{font-size:.85rem}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.stack{flex-direction:column;gap:12px;display:flex}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.spacer{flex:1}button,input,select,textarea{font:inherit;color:inherit}.btn{min-height:var(--tap);border:1px solid var(--border);background:var(--surface);cursor:pointer;white-space:nowrap;border-radius:10px;justify-content:center;align-items:center;gap:6px;padding:0 16px;display:inline-flex}.btn:hover{background:var(--surface-2)}.btn.primary{background:var(--accent);color:var(--accent-ink);border-color:#0000;font-weight:600}.btn.primary:hover{filter:brightness(1.08)}.btn.danger{color:var(--danger)}.btn.danger.solid{background:var(--danger);color:#fff;border-color:#0000}.btn.ghost{background:0 0;border-color:#0000}.btn:disabled{opacity:.5;cursor:default}.btn.small{min-height:36px;padding:0 10px;font-size:.9rem}.field{flex-direction:column;gap:4px;display:flex}.field>span{color:var(--ink-2);font-size:.85rem;font-weight:600}.input,select.input{min-height:var(--tap);border:1px solid var(--border);background:var(--surface);border-radius:10px;width:100%;padding:8px 12px;font-size:16px}.hint{color:var(--muted);font-size:.85rem}.error-text{color:var(--danger);font-size:.85rem}.seg{background:var(--surface-2);border-radius:10px;gap:2px;padding:3px;display:inline-flex}.seg button{cursor:pointer;min-height:38px;color:var(--ink-2);background:0 0;border:0;border-radius:8px;padding:0 12px}.seg button[aria-pressed=true]{background:var(--surface);color:var(--ink);font-weight:600;box-shadow:0 1px 2px #00000026}.chips{scrollbar-width:none;scroll-snap-type:x proximity;gap:8px;padding:2px 0 6px;display:flex;overflow-x:auto}.chips::-webkit-scrollbar{display:none}.chip{min-height:var(--tap);border:1px solid var(--border);background:var(--surface);cursor:pointer;scroll-snap-align:start;border-radius:999px;flex:none;align-items:center;gap:8px;padding:0 14px 0 10px;display:inline-flex}.chip[aria-pressed=true]{background:var(--accent-wash);border-color:var(--accent);font-weight:600}.chip .check{text-align:center;width:16px}.swatch{border-radius:3px;flex:none;width:12px;height:12px;display:inline-block}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);min-width:0;padding:14px}.banner{background:var(--accent-wash);border-radius:10px;padding:10px 14px}.banner.error{background:var(--danger-wash);color:var(--danger)}.shell{flex-direction:column;min-height:100dvh;display:flex}.topbar{z-index:10;padding:calc(8px + env(safe-area-inset-top)) calc(16px + env(safe-area-inset-right)) 8px calc(16px + env(safe-area-inset-left));background:color-mix(in srgb, var(--page) 88%, transparent);-webkit-backdrop-filter:saturate(1.4)blur(12px);border-bottom:1px solid var(--border);align-items:center;gap:12px;display:flex;position:sticky;top:0}.topbar .brand{align-items:center;gap:8px;font-weight:700;display:flex}.topnav{gap:4px;display:none}.topnav a{color:var(--ink-2);border-radius:8px;padding:8px 12px;text-decoration:none}.topnav a.active{background:var(--surface-2);color:var(--ink);font-weight:600}main{width:100%;max-width:1600px;padding:16px calc(16px + env(safe-area-inset-right)) calc(var(--tabbar-h) + 24px + env(safe-area-inset-bottom)) calc(16px + env(safe-area-inset-left));flex:1;min-width:0;margin:0 auto}.tabbar{z-index:20;grid-template-columns:repeat(var(--tabs,3), 1fr);padding:0 env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);background:color-mix(in srgb, var(--surface) 92%, transparent);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--border);display:grid;position:fixed;bottom:0;left:0;right:0}.tabbar a{min-height:var(--tabbar-h);color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:2px;font-size:.75rem;text-decoration:none;display:flex}.tabbar a.active{color:var(--accent);font-weight:600}.tabbar svg{width:24px;height:24px}@media (width>=900px){.tabbar{display:none}.topnav{display:flex}main{padding-bottom:32px}}.compare{flex-direction:column;gap:14px;display:flex}.filters{flex-direction:column;gap:14px;min-width:0;display:flex}.filters .group{flex-direction:column;gap:6px;min-width:0;display:flex}.filters .group>.label{color:var(--ink-2);text-transform:uppercase;letter-spacing:.04em;font-size:.8rem;font-weight:600}.school-list{display:none}.desktop-only{display:none!important}.grid{grid-template-columns:minmax(0,1fr);gap:14px;display:grid}@media (width>=900px){.compare{grid-template-columns:var(--sidebar) minmax(0, 1fr);align-items:start;gap:20px;display:grid}.filters{max-height:calc(100dvh - 96px);padding-right:4px;position:sticky;top:76px;overflow-y:auto}.filters .chips.schools{display:none}.school-list{flex-direction:column;gap:2px;display:flex}.desktop-only{display:revert!important}.grid{grid-template-columns:repeat(auto-fill,minmax(380px,1fr))}}.check-row{cursor:pointer;border-radius:8px;align-items:center;gap:10px;min-height:40px;padding:4px 8px;display:flex}.check-row:hover{background:var(--surface-2)}.check-row input{width:18px;height:18px;accent-color:var(--accent);margin:0}.chart-card h3{font-size:1rem}.chart-card .sub{color:var(--muted);font-size:.8rem}.chart-box{touch-action:pan-y;height:240px;margin-top:8px}.legend{color:var(--ink-2);flex-wrap:wrap;gap:4px 14px;margin-top:8px;font-size:.85rem;display:flex}.legend span{align-items:center;gap:6px;display:inline-flex}.tooltip{background:var(--surface);border:1px solid var(--border);border-radius:8px;min-width:140px;padding:8px 10px;font-size:.85rem;box-shadow:0 4px 16px #0000002e}.tooltip .t-row{align-items:center;gap:8px;display:flex}.tooltip .t-row b{font-variant-numeric:tabular-nums;margin-left:auto}.empty{text-align:center;color:var(--muted);padding:32px 16px}.table-wrap{-webkit-overflow-scrolling:touch;border-radius:8px;overflow-x:auto}table.data{border-collapse:collapse;width:100%;font-size:.9rem}table.data th,table.data td{border-bottom:1px solid var(--grid);text-align:left;vertical-align:middle;padding:8px 10px}table.data th{color:var(--ink-2);white-space:nowrap;background:var(--surface);font-size:.78rem;font-weight:600;position:sticky;top:0}table.data td.n,table.data th.n{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}table.data tr:last-child td{border-bottom:0}table.data .sticky-col{background:var(--surface);z-index:1;position:sticky;left:0}td.best{background:var(--good-wash);color:var(--good-ink);font-weight:600}td.worst{background:var(--bad-wash);color:var(--bad-ink)}.delta{color:var(--muted);font-size:.75rem;display:block}.sort-btn{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;padding:0;display:inline-flex}.sort-btn .rank{color:var(--accent);font-size:.65rem}details.collapsible>summary{cursor:pointer;min-height:var(--tap);align-items:center;gap:8px;font-weight:600;list-style:none;display:flex}details.collapsible>summary::-webkit-details-marker{display:none}details.collapsible>summary:before{content:"▸";transition:transform .15s}details.collapsible[open]>summary:before{transform:rotate(90deg)}.data-filters{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;display:grid}tr.editing td{background:var(--accent-wash)}tr.confirm-row td{background:var(--danger-wash)}td input.cell{border:1px solid var(--accent);background:var(--surface);border-radius:6px;width:100%;min-width:60px;min-height:36px;padding:4px 6px;font-size:16px}.result-cards{flex-direction:column;gap:8px;display:flex}.result-card{grid-template-columns:1fr auto;gap:2px 12px;padding:12px;display:grid}.result-card .v{font-variant-numeric:tabular-nums;text-align:right;font-size:1.1rem;font-weight:600}@media (width>=900px){.result-cards{display:none}}@media (width<=899px){.data-table{display:none}}.sheet-backdrop{z-index:50;background:#0006;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{background:var(--surface);width:100%;max-width:520px;padding:20px 20px calc(20px + env(safe-area-inset-bottom));border-radius:16px 16px 0 0;flex-direction:column;gap:12px;max-height:90dvh;display:flex;overflow-y:auto}@media (width>=900px){.sheet-backdrop{align-items:center}.sheet{border-radius:16px}}.centre{min-height:100dvh;padding:24px;padding-top:calc(24px + env(safe-area-inset-top));place-items:center;display:grid}.centre .card{text-align:center;flex-direction:column;align-items:center;gap:16px;width:100%;max-width:380px;padding:28px 24px;display:flex}.combo{position:relative}.combo ul{z-index:30;background:var(--surface);border:1px solid var(--border);border-radius:10px;max-height:260px;margin:0;padding:4px;list-style:none;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 8px 24px #0000002e}.combo li{min-height:var(--tap);cursor:pointer;border-radius:8px;align-items:center;gap:8px;padding:0 10px;display:flex}.combo li[aria-selected=true],.combo li:hover{background:var(--surface-2)}.combo li.new{color:var(--accent);font-weight:600}.form{max-width:560px}@media (width>=900px){.form-grid{grid-template-columns:1fr 1fr;gap:12px 16px;display:grid}.form-grid .wide{grid-column:1/-1}}@media (width<=899px){.form-grid{flex-direction:column;gap:12px;display:flex}}@media (width>=900px){.phone-only{display:none!important}}.field-label{color:var(--ink-2);font-size:.85rem;font-weight:600}.topbar svg{flex:none;width:22px;height:22px}.topbar .brand svg{width:24px;height:24px}@media (width<=899px){.compare .toggles{gap:8px;display:flex}.compare .toggles .seg button{padding:0 10px}}.field>.hint,.field>.error-text{font-size:.85rem;font-weight:400}.field>.hint{color:var(--muted)}.field>.error-text{color:var(--danger)}.data-table table.data td{white-space:nowrap}
