.song-viewer-container{display:flex;flex-direction:column;height:100vh;background-color:var(--bg-color);color:var(--text-primary)}.song-viewer-header{padding:var(--spacing-md) var(--spacing-xl);background-color:var(--surface-color);border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-md);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;z-index:10}.header-controls-group{display:flex;align-items:center;gap:var(--spacing-md)}.control-item{display:flex;align-items:center;gap:var(--spacing-xs)}.control-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);font-weight:600}.icon-btn{background:transparent;border:1px solid var(--border-color);color:var(--text-secondary);width:32px;height:32px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s}.icon-btn:hover{background-color:var(--surface-hover);color:var(--text-primary);border-color:var(--text-secondary)}.icon-btn.active{background-color:var(--primary-color);color:#000;border-color:var(--primary-color)}.main-btn{background-color:var(--surface-hover);color:var(--text-primary);border:1px solid var(--border-color);padding:.5rem 1rem;border-radius:var(--radius-md);font-weight:500;cursor:pointer;transition:all .2s;font-family:var(--font-sans);font-size:.875rem}.main-btn:hover,.main-btn.active{background-color:var(--primary-color);color:#000;border-color:var(--primary-color)}.song-content-area{flex:1;overflow-y:auto;padding:var(--spacing-xl) max(2rem,15vw)}.song-meta{margin-bottom:var(--spacing-xl);text-align:center;border-bottom:2px solid var(--surface-hover);padding-bottom:var(--spacing-lg)}.song-title{font-size:2.5rem;font-weight:800;margin:0 0 var(--spacing-sm) 0;color:var(--text-primary);letter-spacing:-.02em}.song-artist{font-size:1.25rem;color:var(--text-secondary);margin:0;font-weight:400}.chord-lyric-pair{display:flex;flex-direction:column;margin-right:.25rem;min-width:1ch;position:relative;justify-content:flex-start}.song-line{display:flex;flex-wrap:wrap;margin-bottom:2em;position:relative;align-items:flex-start}.song-line.expanded-spacing{margin-bottom:5rem}.chord-display{font-family:var(--font-mono);font-weight:700;color:var(--primary-color);margin-bottom:.2em;display:flex;align-items:flex-end;position:relative;white-space:nowrap;min-height:1.5em;border-radius:4px;padding:0 2px;transition:background .2s;pointer-events:auto}.chord-display.notation-mode{height:60px;margin-bottom:.5em;transform:translateY(-10px)}.chord-display.clickable:hover{background-color:#eab30826;cursor:pointer}.lyric{white-space:pre;color:var(--text-primary);line-height:1.4}.section-label{width:100%;font-family:var(--font-mono);font-size:.85rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;margin-bottom:2.5rem;padding-top:2rem;border-top:1px dashed var(--surface-hover);margin-top:1rem}.section-label.expanded-spacing{margin-bottom:6rem}input[type=range]{-webkit-appearance:none;appearance:none;background:transparent;width:100px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;height:16px;width:16px;border-radius:50%;background:var(--primary-color);margin-top:-6px;cursor:pointer}input[type=range]::-webkit-slider-runnable-track{width:100%;height:4px;background:var(--surface-hover);border-radius:2px}:root{--nav-height: 60px;--bg-color: #0F0F11;--surface-color: #18181B;--surface-hover: #27272A;--text-primary: #F4F4F5;--text-secondary: #A1A1AA;--text-muted: #52525B;--primary-color: #EAB308;--border-color: #27272A}.modal-overlay{position:fixed;inset:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{background:var(--surface-color);border-radius:.75rem;max-width:500px;width:90%;max-height:90vh;overflow:auto;box-shadow:0 20px 60px #00000080;color:var(--text-primary)}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid var(--border-color)}.modal-header h2{margin:0;font-size:1.5rem}.modal-close{font-size:2rem;line-height:1;color:var(--text-secondary);background:none;border:none;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background .2s}.modal-close:hover{background:var(--surface-hover);color:var(--text-primary)}.modal-body{padding:2rem}.variation-selector{display:flex;gap:.5rem;justify-content:center;margin-top:1.5rem;flex-wrap:wrap}.variation-selector button{padding:.5rem 1rem;border-radius:var(--radius-sm);background:var(--surface-hover);color:var(--text-secondary);border:1px solid transparent;transition:all .2s}.variation-selector button:hover{border-color:var(--primary-color);color:var(--text-primary)}.variation-selector button.active{background:var(--primary-color);color:#000;font-weight:700}.clickable-chord{cursor:pointer;transition:transform .1s,color .2s;text-decoration:underline;text-decoration-color:transparent}.clickable-chord:hover{transform:translateY(-1px);text-decoration-color:var(--primary-color)}
