:root{--paper: #f6f3ec;--stage: #efeae0;--ink: #201d18;--muted: #9d968a;--spent: #c3bcae;--line: #ded7c8;--accent: #2f6d5b;--accent-ink: #fff;--glow: #c67a12;--glow-bg: #f6d9a4;--panel: #fbf9f4;--shadow: 0 1px 2px rgba(32,29,24,.06), 0 8px 24px rgba(32,29,24,.05);--stage-serif: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, "Times New Roman", serif;--sans: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono: ui-monospace, "SF Mono", "JetBrains Mono", Menlo, monospace}@media(prefers-color-scheme:dark){:root{--paper: #101613;--stage: #16201c;--ink: #e6ede9;--muted: #5f7068;--spent: #3f544c;--line: #223029;--accent: #63c9a6;--accent-ink: #0c1512;--glow: #f6b64a;--glow-bg: #33291a;--panel: #131b17;--shadow: 0 1px 2px rgba(0,0,0,.4), 0 10px 30px rgba(0,0,0,.35)}}:root[data-theme=light]{--paper: #f6f3ec;--stage: #efeae0;--ink: #201d18;--muted: #9d968a;--spent: #c3bcae;--line: #ded7c8;--accent: #2f6d5b;--accent-ink: #fff;--glow: #c67a12;--glow-bg: #f6d9a4;--panel: #fbf9f4}:root[data-theme=dark]{--paper: #101613;--stage: #16201c;--ink: #e6ede9;--muted: #5f7068;--spent: #3f544c;--line: #223029;--accent: #63c9a6;--accent-ink: #0c1512;--glow: #f6b64a;--glow-bg: #33291a;--panel: #131b17}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.5;-webkit-font-smoothing:antialiased;padding:clamp(16px,4vw,48px)}.wrap{max-width:900px;margin:0 auto}header{display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap}.brand{display:flex;align-items:center;gap:13px}.brand .logo{width:46px;height:46px;flex-shrink:0}.home{color:var(--muted);text-decoration:none;font-size:13px;font-weight:600}.home:hover{color:var(--accent)}h1{font-family:var(--stage-serif);font-size:clamp(28px,5vw,40px);font-weight:600;margin:0;letter-spacing:-.01em}.tag{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);border:1px solid var(--accent);padding:3px 8px;border-radius:999px;font-weight:600}.sub{color:var(--muted);font-size:14px;max-width:66ch;margin:6px 0 0}.sub b{color:var(--ink);font-weight:600}.stage{margin:26px 0 0;background:var(--stage);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);padding:clamp(22px,4vw,40px)}.score{display:flex;gap:8px;flex-wrap:wrap;align-items:stretch;min-height:66px}.chip{flex:1 1 0;min-width:62px;border:1px solid var(--line);border-radius:12px;background:var(--panel);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:10px 6px;transition:transform .1s ease,border-color .12s ease,background-color .12s ease,box-shadow .12s ease}.chip .lbl{font-family:var(--stage-serif);font-size:15px;color:var(--ink);font-weight:600}.chip .gap{font-family:var(--mono);font-size:10px;color:var(--muted)}.chip[data-state=done]{opacity:.5}.chip[data-state=live]{border-color:var(--accent);background:var(--glow-bg);box-shadow:0 0 0 3px var(--glow-bg);transform:translateY(-3px)}.chip[data-state=live] .lbl{color:var(--glow)}.chip[data-cache=hit]:after{content:"cache";font-family:var(--mono);font-size:9px;letter-spacing:.1em;color:var(--accent);text-transform:uppercase}.caption{margin-top:20px;font-family:var(--stage-serif);font-size:clamp(19px,3vw,26px);line-height:1.55;text-wrap:balance;min-height:1.6em;color:var(--muted)}.caption .on{color:var(--glow);font-weight:600}.meters{margin-top:20px;display:flex;gap:10px 22px;flex-wrap:wrap;font-family:var(--mono);font-size:12px}.meter{display:flex;flex-direction:column;gap:2px}.meter .k{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.meter .v{color:var(--ink);font-variant-numeric:tabular-nums;font-weight:600;font-size:15px}.meter .vrow{display:inline-flex;align-items:baseline;gap:7px}.meter .cs{font-size:9px;letter-spacing:.1em;text-transform:uppercase;font-weight:700;color:var(--muted);transition:color .15s ease}.meter.clock[data-state=live] .v,.meter.clock[data-state=live] .cs{color:var(--accent)}.meter.clock[data-state=paused] .v,.meter.clock[data-state=paused] .cs{color:var(--glow)}.meter.clock[data-state=idle] .v,.meter.clock[data-state=cold] .v{color:var(--muted)}.transport{margin-top:22px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.btn{border:1px solid var(--line);background:var(--panel);color:var(--ink);font-family:var(--sans);font-size:13px;font-weight:600;border-radius:999px;padding:9px 16px;cursor:pointer;transition:transform .08s ease}.btn:hover{transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.btn:disabled{opacity:.45;cursor:default;transform:none}.play{width:52px;height:52px;border-radius:50%;border:none;cursor:pointer;background:var(--accent);color:var(--accent-ink);display:grid;place-items:center;flex-shrink:0;transition:transform .08s ease}.play:hover{transform:scale(1.05)}.play:active{transform:scale(.96)}.play svg{width:22px;height:22px}.rail{margin-top:26px}.rail-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}.rail-head h2{font-family:var(--stage-serif);font-size:18px;margin:0;font-weight:600}.beats{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px}.beat{text-align:left;border:1px solid var(--line);border-radius:14px;background:var(--panel);padding:14px 15px;cursor:pointer;display:flex;gap:12px;align-items:flex-start;transition:border-color .12s ease,transform .08s ease}.beat:hover{transform:translateY(-2px);border-color:var(--accent)}.beat[aria-current=true]{border-color:var(--accent);box-shadow:0 0 0 2px var(--glow-bg)}.beat .n{flex-shrink:0;width:26px;height:26px;border-radius:50%;background:var(--stage);border:1px solid var(--line);color:var(--accent);font-family:var(--mono);font-size:12px;font-weight:700;display:grid;place-items:center}.beat[aria-current=true] .n{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.beat .bt{font-size:14px;font-weight:600;color:var(--ink);margin:0 0 2px}.beat .bd{font-size:12.5px;color:var(--muted);margin:0;line-height:1.45}.beat .api{font-family:var(--mono);font-size:11px;color:var(--accent)}.diag{margin-top:16px;min-height:18px;font-family:var(--mono);font-size:12px;color:var(--muted);word-break:break-word}.diag.err{color:var(--glow);font-weight:600}details{margin-top:20px;border:1px solid var(--line);border-radius:12px;background:var(--panel);overflow:hidden}summary{cursor:pointer;padding:13px 16px;font-size:13px;font-weight:600;color:var(--ink);display:flex;align-items:center;gap:8px;list-style:none;flex-wrap:wrap}summary::-webkit-details-marker{display:none}summary .chev{color:var(--muted);transition:transform .15s ease}details[open] summary .chev{transform:rotate(90deg)}summary .hint{color:var(--muted);font-weight:400;font-size:12px}summary .keydot{margin-left:auto;display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:600;color:var(--muted)}summary .keydot i{width:8px;height:8px;border-radius:50%;background:var(--spent)}summary .keydot[data-on=true]{color:var(--accent)}summary .keydot[data-on=true] i{background:var(--accent);box-shadow:0 0 0 3px var(--glow-bg)}.panel-body{padding:0 16px 16px}.keyhint{color:var(--muted);font-size:12px;margin:0 0 8px;line-height:1.5}.keyhint a{color:var(--accent)}.keyrow{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.vsel{border:1px solid var(--line);background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:12px;font-weight:600;border-radius:999px;padding:8px 30px 8px 13px;cursor:pointer;-webkit-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:right 13px center,right 8px center;background-size:5px 5px,5px 5px;background-repeat:no-repeat}.vsel:disabled{opacity:.5;cursor:default}.usage{margin-top:10px;font-family:var(--mono);font-size:12px;color:var(--muted);display:grid;gap:3px}.usage b{color:var(--ink)}.foot{margin-top:26px;color:var(--muted);font-size:12px;line-height:1.7}.foot code{font-family:var(--mono);background:var(--panel);border:1px solid var(--line);border-radius:4px;padding:1px 5px}.theme{background:none;border:1px solid var(--line);color:var(--muted);border-radius:999px;font-size:11px;padding:5px 11px;cursor:pointer;font-family:var(--sans)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
