main[data-v-37e2a2af]{min-height:100vh;display:grid;place-items:center;padding:16px}.card[data-v-37e2a2af]{width:100%;max-width:340px;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:20px;display:grid;gap:6px}h1[data-v-37e2a2af]{margin-bottom:10px}label[data-v-37e2a2af]{font-size:13px;color:var(--muted)}input[data-v-37e2a2af]{font:inherit;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:6px;padding:7px 10px;margin-bottom:8px}input[data-v-37e2a2af]:focus{outline:2px solid var(--accent);outline-offset:-1px}.warn[data-v-37e2a2af]{border-radius:6px;margin:0 0 8px;padding:8px 10px}button[data-v-37e2a2af]{padding:8px 10px;font-weight:600;background:var(--accent-soft);border-color:var(--accent)}button[data-v-37e2a2af]:disabled{opacity:.6}header[data-v-f7bb8109]{background:var(--panel);border-bottom:1px solid var(--line);padding:10px 16px;display:flex;gap:16px;align-items:center}.who[data-v-f7bb8109]{margin-left:auto;color:var(--muted);font-size:13px}main[data-v-f7bb8109]{max-width:640px;margin:0 auto;padding:16px}.empty[data-v-f7bb8109]{color:var(--muted)}.songs[data-v-f7bb8109]{list-style:none;margin:0;padding:0;background:var(--panel);border:1px solid var(--line);border-radius:10px}.songs li[data-v-f7bb8109]{display:flex;align-items:center}.songs li+li[data-v-f7bb8109]{border-top:1px solid var(--line)}.star[data-v-f7bb8109]{border:0;background:none;font-size:17px;line-height:1;padding:10px 6px 10px 14px;color:var(--muted)}.star.on[data-v-f7bb8109]{color:var(--accent);background:none}.songs a[data-v-f7bb8109]{flex:1;min-width:0;display:flex;gap:16px;justify-content:space-between;align-items:baseline;padding:10px 14px 10px 6px;color:inherit;text-decoration:none}.songs a:hover .title[data-v-f7bb8109]{color:var(--accent)}.title[data-v-f7bb8109]{font-weight:600}.artist[data-v-f7bb8109]{color:var(--muted);font-size:13px;text-align:right}main[data-v-c642e78d]{max-width:1200px;margin:0 auto;padding:16px}.section[data-v-c642e78d]{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:12px 14px;margin-bottom:14px}.label[data-v-c642e78d]{font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:6px}.srow[data-v-c642e78d]{display:grid;grid-template-columns:44px minmax(0,1.15fr) minmax(0,1fr);column-gap:18px;align-items:center;padding:3px 0}@media (max-width: 900px){.srow[data-v-c642e78d]{grid-template-columns:44px minmax(0,1fr);row-gap:2px}.srow .ln[data-v-c642e78d]{grid-column:2}}.margin[data-v-c642e78d]{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums;cursor:pointer;align-self:center}.bars[data-v-c642e78d]{display:grid;grid-template-columns:repeat(var(--cols, 16),minmax(0,1fr));align-self:stretch}.bar[data-v-c642e78d]{display:grid;border-left:2px solid var(--line);padding:2px 0;cursor:pointer;min-height:34px;align-content:center}.bar[data-v-c642e78d]:last-child{border-right:2px solid var(--line)}.bar.cur[data-v-c642e78d]{background:var(--accent-soft)}.bar.inloop[data-v-c642e78d]{background:var(--loop)}.bar.cur.inloop[data-v-c642e78d]{background:var(--accent-soft);box-shadow:inset 0 0 0 2px var(--loop-line)}.cell[data-v-c642e78d]{padding:4px 3px;font-weight:600;color:var(--chord);font-size:14px;border-radius:4px;min-width:0;overflow:hidden;white-space:nowrap}.cell.dot[data-v-c642e78d]{color:var(--line);font-weight:400}.cell.carry[data-v-c642e78d]{color:var(--muted)}.cell.beat[data-v-c642e78d]{outline:2px solid var(--beat);outline-offset:-2px}.strumrow[data-v-c642e78d]{grid-column:1 / -1;display:grid}.strum[data-v-c642e78d]{font-size:12px;color:var(--muted);white-space:nowrap;padding:0 3px;overflow:hidden}.ln[data-v-c642e78d]{padding:3px 6px;border-radius:6px;display:flex;flex-wrap:wrap;align-items:flex-end;min-width:0}.ln.line[data-v-c642e78d]{cursor:pointer}.ln.line[data-v-c642e78d]:hover{background:var(--bg)}.ln.cur[data-v-c642e78d]{background:var(--accent-soft)}.chunk[data-v-c642e78d]{display:inline-flex;flex-direction:column;white-space:pre}.chunk .c[data-v-c642e78d]{color:var(--chord);font-weight:700;font-size:13px;min-height:1.2em;padding-right:4px}.chunk .t[data-v-c642e78d]{min-height:1.3em}.cmt[data-v-c642e78d]{color:var(--muted);font-size:12px;font-style:italic;padding:0 6px}header[data-v-160c56f2]{position:sticky;top:0;z-index:5;background:var(--panel);border-bottom:1px solid var(--line);padding:10px 16px}.top[data-v-160c56f2]{display:flex;gap:16px;align-items:center;flex-wrap:wrap}.back[data-v-160c56f2]{color:var(--muted);font-size:13px;text-decoration:none}.back[data-v-160c56f2]:hover{color:var(--accent)}.meta[data-v-160c56f2]{color:var(--muted);font-size:13px}.controls[data-v-160c56f2]{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-top:8px}button.play[data-v-160c56f2]{min-width:74px;font-weight:600}.time[data-v-160c56f2]{font-variant-numeric:tabular-nums;color:var(--muted);font-size:13px;min-width:92px}.seek[data-v-160c56f2]{flex:1;min-width:140px;accent-color:var(--accent)}.now[data-v-160c56f2]{display:flex;gap:22px;align-items:baseline;margin-left:auto}.now .lbl[data-v-160c56f2]{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.nowChord[data-v-160c56f2]{font-size:30px;font-weight:700;color:var(--chord);min-width:2.5ch;display:inline-block}.nextChord[data-v-160c56f2]{font-size:20px;font-weight:600}.nextIn[data-v-160c56f2]{font-size:12px;color:var(--muted)}.beatDots[data-v-160c56f2]{display:inline-flex;gap:4px;margin-left:6px;vertical-align:middle}.beatDots i[data-v-160c56f2]{width:9px;height:9px;border-radius:50%;background:var(--line);display:inline-block}.beatDots i.on[data-v-160c56f2]{background:var(--beat)}.help[data-v-160c56f2]{color:var(--muted);font-size:12px;margin-top:6px}.syncStatus[data-v-160c56f2]{font-size:12px;color:var(--muted)}.offbox[data-v-160c56f2]{display:inline-flex;align-items:center;gap:4px}.offlbl[data-v-160c56f2]{font-size:12px;color:var(--muted)}.offbox button[data-v-160c56f2]{min-width:30px;font-weight:700}.offbox button.offReset[data-v-160c56f2]{font-weight:400}.offReset[data-v-160c56f2]:disabled{opacity:.45;cursor:default}.offVal[data-v-160c56f2]{font-variant-numeric:tabular-nums;font-size:13px;min-width:58px;text-align:center}.offVal.nonzero[data-v-160c56f2]{color:var(--accent);font-weight:600}.syncStatus.ok[data-v-160c56f2]{color:#16a34a}.syncBtn.on[data-v-160c56f2]{background:var(--accent);border-color:var(--accent);color:#fff}.tapbanner[data-v-160c56f2]{margin-top:8px;padding:10px 14px;border-radius:8px;background:var(--accent-soft);border:1px solid var(--accent);font-size:15px;display:flex;gap:14px;align-items:center;flex-wrap:wrap}.tapbanner .dots[data-v-160c56f2]{display:inline-flex;gap:5px}.tapbanner .dots i[data-v-160c56f2]{width:12px;height:12px;border-radius:50%;border:2px solid var(--accent);display:inline-block}.tapbanner .dots i.on[data-v-160c56f2]{background:var(--accent)}.tapbanner .sub[data-v-160c56f2]{font-size:12px;color:var(--muted)}kbd[data-v-160c56f2]{font:11px ui-monospace,monospace;border:1px solid var(--line);border-radius:3px;padding:0 4px}:root{--bg: #f7f6f3;--panel: #ffffff;--ink: #1d1d1f;--muted: #6b6b70;--line: #dddbd5;--accent: #c2410c;--accent-soft: #fde7da;--beat: #fb923c;--loop: #dbeafe;--loop-line: #3b82f6;--chord: #9a3412;--warn-bg: #fef3c7;--warn-ink: #78350f}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--bg: #141414;--panel: #1e1e1f;--ink: #ececec;--muted: #9a9aa0;--line: #333336;--accent: #fb923c;--accent-soft: #3a2416;--beat: #f97316;--loop: #172554;--loop-line: #60a5fa;--chord: #fdba74;--warn-bg: #422006;--warn-ink: #fde68a}}:root[data-theme=dark]{--bg: #141414;--panel: #1e1e1f;--ink: #ececec;--muted: #9a9aa0;--line: #333336;--accent: #fb923c;--accent-soft: #3a2416;--beat: #f97316;--loop: #172554;--loop-line: #60a5fa;--chord: #fdba74;--warn-bg: #422006;--warn-ink: #fde68a}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.45 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}h1{font-size:17px;margin:0}button,select{font:inherit;font-size:13px;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:6px;padding:5px 10px;cursor:pointer}button.on{background:var(--accent-soft);border-color:var(--accent)}button:disabled{cursor:default}.warn{background:var(--warn-bg);color:var(--warn-ink);padding:8px 16px;font-size:13px}
