:root{color-scheme:dark;--bg: #1a1528;--card: #241c36;--ink: #f6efe4;--muted: #c9b8a4;--accent: #ffb703;--accent-2: #fb8500;--ok: #8ac926;--line: #ffffff22}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:radial-gradient(circle at top,#3a2a58,var(--bg) 55%);color:var(--ink);font-family:Segoe UI,system-ui,sans-serif}.app{max-width:28rem;margin:0 auto;padding:1.1rem 1.1rem calc(1.5rem + env(safe-area-inset-bottom))}.eyebrow{letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;color:var(--accent);margin:0 0 .2rem}h1,h2,h3{letter-spacing:-.02em}h1{margin:0 0 .4rem;font-size:1.9rem}h3{margin:1.6rem 0 .4rem}p{color:var(--muted);line-height:1.45}.steps{padding-left:1.2rem;color:var(--muted);line-height:1.55}.btn.copy{width:auto;margin:.4rem 0 .2rem;padding:.35rem .8rem;font-size:.8rem}code{color:var(--accent);word-break:break-all}.btn{border:0;border-radius:999px;padding:.8rem 1.1rem;font:inherit;font-weight:700;cursor:pointer}.btn.accent{background:linear-gradient(180deg,var(--accent),var(--accent-2));color:#2b1900}.btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}.btn:disabled{opacity:.45}.install-hint,.nfc-bar,.player,section+section{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:12px 14px}.install-hint,.nfc-bar{display:flex;gap:12px;align-items:center;margin:12px 0}.install-hint p,.nfc-bar p{margin:4px 0 0;font-size:.88rem}.nfc-dot{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#0006;flex:none}.nfc-bar.live .nfc-dot{background:#8ac92644;animation:pulse 1.6s ease-in-out infinite}.player{text-align:center;margin-bottom:12px}.disc{width:8.5rem;height:8.5rem;margin:.6rem auto;border-radius:50%;display:grid;place-items:center;font-size:2.4rem;background:conic-gradient(from 120deg,#3d3158,#6d5a8d,#3d3158)}.disc.spin{animation:spin 4s linear infinite}input{width:100%;border:1px solid var(--line);background:#0005;color:var(--ink);border-radius:12px;padding:.8rem;font:inherit;margin:.4rem 0 .7rem}input[type=file]{padding:.55rem}.row{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.list{list-style:none;padding:0;margin:.8rem 0 0}.list li{background:#0004;border-radius:12px;padding:.7rem .9rem;margin-bottom:.45rem}.list small{display:block;color:var(--muted)}.toast{position:sticky;top:8px;z-index:5;background:var(--ink);color:var(--bg);border-radius:999px;padding:.65rem 1rem;text-align:center;font-weight:700}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{transform:scale(1.08)}}
