.song-editor-container{flex-direction:column;gap:.6rem;height:calc(100vh - 96px);max-height:none;display:flex}.song-editor-header{z-index:6;background:var(--bg-primary);border-bottom:1px solid var(--color-border);flex-direction:column;gap:.35rem;padding:.4rem 0 .35rem;display:flex;position:sticky;top:0}.header-rail{align-items:center;gap:.5rem;min-height:44px;display:flex}.rail-left,.rail-right{align-items:center;gap:.5rem;display:inline-flex}.rail-center{flex:1;justify-content:center;display:flex}.status-chip{border:1px solid var(--color-border);color:var(--text-secondary);background:var(--surface-2);border-radius:10px;align-items:center;gap:.35rem;padding:.2rem .55rem;font-size:.78rem;display:inline-flex}.status-dot{background:var(--text-muted);border-radius:999px;width:8px;height:8px}.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)}}.view-toggle{border:1px solid var(--color-border);border-radius:8px;display:inline-flex;overflow:hidden}.view-toggle .btn{border:none;min-height:32px;padding:.3rem .75rem;font-size:.85rem}.view-toggle .btn.is-active{background:var(--color-surface);color:var(--text-primary)}.save-btn{min-height:34px}.meta-strip{flex-wrap:wrap;align-items:center;gap:.4rem;padding:0 .25rem .1rem;display:flex}.meta-chip{position:relative}.chip-button{border:1px solid var(--color-border);background:var(--color-surface);min-height:32px;color:var(--text-primary);cursor:pointer;transition:var(--transition-fast);border-radius:10px;align-items:center;gap:.35rem;padding:.35rem .6rem;font-size:.82rem;display:inline-flex}.chip-button:disabled{opacity:.55;cursor:not-allowed}.chip-button:hover:not(:disabled){background:var(--color-surface-hover)}.chip-label{text-transform:uppercase;letter-spacing:.03em;color:var(--text-secondary);font-size:.72rem}.chip-value{color:var(--text-primary);font-weight:600}.chip-warning{color:var(--accent-warning);font-weight:700}.meta-popover{z-index:20;border:1px solid var(--color-border);background:var(--surface-2);box-shadow:var(--shadow-lg);border-radius:10px;min-width:180px;padding:.55rem;position:absolute;top:calc(100% + 6px);left:0}.key-popover{min-width:220px}.timing-popover{min-width:240px}.back-btn svg{margin-right:6px}.save-btn{margin-left:8px}.save-btn:disabled{opacity:.6;cursor:default}.save-status{min-height:var(--control-md);border:1px solid var(--border-color);border-radius:var(--border-radius-md);background:var(--surface-2);color:var(--text-secondary);align-items:center;gap:.35rem;padding:0 .65rem;font-size:.85rem;display:inline-flex}.save-status svg{stroke:#22c55e}.view-mode-toggle{border:1px solid var(--color-border);border-radius:6px;display:flex;overflow:hidden}.view-mode-toggle button{background:var(--color-surface);color:var(--color-text);cursor:pointer;border:none;padding:.4rem .8rem;font-size:.9rem;transition:all .2s}.view-mode-toggle button:hover{background:var(--color-surface-hover)}.view-mode-toggle button.btn-primary{background:var(--color-primary);color:#fff}.song-editor-content{border:1px solid var(--color-border);background:var(--surface-2);border-radius:10px;flex-direction:column;flex:1;display:flex;overflow:auto}.song-meta-strip{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.meta-chip{border:1px solid var(--color-border);color:var(--text-secondary);background:var(--color-surface);border-radius:14px;align-items:center;gap:.35rem;padding:.2rem .5rem;font-size:.78rem;display:inline-flex}.meta-chip svg{opacity:.8}.meta-inline-item{align-items:center;display:inline-flex}.meta-pill{min-height:var(--control-md);border:1px solid var(--color-border);border-radius:var(--border-radius-md);background:var(--surface-2);cursor:pointer;align-items:center;gap:.4rem;padding:0 .7rem;transition:background .15s,border-color .15s,box-shadow .15s;display:inline-flex}.meta-pill:hover{background:var(--surface-2)}.meta-pill.is-open{border-color:var(--accent-primary);box-shadow:0 0 0 1px var(--accent-primary)}.meta-pill.is-dirty{border-color:var(--accent-primary)}.meta-pill.has-warning{border-color:var(--accent-warning)}.meta-pill.is-disabled{opacity:.55;cursor:not-allowed}.meta-pill-label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);font-size:.7rem;line-height:1}.meta-pill-value{color:var(--text-primary);font-size:.86rem;font-weight:600;line-height:1}.meta-pill-badge{border:1px solid var(--color-border);color:var(--text-muted);border-radius:999px;align-self:center;margin-top:0;padding:.1rem .45rem;font-size:.68rem}.meta-pill-warning{color:var(--accent-warning);align-self:center;font-size:.7rem}.meta-pill-subtext{color:var(--text-muted);font-size:.72rem}.meta-pill.editing{cursor:default;min-height:var(--control-md);flex-flow:row;align-items:center;gap:.25rem;padding:.25rem .45rem}.meta-pill.editing:hover{background:var(--surface-2)}.pill-input{border:1px solid var(--color-border);background:var(--surface-2);width:4rem;color:var(--text-primary);text-align:center;border-radius:6px;padding:.2rem .35rem;font-size:.85rem}.key-editing{align-items:flex-start;position:relative}.key-input-group{flex-direction:column;width:fit-content;min-width:0;max-width:7rem;display:flex;position:relative}.key-editing .pill-input{width:3.2rem}.key-editing .pill-action{padding:0 .1rem;font-size:.72rem}.pill-suggestion-menu{z-index:20;border:1px solid var(--color-border);background:var(--surface-2);border-radius:10px;grid-template-columns:repeat(auto-fit,minmax(52px,1fr));gap:6px;min-width:12rem;padding:6px;display:grid;position:absolute;top:calc(100% + 6px);left:0;right:0;box-shadow:0 14px 38px #0000002e}.pill-suggestion{background:var(--surface-3);color:var(--text-primary);text-align:center;cursor:pointer;border:1px solid #0000;border-radius:8px;padding:.35rem .45rem;font-weight:600;transition:background .15s,border-color .15s,transform .1s}.pill-suggestion:hover,.pill-suggestion:focus-visible{border-color:var(--accent-primary);background:#4c6ef514;outline:none}.pill-suggestion:active{transform:translateY(1px)}.pill-action{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;padding:0 .2rem;font-size:.75rem}.pill-action:hover{color:var(--text-primary)}.tuning-manager-popover{background:var(--surface-2);border:1px solid var(--color-border);z-index:18;border-radius:12px;width:min(520px,92vw);max-height:70vh;padding:1rem;position:absolute;top:calc(100% + 10px);right:0;overflow-y:auto;box-shadow:0 18px 48px #00000047}.tuning-manager-header{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.tuning-edit-list{flex-direction:column;gap:.75rem;display:flex}.tuning-edit-list.compact .tuning-edit-row{padding:.65rem}.tuning-edit-row{border:1px solid var(--color-border);background:var(--surface-2);border-radius:12px;flex-direction:column;gap:.5rem;padding:.75rem;display:flex}.tuning-value-group{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.4rem;display:grid}.tuning-row-actions{flex-wrap:wrap;gap:.35rem;display:flex}.tuning-edit-empty{border:1px dashed var(--color-border);text-align:center;color:var(--text-muted);border-radius:12px;padding:1rem}.tuning-edit-actions{justify-content:flex-end;gap:.5rem;display:flex}.timing-inline-group{align-items:center;gap:.35rem;display:inline-flex}.time-input{border:1px solid var(--color-border);background:var(--surface-2);width:2.4rem;color:var(--text-primary);text-align:center;appearance:textfield;border-radius:6px;padding:.2rem .35rem}.time-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.time-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.timing-divider,.timing-spacer,.timing-suffix{color:var(--text-secondary);font-size:.78rem}.timing-suffix{margin-left:-.2rem}.meta-warning-text{color:var(--accent-warning);margin-top:.25rem;font-size:.76rem;display:block}.mini-warning{color:var(--accent-warning);font-size:.72rem}.song-editor-inline-info{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:.5rem;margin-top:.4rem;display:grid}.notes-inline,.links-inline{background:0 0;border:1px solid #0000;border-radius:10px;flex-direction:column;gap:.35rem;padding:.45rem .55rem;transition:border-color .15s,background .15s;display:flex}.notes-inline.is-editing,.links-inline.is-editing,.notes-inline.is-dirty,.links-inline.is-dirty{border-color:var(--accent-primary)}.notes-editor-surface textarea{border:1px solid var(--color-border);background:var(--surface-2);width:100%;min-height:90px;color:var(--text-primary);resize:vertical;border-radius:8px;padding:.55rem}.notes-editor-actions{justify-content:flex-end;display:flex}.notes-display{width:100%;color:var(--text-primary);text-align:left;cursor:pointer;background:0 0;border:none;padding:0;font-size:.82rem}.notes-display .notes-display-content{white-space:pre-wrap;display:inline-block}.notes-display .placeholder{color:var(--text-muted);font-style:italic}.links-display-list,.links-edit-list{flex-direction:column;gap:.1rem;margin:0;padding-left:1.1rem;font-size:.82rem;display:flex}.links-display-list{list-style:outside}.links-edit-list li{align-items:center;gap:.25rem;list-style:outside;display:flex}.link-input{border:1px solid var(--color-border);background:var(--surface-2);color:var(--text-primary);border-radius:6px;flex:1;padding:.35rem .45rem}.link-input.has-error{border-color:var(--accent-danger,#f87171);background:#f871711f}.links-placeholder{color:var(--text-muted);cursor:pointer;text-align:left;background:0 0;border:none;padding:0;font-size:.8rem;font-style:italic}.link-add-button,.link-toggle-button,.link-remove-button{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;font-size:1.1rem;line-height:1;display:inline-flex}.link-add-button:hover,.link-toggle-button:hover,.link-remove-button:hover{background:var(--color-surface-hover)}.link-add-button:focus-visible,.link-toggle-button:focus-visible,.link-remove-button:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.link-remove-button{color:var(--accent-danger,#f87171)}.link-inline-actions{align-items:center;gap:.35rem;margin-left:auto;display:inline-flex}.links-display-wrapper{width:100%;display:block;position:relative}.links-display-wrapper .links-display-list{padding-right:calc(var(--control-sm)*2 + .5rem)}.links-display-wrapper>.link-inline-actions{justify-content:flex-end;align-items:flex-start;gap:.35rem;height:calc(2.3em + .2rem);margin-left:0;padding-left:.25rem;display:flex;position:absolute;top:0;right:0}.links-display-wrapper>.link-inline-actions .icon-btn{width:var(--control-sm);height:var(--control-sm)}.link-display-row{align-items:center;gap:.2rem;width:100%;padding:.1rem 0;display:flex}.link-display-row a{color:var(--accent-primary);line-height:1.15;text-decoration:none}.link-display-row a:hover,.link-display-row a:focus-visible{color:var(--accent-secondary);text-decoration:underline}.alternate-keys-section{flex-direction:column;gap:.5rem;display:flex}.alternate-keys-section .section-header{justify-content:space-between;align-items:center;display:flex}.alternate-key-row .icon-btn{width:28px;height:28px}.arrangement-selector{min-height:var(--control-md);align-items:center;gap:.5rem;display:inline-flex}.arrangement-selector .dropdown{position:relative}.arrangement-selector .dropdown-toggle{background:linear-gradient(135deg,rgba(var(--accent-primary-rgb),.1),#ffffff05);min-width:220px;max-width:320px;color:var(--text-primary);box-shadow:var(--shadow-sm);border:1px solid #ffffff1f}.arrangement-selector .dropdown-menu{background:var(--surface-2);border:1px solid var(--color-border);min-width:280px;box-shadow:var(--shadow-xl);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:6px}.arrangement-selector .dropdown-header{background:var(--surface-3);border-bottom:1px solid var(--color-border);border-radius:var(--border-radius-lg)var(--border-radius-lg)0 0;letter-spacing:.05em;text-transform:uppercase;color:var(--text-secondary);margin:-6px -6px 6px;padding:10px 12px;font-size:.78rem}.arrangement-selector .dropdown-divider{background:var(--color-border);opacity:.7;margin:6px 4px}.arrangement-selector .create-arrangement{font-weight:600;color:var(--accent-primary)!important}.arrangement-selector .dropdown-item{border-radius:var(--border-radius-md);background:0 0;margin:2px;padding:10px 12px}.arrangement-selector .dropdown-item:hover{background:var(--surface-3)}.arrangement-selector .dropdown-item.active{background:rgba(var(--accent-primary-rgb),.16);color:var(--text-primary);border:1px solid rgba(var(--accent-primary-rgb),.35);box-shadow:0 10px 24px #00000047}.arrangement-count{min-height:var(--control-md);color:var(--color-text-muted);align-items:center;font-size:.82rem;display:inline-flex}.arrangement-item{text-align:left;align-items:flex-start;gap:.55rem;display:flex}.arrangement-main{flex-direction:column;flex:1;gap:.2rem;min-width:0;display:flex}.arrangement-row{align-items:center;gap:.35rem;display:flex}.arrangement-name{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-weight:600;overflow:hidden}.arrangement-meta{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.arrangement-chip{border:1px solid var(--color-border);background:var(--color-surface);color:var(--text-secondary);border-radius:999px;align-items:center;gap:.25rem;padding:2px 8px;font-size:.78rem;line-height:1.2;display:inline-flex}.arrangement-chip.key-chip{background:var(--color-primary-alpha);color:var(--accent-primary-dark);border-color:rgba(var(--accent-primary-rgb),.35);letter-spacing:.03em;font-weight:600}.arrangement-chip.ts-chip{background:var(--surface-3);color:var(--text-primary);border-color:#ffffff14}.arrangement-chip.tempo-chip{background:var(--color-surface-hover);color:var(--text-primary)}.create-arrangement{font-weight:500;color:var(--color-primary)!important}.arrangement-gear{color:var(--text-secondary);cursor:pointer;width:28px;height:28px;transition:var(--transition-fast);transform-origin:50%;background:0 0;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;margin-left:0;font-size:1.05rem;line-height:1;display:inline-flex;transform:rotate(135deg)}.arrangement-gear:hover,.arrangement-gear:focus-visible{color:var(--accent-primary);outline:none}.arrangement-item .arrangement-gear{align-self:flex-start}.dropdown-item.active .arrangement-gear{color:var(--text-primary)}.dropdown-item.active .arrangement-chip{background:rgba(var(--accent-primary-rgb),.14);color:var(--text-primary);border-color:rgba(var(--accent-primary-rgb),.35)}.dropdown-item.active .arrangement-chip.key-chip{color:var(--text-primary);border-color:rgba(var(--accent-primary-rgb),.45)}.segmented{border:1px solid var(--border-color);border-radius:var(--border-radius-md);background:var(--surface-2);display:inline-flex;overflow:hidden}.segmented .btn{color:var(--text-secondary);background:0 0;border:0;border-radius:0;padding:8px 12px}.segmented .btn+.btn{border-left:1px solid var(--border-color)}.segmented .btn.btn-primary{background:var(--accent-primary);color:#0b0d10}