.music-layout { min-width:0 }
html:has(.music-layout), body:has(.music-layout) { overflow-x:clip }
.music-title-row { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; margin-bottom:18px }
.music-title-row .lead { margin-top:7px }
.music-worker-status { flex:none; border:1px solid var(--wyn-border); border-radius:999px; padding:8px 12px; color:var(--wyn-fg-muted); background:var(--wyn-base); font-size:11px; font-weight:650 }
.music-worker-status::before { content:""; display:inline-block; width:7px; height:7px; margin-right:8px; border-radius:50%; background:var(--wyn-fg-muted); vertical-align:1px }
.music-worker-status.ready::before { background:#55a77d }
.music-worker-status.offline::before { background:#c48158 }
.music-privacy { padding:11px 14px; margin-bottom:20px; border-left:2px solid var(--wyn-border); color:var(--wyn-fg-muted); font-size:12px; line-height:1.6 }
.music-privacy code { color:var(--wyn-fg); font:inherit }
.music-layout { display:grid; grid-template-columns:minmax(300px,.8fr) minmax(400px,1.2fr); align-items:start; gap:26px }
.music-compose { min-width:0; padding:0 0 22px }
.music-tabs { display:flex; gap:3px; width:max-content; max-width:100%; margin:0 0 18px; padding:4px; border-radius:13px; background:var(--wyn-base); box-shadow:var(--neu-press-sm); overflow-x:auto }
.music-tabs button { border:0; border-radius:9px; padding:9px 13px; background:transparent; color:var(--wyn-fg-muted); font-size:12px; font-weight:650; white-space:nowrap; box-shadow:none }
.music-tabs button[aria-selected="true"] { color:var(--wyn-accent); background:var(--wyn-bg-elevated); box-shadow:var(--neu-raise-sm) }
.music-compose .field { min-width:0 }
.music-compose textarea { min-height:92px; resize:vertical }
.music-lyrics-tools { position:relative }
.music-lyrics-tools .field textarea { min-height:132px; padding-bottom:48px }
.music-lyrics-tools > button { position:absolute; right:9px; bottom:10px }
.music-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 12px }
.music-model-field { grid-column:1/-1 }
.music-edit-fields[hidden], .music-source-field[hidden], .music-edit-prompt[hidden] { display:none }
.music-source-field { margin-top:8px }
.music-source-field input[type="file"] { width:100%; padding:8px; font-size:12px }
.music-source-field small, .music-repaint-range small { display:block; margin-top:4px; color:var(--wyn-fg-muted); font-size:11px }
.music-actions { display:flex; align-items:center; flex-wrap:wrap; gap:12px; margin:14px 0 0 }
.music-actions .small { max-width:42ch }
.music-job { min-height:20px; margin-top:12px; font-size:12px }
.music-job-line { padding:9px 0; color:var(--wyn-fg-muted); line-height:1.5 }
.music-job-line.ok { color:#55a77d }
.music-job-line.bad { color:#cc806f }
.music-results { display:grid; gap:8px; margin-top:12px }
.music-result { display:grid; grid-template-columns:minmax(0,1fr) auto auto; align-items:center; gap:10px; padding:10px 0; border-top:1px solid var(--wyn-border) }
.music-result strong { display:block; max-width:220px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:12px }
.music-result small { display:block; color:var(--wyn-fg-muted); font-size:10px }
.music-result audio { width:170px; height:32px }
.music-mixer { min-width:0; border-left:1px solid var(--wyn-border); padding-left:24px }
.music-mixer-head { display:flex; justify-content:space-between; align-items:flex-start; gap:14px }
.music-mixer-head h2 { margin:0 0 5px }
.music-mixer-head p { margin:0; max-width:44ch }
.music-add-file { display:inline-flex; align-items:center; gap:6px; position:relative; flex:none; padding:8px 10px; border-radius:10px; color:var(--wyn-fg); background:var(--wyn-base); box-shadow:var(--neu-raise-sm); font-size:11px; font-weight:650; cursor:pointer }
.music-add-file span:first-child { font-size:16px }
.music-add-file input { position:absolute; inset:0; width:100%; min-width:0; max-width:100%; height:100%; overflow:hidden; opacity:0; cursor:pointer }
.music-transport { display:grid; grid-template-columns:38px 78px minmax(60px,1fr) auto; align-items:center; gap:10px; margin:18px 0 10px; padding:10px 0; border-top:1px solid var(--wyn-border); border-bottom:1px solid var(--wyn-border) }
.music-transport .iconbtn { width:36px; height:36px; font-size:13px }
.music-transport #music-download-link { justify-self:end; text-decoration:none }
.music-clock { color:var(--wyn-fg-muted); font:11px ui-monospace,Consolas,monospace; white-space:nowrap }
.music-transport input[type="range"] { min-width:0; width:100% }
.music-transport button:disabled { opacity:.45; cursor:not-allowed }
.music-empty { padding:26px 8px; color:var(--wyn-fg-muted); text-align:center; font-size:12px }
.music-track { display:grid; grid-template-columns:minmax(115px,.55fr) minmax(70px,1fr); gap:8px 14px; padding:12px 0; border-bottom:1px solid var(--wyn-border) }
.music-track-name { display:flex; align-items:center; gap:8px; min-width:0; font-size:12px; font-weight:650 }
.music-track-name > span:nth-child(2) { overflow:hidden; text-overflow:ellipsis; white-space:nowrap }
.music-track-index { color:var(--wyn-fg-muted); font:10px ui-monospace,Consolas,monospace }
.music-track-name small { margin-left:auto; color:var(--wyn-fg-muted); font:10px ui-monospace,Consolas,monospace }
.music-track-wave { min-width:0; height:36px; overflow:hidden; opacity:.75 }
.music-track-wave canvas { display:block; width:100%; height:36px }
.music-track-controls { grid-column:1/-1; display:flex; align-items:center; gap:7px; min-width:0 }
.music-track-controls .sm { min-width:30px; padding:5px 7px }
.music-track-controls .music-track-remove { margin-left:auto; font-size:17px }
.music-track-controls label { display:grid; grid-template-columns:auto minmax(44px,1fr) 45px; align-items:center; gap:6px; flex:1; min-width:0; color:var(--wyn-fg-muted); font-size:9px }
.music-track-controls input[type="range"] { width:100%; min-width:30px }
.music-track-controls output { text-align:right; font:9px ui-monospace,Consolas,monospace; white-space:nowrap }
.music-track-controls [aria-pressed="true"] { color:var(--wyn-accent); box-shadow:var(--neu-press-sm) }
.music-master { display:grid; grid-template-columns:minmax(100px,1fr) auto minmax(70px,.7fr) 54px; align-items:center; gap:10px; padding:14px 0 8px; border-top:1px solid var(--wyn-border); margin-top:16px }
.music-master strong, .music-master small { display:block }
.music-master strong { font-size:12px }
.music-master small { color:var(--wyn-fg-muted); font-size:9px }
.music-master-limit { display:flex; align-items:center; gap:5px; color:var(--wyn-fg-muted); font-size:10px; white-space:nowrap }
.music-master input[type="range"] { min-width:0; width:100% }
.music-master output { color:var(--wyn-fg-muted); font:10px ui-monospace,Consolas,monospace; white-space:nowrap }
.music-master-note, .music-credit { color:var(--wyn-fg-muted); font-size:10.5px; line-height:1.55 }
.music-credit { margin-top:24px }
@media (max-width:900px) { .music-layout { grid-template-columns:1fr; gap:8px } .music-mixer { border-left:0; border-top:1px solid var(--wyn-border); padding:20px 0 0 } }
@media (max-width:560px) {
  .music-title-row { display:block }
  .music-worker-status { display:inline-block; margin-top:10px }
  .music-fields { grid-template-columns:1fr }
  .music-model-field { grid-column:auto }
  .music-result { grid-template-columns:minmax(0,1fr) auto }
  .music-result audio { grid-column:1/-1; width:100% }
  .music-transport { grid-template-columns:36px 68px minmax(42px,1fr) }
  .music-transport #music-export { grid-column:1/-1; justify-self:end }
  .music-track { grid-template-columns:minmax(0,1fr) }
  .music-track-wave { grid-row:2 }
  .music-track-controls { grid-column:1; flex-wrap:wrap }
  .music-track-controls label { min-width:100px }
  .music-master { grid-template-columns:1fr auto }
  .music-master input[type="range"] { grid-column:1 }
  .music-master output { grid-column:2; grid-row:2 }
}