/* Music layout consumes the shared theme and material tokens. */
.music-studio{
  --music-panel:transparent;--music-canvas:transparent;--music-field:var(--glass-field);
  --music-edge:var(--glass-field-edge);--music-label:var(--ui-muted);
  --music-selected:var(--ui-accent);--music-selected-ink:var(--ui-accent-ink);
}
.shell.is-media-workspace .ai-media.music-studio{
  width:100%; max-width:none; height:calc(100dvh - var(--workspace-header-height,56px));
  min-height:0; padding:14px 18px 18px; overflow:hidden; box-sizing:border-box;
  display:flex; flex-direction:column; gap:12px;
}
.music-studio-layout{display:grid;grid-template-columns:370px minmax(0,1fr);gap:16px;align-items:stretch;min-height:0;height:100%;flex:1}
.music-studio #media-compose.music-compose{
  display:flex;flex-direction:column;min-width:0;min-height:0;padding:0;overflow:hidden;
  border:1px solid var(--music-edge);border-radius:var(--ui-radius-panel);
}
.music-compose fieldset{display:flex;flex:1;flex-direction:column;min-height:0;margin:0;padding:0;border:0}
.music-scroll{flex:1;min-height:0;overflow:auto;padding:22px 20px 18px;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--music-edge) transparent}
.music-composer-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:22px}
.music-composer-top h1{margin:0;color:var(--ui-ink);font:600 23px/1.2 var(--ui-font);letter-spacing:-.65px}
.music-info{position:relative;flex:none}
.music-info summary{display:grid;place-items:center;box-sizing:border-box;width:36px;height:36px;padding:8px;border:0;border-radius:var(--ui-radius-control);color:var(--ui-muted);font:500 13px/1 var(--ui-font);cursor:pointer;list-style:none}
.music-info summary::-webkit-details-marker{display:none}
.music-info p{position:absolute;z-index:5;top:42px;right:0;width:240px;box-sizing:border-box;margin:0;padding:12px;border:1px solid var(--music-edge);border-radius:10px;background:var(--glass-menu);box-shadow:var(--glass-shadow);color:var(--music-label);font:12px/1.5 var(--ui-font)}
.music-model-row{display:grid;gap:8px;margin-bottom:14px}
.music-model-row>span{color:var(--music-label);font:600 12px/1.3 var(--ui-font)}
.music-mode{margin-bottom:22px}
.music-choice{display:flex;gap:3px;padding:4px;border:1px solid color-mix(in srgb,var(--music-edge) 70%,transparent);border-radius:10px;background:var(--music-field)}
.music-choice button{display:flex;align-items:center;justify-content:center;flex:1;min-width:0;min-height:32px;padding:6px 9px;border:0;border-radius:6px;background:transparent;color:var(--ui-muted);font:500 12px/1.3 var(--ui-font);white-space:nowrap;cursor:pointer}
.music-choice button:hover{color:var(--ui-ink);background:var(--ui-soft)}
.music-choice button[aria-pressed="true"]{background:var(--music-selected);color:var(--music-selected-ink);box-shadow:0 1px 3px #0002}
.music-idea,.music-lyrics{display:grid;gap:8px;color:var(--music-label);font:600 12px/1.4 var(--ui-font)}
.music-label-row{display:flex;align-items:center;justify-content:space-between;gap:8px}
.music-label-row output{color:var(--ui-muted);font:400 10px/1.4 var(--ui-font);font-variant-numeric:tabular-nums;white-space:nowrap}
.music-studio .music-idea textarea,.music-studio .music-lyrics textarea,.music-studio #media-prompt{
  display:block;box-sizing:border-box;width:100%;height:auto;min-height:100px;margin:0;padding:12px;
  border:1px solid var(--music-edge);border-radius:9px;background:var(--music-field);color:var(--ui-ink);
  font:400 13px/1.55 var(--ui-font);resize:vertical;outline:none;
}
.music-studio #media-prompt{min-height:116px}
.music-studio textarea::placeholder,.music-studio input::placeholder{color:var(--ui-muted);opacity:1}
.music-brief-meta{margin-top:15px}
.music-field{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;color:var(--music-label);font:600 12px/1.4 var(--ui-font)}
.music-studio .music-field input{box-sizing:border-box;width:100%;min-width:0;height:42px;min-height:42px;padding:10px 12px;border:1px solid var(--music-edge);border-radius:9px;background:var(--music-field);color:var(--ui-ink);font:400 13px/1.4 var(--ui-font)}
.music-detail,.music-voice,.music-advanced{margin-top:24px;padding-top:22px;border-top:1px solid var(--music-edge)}
.music-style-groups{display:grid;gap:13px;margin-top:16px}
.music-style-groups>div>span{display:block;margin-bottom:7px;color:var(--ui-muted);font:500 11px/1.3 var(--ui-font)}
.music-style-chips,.music-lyric-insert{display:flex;flex-wrap:wrap;gap:6px}
.music-style-chips button,.music-lyric-insert button,.music-shuffle{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:30px;padding:6px 10px;border:1px solid var(--music-edge);border-radius:7px;background:var(--music-field);color:var(--music-label);font:400 11px/1.3 var(--ui-font);cursor:pointer}
.music-style-chips button:hover,.music-lyric-insert button:hover{border-color:var(--ui-muted);color:var(--ui-ink)}
.music-style-chips button[aria-pressed="true"]{background:var(--music-selected);border-color:var(--music-selected);color:var(--music-selected-ink)}
.music-shuffle{margin-top:12px;border-color:transparent;background:transparent;padding-left:0;color:var(--ui-muted)}
.music-shuffle:hover{color:var(--ui-ink)}
.music-shuffle span{font-size:17px;line-height:1}
.music-section-title,.music-lyrics-top,.music-voice-row{display:grid;gap:10px;color:var(--music-label);font:600 12px/1.4 var(--ui-font)}
.music-vocal-fields{display:grid;gap:18px;margin-top:20px}
.music-lyrics textarea{min-height:160px}
.music-advanced summary{color:var(--music-label);font:600 12px/1.4 var(--ui-font);cursor:pointer;padding:3px 0}
.music-advanced>div{display:grid;gap:16px;margin-top:17px}
.music-price{margin-top:14px;font-size:11px}
.music-price:empty{display:none}
.music-footer{flex:none;padding:15px 20px 18px;border-top:1px solid var(--music-edge);background:var(--music-panel)}
.music-footer .media-generate{width:100%;min-height:44px}
.music-notices{padding:0 20px 16px}
.music-tracks{min-width:0;min-height:0;border:1px solid var(--music-edge);border-radius:16px;background:var(--music-canvas);backdrop-filter:blur(16px)}
.music-tracks-header{display:none}
.music-tracks h2{color:var(--ui-ink)}
.music-studio button:focus-visible,.music-studio textarea:focus-visible,.music-studio input:focus-visible,.music-studio select:focus-visible,.music-studio summary:focus-visible{outline:2px solid var(--ui-muted);outline-offset:3px}
.music-studio textarea:focus,.music-studio .music-field input:focus{border-color:var(--ui-muted)}
.music-studio .is-hidden{display:none!important}
.music-studio [data-music-counter].is-over{color:#d16d6d}
@media (min-width:1600px){.music-studio-layout{grid-template-columns:390px minmax(0,1fr)}}
@media (max-width:980px){.music-studio-layout{grid-template-columns:330px minmax(0,1fr)}.music-scroll{padding:18px 16px}.music-footer{padding:14px 16px}}
@media (max-width:760px){
  .shell.is-media-workspace .ai-media.music-studio{height:auto;min-height:0;padding:10px;overflow:visible}
  .music-studio-layout{display:block;height:auto}.music-scroll{overflow:visible;padding:20px 18px}
  .music-compose fieldset{min-height:0}.music-footer{padding:14px 18px 18px}
  .music-choice button,.music-style-chips button,.music-lyric-insert button{min-height:36px}
  .music-studio .music-idea textarea,.music-studio .music-lyrics textarea,.music-studio .music-field input{font-size:16px}
}
@media(max-width:360px){.music-scroll{padding:18px 14px}.music-footer{padding-inline:14px}.music-choice button{padding-inline:7px}.music-info p{width:220px}}

@media(min-width:761px) and (max-height:800px){.music-scroll{padding-block:18px}.music-composer-top{margin-bottom:16px}.music-model-row{gap:6px;margin-bottom:12px}.music-mode{margin-bottom:16px}.music-studio #media-prompt{min-height:88px}.music-detail,.music-voice,.music-advanced{margin-top:18px;padding-top:16px}.music-footer{padding-block:12px}}

@media(max-width:900px){
 .shell.is-media-workspace .ai-media.music-studio{height:auto;min-height:calc(var(--usable-height,100dvh) - var(--workspace-header-height,64px));padding:16px 16px 96px;overflow:visible}
 .music-studio .music-studio-layout{display:block;height:auto}
 :root[data-theme] body.site-surface .music-studio #media-compose.music-compose{overflow:visible}
 .music-studio .music-scroll{overflow:visible;padding:20px 16px}
 .music-composer-top{margin-bottom:16px}
 body.site-surface .music-studio .music-composer-top h1{font:600 20px/28px var(--ui-font);color:var(--ui-ink);letter-spacing:0}
 .music-model-row{margin-bottom:16px}
 .music-model-row>span{display:none}
 .music-mode{margin-bottom:16px}
 .music-studio .music-choice{padding:0;gap:4px;border:0;background:transparent}
 .music-mode .music-choice{width:fit-content}
 .music-studio .music-choice button{min-height:44px;padding:10px 12px;border-radius:10px;font-size:14px;font-weight:400;color:var(--ui-ink)}
 body.site-surface .music-studio .music-choice button[aria-pressed=true]{background:var(--ui-accent);color:var(--ui-accent-ink);box-shadow:none}
 body.site-surface .music-studio .music-choice button[aria-pressed=true]:hover{background:var(--ui-accent-hover);color:var(--ui-accent-ink)}
 .music-studio .music-idea{gap:8px;font:400 12px/18px var(--ui-font)}
 .music-studio #media-prompt{height:144px;min-height:144px;padding:12px;border:1px solid var(--ui-line);border-radius:14px;background:var(--ui-background);font-size:16px;line-height:22px}
 .music-voice{margin-top:20px;padding-top:0;border:0}
 .music-voice .music-section-title>span{display:none}
 .music-studio .music-brief-meta{margin-top:16px}
 .music-studio .music-field{gap:8px;font:400 12px/18px var(--ui-font)}
 .music-studio .music-field input{min-height:48px;height:48px;padding:12px;border:1px solid var(--ui-line);border-radius:14px;background:var(--ui-background);font-size:16px}
 .music-studio .music-tracks{margin-top:20px;padding:0;border:0;background:transparent;backdrop-filter:none}
 .music-studio .music-library-empty{box-sizing:border-box;min-height:192px;padding:28px 20px;border:1px solid var(--ui-line);border-radius:14px;background:var(--ui-background)}
 .music-studio .music-library-empty h3{font:400 14px/20px var(--ui-font)}
 .music-studio .music-library-empty>p{font:400 14px/22px var(--ui-font);color:var(--ui-muted)}
 .music-studio .music-empty-ideas{margin-top:20px}
 body.site-surface .music-studio .music-footer{position:static;display:grid;grid-template-columns:44px minmax(0,1fr);gap:8px;padding:0 16px 16px;border:0;background:transparent}
 .music-studio .music-notices{padding:0 16px 16px}
 .music-footer [data-mobile-mic]>.voice-input{position:relative;inset:auto}
 body.site-surface .music-studio .music-footer .media-generate{min-height:44px}
 .music-library-tools>summary{min-height:44px;padding:12px 0;font-size:14px;cursor:pointer;color:var(--ui-muted)}
}

.music-info summary>.ui-icon{width:20px;height:20px}.music-info summary:hover{background:var(--glass-hover);color:var(--ui-ink)}

.provider-music-studio .provider-controls{margin-top:22px}
.provider-music-studio .provider-field:has(textarea){grid-column:1/-1}
.provider-music-studio textarea[data-provider-field="lyrics"]{min-height:240px;line-height:1.65}
