[hidden]{display:none!important}.music-platforms p{font-size:12px;line-height:1.5;margin:0 0 10px;color:var(--text-muted)}.music-platforms button{width:100%}.music-platforms button[aria-pressed="true"]{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 18%,var(--card));color:var(--text)}.app-layout.music-open{grid-template-columns:220px minmax(0,1fr) 260px;max-width:1900px;gap:20px}.music-panel{--music-accent:var(--accent);min-width:0;align-self:start;position:sticky;top:20px;border:1px solid var(--border);border-radius:16px;background:var(--card);overflow:auto;max-height:calc(100vh - 40px)}.music-panel-header{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:18px 16px;border-bottom:1px solid var(--border)}.music-panel-header h2{font-size:17px;margin:5px 0 0}.music-eyebrow{color:var(--music-accent);font-size:10px;letter-spacing:2px;margin:0}.music-panel-actions{display:flex;gap:5px}.music-panel-actions button{border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--text);width:28px;height:30px;font:inherit;cursor:pointer}.music-panel button:hover{border-color:var(--music-accent)}.music-empty{padding:28px 18px;text-align:center}.music-note{display:grid;place-items:center;width:64px;height:64px;margin:0 auto 20px;border-radius:18px;background:color-mix(in srgb,var(--accent) 14%,var(--bg));color:var(--music-accent);font-size:32px}.music-empty h3{font-size:17px}.music-empty p{font-size:13px;color:var(--text-muted);line-height:1.6}.music-panel.minimized #music-platform-content{display:none}@media(max-width:1279px){.app-layout.music-open{grid-template-columns:190px minmax(0,1fr)}.music-panel{grid-column:2;position:static;max-height:none}}@media(max-width:980px){.app-layout.music-open{grid-template-columns:minmax(0,1fr)}.music-panel{grid-column:1;grid-row:2}.app-layout.music-open .sidebar-left{grid-row:3}}
.music-search,.music-volume{display:grid;gap:8px;font-size:12px;color:var(--text-muted);padding:16px}.music-search input{width:100%;box-sizing:border-box;background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:10px;font:inherit}.tune-list{display:grid;gap:6px;padding:0 12px 16px;max-height:240px;overflow:auto}.tune-option{padding:12px;text-align:left;line-height:1.4;font:inherit;font-size:13px;background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:8px;cursor:pointer}.tune-option[aria-pressed=true],.tune-controls button[aria-pressed=true]{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 20%,var(--bg))}.tune-player{border-top:1px solid var(--border);padding:16px}.tune-art{width:60px;height:60px;display:grid;place-items:center;border-radius:12px;background:color-mix(in srgb,var(--accent) 20%,var(--bg));color:var(--accent);font-size:34px}.tune-player h3{font-size:15px;line-height:1.4;margin:12px 0 4px}.tune-player p{font-size:12px;color:var(--text-muted)}.tune-player input{width:100%;accent-color:var(--accent)}.tune-times{display:flex;justify-content:space-between;font-size:11px;color:var(--text-muted)}.tune-controls{display:flex;justify-content:space-between;gap:5px;margin-top:16px}.tune-controls button{width:36px;height:36px;border-radius:50%;border:1px solid var(--border);background:var(--bg);color:var(--text);cursor:pointer}#tune-play{background:color-mix(in srgb,var(--accent) 25%,var(--bg));border-color:var(--accent);color:var(--text)}.music-volume{padding:16px 0 0}

/* Keep music beside practice in desktop windows, including browser zoom. */
@media(min-width:900px){
 .app-layout.music-open{grid-template-columns:clamp(160px,15vw,220px) minmax(0,1fr) clamp(200px,18vw,260px);gap:clamp(12px,1.3vw,20px)}
 .app-layout.music-open .sidebar-left{grid-column:1;grid-row:1}
 .app-layout.music-open .main-content{grid-column:2;grid-row:1}
 .app-layout.music-open .music-panel{grid-column:3;grid-row:1;position:sticky;top:20px;max-height:calc(100vh - 40px)}
 .app-layout.music-open .level-pills{display:flex;flex-direction:column}
 .app-layout.music-open .keyboard{width:100%;box-sizing:border-box;min-width:0}
 .app-layout.music-open .key{min-width:0}
}

/* Preserve three desktop columns regardless of viewport width. */
.app-layout.music-open{grid-template-columns:220px minmax(480px,1fr) 260px;min-width:1000px;gap:20px}
.app-layout.music-open .sidebar-left{grid-column:1;grid-row:1}
.app-layout.music-open .main-content{grid-column:2;grid-row:1}
.app-layout.music-open .music-panel{grid-column:3;grid-row:1;position:sticky;top:20px;max-height:calc(100vh - 40px)}

.local-audio-controls{padding:12px 16px 0}.local-audio-controls .tune-option{width:100%;text-align:center}.local-audio-controls p{font-size:12px;color:var(--text-muted);line-height:1.4;margin:8px 0 12px}
