:root{color-scheme:dark;--bg:#0d1117;--panel:#161b22;--line:#3b4250;--text:#f0f6fc;--muted:#abb5c4;--accent:#8051c9;--cyan:#62d2ff}
*{box-sizing:border-box}
body{margin:0;background:radial-gradient(circle at 80% 0,#22153a 0,transparent 34%),var(--bg);color:var(--text);font:16px/1.6 system-ui,sans-serif}
main{max-width:1260px;margin:auto;padding:56px 24px 80px}
header{max-width:880px;margin-bottom:32px}
h1{font-size:clamp(36px,6vw,66px);line-height:1.07;margin:12px 0 24px}
h2{font-size:32px;margin:0}
.eyebrow,.number{color:var(--cyan);font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.eyebrow{font-size:13px}
.lead{font-size:20px;color:var(--muted)}
.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}
.actions a,.card>a,.pack-link{background:var(--accent);color:white;text-decoration:none;font-weight:700;padding:11px 15px;border-radius:10px}
.actions .secondary,.card>.secondary{background:transparent;border:1px solid var(--line);color:var(--text)}
.notice{border-left:4px solid var(--cyan);background:var(--panel);padding:18px 22px;border-radius:8px;margin:28px 0;color:var(--muted)}
.notice strong{color:var(--text)}
.tabs{display:flex;gap:10px;flex-wrap:wrap;padding:12px 0 24px;border-bottom:1px solid var(--line)}
.tabs a{color:var(--text);text-decoration:none;border:1px solid var(--line);padding:12px 18px;border-radius:12px;font-weight:700}
.tabs a[aria-selected=true]{background:#263d4a;border-color:var(--cyan);box-shadow:inset 0 -3px var(--cyan)}
.tabs span{color:var(--cyan);margin-left:8px}
a:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--cyan);outline-offset:4px}
.genre-panel{padding-top:32px;scroll-margin-top:20px}
.genre-panel[hidden]{display:none}
.section-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-bottom:22px}
.section-heading p{color:var(--muted);margin:8px 0}
.pack-link{font-size:14px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));gap:20px}
.card{background:linear-gradient(145deg,#1c222b,var(--panel));border:1px solid var(--line);border-radius:18px;padding:24px;display:flex;flex-direction:column;min-width:0}
.card h3{font-size:25px;margin:8px 0}
.card p{color:var(--muted);margin:8px 0}
.card .signature{color:var(--text);font-size:15px}
.card .reference{font-size:12px}
.listening-example{border-left:2px solid var(--cyan);padding-left:12px;margin-top:12px;font-size:14px}
.listening-example a{color:var(--cyan);text-decoration:underline;text-underline-offset:3px}
.listening-example .external-label{font-size:12px}
.listening-note{color:var(--muted);font-size:14px;max-width:900px;margin-bottom:24px}
.layer-notes{font-size:13px;margin:12px 0;border-top:1px solid var(--line);padding-top:12px}
.layer-notes dt{color:var(--cyan);font-weight:700}
.layer-notes dd{margin:0 0 8px;color:var(--muted)}
.number{font-size:11px}
.meta{display:flex;gap:7px;flex-wrap:wrap;margin:16px 0 24px}
.meta span{background:#0d1117;border:1px solid var(--line);border-radius:999px;padding:4px 9px;font-size:12px}
.card>a{margin-top:auto;text-align:center}
.card>.secondary{margin-top:8px;font-size:14px}
.card>.preview-button{margin:0 0 8px;padding:11px 15px;border:1px solid var(--cyan);border-radius:10px;background:#143746;color:var(--text);font:inherit;font-weight:700;cursor:pointer}
.card>.preview-button[hidden]{display:none}
.preview-button:focus-visible{outline:3px solid var(--cyan);outline-offset:4px}
.warm-up{background:var(--panel);border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:8px;padding:18px 22px;margin:0 0 28px;color:var(--muted)}
.warm-up h2{font-size:20px;color:var(--text)}
.warm-up a{color:var(--cyan)}
.warm-up ul{margin:8px 0 14px;padding-left:20px}
#todays-warm-up{background:var(--accent);color:white;border:0;border-radius:10px;padding:11px 15px;font:inherit;font-weight:700;cursor:pointer}
#todays-warm-up[hidden]{display:none}
#todays-warm-up:focus-visible{outline:3px solid var(--cyan);outline-offset:4px}
.card.picked{border-color:var(--cyan);box-shadow:0 0 0 2px var(--cyan)}
footer{color:var(--muted);margin-top:48px;font-size:14px;border-top:1px solid var(--line);padding-top:20px}
@media(max-width:540px){main{padding:32px 16px}#todays-warm-up{width:100%}.tabs a{flex:1 1 100%}.actions a,.pack-link{width:100%;text-align:center}}
