/* 暮音 / Studio design system. Visual presentation only; behavior lives in app/store. */
:root {
  --bg:#0d0e12; --surface:#15161c; --surface-raised:#1d1f27;
  --text:#f5f3f0; --muted:#a1a1aa; --subtle:#858792;
  --accent:#d6b994; --accent-hover:#e8cdaa; --line:rgba(255,255,255,.07);
  --green:#a6c8b4; --amber:#dcbd91; --danger:#e1a69b;
  --radius-sm:8px; --radius-md:12px; --radius-lg:16px;
  --space-1:8px; --space-2:16px; --space-3:24px; --space-4:32px;
  --top-height:72px; --dock-height:88px; --panel-width:380px;
  --ease:cubic-bezier(.2,.7,.2,1);
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","PingFang SC","Microsoft YaHei",sans-serif;
}
body {font-size:14px;background:var(--bg);color:var(--text)}
body.player-idle {--dock-height:32px}
button,a,select,input,textarea {transition:background .18s var(--ease),border-color .18s var(--ease),color .18s var(--ease),box-shadow .18s var(--ease)}
button:disabled {opacity:.42}button:not(:disabled):active {transform:translateY(1px)}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible {outline:2px solid var(--accent);outline-offset:3px}
::selection {background:#d6b99440}
::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-thumb{background:#3d3e45;border-radius:6px}::-webkit-scrollbar-track{background:transparent}
.topbar {height:var(--top-height);padding:0 32px;gap:24px;background:var(--bg);border-color:var(--line)}
.brand {gap:12px}.brand strong{font-size:23px;font-weight:600;letter-spacing:2px}.brand-icon{width:28px}.brand-icon i{background:var(--accent)}
.app-title {font-size:13px;color:var(--muted);border-color:var(--line);padding-left:24px}
.top-actions{gap:24px}.demo-label,.demo-toggle{font-size:12px;color:var(--muted);gap:8px}.demo-label span{font-size:14px}
.workbench,.player-idle .workbench {grid-template-columns:var(--panel-width) minmax(0,1fr);grid-template-rows:minmax(0,1fr);height:calc(100dvh - var(--top-height) - var(--dock-height));min-height:0}
.composer {background:var(--surface);border-color:var(--line);min-height:0;overflow:hidden}
.composer-heading{height:76px;padding:0 24px;justify-content:space-between}.composer-heading h2{font-size:18px;font-weight:550}.composer-heading>span{font-size:12px;color:var(--subtle)}
.entry-tabs{margin:0 24px 24px;padding:4px;gap:4px;border:0;border-radius:10px;background:#0e0f14}
.entry-tab{min-height:40px;padding:8px;font-size:14px;border-radius:7px;color:var(--muted)}
.entry-tab.active{background:#2b2b31;color:var(--text);box-shadow:0 1px 4px #0003}.entry-tab:hover:not(.active):not(:disabled){background:#202127;color:var(--text)}
.composer-body{padding:0 24px 24px;overflow:auto;flex:1;min-height:0}.composer-footer{position:static;padding:16px 24px 24px;background:var(--surface);border-top:1px solid var(--line);margin-top:0;flex-shrink:0}
.primary-button{min-height:46px;padding:10px 20px;border:0;border-radius:var(--radius-sm);background:var(--accent);color:#24201a;font-size:14px;font-weight:600;gap:8px;box-shadow:none}
.primary-button:hover:not(:disabled){background:var(--accent-hover);border:0}.primary-button svg{width:18px;height:18px}
.secondary-button{min-height:40px;padding:9px 16px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-raised);color:var(--text);font-size:13px}
.secondary-button:hover:not(:disabled){background:#2a2b33}.quiet-button,.sample-link{font-size:13px;color:var(--accent)}.icon-button{width:36px;height:36px;color:var(--muted);border-radius:8px}
.source-intro{margin-bottom:24px}.source-intro h3{font-size:16px;font-weight:500}.source-intro p{font-size:13px;line-height:1.7;color:var(--muted);margin-top:8px}
.composer .tabs{gap:24px;border-color:var(--line);margin-bottom:16px}.composer .tab{font-size:13px;padding:4px 0 12px;color:var(--muted);gap:8px}.composer .tab.active{color:var(--accent)}.tab.active:after{background:var(--accent);height:2px}.tab svg{width:16px;height:16px}
.composer .upload-zone{height:176px;background:#1b1c23;border:1px dashed #49464a;border-radius:12px;gap:12px;padding:24px}.upload-zone>svg{width:26px;height:26px;color:var(--accent);margin:0}.upload-zone strong{font-size:14px;color:var(--text)}.upload-zone small{font-size:12px;color:var(--muted)}.upload-zone:hover,.upload-zone.dragover{background:#24232a;border-color:var(--accent)}
.source-actions{margin-top:12px}.source-actions .sample-link{font-size:13px;padding:4px 0}.source-actions>span{font-size:12px}
.file-preview{padding:16px;background:#1c1e25;border:0;border-radius:12px}.file-info{gap:12px;margin-bottom:16px}.file-info strong{font-size:14px;font-weight:500}.file-info small{font-size:12px;color:var(--muted);margin-top:4px}.file-info>svg{color:var(--accent);width:20px;height:20px}.file-preview .sample-link{font-size:12px}.file-preview audio{height:36px}
.composer .script-area textarea,.prompt-input{background:#101116;border:1px solid #ffffff12;border-radius:10px;padding:16px;color:var(--text);font-size:14px;line-height:1.9;box-shadow:none}
.composer .script-area textarea{height:224px;min-height:160px;padding-bottom:32px}.script-area textarea::placeholder,.prompt-input::placeholder{color:#8c8c97}.char-count{font-size:12px;color:var(--subtle);right:14px;bottom:10px}
.prompt-heading label{font-size:16px;font-weight:500;color:var(--text)}.prompt-heading>span,.prompt-heading .review-status{font-size:12px;color:var(--accent)}.prompt-help{font-size:13px;color:var(--muted);line-height:1.7;margin:8px 0 16px}
.prompt-input{height:192px;min-height:144px;max-height:360px}.prompt-input:focus,.script-area textarea:focus{border-color:#b79f7d;background:#121318}.prompt-input:disabled{color:var(--muted)}
.prompt-tools{margin-top:10px}.prompt-tools .sample-link{font-size:12px;color:var(--accent)}.prompt-tools>span{font-size:12px;color:var(--subtle)}
.source-details{border:0;margin-bottom:24px;padding:12px;background:#1e2027;border-radius:8px}.source-details>summary{font-size:13px;gap:8px;color:var(--text)}.source-details>summary>small{font-size:12px;color:var(--muted)}
.content-insight{border:0;border-radius:8px;background:#1b1d24;padding:12px 14px;margin-top:16px}.content-insight summary{font-size:13px;color:var(--text)}.content-insight summary span{font-size:12px;color:var(--muted)}.content-insight p{font-size:13px;color:var(--muted)}
.music-options.settings-grid{margin-top:24px;padding-top:0;border:0;gap:16px}.settings-grid{gap:16px}.settings-fields .form-section{margin:0}.settings-grid .field-label,.field-label{font-size:13px;color:var(--muted);margin-bottom:8px}.settings-grid .optional,.optional{font-size:12px;color:var(--subtle)}
.select-input,.settings-grid .select-input,.dialog-body .select-input{font-size:14px;background:#1f2028;border:1px solid transparent;border-radius:8px;height:42px;padding:8px 12px;color:var(--text)}.select-input:hover{background:#252630}.select-input:focus{border-color:var(--accent)}
.prompt-constraints{margin-top:24px;padding-top:16px;border-color:var(--line)}.settings-grid .duration-control{height:42px}.settings-grid .duration-control input{height:42px;width:82px;background:#1f2028;border:0;border-radius:8px;font-size:15px;color:var(--text);padding:8px 12px}.duration-control>span{font-size:13px;color:var(--muted)}.toggle-field{height:42px;font-size:14px;color:var(--text)}.switch input:checked+span{background:var(--accent)}
.constraint-help{font-size:12px;line-height:1.8;color:var(--subtle);margin-top:16px}.submitted-label{font-size:13px;color:var(--accent);padding:12px 0}
.results-panel{min-height:0;background:var(--bg)}.results-heading{height:76px;min-height:76px;margin:0 32px;border-bottom:0;gap:16px}.results-heading h1{font-size:24px;font-weight:550;letter-spacing:-.5px;color:var(--text)}.result-count{font-size:12px;background:#202128;color:var(--muted);padding:3px 9px;border-radius:20px}.result-tools{gap:8px}.result-tools select{font-size:13px;color:var(--muted);border:0;background:transparent;padding:8px;max-width:205px}
.results-body{padding:0 32px 32px;overflow:auto;min-height:0}.creation-empty{min-height:440px;max-height:720px;flex:1;justify-content:center;padding:32px 0 64px;margin:0}.welcome-wave{width:min(100%,520px);margin:0 auto 24px}.welcome-wave svg{height:auto;max-height:156px}.welcome-copy h2{font-size:30px;font-weight:500;letter-spacing:-.7px;color:var(--text)}.welcome-copy p{font-size:14px;line-height:1.8;max-width:420px;color:var(--muted);margin:16px auto 0}.welcome-actions{gap:12px;margin-top:28px}.welcome-actions .secondary-button{padding:12px 18px;min-height:44px;background:#202128;color:var(--text)}.welcome-actions .secondary-button:first-child{background:var(--accent);color:#24201a}.welcome-actions svg{width:17px;height:17px}
.results-ready{padding:0 0 16px;border-color:var(--line);gap:24px}.results-ready strong{font-size:14px;font-weight:500;color:var(--text)}.results-ready p{font-size:12px;color:var(--muted);margin-top:6px}.results-ready summary{font-size:12px;color:var(--subtle)}.results-ready>details{flex:0 0 auto;max-width:380px}
.brief-snapshot{padding:16px 0;gap:16px}.request-prompt summary{font-size:12px;color:var(--muted);gap:12px;flex-wrap:wrap}.request-prompt summary>span:nth-child(2){border-color:var(--line)}.prompt-disclosure,.snapshot-apply{font-size:12px;color:var(--subtle)}.snapshot-apply{padding:2px 0}.request-prompt p{font-size:13px;color:var(--muted)}.snapshot-options{font-size:12px}.comparison-source{font-size:12px;color:var(--subtle);line-height:1.7;margin:0 0 20px}.version-feedback{font-size:12px;color:var(--accent);margin:0 0 12px}
/* Music works, with consistent two-column comparison rather than a data table. */
.track-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;border:0}
.candidate,.candidate.is-final{padding:24px;border:1px solid transparent;border-radius:16px;background:var(--surface);min-width:0;display:flex;flex-direction:column;transition:background .2s,border-color .2s,box-shadow .2s;position:relative}
.candidate:hover{background:#191a21}.candidate.is-final{border-color:#ae9370;background:#1e1c1b;box-shadow:inset 0 0 0 1px #d6b9940d}
.track-main{gap:14px;display:flex;align-items:center;flex-wrap:nowrap}.track-art{width:54px;height:64px;flex-shrink:0;border-radius:7px;position:relative;overflow:hidden;background:#393127;display:grid;place-items:center}.track-art:before,.track-art:after,.track-art span{content:'';position:absolute;border:1px solid #d9bd8e80;border-radius:50%;width:72px;height:72px;left:12px;top:4px}.track-art:after{width:48px;height:48px;left:24px;top:16px}.track-art span{width:24px;height:24px;left:36px;top:28px}.track-art i{height:90px;width:1px;background:#e9cf9f3a;transform:rotate(25deg);position:absolute;left:12px}.track-tone-1 .track-art{background:#293330}.track-tone-1 .track-art:before,.track-tone-1 .track-art:after,.track-tone-1 .track-art span{border-color:#a1c4ae80}
.track-info{min-width:0;max-width:none;flex:1}.candidate-label{display:block;font-size:12px;color:var(--subtle);margin-bottom:5px}.track-info h2{font-size:19px;line-height:1.4;font-weight:550;color:var(--text);letter-spacing:0;white-space:normal;overflow:visible}.track-info p{font-size:12px;color:var(--muted);margin-top:5px;white-space:normal}.track-info p span{padding:0 5px}
.track-play{width:42px;height:42px;border:0;background:#e0c5a3;color:#24201a}.track-play:hover{background:#f0d8b6;color:#24201a}.track-play svg{width:18px;height:18px}.track-sound{display:flex;align-items:center;gap:16px;margin:20px 0 16px;padding:12px 0;border-bottom:1px solid var(--line)}
.candidate .waveform{height:42px;min-width:0;max-width:none;flex:1;margin:0;order:0;padding:0;gap:2px}.waveform i{border-radius:2px;background:#756856;transition:background .18s}.track-tone-1 .waveform i{background:#5b7166}.waveform i.played{background:var(--accent)}.track-duration{font-size:13px;color:var(--muted);width:auto;font-variant-numeric:tabular-nums}
.comparison-copy{flex:1}.comparison-copy p{font-size:13px;line-height:1.7;color:#d8d5d0}.comparison-copy small{font-size:13px;line-height:1.8;color:var(--muted);margin-top:8px;display:block}.track-checks{display:flex;align-items:flex-start;flex-direction:column;margin:20px 0;gap:10px;min-height:84px}.check-row{font-size:12px;line-height:1.7;display:flex;align-items:center;gap:6px;flex-wrap:wrap;color:var(--muted)}.check-row svg{width:14px;height:14px}.check-row button{font-size:12px;color:#c7c2ba;margin-left:0;line-height:1.7}.check-row.warning{color:var(--amber)}.check-row.confirmed{color:var(--green)}
.candidate-actions{display:flex;align-items:center;gap:12px;margin-top:auto;padding-top:16px;border-top:1px solid var(--line);flex-wrap:wrap}.choose-final{min-height:38px;padding:8px 12px;font-size:13px;border-radius:8px;border:1px solid #d6b99440;color:var(--accent);background:transparent;white-space:nowrap}.choose-final[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:#24201a}.choose-final svg{width:14px;height:14px}.download-track{font-size:13px;min-width:0;padding:8px 0;border:0;color:#d0cbc3;gap:6px;margin-left:auto}.feedback-button{font-size:12px;color:var(--muted);padding:8px 0}.download-track:hover,.feedback-button:hover{color:var(--text)}
.final-selection{padding:20px 24px;margin-top:20px;border:1px solid #d6b99424;border-radius:12px;background:#1b1917;gap:24px}.final-label{font-size:12px;color:var(--accent)}.final-selection strong{font-size:17px;color:var(--text);margin:5px 0}.final-selection p{font-size:12px;color:var(--muted)}.final-selection small{font-size:12px;color:var(--subtle);margin-top:6px}.final-actions{gap:16px}.final-actions button{font-size:13px}.final-actions .secondary-button{border:0;background:var(--accent);color:#24201a}.empty-final{font-size:13px;background:transparent;border:0;padding:4px 0;color:var(--muted)}.empty-final span{font-size:12px;color:var(--subtle)}
/* Analysis, generation, failure and recovery share the studio scale. */
.analysis-workspace{max-width:720px;padding:24px 0}.task-route{font-size:13px;color:var(--muted);gap:16px}.task-route .current{color:var(--accent)}.analysis-focus{padding:32px 0}.analysis-orbit{height:48px;width:48px;margin-bottom:24px}.analysis-focus h2{font-size:24px;color:var(--text)}.analysis-focus p{font-size:14px;color:var(--muted);margin-top:12px}.analysis-focus small{font-size:12px;color:var(--subtle);margin-top:16px}.analysis-document{background:var(--surface);border:0;border-radius:16px}.analysis-source{font-size:14px;padding:20px 24px;border-color:var(--line)}.analysis-preview{padding:24px}.analysis-preview>span{font-size:13px}.analysis-preview b{font-size:12px;border:0;background:var(--surface-raised);border-radius:6px;padding:6px 12px}.analysis-footnote{font-size:12px;color:var(--subtle);margin-top:24px}
.generation-workspace{padding-top:8px}.generation-overview{padding-bottom:20px;gap:24px}.generation-status{gap:16px}.generation-mark{width:48px;height:48px;border:0;border-radius:12px;background:#27231e;color:var(--accent)}.generation-mark i{background:var(--accent)}.generation-status h2{font-size:22px;color:var(--text);line-height:1.5}.generation-status p{font-size:13px;color:var(--muted);line-height:1.7}.elapsed-counter>span{font-size:12px;color:var(--subtle)}.elapsed-counter strong{font-size:24px;color:var(--accent)}
.generation-brief .brief-snapshot{padding:0 0 20px}.generation-stage{border:0;padding:0 0 20px}.generation-stage .creation-update{min-height:300px;background:var(--surface);border:0;border-radius:16px}.generation-stage .creation-update-heading{padding:20px 24px 8px;font-size:13px;color:var(--muted)}.creation-update-heading small{font-size:12px;color:var(--subtle)}.generation-stage .creation-feed{padding:16px 28px;min-height:205px;width:80%}.creation-received{font-size:12px;color:var(--green);margin-bottom:16px}.creation-received small{font-size:12px;color:var(--subtle)}.creation-entry.past{font-size:13px;padding-bottom:10px;color:var(--subtle)}.creation-archive{font-size:12px;margin-bottom:12px}.creation-archive small{font-size:12px}.generation-stage .creation-entry.current h3{font-size:19px;animation:none;color:var(--accent)}.generation-stage .creation-entry.current p{font-size:14px;line-height:1.8;text-shadow:none;color:var(--muted)}.generation-stage .creation-update-note{padding:12px 0;font-size:12px;color:var(--subtle);margin:0 24px}.creation-spectrum{opacity:.23}.creation-sweep{display:none}
.generation-workspace .pending-tracks{gap:16px}.generation-workspace .pending-track{background:var(--surface);border:0;border-radius:12px;padding:20px;min-height:96px;gap:12px}.generation-workspace .pending-track-icon{display:grid;place-items:center;width:40px;height:40px;background:var(--surface-raised);border:0;border-radius:8px;color:var(--accent)}.generation-workspace .pending-track h3{font-size:16px;color:var(--text)}.generation-workspace .pending-track p{font-size:12px;color:var(--muted);line-height:1.7}.generation-workspace .pending-track-status{font-size:12px;color:var(--subtle)}.generation-footer{margin-top:20px}.wait-mode,.generation-footer .quiet-button{font-size:12px;color:var(--muted)}
.notice,.error-inline,.overdue-notice,.pending-banner{border:0;border-radius:8px;background:#29231d;color:var(--amber);padding:16px;font-size:13px;line-height:1.8}.notice.error,.error-inline{color:var(--danger);background:#2a1e1e}.notice-actions button,.overdue-notice strong,.overdue-notice p,.overdue-notice button,.pending-banner button{font-size:13px}.generation-recovery{gap:12px}.generation-recovery button{font-size:14px}.source-changed{font-size:13px}.task-stages strong{font-size:13px}.task-stages p,.task-stages small{font-size:12px}
/* Dialogs and version history retain every existing action. */
#dialog{width:min(600px,calc(100vw - 32px));max-width:600px;max-height:calc(100dvh - 48px);border:1px solid #ffffff12;border-radius:16px;background:var(--surface);box-shadow:0 24px 80px #0008}#dialog::backdrop{background:#08090dc9;backdrop-filter:none}.dialog-head{padding:24px;border-color:var(--line)}.dialog-head h2{font-size:20px;font-weight:550}.dialog-body{padding:24px}.dialog-intro{font-size:14px;color:var(--muted);line-height:1.8;margin-bottom:24px}.dialog-actions{padding:16px 24px;background:#17181f;border-color:var(--line);flex-wrap:wrap}.dialog-section h3{font-size:16px;color:var(--text)}.dialog-section p,.dialog-section li{font-size:14px;color:var(--muted)}.dialog-close{width:32px;height:32px}
.radio-option,.feedback-option{background:var(--surface-raised);border:1px solid transparent;border-radius:8px;padding:12px 14px;font-size:14px;color:var(--text)}.radio-option:has(input:checked),.feedback-option:has(input:checked){border-color:#d6b99480;background:#28241f}.radio-option strong{font-size:14px;color:var(--text)}.radio-option small{font-size:12px;color:var(--muted)}.feedback-options{gap:8px}.feedback-adjust{background:#111218;border:0;border-radius:10px;padding:16px;margin-top:24px}.feedback-adjust>span,.feedback-adjust>label{font-size:13px;color:var(--muted)}.feedback-adjust>p{font-size:15px;color:var(--text)}.feedback-adjust>label{color:var(--accent)}.notes-input{background:#101116;border:1px solid var(--line);border-radius:8px;padding:12px;font-size:14px;line-height:1.8;color:var(--text)}.feedback-boundary,#feedback-error{font-size:12px;line-height:1.8}.feedback-boundary{color:var(--muted)}.danger-button{font-size:13px;color:var(--danger)}
.history-list{gap:16px}.history-item{border:0;border-radius:12px;padding:20px;background:var(--surface-raised)}.history-item-head strong{font-size:16px;color:var(--text)}.history-item-head span{font-size:12px;color:var(--muted)}.history-item p{font-size:13px;color:var(--muted)}.history-item .secondary-button{font-size:13px;background:#292b34;border:0}.history-prompt{-webkit-line-clamp:2}.toast{font-size:13px;color:var(--text);background:#292b33;border:1px solid #ffffff16;border-radius:10px;padding:12px 20px;bottom:calc(var(--dock-height) + 16px)!important;box-shadow:0 8px 32px #0005;transition:opacity .2s,transform .2s}
/* One global player. Empty state is a quiet 32px hint. */
.player-dock{height:var(--dock-height);padding:0 32px;background:#17181e;border-color:var(--line);grid-template-columns:280px minmax(160px,1fr) 180px;gap:32px}.player-dock.idle{height:32px;background:#101116;padding:0 24px}.idle-player-hint{font-size:12px;color:var(--subtle);gap:8px}.player-track{gap:12px}.mini-art{width:44px;height:44px;border-radius:8px;background:#2b2925;color:var(--accent)}.player-track strong{font-size:14px;color:var(--text)}.player-track small{font-size:12px;color:var(--muted)}.player-center{gap:16px}.player-toggle{height:36px;width:36px;background:var(--accent);color:#24201a}.player-toggle svg{width:16px;height:16px}.player-time{font-size:12px;color:var(--muted);min-width:34px}.seek{accent-color:var(--accent);height:4px}.player-volume{gap:12px;color:var(--muted)}.player-volume input{accent-color:var(--accent);width:72px}.player-volume small{font-size:12px;color:var(--subtle);margin:0}.player-volume svg{width:18px;height:18px}
@keyframes studio-enter{from{opacity:.4;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
.composer-body,.candidate,#dialog[open]{animation:studio-enter .2s var(--ease)}
@media(min-width:1600px){:root{--panel-width:400px}.results-heading{margin:0 48px}.results-body{padding:0 48px 40px}.candidate{padding:28px}.track-art{width:64px;height:72px}.track-info h2{font-size:22px}.track-list{gap:24px}}
@media(max-width:1200px){:root{--panel-width:360px}.topbar{padding:0 24px}.results-heading{margin:0 24px}.results-body{padding:0 24px 24px}.candidate,.candidate.is-final{padding:20px}.track-art{display:none}.track-info h2{font-size:18px}.track-main{gap:12px}.candidate-actions{gap:10px}.choose-final{font-size:12px;padding:8px}.download-track{font-size:12px}.track-checks{min-height:108px}.player-dock{grid-template-columns:230px minmax(160px,1fr) 120px;gap:24px}.player-volume small{display:none}}
@media(max-width:1040px){:root{--panel-width:340px}.composer-heading>span{display:none}.track-list{grid-template-columns:1fr}.track-art{display:grid}.track-info h2{font-size:20px}.track-checks{min-height:0}.candidate .waveform{height:34px}.comparison-copy{flex:initial}.final-selection{align-items:flex-start;flex-direction:column;gap:16px}.generation-status h2{font-size:20px}.generation-stage .creation-feed{width:100%}.creation-spectrum{opacity:.13}.generation-workspace .pending-track{padding:16px;flex-wrap:wrap}.pending-track-status{margin-left:auto}.app-title{font-size:12px}.results-heading h1{font-size:22px}.results-ready{flex-wrap:wrap;gap:12px}.welcome-copy h2{font-size:26px}.welcome-actions{flex-wrap:wrap}}
@media(max-width:760px){:root{--top-height:64px;--panel-width:300px}.topbar{padding:0 20px}.app-title{display:none}.top-actions{gap:16px}.composer-heading,.composer-body,.composer-footer{padding-left:20px;padding-right:20px}.entry-tabs{margin-left:20px;margin-right:20px}.entry-tab{font-size:13px}.generation-overview{align-items:flex-start}.generation-mark{display:none}.generation-workspace .pending-tracks{grid-template-columns:1fr}.player-dock{padding:0 20px;grid-template-columns:190px minmax(120px,1fr) 80px;gap:16px}.player-volume input{width:48px}.results-heading{margin:0 20px}.results-body{padding:0 20px 24px}.settings-grid{gap:12px}}
@media(max-width:660px){:root{--dock-height:88px}.workbench,.player-idle .workbench{display:flex;height:auto;min-height:0;flex-direction:column;padding-bottom:var(--dock-height)}.composer{overflow:visible;min-height:0}.composer-body{overflow:visible;flex:none}.composer-heading{height:64px}.composer-footer{position:static;padding:16px 20px 24px}.results-panel{overflow:visible;min-height:0}.results-heading{height:72px;min-height:72px}.results-body{overflow:visible}.creation-empty{min-height:360px;padding:24px 0 40px}.welcome-wave{max-width:360px;margin-bottom:16px}.welcome-copy h2{font-size:25px}.welcome-copy p{font-size:13px}.track-list{grid-template-columns:1fr}.candidate,.candidate.is-final{padding:20px}.track-art{display:grid}.generation-stage .creation-update{min-height:280px}.generation-stage .creation-feed{padding:16px 24px}.generation-stage .creation-entry.current h3{font-size:17px}.generation-stage .creation-entry.current p{font-size:13px}.analysis-focus h2{font-size:22px}.player-dock{height:88px;grid-template-columns:1fr auto;gap:8px 16px;padding:10px 20px}.player-center{grid-column:1/-1;grid-row:2;gap:12px}.player-track .mini-art{width:28px;height:28px}.player-track strong{font-size:13px}.player-track small{display:none}.player-volume{grid-column:2;grid-row:1}.player-toggle{width:26px;height:26px}.player-dock.idle{height:32px}.final-selection{padding:16px}.final-actions{gap:12px}.dialog-body{padding:20px}.dialog-head{padding:20px}.dialog-actions{padding:16px 20px}.feedback-option{font-size:13px}.request-prompt summary{gap:8px}.brief-snapshot{flex-wrap:wrap}.snapshot-apply{margin-left:auto}.generation-recovery{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Compact desktop cards keep decision controls within the initial view. */
.results-ready{padding:0 0 8px;border:0}.results-ready p{margin:0;font-size:13px}.brief-snapshot{padding:12px 0}.comparison-source{margin-bottom:16px}
.track-sound{margin:12px 0;padding:8px 0}.candidate .waveform{height:34px}.track-checks{margin:16px 0;min-height:70px}.candidate-actions{padding-top:12px}.comparison-copy{flex:0}.final-selection{padding:16px 20px}
@media(max-width:1200px){.track-checks{min-height:94px}}
/* Keep feedback confirmation visible while its editable content scrolls. */
#dialog[open]{display:flex;flex-direction:column;overflow:hidden}
#dialog .dialog-head,#dialog .dialog-actions{flex-shrink:0}
#dialog .dialog-body{overflow-y:auto;min-height:0;overscroll-behavior:contain}
@media(min-width:1201px){.player-dock{grid-template-columns:260px minmax(160px,1fr) 230px}.player-volume small{white-space:nowrap}}
.generation-stage .service-update{min-height:0}
.generation-stage .service-update .creation-feed{min-height:110px;padding-bottom:24px}
