@font-face{font-family:'Archivo';src:url('fonts/archivo.woff2') format('woff2');font-weight:100 900;font-display:swap}
@font-face{font-family:'Inter';src:url('fonts/inter.woff2') format('woff2');font-weight:100 900;font-display:swap}
:root{
  --bg:#0d1522; --card:#16202f; --card-edge:#24344c; --text:#eef2f7; --muted:#9db0c5;
  --gold:#e3b341; --gold-dim:#8a6d24; --ok:#4caf7d; --bad:#e05c5c; --warn:#e08a3c; --ink:#0a101b;
}
*{box-sizing:border-box;margin:0;padding:0}
body{background:var(--bg);color:var(--text);font-family:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;line-height:1.5;padding:16px;max-width:820px;margin:0 auto}
h1,h2,h3,.brand-name{font-family:'Archivo','Inter',system-ui,sans-serif;letter-spacing:-.01em}
a{color:var(--gold)}
.site-header{text-align:center;padding:18px 0 4px}
.brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none}
.brand-icon{width:42px;height:42px}
.brand-name{font-size:1.9rem;font-weight:700;color:var(--gold)}
.asof{color:var(--muted);font-size:.85rem;margin-top:6px}
.benefit{margin-top:10px;text-align:center;font-size:1.02rem;font-weight:600;color:var(--text)}
.site-footer{text-align:center;color:var(--muted);font-size:.88rem;padding:26px 0 12px}
.site-footer .disclaimer{margin-top:8px;font-size:.8rem}
.card{background:var(--card);border:1px solid var(--card-edge);border-radius:14px;padding:18px;margin-top:16px}
.note{color:var(--muted);font-size:.9rem;margin-top:6px}
.btn{display:inline-block;background:var(--gold);color:#14100a;font-weight:700;border:none;border-radius:10px;padding:10px 16px;font-size:.95rem;cursor:pointer;text-decoration:none;margin-top:12px;min-height:44px}
.row-between{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.chip{display:inline-block;font-size:.74rem;font-weight:700;letter-spacing:.6px;padding:2px 8px;border-radius:999px;background:var(--ink);border:1px solid var(--card-edge);color:var(--muted);text-transform:uppercase;white-space:nowrap;margin-top:2px}
.chip.pass{color:#14100a;background:var(--gold);border-color:var(--gold)}
/* shelf-specific */
.search-card{padding:14px 18px}
.search-label{display:block;font-size:.82rem;text-transform:uppercase;letter-spacing:1.6px;color:var(--muted);margin-bottom:8px}
.search-input{width:100%;background:var(--ink);border:1px solid var(--card-edge);border-radius:10px;color:var(--text);font-size:16px;padding:12px 14px;min-height:48px}
.search-input:focus{outline:none;border-color:var(--gold)}
.wave-title{font-size:.95rem;text-transform:uppercase;letter-spacing:1.6px;color:var(--gold);margin:26px 0 4px}
.grid{display:grid;grid-template-columns:1fr;gap:12px;margin-top:12px}
@media(min-width:560px){.grid{grid-template-columns:repeat(2,1fr)}}
.course-card{background:var(--card);border:1px solid var(--card-edge);border-radius:14px;padding:16px;display:flex;flex-direction:column}
.course-card h3{font-size:1.05rem;line-height:1.3}
.course-card .note{flex:1}
.course-card.live{border-color:var(--gold-dim)}
.course-card .btn{align-self:flex-start}
.building-status{margin-top:12px;color:var(--muted);font-size:.9rem;font-weight:600}
@media print{body{background:#fff;color:#000}.card,.course-card{border-color:#bbb;background:#fff}.btn,.search-card{display:none}}

/* v2.4 category jump-nav */
.cat-nav{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.cat-link{display:inline-block;border:1px solid var(--card-edge);background:var(--card);color:var(--text);border-radius:999px;padding:7px 12px;font-size:.85rem;font-weight:600;text-decoration:none}
.cat-link:hover{border-color:var(--gold);color:var(--gold)}
section[data-wave]{scroll-margin-top:12px}
