
:root { --bg:#0c0b09; --card:#17140f; --ink:#f4ead8; --dim:#a89880; --gold:#d4a017; --line:#2a241c; }
*{ box-sizing:border-box; }
html,body{ margin:0; background:var(--bg); color:var(--ink); font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, sans-serif; }
body{ min-height:100dvh; padding:0 0 3rem; }
header{ position:sticky; top:0; z-index:5; display:flex; align-items:baseline; gap:.75rem; padding:.75rem 1rem; background:rgba(12,11,9,.94); border-bottom:1px solid var(--line); backdrop-filter:blur(8px); }
.brand{ font-weight:800; letter-spacing:.12em; font-size:.8rem; color:var(--gold); }
.sub{ font-size:.8rem; color:var(--dim); flex:1; }
.daypick{ margin-left:auto; font-size:.75rem; color:var(--dim); }
select{ font-size:1.05rem; background:var(--card); color:var(--ink); border:1px solid var(--line); border-radius:8px; padding:.35rem .5rem; }
main{ padding:1rem; max-width:42rem; margin:0 auto; }
h1{ font-size:2.1rem; line-height:1.05; margin:.2rem 0 .15rem; }
.theme{ color:var(--gold); font-size:1.15rem; margin:0 0 1rem; }
.source{ font-size:.75rem; color:var(--dim); }
.source a{ color:var(--dim); }
section{ margin:1.1rem 0; }
section h2{ font-size:.7rem; letter-spacing:.16em; text-transform:uppercase; color:var(--dim); margin:0 0 .4rem; }
.ex{ display:flex; gap:.75rem; align-items:flex-start; padding:.7rem .8rem; background:var(--card); border:1px solid var(--line); border-radius:12px; margin:0 0 .45rem; }
.ss{ flex:0 0 1.6rem; width:1.6rem; height:1.6rem; border-radius:50%; background:#2c2416; color:var(--gold); font-weight:700; font-size:.8rem; display:flex; align-items:center; justify-content:center; margin-top:.1rem; }
.ss.empty{ background:transparent; color:transparent; }
.meta{ flex:1; min-width:0; }
.name{ font-size:1.15rem; font-weight:650; }
.name a{ color:inherit; text-decoration:underline; text-underline-offset:3px; decoration-color:var(--gold); }
.rx{ font-size:1.05rem; color:var(--gold); margin-top:.15rem; font-variant-numeric:tabular-nums; }
.cue{ font-size:.8rem; color:var(--dim); margin-top:.2rem; }
.rest{ font-size:.8rem; color:var(--dim); margin:.35rem 0 .7rem; }
footer{ text-align:center; color:var(--dim); font-size:.7rem; padding:2rem 1rem; }
