*{box-sizing:border-box}body{margin:0;font:16px/1.6 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:#1d2433;background:#f5f7fb}
a{color:#1a56db}header.top{background:#0f2a4a;color:#fff;padding:14px 20px}header.top a{color:#fff;text-decoration:none;font-weight:700;font-size:1.3rem}
header.top span{opacity:.75;font-size:.9rem;margin-left:8px}.wrap{max-width:1000px;margin:0 auto;padding:20px}
.disc{background:#fff8e1;border:1px solid #f0d58a;border-radius:8px;padding:10px 14px;font-size:.88rem}
.card{background:#fff;border-radius:10px;box-shadow:0 1px 3px rgba(0,0,0,.08);padding:16px;margin:12px 0}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:14px}.grid .card{margin:0}
.badge{display:inline-block;font-size:.75rem;font-weight:700;padding:2px 8px;border-radius:99px;margin-right:4px}
.c1{background:#fde2e1;color:#9b1c1c}.c2{background:#feecdc;color:#8a3a00}.c3{background:#e1effe;color:#1e429f}.cat{background:#e5e7eb;color:#374151}
.filters{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}.filters button{border:1px solid #cbd5e1;background:#fff;border-radius:99px;padding:6px 14px;cursor:pointer;font:inherit;font-size:.9rem}
.filters button.on{background:#0f2a4a;color:#fff;border-color:#0f2a4a}.sponsor{border:2px dashed #94a3b8;text-align:center;color:#64748b}
form.signup{display:flex;gap:8px;flex-wrap:wrap}form.signup input{flex:1;min-width:200px;padding:10px;border:1px solid #cbd5e1;border-radius:6px;font:inherit}
form.signup button{padding:10px 18px;background:#1a56db;color:#fff;border:0;border-radius:6px;font:inherit;cursor:pointer}
dl{display:grid;grid-template-columns:180px 1fr;gap:6px 14px}dt{font-weight:600;color:#475569}dd{margin:0;word-break:break-word}
@media(max-width:600px){dl{grid-template-columns:1fr}dd{margin-bottom:8px}}footer{color:#64748b;font-size:.85rem;padding:20px;text-align:center}
.classes li{margin-bottom:4px}.explainer h3,.faq h3{margin:14px 0 4px;font-size:1.05rem}h1{line-height:1.25}
header.top{position:sticky;top:0;z-index:50;padding:0;box-shadow:0 2px 8px rgba(0,0,0,.18)}
.hbar{max-width:1000px;margin:0 auto;padding:0 20px;min-height:60px;display:flex;align-items:center;gap:16px;flex-wrap:wrap}
header.top a.brand{display:flex;align-items:center;gap:8px;font-size:1.2rem;font-weight:800;letter-spacing:-.01em;margin-right:auto;padding:12px 0}
.brand .dot{width:12px;height:12px;border-radius:50%;background:#f05252;box-shadow:0 0 0 4px rgba(240,82,82,.3)}
#navtoggle{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip:rect(0 0 0 0);opacity:0;-webkit-appearance:none;appearance:none;pointer-events:none}.navbtn{display:none}
nav.topnav ul{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:4px}
header.top nav.topnav a{display:block;font-size:.93rem;font-weight:500;padding:7px 12px;border-radius:6px;color:#dbe4f0}
header.top nav.topnav a:hover{background:rgba(255,255,255,.1);color:#fff}
header.top nav.topnav a[aria-current=page]{color:#fff;background:rgba(255,255,255,.14);box-shadow:inset 0 -2px 0 #60a5fa}
header.top nav.topnav a.cta{background:#1a56db;color:#fff;font-weight:700;margin-left:8px}header.top nav.topnav a.cta:hover,header.top nav.topnav a.cta[aria-current=page]{background:#1e40af;box-shadow:none}
@media(max-width:760px){.navbtn{display:flex;flex-direction:column;justify-content:center;gap:5px;width:42px;height:42px;cursor:pointer;border-radius:6px}
.navbtn span{display:block;height:2px;width:22px;margin:0 auto;background:#fff;border-radius:2px}#navtoggle:focus-visible+.navbtn{outline:2px solid #60a5fa}
nav.topnav{display:none;width:100%;padding-bottom:12px}#navtoggle:checked~nav.topnav,nav.topnav.open{display:block}
nav.topnav ul{flex-direction:column;align-items:stretch;gap:2px}header.top nav.topnav a{padding:10px 12px}header.top nav.topnav a.cta{margin:6px 0 0;text-align:center}}
footer nav ul{list-style:none;margin:0 auto 14px;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:6px 22px}
footer nav a{color:#334155;font-weight:600;text-decoration:none}footer nav a:hover{color:#1a56db;text-decoration:underline}footer .tag{font-weight:700;color:#0f2a4a;margin-bottom:8px}
footer{border-top:1px solid #e2e8f0;margin-top:20px;background:#fff}footer .fine{max-width:760px;margin:0 auto}
.guide h2{margin-top:26px}.guide ol li,.guide ul li{margin-bottom:4px}.guide .meta{color:#64748b;font-size:.88rem}.sources li{word-break:break-word}