:root{color-scheme:light;--bg: #f6f6f7;--surface: #ffffff;--surface-2: #eeeef1;--border: #e2e2e8;--border-strong: #c9c9d2;--text: #1a1b20;--text-muted: #6e7280;--accent: #4f46e5;--accent-hover: #4338ca;--accent-soft: #eef0ff;--accent-contrast: #ffffff;--danger: #d92d20;--success: #12805c;--active-bg: #fff7e6;--active-border: #e0a63a;--selection-bg: #c7d2fe;--selection-text: #1a1b20;--shadow: 0 1px 2px rgb(16 18 24 / .05), 0 2px 6px rgb(16 18 24 / .05);--radius: 10px;--radius-lg: 14px}[data-theme=dark]{color-scheme:dark;--bg: #101216;--surface: #181b21;--surface-2: #21252d;--border: #2a2f3a;--border-strong: #3d4451;--text: #e6e8ee;--text-muted: #9aa0ae;--accent: #8b93ff;--accent-hover: #a3a9ff;--accent-soft: #262a44;--accent-contrast: #0f1115;--danger: #ff7268;--success: #4ade80;--active-bg: #2d2513;--active-border: #d9a03c;--selection-bg: #4f46e5;--selection-text: #ffffff;--shadow: 0 1px 2px rgb(0 0 0 / .35)}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI Variable,Segoe UI,Inter,Roboto,sans-serif;line-height:1.5;font-size:15px;-webkit-font-smoothing:antialiased}main{max-width:760px;margin:0 auto;padding:32px 20px 80px}h1,h2,h3,h4{line-height:1.25;letter-spacing:-.01em}a{color:var(--accent)}::selection{background:var(--selection-bg);color:var(--selection-text)}.app-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 0 20px}.brand{margin:0;font-size:1.35rem;font-weight:800;letter-spacing:-.02em}.brand:after{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--accent);margin-left:7px;vertical-align:baseline}.app-footer{margin-top:48px;padding-top:12px;border-top:1px solid var(--border);color:var(--text-muted);font-size:.8rem}.theme-toggle{padding:6px 12px}.app-nav{display:inline-flex;gap:2px;padding:3px;margin-bottom:18px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.app-nav button{border:none;background:transparent;border-radius:7px;padding:6px 16px;font-weight:500}.app-nav button.active{background:var(--accent-soft);color:var(--accent);font-weight:600}button{font:inherit;font-weight:500;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:7px 14px;cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease,opacity .15s ease}button:hover:not(:disabled){border-color:var(--border-strong);background:var(--surface-2)}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:1px}button:disabled{opacity:.45;cursor:not-allowed}button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast);font-weight:600;box-shadow:0 1px 2px #1012181f}button.primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}button.danger{color:var(--danger)}button.danger:hover:not(:disabled){border-color:var(--danger);background:transparent}label{font-weight:600;font-size:.9rem}input,select,textarea{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:8px 10px;transition:border-color .15s ease}input:hover,select:hover,textarea:hover{border-color:var(--border-strong)}.inline-label{font-weight:600;margin-right:6px}.page-toolbar{display:flex;align-items:center;gap:10px;margin-bottom:16px;flex-wrap:wrap}.error{color:var(--danger);font-size:.9rem}.success{color:var(--success);font-weight:600;font-size:.9rem}.muted{color:var(--text-muted)}.songs-list{list-style:none;margin:0;padding:0;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);overflow:hidden}.songs-list li{display:flex;align-items:center;border-bottom:1px solid var(--border)}.songs-list li .song-link{flex:1}.row-delete{margin-right:10px;padding:3px 10px;font-size:.82rem;border:none;background:transparent;color:var(--text-muted)}.row-delete:hover:not(:disabled){color:var(--danger);background:transparent}.confirm-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 14px;margin-bottom:12px;border:1px solid var(--danger);border-radius:var(--radius);background:var(--surface)}.songs-list li:last-child{border-bottom:none}.song-link{display:flex;justify-content:space-between;align-items:baseline;gap:12px;width:100%;padding:12px 14px;border:none;border-radius:0;background:transparent;text-align:left}.song-link:hover:not(:disabled){background:var(--surface-2);border-color:transparent}.song-title{font-weight:600}.song-artist{color:var(--text-muted);font-size:.9rem}.song-link-inline{width:auto;border:none;background:transparent;padding:2px 4px}.song-link-inline:hover:not(:disabled){background:var(--surface-2)}.song-editor{display:flex;flex-direction:column;gap:6px}.song-editor label{font-weight:600;margin-top:10px}.editor-actions{display:flex;gap:8px;align-items:center;margin-top:12px}.song-editor textarea{min-height:220px;font-family:Cascadia Code,Consolas,SF Mono,Menlo,monospace;font-size:.92rem;line-height:1.5;resize:vertical}.snippet-bar{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.doc-pills{margin:4px 0 12px}.snippet-btn{padding:3px 10px;font-size:.82rem;border-radius:999px;color:var(--text-muted)}.snippet-btn:hover:not(:disabled){color:var(--text)}.doc-tabs{display:flex;align-items:center;gap:4px;flex-wrap:wrap;margin:14px 0 2px;padding-bottom:8px;border-bottom:1px solid var(--border)}.doc-tab-row{display:inline-flex;align-items:center}.doc-tab{border-radius:8px 0 0 8px;border-right:none;padding:5px 12px;font-size:.88rem}.doc-tab.active{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}.doc-tab-x{border-radius:0 8px 8px 0;margin-left:-1px;padding:5px 8px;font-size:.88rem;color:var(--text-muted)}.doc-tab-x:hover:not(:disabled){color:var(--danger);background:var(--surface-2)}.doc-add-row{display:inline-flex;align-items:center;gap:6px}.doc-add-row input{width:140px;padding:5px 8px;font-size:.88rem}.chart{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow);padding:20px 22px}.chart-toolbar{display:flex;align-items:center;gap:8px;margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid var(--border)}.chart-toolbar button{width:34px;padding:4px 0}.chart-toolbar [data-testid=transpose-value]{font-family:Cascadia Code,Consolas,monospace;font-weight:700;min-width:28px;text-align:center}.chart-header h3{margin:0;font-size:1.15rem}.chart-header p{margin:2px 0 0;color:var(--text-muted)}.chart-section{margin:14px 0;border-radius:8px;padding:2px 6px}.chart-section-chorus,.chart-section-bridge{border-left:3px solid var(--border-strong);padding-left:12px}.chart-active{background:var(--active-bg);outline:2px solid var(--active-border);padding:8px 10px}.chart-label{margin:6px 0 4px;color:var(--text-muted);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em}.chart-line{white-space:pre-wrap;line-height:1.5;margin:.3em 0}.chart-line>span{display:inline-grid;justify-items:start;vertical-align:bottom}.chart-line>span>span:not(.chart-chord){height:1.5em}.chart-chord{font-family:Cascadia Code,Consolas,SF Mono,Menlo,monospace;font-weight:700;color:var(--accent);margin-right:.35em;font-size:.78em;line-height:1.3;white-space:nowrap}.chart-comment{color:var(--text-muted);font-size:.88rem;font-style:italic}.chart-tab{font-family:Cascadia Code,Consolas,SF Mono,Menlo,monospace;background:var(--surface-2);border-radius:8px;padding:10px 12px;margin:6px 0;overflow-x:auto;font-size:.9rem}.section-actions{display:flex;align-items:center;gap:6px;margin:2px 0 8px;flex-wrap:wrap}.section-actions .snippet-btn{padding:1px 9px;font-size:.78rem;color:var(--text-muted)}.section-actions .section-jump{padding:3px 11px;font-size:.85rem;font-weight:700;color:var(--text);background:var(--surface-2);border-color:var(--border-strong);border-radius:999px}.section-actions .section-jump:disabled{opacity:.55}.audio-section{margin-top:28px;border-top:1px solid var(--border);padding-top:14px}.audio-list{list-style:none;margin:10px 0 0;padding:0}.audio-item{display:flex;align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid var(--border)}.audio-item audio{flex:1;height:36px;border-radius:999px;accent-color:var(--accent)}.audio-name{min-width:140px;font-weight:600;font-size:.92rem}.playalong{margin-bottom:16px}.player-row{display:flex;align-items:center;gap:12px}.player-row audio{flex:1;border-radius:999px;accent-color:var(--accent)}.playalong-position{font-family:Cascadia Code,Consolas,SF Mono,Menlo,monospace;font-weight:700;min-width:48px;text-align:right;font-variant-numeric:tabular-nums}.track-picker{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:10px}.track-picker button{border-radius:999px;padding:5px 14px;font-size:.88rem}.track-picker button.active{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}.record-panel{margin:14px 0;padding:12px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow)}.record-row{display:flex;align-items:center;gap:10px}.record-row audio{flex:1;height:36px}.record-dot{width:12px;height:12px;border-radius:50%;background:var(--danger);animation:record-pulse 1.2s ease-in-out infinite;flex-shrink:0}@keyframes record-pulse{0%,to{opacity:1}50%{opacity:.3}}@media(prefers-reduced-motion:reduce){.record-dot{animation:none}button,input,select,textarea{transition:none}}.record-timer{font-family:Cascadia Code,Consolas,SF Mono,Menlo,monospace;font-weight:700;min-width:48px;font-variant-numeric:tabular-nums}.loop-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:10px 0 4px;padding-top:10px;border-top:1px solid var(--border)}.loop-indicator{font-family:Cascadia Code,Consolas,SF Mono,Menlo,monospace;font-size:.82rem;color:var(--text-muted);padding:4px 10px;border-radius:999px;background:var(--surface-2)}.improv-details{margin-top:10px;border-top:1px solid var(--border);padding-top:10px}.improv-details summary{cursor:pointer;font-weight:600;color:var(--text-muted)}.improv-details summary:hover{color:var(--text)}.improv-panel{margin-top:10px}.prompt-filters{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:10px}.prompt-card{padding:14px 16px;border:1px solid var(--accent);border-radius:var(--radius);background:var(--accent-soft);color:var(--accent);font-weight:700;font-size:1.05rem;letter-spacing:.01em}.multitrack-panel{margin:10px 0 4px;padding-top:10px;border-top:1px solid var(--border)}.multitrack-panel h4{margin:0 0 8px;font-size:.8rem;text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted)}.layer-row{display:flex;align-items:center;gap:10px;padding:6px 0;border-bottom:1px solid var(--border)}.layer-row audio{display:none}.layer-row .song-title{font-size:.9rem;min-width:120px}.layer-row input[type=range]{flex:1;accent-color:var(--accent)}.layer-actions{display:flex;gap:8px;margin-top:10px}.setlist-items{list-style:none;margin:0 0 18px;padding:0;counter-reset:setlist;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);overflow:hidden}.setlist-items li{counter-increment:setlist;display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid var(--border)}.setlist-items li:last-child{border-bottom:none}.setlist-items li:before{content:counter(setlist) ".";font-weight:700;color:var(--accent);min-width:22px;font-variant-numeric:tabular-nums}.setlist-item .song-title{border:none;background:transparent;padding:2px 4px;font-weight:600}.setlist-controls{margin-left:auto;display:flex;gap:4px}.setlist-controls button{padding:2px 9px;font-size:.85rem}.add-song-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.song-view h2{margin:0 0 14px;font-size:1.3rem;letter-spacing:-.01em}.chart-empty{color:var(--text-muted)}.chart-spacer{height:.9em}
