:root{--text:#1a1a1a;--muted:#5b5b5b;--bg:#fff;--panel:#f4f5f7;--border:#d9dce1;--accent:#1d5fd1;--accent-text:#fff;--ok-bg:#e3f4e8;--ok-text:#1b5e2c;--warn-bg:#fff3d6;--warn-text:#6b4a00;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--text:#ececec;--muted:#a8a8a8;--bg:#15171a;--panel:#1f2226;--border:#363a40;--accent:#7aa7ff;--accent-text:#0b1220;--ok-bg:#173322;--ok-text:#9ee0b0;--warn-bg:#3a2e10;--warn-text:#f3d48a}}*{box-sizing:border-box}body{overflow-wrap:anywhere;color:var(--text);background:var(--bg);margin:0;font:17px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}header,main,footer{max-width:40rem;margin:0 auto;padding:0 16px}header{padding-top:16px}.home{color:var(--muted);font-weight:600;text-decoration:none}footer{border-top:1px solid var(--border);color:var(--muted);margin-top:3rem;padding-bottom:2rem;font-size:.9rem}h1{margin:1rem 0 .5rem;font-size:1.6rem;line-height:1.25}h2{margin:2rem 0 .5rem;font-size:1.15rem}a{color:var(--accent)}label{margin:1.25rem 0 .35rem;font-weight:600;display:block}input,select,button{font:inherit}input,select{border:1px solid var(--border);background:var(--bg);width:100%;color:var(--text);border-radius:8px;padding:.6rem .7rem}.badge{border-radius:999px;padding:.2rem .6rem;font-size:.85rem;font-weight:600;display:inline-block}.badge.ok{background:var(--ok-bg);color:var(--ok-text)}.badge.warn{background:var(--warn-bg);color:var(--warn-text)}.panel{background:var(--panel);border-radius:12px;margin:1rem 0;padding:1rem}.school-list{margin:1rem 0;padding:0;list-style:none}.school-list li{border-bottom:1px solid var(--border)}.school-list a{color:var(--text);justify-content:space-between;gap:1rem;padding:.7rem 0;text-decoration:none;display:flex}.school-list .note{color:var(--muted);white-space:nowrap;font-size:.85rem}.buttons{gap:.6rem;display:grid}.button{text-align:center;border:1px solid var(--accent);background:var(--accent);color:var(--accent-text);cursor:pointer;border-radius:10px;padding:.75rem 1rem;font-weight:600;text-decoration:none;display:block}.button.secondary{color:var(--accent);background:0 0}.copy-row{gap:.5rem;display:flex}.copy-row input{flex:1;min-width:0}.copy-row .button{flex:none}.hint{color:var(--muted);margin:.25rem 0 0;font-size:.85rem}table{border-collapse:collapse;width:100%;font-size:.95rem}th,td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:.45rem .5rem .45rem 0}th{color:var(--muted);font-weight:600}tr.past{color:var(--muted)}tr.inset td:first-child{font-weight:600}[hidden]{display:none!important}
