:root{--bg-deep:#120e0a;--bg-glow:#2b1f13;--bronze-dark:#5e4322;--bronze:#a97c3f;--gold:#e8b463;--ink:#ece1cd;--ink-muted:#9c8f79}*{box-sizing:border-box}body{background:var(--bg-deep);min-height:100vh;color:var(--ink);margin:0;font-family:Noto Serif SC,Songti SC,serif}a{color:var(--gold)}.site-header{border-bottom:1px solid var(--bronze-dark);background:linear-gradient(180deg, var(--bg-glow), var(--bg-deep));flex-wrap:wrap;align-items:baseline;gap:1rem;padding:1rem 1.5rem;display:flex}.site-header nav a{color:var(--ink-muted);border:1px solid var(--bronze-dark);border-radius:999px;padding:.2rem .6rem;font-family:JetBrains Mono,monospace;font-size:.8rem;text-decoration:none}.site-header h1{color:var(--gold);letter-spacing:.08em;margin:0;font-family:Ma Shan Zheng,Noto Serif SC,serif;font-size:1.8rem}.subtitle{color:var(--ink-muted);margin:0;font-size:.85rem}main{max-width:none;margin:0;padding:0}.stage{touch-action:none;background:radial-gradient(ellipse at 50% 30%, var(--bg-glow), var(--bg-deep) 70%);width:100%;height:min(50vh,420px);position:relative;overflow:hidden}.stage canvas{width:100%;height:100%;display:block}.readout{color:var(--gold);pointer-events:none;background:#120e0a8c;border-radius:.4rem;min-height:1.4em;padding:.35rem .7rem;font-family:JetBrains Mono,monospace;font-size:.85rem;position:absolute;bottom:1rem;right:1rem}.hint-panel{flex-direction:column;align-items:center;gap:.6rem;padding:1rem 1.5rem 0;display:flex}.hint-buttons{flex-wrap:wrap;gap:.5rem;display:flex}#songSelect,#hintToggle,#playToggle{color:var(--ink);border:1px solid var(--bronze);cursor:pointer;background:#5a3f248c;border-radius:999px;padding:.4rem .9rem;font-family:Noto Serif SC,serif;font-size:.85rem}#songSelect{border-radius:.5rem}#hintToggle[aria-pressed=true],#playToggle[aria-pressed=true]{background:var(--bronze);color:#201509;border-color:var(--gold)}.hint-next{color:var(--gold);border:1px solid var(--bronze-dark);text-align:center;background:#120e0aa6;border-radius:.5rem;padding:.5rem 1.1rem;font-family:JetBrains Mono,monospace;font-size:1.3rem;font-weight:600}.hint-strip{background:#120e0a99;border-radius:.6rem;justify-content:center;gap:.5rem;max-width:100%;padding:.7rem 1rem;font-family:JetBrains Mono,monospace;font-size:1.4rem;display:flex;overflow-x:auto}.hint-strip span{min-width:1.8em;color:var(--ink-muted);border-radius:.35em;justify-content:center;align-items:center;padding:.2em .35em;display:inline-flex}.hint-strip span.current{color:#201509;background:var(--gold);font-weight:700;transform:scale(1.15)}.footer-columns{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem 3rem;max-width:64rem;margin:0 auto;padding:1.5rem 1.5rem 0;display:grid}.footer-columns h2{color:var(--gold);letter-spacing:.03em;margin:0 0 .5rem;font-family:Noto Serif SC,serif;font-size:1rem;font-weight:600}.footer-columns p{color:var(--ink-muted);margin:0 0 .8rem;font-size:.9rem;line-height:1.7}.footer-columns p:last-child{margin-bottom:0}.credit-note{max-width:64rem;color:var(--ink-muted);opacity:.7;margin:0 auto;padding:.5rem 1.5rem 2rem;font-size:.78rem;line-height:1.6}code{background:#5a3f244d;border-radius:.25em;padding:.05em .3em;font-family:JetBrains Mono,monospace}
