:root{color-scheme:light;--color-bg:#f5f6f8;--color-surface:#ffffff;--color-border:#e2e5ea;--color-text:#1a1d23;--color-text-muted:#5b6270;--color-primary:#1f6feb;--color-primary-dark:#1655b8;--color-danger:#b3261e;--color-danger-bg:#fdecea;--color-danger-border:#f5c2be;--color-caa-bg:#e6f4ea;--color-caa-text:#1e7b34;--color-highlight-bg:#fff1a8;--radius:10px;--radius-sm:6px;--shadow-sm:0 1px 2px rgba(16,24,40,0.06);--shadow-md:0 4px 14px rgba(16,24,40,0.1);--font-sans:system-ui,-apple-system,"Segoe UI",sans-serif}*{box-sizing:border-box}body{margin:0;font-family:var(--font-sans);color:var(--color-text);background:var(--color-bg);line-height:1.5}a{color:var(--color-primary)}.container{max-width:960px;margin:0 auto;padding:0 1.25rem}.site-header{background:var(--color-surface);border-bottom:1px solid var(--color-border)}.site-header .container{padding-top:1rem;padding-bottom:1rem}.site-title{font-weight:700;font-size:1.15rem;text-decoration:none;color:var(--color-text)}.page{padding:2rem 0 3rem}.page h1{font-size:1.75rem;margin:0 0 1.25rem}.lead{font-size:1.05rem}.hint,.lead{color:var(--color-text-muted)}.error{color:var(--color-danger);background:var(--color-danger-bg);border:1px solid var(--color-danger-border);padding:.75rem 1rem;border-radius:var(--radius-sm)}.back-link{margin-top:1.5rem}.cta-link{display:inline-block;margin-top:.5rem;padding:.65rem 1.4rem;background:var(--color-primary);color:#fff;font-weight:600;text-decoration:none;border-radius:var(--radius-sm)}.cta-link:hover{background:var(--color-primary-dark)}.search-form{display:flex;flex-wrap:wrap;gap:1rem;align-items:end;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:1.25rem;margin-bottom:1.5rem;box-shadow:var(--shadow-sm)}.search-form .field{display:flex;flex-direction:column;gap:.35rem;flex:1 1 160px;min-width:140px}.search-form label{font-size:.9rem;font-weight:600;color:var(--color-text-muted)}.search-form input,.search-form select{padding:.55rem .65rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:.95rem;background:#fff;font-family:inherit}.search-form input:focus,.search-form select:focus{outline:2px solid var(--color-primary);outline-offset:1px}.search-form button{padding:.62rem 1.4rem;border:none;border-radius:var(--radius-sm);background:var(--color-primary);color:#fff;font-weight:600;font-size:.95rem;cursor:pointer;flex:0 0 auto}.search-form button:hover{background:var(--color-primary-dark)}.map-wrapper{border-radius:var(--radius);overflow:hidden;border:1px solid var(--color-border);margin-bottom:1.5rem;box-shadow:var(--shadow-sm)}.results-list{list-style:none;margin:0;padding:0;display:grid;grid-gap:1rem;gap:1rem}.empty-message{color:var(--color-text-muted)}.result-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:1.1rem 1.25rem;box-shadow:var(--shadow-sm);transition:box-shadow .15s ease,transform .15s ease}.result-card:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.result-card h2{margin:0 0 .35rem;font-size:1.1rem}.result-card h2 a{text-decoration:none;color:var(--color-text)}.result-card .distance,.result-card h2 a:hover{color:var(--color-primary)}.result-card .distance{font-weight:600;font-size:.85rem;margin:0 0 .35rem}.result-card .address,.result-card .courses{color:var(--color-text-muted);font-size:.9rem;margin:.15rem 0}.result-card mark{background:var(--color-highlight-bg);color:var(--color-text);border-radius:3px;padding:0}.detail-page .school-header{margin-bottom:1.5rem}.detail-page .school-header h1{margin:.35rem 0 .5rem}.badge-caa{display:inline-block;background:var(--color-caa-bg);color:var(--color-caa-text);font-size:.8rem;font-weight:600;padding:.25rem .6rem;border-radius:999px;margin:0}.detail-page section{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:1.1rem 1.25rem;margin-bottom:1rem;box-shadow:var(--shadow-sm)}.detail-page section h2{margin-top:0;font-size:1.05rem}.detail-page section ul{margin:0;padding-left:1.1rem}.detail-page section li{margin:.3rem 0}