.song-view-toolbar{border-bottom:1px solid var(--color-border);flex-direction:column;gap:.35rem;padding:.35rem 0;display:flex;position:relative}.song-view-toolbar .toolbar-row{flex-wrap:wrap;align-items:center;gap:.5rem;width:100%;display:flex}.song-view-toolbar .toolbar-group{align-items:center;gap:.35rem;display:inline-flex}.song-view-toolbar .toolbar-group--tuning{flex:260px;min-width:220px}.song-view-toolbar .toolbar-label{color:var(--text-muted);font-size:.8rem}.song-view-toolbar .toolbar-group.compact{gap:.3rem}.link-btn{color:var(--accent-primary);cursor:pointer;background:0 0;border:none;padding:0;font-size:.82rem}.link-btn:hover{text-decoration:underline}.status-dot{background:var(--text-muted);border-radius:999px;width:8px;height:8px;display:inline-block}.status-dot.ok{background:var(--accent-success,#22c55e)}.status-dot.warning{background:var(--accent-warning,#f59e0b)}.status-dot.live{background:var(--accent-primary);animation:1s ease-in-out infinite alternate pulse}@keyframes pulse{0%{transform:scale(.92)}to{transform:scale(1.08)}}.pill-btn{border:1px solid var(--color-border);background:var(--color-surface);color:var(--text-primary);cursor:pointer;transition:var(--transition-fast);height:var(--control-sm);border-radius:999px;align-items:center;gap:.3rem;padding:.2rem .85rem;font-size:.78rem;display:inline-flex}.pill-btn:hover{background:var(--color-surface-hover)}.pill-btn.ghost{background:0 0}.pill-btn.accent{border-color:var(--accent-primary);color:var(--accent-primary)}.song-view-toolbar .icon-btn{width:var(--control-sm);height:var(--control-sm);border:1px solid var(--color-border);background:var(--color-surface);color:var(--text-primary);cursor:pointer;transition:var(--transition-fast);border-radius:6px;justify-content:center;align-items:center;display:inline-flex}.song-view-toolbar .icon-btn:hover{background:var(--color-surface-hover)}.song-view-toolbar .icon-btn.active{outline:2px solid var(--accent-primary)}.song-view-toolbar .btn-reset{padding:.2rem .5rem;font-size:.8rem}.song-view-toolbar .select{height:var(--control-sm);background:var(--color-surface);color:var(--text-primary);border:1px solid var(--color-border);border-radius:6px;padding:0 .4rem}.toolbar-pill{border:1px solid var(--color-border);height:22px;color:var(--text-secondary);border-radius:999px;align-items:center;padding:0 .6rem;font-size:.72rem;display:inline-flex}.toolbar-pill.warning{border-color:var(--accent-warning);color:var(--accent-warning)}.toolbar-secondary-panel{background:var(--color-surface);border:1px solid var(--color-border);z-index:15;border-radius:12px;width:min(420px,90vw);padding:.75rem;position:absolute;top:calc(100% + .45rem);right:0;box-shadow:0 12px 32px #0000002e}.toolbar-secondary-panel .panel-header{justify-content:space-between;align-items:center;margin-bottom:.5rem;font-size:.85rem;font-weight:600;display:flex}.toolbar-secondary-panel .panel-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.85rem;display:grid}.toolbar-secondary-panel .panel-item{flex-direction:column;gap:.3rem;display:flex}.toolbar-secondary-panel .panel-item.full{grid-column:1/-1}.toolbar-secondary-panel .panel-inline{align-items:center;gap:.35rem;display:inline-flex}.toolbar-secondary-panel .panel-footer{justify-content:flex-end;margin-top:.75rem;display:flex}.tuning-save-popover{background:var(--color-surface);border:1px solid var(--color-border);z-index:20;border-radius:12px;flex-direction:column;gap:.55rem;width:min(360px,92vw);padding:.9rem;display:flex;position:absolute;top:calc(100% + .45rem);left:0;box-shadow:0 12px 32px #0000002e}.tuning-save-popover .popover-title{font-size:.9rem;font-weight:600}.tuning-save-popover .popover-input{border:1px solid var(--color-border);background:var(--surface-2);width:100%;color:var(--text-primary);border-radius:8px;padding:.45rem .6rem;font-size:.85rem}.template-chips{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:.35rem;font-size:.75rem;display:flex}.template-chips .chip{border:1px solid var(--color-border);background:var(--color-surface);color:var(--text-primary);cursor:pointer;border-radius:999px;padding:.1rem .65rem;font-size:.72rem}.template-chips .chip:hover{border-color:var(--accent-primary);color:var(--accent-primary)}.tuning-save-popover .popover-actions{justify-content:flex-end;gap:.5rem;display:flex}.badge{background:var(--color-surface);min-width:20px;height:20px;color:var(--text-secondary);border:1px solid var(--color-border);border-radius:999px;justify-content:center;align-items:center;padding:0 6px;font-size:.75rem;display:inline-flex}.chord-pro-content.no-wrap{white-space:nowrap;overflow-x:auto}.section-marker{scroll-margin-top:100px}.chord-pro-editor{flex-direction:column;flex:1;gap:.5rem;min-height:0;display:flex}.chord-pro-textarea{background:var(--color-surface);width:100%;color:var(--color-text);resize:none;border:none;outline:none;flex:auto;padding:.75rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,DejaVu Sans Mono,Courier New,monospace;font-size:.85rem;line-height:1.4}.chord-pro-help{background:var(--color-surface-alt);border-top:1px solid var(--color-border);flex-shrink:0;padding:.75rem}.chord-pro-help details summary{cursor:pointer;color:var(--color-primary);padding:.4rem 0;font-size:.9rem;font-weight:600}.help-content{margin-top:.75rem;font-size:.8rem;line-height:1.3}.help-content h4{color:var(--color-text);margin:.75rem 0 .4rem;font-size:.85rem}.help-content ul{color:var(--color-text-muted);margin:.4rem 0 .75rem 1.25rem}.help-content pre{background:var(--color-surface);color:var(--color-text);border-radius:4px;padding:.6rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,DejaVu Sans Mono,Courier New,monospace;font-size:.75rem;overflow-x:auto}.chord-pro-viewer{background:var(--color-background);height:100%;padding:1rem;overflow-y:auto}.chord-pro-header{text-align:center;border-bottom:1px solid var(--color-border);margin-bottom:1.5rem;padding-bottom:.75rem}.song-title{color:var(--color-text);margin-bottom:.5rem;font-size:2rem;font-weight:700}.song-subtitle{color:var(--color-text-muted);margin-bottom:.5rem;font-size:1.3rem}.song-artist{color:var(--color-primary);margin-bottom:1rem;font-size:1.1rem;font-weight:500}.song-info{color:var(--color-text-muted);justify-content:center;gap:2rem;font-size:.9rem;display:flex}.song-info span{background:var(--color-surface);border:1px solid var(--color-border);border-radius:6px;padding:.3rem .8rem}.chord-pro-content{max-width:800px;margin:0 auto;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,DejaVu Sans Mono,Courier New,monospace;font-size:1rem;line-height:2}.chord-line{flex-wrap:wrap;align-items:flex-end;min-height:2.5rem;margin-bottom:.5rem;display:flex}.chord-lyric-pair{margin-right:.1rem;display:inline-block;position:relative}.chord{color:var(--color-primary);white-space:nowrap;font-size:.9rem;font-weight:700;position:absolute;top:-1.5rem;left:0}.chord-clickable{cursor:pointer;color:var(--color-primary);-webkit-text-decoration:underline dotted;text-decoration:underline dotted;-webkit-text-decoration-color:rgba(var(--accent-primary-rgb),.65);text-decoration-color:rgba(var(--accent-primary-rgb),.65);transition:color var(--transition-fast),text-decoration-color var(--transition-fast)}.chord-clickable:hover,.chord-clickable:focus-visible{color:var(--accent-primary);text-decoration-style:solid;-webkit-text-decoration-color:rgba(var(--accent-primary-rgb),.95);text-decoration-color:rgba(var(--accent-primary-rgb),.95)}.chord-clickable:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px;box-shadow:0 0 0 2px rgba(var(--accent-primary-rgb),.15);border-radius:4px}.lyric{color:var(--color-text);white-space:pre}.chord-comment{color:var(--color-text-muted);text-align:center;margin:1rem 0;font-style:italic}.section-marker{text-align:center;border-radius:6px;margin:1.5rem 0;padding:.5rem;font-weight:700}.section-start{background:var(--color-primary-alpha);color:var(--color-primary)}.section-end{background:var(--color-surface-alt);color:var(--color-text-muted)}.no-singing{text-align:center;color:var(--color-text-muted);background:var(--color-surface-alt);border-radius:6px;margin:1rem 0;padding:.5rem;font-style:italic}.plain-text{color:var(--color-text)}.empty-content{text-align:center;color:var(--color-text-muted);padding:3rem}.chord-voicing-modal-content{gap:var(--spacing-md);--diagram-min-width:148px;--diagram-gap:10px;--diagram-card-padding:6px;flex-direction:column;min-width:min(420px,92vw);max-height:60vh;display:flex;overflow-y:auto}.chord-voicing-modal .modal-content{max-width:580px;box-shadow:var(--shadow-xl);border-radius:var(--border-radius-xl);background:#242c38;border:1px solid #ffffff29}.chord-voicing-modal .modal-header{padding:var(--spacing-sm)var(--spacing-lg);box-shadow:none;background:0 0;border-bottom:1px solid #ffffff14;align-items:center;min-height:auto}.chord-voicing-modal .modal-header h2{color:#f8fbff;font-size:var(--font-size-lg);letter-spacing:.01em;font-weight:var(--font-weight-semibold);line-height:var(--line-height-snug);text-shadow:none;margin:0}.chord-voicing-modal .modal-content h2{-webkit-text-fill-color:currentColor;color:#f8fbff;background:0 0;-webkit-background-clip:border-box;background-clip:border-box}.chord-voicing-modal .modal-close-btn{color:#f8fbff;width:var(--control-sm);height:var(--control-sm);background:#ffffff0d;border:1px solid #ffffff24}.chord-voicing-modal .modal-close-btn:hover{background:rgba(var(--accent-primary-rgb),.22);color:#fff}.chord-voicing-modal .modal-body{gap:var(--spacing-sm);background:#242c38;flex-direction:column;padding:12px;display:flex}