/* Schools for us (backend/schools_for_us.py): /near and /near/<place>. Answer first (the score and its
   three biggest reasons), then the workings under "How it scored". Works at 375px: 16px gutters, no sideways
   scroll, 44px tap targets. */
:root{--sfu-teal:#0E3B43;--sfu-coral:#CF3F2E;--sfu-mint:#D5F5E8;--sfu-wash:#F2FBF7;--sfu-line:#E3ECEA;--sfu-muted:#4A6A6F;--sfu-paper:#fff;--sfu-ink:#0E3B43}
:root[data-theme="dark"]{--sfu-mint:#1D4A44;--sfu-wash:#163238;--sfu-line:#2B4A4F;--sfu-muted:#A9C4C0;--sfu-paper:#0B2227;--sfu-ink:#E8F3F1}
.pp .sfu-lede{font-size:1rem;max-width:62ch}
.sfu-form{border:1px solid var(--sfu-line);border-radius:16px;padding:14px 16px;margin:16px 0 22px;background:var(--sfu-wash)}
.sfu-row{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;margin:0 0 10px}
.sfu-field{display:flex;flex-direction:column;gap:4px;font-weight:600;font-size:.92rem;min-width:0}
.sfu-field small{font-weight:400;color:var(--sfu-muted)}
.sfu-field input,.sfu-field select{min-height:44px;padding:8px 12px;border:1px solid var(--sfu-line);border-radius:10px;
  font:inherit;font-weight:500;background:var(--sfu-paper);color:var(--sfu-ink);max-width:100%;box-sizing:border-box}
.sfu-where{flex:1 1 220px}.sfu-where input{width:100%}
.sfu-miles input{width:110px}
.sfu-phase{border:0;padding:0;margin:0;display:flex;gap:8px;flex-wrap:wrap}
.sfu-phase legend{font-weight:600;font-size:.92rem;margin-bottom:4px;padding:0}
.sfu-phase label{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 14px;border:1px solid var(--sfu-line);
  border-radius:999px;background:var(--sfu-paper);cursor:pointer;font-weight:600}
.sfu-phase label:has(input:checked){border-color:var(--sfu-teal);box-shadow:inset 0 0 0 1px var(--sfu-teal)}
.sfu-home,.sfu-btn,.sfu-add,.sfu-more button{min-height:44px;padding:0 18px;border-radius:999px;font:inherit;font-weight:650;cursor:pointer}
.sfu-home{border:1px solid var(--sfu-teal);background:var(--sfu-paper);color:var(--sfu-ink)}
.sfu-btn{border:0;background:var(--sfu-teal);color:#fff}
.sfu-weights{margin:6px 0 12px}
.sfu-weights summary{cursor:pointer;font-weight:650;min-height:44px;display:flex;align-items:center}
.sfu-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin:8px 0 14px}
.sfu-note{margin:0 0 10px;color:var(--sfu-muted)}
.sfu-saved{color:var(--sfu-muted);font-size:.9rem}
.sfu-answer{font-size:1.05rem;margin:0 0 12px}
.sfu-list{list-style:none;padding:0;margin:0;display:grid;gap:12px}
.sfu-card{border:1px solid var(--sfu-line);border-radius:16px;padding:14px 16px;background:var(--sfu-paper);min-width:0}
.sfu-head{display:flex;gap:12px;align-items:flex-start}
.sfu-rank{flex:none;width:32px;height:32px;border-radius:50%;background:var(--sfu-mint);display:grid;place-items:center;font-weight:700}
.sfu-name{flex:1;min-width:0}
.sfu-name h3,.sfu-name h4{margin:2px 0 2px;font-size:1.05rem;overflow-wrap:anywhere}
.sfu-name a{color:inherit}
.sfu-meta{margin:0;color:var(--sfu-muted);font-size:.88rem}
.sfu-score{flex:none;text-align:center;line-height:1}
.sfu-score b{display:block;font-size:1.6rem;color:var(--sfu-coral)}
.sfu-score span{font-size:.75rem;color:var(--sfu-muted)}
.sfu-why{margin:10px 0 6px;font-weight:600}
.sfu-work summary{cursor:pointer;color:var(--sfu-muted);min-height:44px;display:flex;align-items:center}
.sfu-work ul{list-style:none;padding:0;margin:0 0 6px}
.sfu-work li{border-top:1px solid var(--sfu-line);padding:8px 0}
.sfu-work li p{margin:4px 0 0;font-size:.92rem}
.sfu-wl{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:baseline}
.sfu-f{font-weight:650}
.sfu-w{color:var(--sfu-muted);font-size:.85rem}
.sfu-p{margin-left:auto;font-family:"IBM Plex Mono",ui-monospace,Menlo,monospace;font-size:.82rem}
.sfu-unk .sfu-f::after{content:" · not held";font-weight:400;color:var(--sfu-muted)}
.sfu-src{display:block;color:var(--sfu-muted);font-size:.8rem}
.sfu-acts{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:6px}
.sfu-add{border:1px solid var(--sfu-coral);background:var(--sfu-paper);color:var(--sfu-ink)}
.sfu-add[aria-pressed="true"]{background:var(--sfu-coral);color:#fff}
.sfu-page{display:inline-flex;align-items:center;min-height:44px;color:inherit}
.sfu-more{margin:14px 0}
.sfu-more button,.sfu-more a{border:1px solid var(--sfu-teal);background:var(--sfu-paper);color:var(--sfu-ink)}
.sfu-more a{display:inline-flex;align-items:center;min-height:44px;padding:0 18px;border-radius:999px;text-decoration:none;font-weight:650}
.sfu-msg{padding:10px 14px;border-radius:10px;background:var(--sfu-mint)}
.sfu-codes{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.sfu-codes a{display:inline-flex;align-items:center;min-height:44px;padding:0 14px;border:1px solid var(--sfu-line);border-radius:999px;text-decoration:none;color:inherit}
.sfu-method ul{padding-left:18px}.sfu-method li{margin:0 0 8px}
@media (max-width:640px){
  .sfu-form{padding:12px}
  .sfu-score b{font-size:1.35rem}
  .sfu-p{margin-left:0;width:100%}
}
