:root{--bg: #f6f4f0;--card: #ffffff;--fg: #1d1b18;--muted: #615b52;--border: #ddd6cb;--accent: #b45309;--accent-fg: #ffffff;--accent-soft: rgba(180, 83, 9, .14);--good: #1d7a46;--bad: #b3261e;--warn: #7c3aed;--code-bg: #f8f6f2;--mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace}@media(prefers-color-scheme:dark){:root{--bg: #14120f;--card: #1d1a16;--fg: #ebe6de;--muted: #a8a094;--border: #39332b;--accent: #f59e0b;--accent-fg: #1d1407;--accent-soft: rgba(245, 158, 11, .16);--good: #5cc98b;--bad: #ff6b60;--warn: #b794f6;--code-bg: #171511}}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--fg);font:15px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}#app{max-width:1240px;margin:0 auto;padding:20px 16px 64px}h1{margin:0 0 4px;font-size:28px}h2{margin:0 0 10px;font-size:18px}h3{margin:14px 0 6px;font-size:14px}h3 small{font-weight:400;color:var(--muted)}.lede{margin:0 0 6px;max-width:820px;color:var(--muted)}.status{margin:0 0 16px;font-size:13px;padding:6px 10px;border-radius:6px;background:var(--accent-soft);display:inline-block}.status.on{background:transparent;color:var(--good);padding-left:0}.grid{display:grid;grid-template-columns:minmax(300px,410px) minmax(0,1fr);gap:16px;align-items:start}.col{display:grid;gap:16px}.card{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:14px 16px;min-width:0}.hint{font-size:13px;color:var(--muted);margin:0 0 10px}button{font:inherit;font-size:14px;padding:6px 12px;border-radius:6px;border:1px solid var(--accent);background:var(--accent);color:var(--accent-fg);cursor:pointer}button.quiet{background:transparent;color:var(--fg);border-color:var(--border)}button.small{font-size:12px;padding:3px 8px}button:disabled{opacity:.4;cursor:default}button:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}kbd{font-family:var(--mono);font-size:11px;border:1px solid currentColor;border-radius:4px;padding:0 4px;opacity:.8}.chords{display:grid;grid-template-columns:repeat(auto-fill,minmax(62px,1fr));gap:6px;margin-bottom:10px}.chord{display:flex;flex-direction:column;align-items:center;gap:2px;background:transparent;color:var(--fg);border-color:var(--border);padding:6px 4px}.chord span{font-weight:600}.chord.active{background:var(--accent-soft);border-color:var(--accent)}.hit{transform:scale(.96);filter:brightness(1.2)}.strum-row{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}.strings{display:grid;gap:4px;margin-top:10px}.string{display:grid;grid-template-columns:auto 18px 52px 1fr auto auto;gap:8px;align-items:center;font-size:13px;padding:3px 6px;border-radius:6px}.string.focus{background:var(--accent-soft)}.string.muted .note,.string.muted .fret{color:var(--muted)}.string .name{font-weight:700}.string .note{font-family:var(--mono);font-size:12px}.slider{display:grid;grid-template-columns:140px 1fr 56px;gap:8px;align-items:center;font-size:13px;margin:6px 0}.slider output{font-family:var(--mono);font-size:12px;text-align:right}.check,.field{display:flex;gap:8px;align-items:center;font-size:13px;margin:8px 0}.field span{width:140px}select,textarea{font:inherit;font-size:13px;background:var(--card);color:var(--fg);border:1px solid var(--border);border-radius:6px;padding:4px 6px}.view{display:block;width:100%;height:130px;background:var(--code-bg);border:1px solid var(--border);border-radius:6px}.view.tall{height:170px}.view.short{height:90px}.view-head{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px}.view-head h2{margin:0}.view-controls{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.readout{font-family:var(--mono);font-size:12px;margin:10px 0 0;color:var(--muted)}.scene-tabs,.panel-tabs{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:8px}.tab{background:transparent;color:var(--fg);border-color:var(--border);min-width:34px}.tab.active{background:var(--accent);border-color:var(--accent);color:var(--accent-fg)}.scene-body p{margin:0 0 8px;font-size:14px}.steps{display:grid;gap:6px;margin:12px 0}.steps button{text-align:left}.scene-nav{display:flex;justify-content:space-between}.editor-row{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:6px}textarea.code{width:100%;font-family:var(--mono);font-size:13px;background:var(--code-bg);resize:vertical}.filter-status{font-size:13px;margin:4px 0;min-height:1.5em}.filter-status.ok{color:var(--good)}.filter-status.bad,.bad{color:var(--bad);font-weight:600}.report{margin:0;padding-left:20px;font-size:14px}.report li{margin-bottom:4px}table{border-collapse:collapse;width:100%;font-size:13px}th,td{text-align:left;padding:4px 8px;border-bottom:1px solid var(--border);white-space:nowrap}th{font-weight:600;color:var(--muted)}td{font-family:var(--mono);font-size:12px}.panel-body{overflow-x:auto}.bar-track{display:block;width:120px;height:8px;background:var(--code-bg);border-radius:4px}.bar{display:block;height:8px;background:var(--accent);border-radius:4px}code{font-family:var(--mono);font-size:12px;background:var(--code-bg);padding:1px 4px;border-radius:4px}footer{margin-top:24px;font-size:13px;color:var(--muted)}footer a{color:var(--accent)}@media(max-width:860px){.grid{grid-template-columns:minmax(0,1fr)}.slider{grid-template-columns:110px 1fr 52px}.string{grid-template-columns:auto 18px 46px 1fr auto}.string button.quiet{display:none}}
