@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{font-family:'DM Sans',sans-serif;color:#243a35;background:#f6f7f3;font-synthesis:none}*{box-sizing:border-box}body{margin:0}header{height:88px;border-bottom:1px solid #dce3db;display:flex;align-items:center;justify-content:space-between;padding:0 5%}.brand{font:800 25px Manrope,sans-serif;color:#285346;text-decoration:none;display:flex;gap:12px}.version{font-size:10px;letter-spacing:1.4px;color:#718078}.version b{margin-left:20px;border:1px solid #d5ddd3;padding:7px 10px;border-radius:5px;font-weight:400}main{max-width:1380px;margin:auto;padding:48px 5%}.intro{display:flex;justify-content:space-between;align-items:center;margin-bottom:40px}.eyebrow{font-size:10px;letter-spacing:2px;color:#658474;font-weight:700}h1{font:700 clamp(28px,3.4vw,44px) Manrope,sans-serif;letter-spacing:-1.8px;margin:12px 0}p{color:#768179;font-size:14px;line-height:1.6}.year{font-size:12px;display:grid;gap:8px;width:130px}select,button{font:inherit}select{width:100%;border:1px solid #dbe1d8;border-radius:7px;background:#fff;padding:11px;color:#243a35;min-width:0}button{border:1px solid #d3ddd2;background:#fff;color:#365e4b;border-radius:7px;padding:10px 14px;cursor:pointer}button:hover{background:#edf3e9}button:disabled{opacity:.5;cursor:default}.section-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}h2{font:700 17px Manrope,sans-serif;margin:0}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.card{background:white;border:1px solid #dce2d8;border-radius:12px;padding:18px;min-width:0}.card:first-child{background:#edf2e6;border-color:#b8c9a6}.card-top{display:flex;align-items:center;justify-content:space-between;font-size:9px;letter-spacing:1.3px;font-weight:700;color:#788973;margin-bottom:12px}.remove{padding:0 5px;border:0;background:transparent;font-size:18px}.card label{display:block;font-size:11px;margin:14px 0 6px;color:#748171}.card select{font-size:13px}.hint{font-size:11px;margin:13px 0 27px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:18px 0 26px}.stat{padding:24px;border:1px solid #dce2d8;border-radius:12px;background:white}.stat.accent{background:#284f40;color:white;border-color:#284f40}.stat strong{font:700 36px Manrope,sans-serif;display:block}.stat span{font-size:12px;display:block;margin-top:7px}.stat small{font-size:11px;display:block;margin-top:9px;opacity:.65}.recommend{background:#eaf0e1;border:1px solid #d4dfc6;border-radius:10px;padding:18px 22px;margin-bottom:30px;font-size:13px;line-height:1.7}.recommend b{display:block}.table-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:16px}.filters{display:flex;gap:4px;background:#e9eee6;padding:4px;border-radius:8px}.filters button{border:0;background:transparent;padding:8px 12px;font-size:11px}.filters button.active{background:white;box-shadow:0 1px 4px #233a3510}.table-wrap{overflow:auto;border:1px solid #dde3d9;border-radius:12px;background:white}table{width:100%;border-collapse:collapse;min-width:670px;text-align:left}th{font-size:11px;color:#73816f;background:#f0f3ec;padding:16px}td{border-top:1px solid #edf0e9;padding:17px 16px;font-size:12px;line-height:1.5}th:first-child,td:first-child{padding-left:22px}td:first-child{white-space:nowrap;font-weight:700}td small{display:block;font-weight:400;color:#91998d;font-size:10px}.match{background:#f4f8ef}.pill{display:inline-block;border-radius:5px;background:#e5eedb;color:#47623d;padding:3px 7px;font-size:10px}.dash{color:#c5cabe}.table-count{font-size:11px;color:#89927f;margin:12px 0}footer{border-top:1px solid #dde3d8;margin-top:35px;padding-top:22px;font-size:10px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;color:#8b9385}footer a{color:#577953}footer p{font-size:10px;width:100%;margin:0}#status{font-size:13px;color:#63735e}#status.error{padding:16px;background:#fcebe6;color:#953c29;border-radius:8px}.empty{text-align:center;padding:35px}button:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid #93b17f;outline-offset:3px}@media(max-width:850px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.table-head{align-items:flex-start;flex-direction:column}.version{display:none}}@media(max-width:520px){main{padding:30px 5%}.intro{align-items:flex-start;gap:12px}h1{letter-spacing:-1px}.year{min-width:85px}.cards,.stats{grid-template-columns:1fr}.stat{padding:18px}.stats{gap:9px}.filters{flex-wrap:wrap}.intro p{font-size:12px}}

/* Center each location row, including the initial pair. */
.cards{display:flex;flex-wrap:wrap;justify-content:center;gap:18px}.card{flex:0 1 340px;width:340px}.card-top{height:22px}.locations>.section-title{max-width:698px;margin-left:auto;margin-right:auto}.hint{text-align:center}#status{text-align:center;padding:18px}.card select{max-width:100%}@media(max-width:520px){.card{flex-basis:100%;width:100%}}
#school:not(:empty){margin-top:40px;padding-top:28px;border-top:1px solid #dce3db}.school-subtitle{font-weight:400;color:#788973}.school-locations{display:flex;flex-wrap:wrap;gap:14px;margin:20px 0}.school-location{flex:1 1 240px;padding:16px;background:white;border:1px solid #dce3db;border-top:3px solid var(--location-color);border-radius:9px;min-width:0}.school-location b{font-size:13px}.school-location label{display:block;font-size:11px;margin-top:15px}.school-location p{font-size:11px}.color-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--location-color);margin-right:8px}.school-month{display:flex;align-items:center;justify-content:space-between}.school-month h3{font-size:20px}.school-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border:1px solid #dce3db;border-radius:10px;overflow:hidden;background:white}.weekday{text-align:center;padding:12px;background:#edf2e6;font-size:12px}.school-day{min-height:88px;border-radius:0;border:0;border-top:1px solid #edf0e9;border-right:1px solid #edf0e9;text-align:left;padding:12px;display:flex;flex-direction:column;gap:10px;justify-content:space-between}.school-day.selected{background:#e3edd9;box-shadow:inset 0 0 0 2px #63875e}.school-day>div{display:flex;gap:3px;flex-wrap:wrap}.school-mark{display:inline-block;color:white;font-size:10px;border-radius:4px;padding:3px 7px}.school-detail{padding:20px;background:#edf2e6;margin-top:16px;border-radius:9px;font-size:13px}.school-detail p{font-size:12px;margin:6px 0}.school-note{font-size:11px}.school-note a{color:#477956}@media(max-width:520px){.school-day{padding:7px;min-height:75px}.school-mark{padding:2px 4px}.school-subtitle{display:block}.school-locations{display:block}.school-location{margin-bottom:10px}#school .section-title{align-items:flex-start;gap:8px}}
