.music-studio{--music:#e14d8a;display:grid;grid-template-columns:minmax(330px,42%) minmax(0,58%);grid-template-rows:auto minmax(0,1fr);height:100%;min-height:0;background:var(--workspace)}
.music-studio [hidden]{display:none!important}
.sound-free-tool{min-width:0;overflow-y:auto}
.sound-launcher{grid-column:1/-1;padding:14px 18px 12px;border-bottom:1px solid var(--border);background:linear-gradient(100deg,#fff9fc,#faf8ff)}.sound-launcher-head{display:flex;align-items:end;justify-content:space-between;gap:14px}.sound-launcher-head span{color:var(--music);font-weight:850;font-size:11px}.sound-launcher-head h1{margin:3px 0 9px;font-size:20px}.sound-launcher-head small{max-width:390px;margin-bottom:9px;color:var(--text-muted);font-size:10px;text-align:right}.sound-tool-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.sound-tool{position:relative;display:grid;grid-template-columns:auto 1fr;gap:2px 8px;align-items:center;min-height:62px;padding:9px 11px;border:1px solid var(--border);border-radius:13px;background:var(--surface);color:var(--text);text-align:left;text-decoration:none;font:inherit;cursor:pointer}.sound-tool>i{grid-row:1/3;color:var(--music);font-size:20px}.sound-tool b{font-size:12px}.sound-tool small{font-size:9px;color:var(--text-muted)}.sound-tool em{position:absolute;right:8px;top:7px;padding:2px 5px;border-radius:99px;background:#e14d8a;color:#fff;font-size:8px;font-style:normal;font-weight:850}.sound-tool em.free{background:#ef633e}.sound-tool.is-active{border-color:var(--music);box-shadow:0 5px 16px #e14d8a22}.sound-free-tool{grid-column:1/-1;max-width:900px;margin:28px auto;padding:24px;border:1px solid var(--border);border-radius:20px;background:var(--surface);box-shadow:0 12px 35px #21304b0c}.sound-free-tool header{display:flex;align-items:center;gap:12px}.sound-free-tool header>i{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:#fff0f6;color:var(--music);font-size:19px}.sound-free-tool header span{font-size:10px;color:var(--music);font-weight:850}.sound-free-tool h2{margin:3px 0;font-size:18px}.sound-free-tool>p{color:var(--text-muted);font-size:11px;line-height:1.6}.sound-free-tool textarea{box-sizing:border-box;width:100%;margin-top:8px;padding:12px;border:1px solid var(--border);border-radius:12px;background:var(--workspace);font:inherit;line-height:1.55;resize:vertical}.sound-free-actions{display:flex;align-items:center;gap:8px;margin-top:10px}.sound-free-actions span{margin-left:auto;color:var(--text-muted);font-size:10px}.sound-tts-options{display:flex;align-items:center;gap:16px;margin-top:10px}.sound-tts-options label{display:flex;align-items:center;gap:7px;color:var(--text-muted);font-size:11px}.sound-tts-options select{max-width:360px;padding:7px;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.sound-paid-badge{display:inline-block;padding:3px 6px;border-radius:99px;background:#e14d8a;color:#fff;font-size:9px;vertical-align:middle}
.music-mobile-switch{display:none}.music-create{min-width:0;padding:24px;overflow-y:auto;border-right:1px solid var(--border);background:var(--surface)}
.music-create-head{display:flex;align-items:center;gap:12px;min-height:44px;margin-bottom:16px}.music-brand-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:linear-gradient(135deg,#ee69a1,#b83977);color:#fff;font-size:18px;box-shadow:0 8px 20px rgba(225,77,138,.22)}
.music-create-head h1{margin:0;font-size:22px}.music-create-head p{margin:3px 0 0;color:var(--text-muted);font-size:12px}.music-mode{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:18px}.music-mode button{min-height:86px;padding:13px;border:1px solid var(--border);border-radius:15px;background:var(--workspace);color:var(--text);display:grid;grid-template-columns:28px 1fr;text-align:left;align-content:center;cursor:pointer}.music-mode button i{grid-row:1/3;color:var(--music);font-size:18px}.music-mode button b{font-size:13px}.music-mode button span{color:var(--text-muted);font-size:11px}.music-mode button.is-active{border-color:var(--music);background:color-mix(in srgb,var(--music) 8%,var(--workspace));box-shadow:0 0 0 2px color-mix(in srgb,var(--music) 15%,transparent)}
.music-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.music-field{display:grid;gap:6px;min-width:0}.music-field-wide{grid-column:1/-1}.music-field>span{font-size:12px;font-weight:800}.music-field small{color:var(--text-muted);font-weight:500}.music-field select,.music-field textarea{width:100%;border:1px solid var(--border);border-radius:12px;background:var(--workspace);color:var(--text);font:inherit;font-size:13px}.music-field select{height:42px;padding:0 11px}.music-field textarea{resize:vertical;min-height:88px;padding:11px;line-height:1.55}.music-field textarea:focus,.music-field select:focus{outline:2px solid color-mix(in srgb,var(--music) 38%,transparent);border-color:var(--music)}
.music-engine{display:grid;grid-template-columns:18px 1fr;gap:2px 7px;margin:16px 0 10px;padding:10px 12px;border-radius:12px;background:var(--workspace);color:var(--text);font-size:11px}.music-engine i{grid-row:1/3;color:var(--music)}.music-engine span{font-weight:800}.music-engine small{color:var(--text-muted)}.music-generate{width:100%;min-height:48px;border:0;border-radius:13px;background:linear-gradient(135deg,#e14d8a,#a83270);color:#fff;font:inherit;font-weight:850;cursor:pointer;box-shadow:0 10px 24px rgba(225,77,138,.22)}.music-generate:disabled{opacity:.65;cursor:wait}
.music-result{min-width:0;padding:24px;display:flex;flex-direction:column;overflow-y:auto;background:linear-gradient(145deg,var(--workspace),color-mix(in srgb,var(--music) 4%,var(--workspace)))}.music-result-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.music-result-head div{display:grid;gap:2px}.music-result-head span{color:var(--text-muted);font-size:11px}.music-result-head strong{font-size:16px}.music-state{padding:6px 9px;border-radius:999px;background:var(--surface);font-weight:750}.music-state.is-running{color:var(--music)}
.music-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--text-muted)}.music-disc{display:grid;place-items:center;width:116px;height:116px;border-radius:50%;background:repeating-radial-gradient(circle,#25283b 0 7px,#171927 8px 13px);color:#fff;font-size:25px;box-shadow:0 18px 35px rgba(15,23,42,.22)}.music-disc:after{content:"";position:absolute;width:26px;height:26px;border-radius:50%;background:var(--music)}.music-disc i{position:relative;z-index:1}.music-empty h2{margin:25px 0 8px;color:var(--text);font-size:21px}.music-empty p{margin:0;font-size:13px;line-height:1.6}
.music-player-card{width:min(620px,100%);margin:auto;padding:20px;border:1px solid var(--border);border-radius:22px;background:var(--workspace);box-shadow:var(--shadow-md)}.music-cover{position:relative;display:grid;place-items:center;height:220px;overflow:hidden;border-radius:17px;background:linear-gradient(145deg,#39224e,#e14d8a);color:#fff;font-size:50px}.music-eq{position:absolute;left:22px;right:22px;bottom:22px;height:55px;display:flex;align-items:end;justify-content:center;gap:5px;opacity:.58}.music-eq b{width:5px;height:18%;border-radius:4px;background:#fff}.music-eq b:nth-child(3n){height:78%}.music-eq b:nth-child(4n){height:45%}.music-eq b:nth-child(5n){height:95%}.music-player-card.is-playing .music-eq b{animation:musicEq .75s ease-in-out infinite alternate}.music-player-card.is-playing .music-eq b:nth-child(2n){animation-delay:-.35s}.music-player-card.is-playing .music-eq b:nth-child(3n){animation-delay:-.55s}@keyframes musicEq{to{height:100%}}
.music-track-meta{margin:17px 0 10px}.music-track-meta span{color:var(--music);font-size:11px;font-weight:850}.music-track-meta h2{margin:3px 0;font-size:20px}.music-track-meta p{margin:0;color:var(--text-muted);font-size:11px}.music-player-card audio{width:100%;margin:8px 0 13px}.music-actions{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:7px}.music-actions .btn{justify-content:center;min-height:42px}.music-facts{display:grid;grid-template-columns:repeat(3,1fr);margin:15px 0 0;padding-top:13px;border-top:1px solid var(--border)}.music-facts div{text-align:center}.music-facts div+div{border-left:1px solid var(--border)}.music-facts dt{color:var(--text-muted);font-size:10px}.music-facts dd{margin:3px 0 0;font-size:12px;font-weight:800}
@media(max-width:640px){.app-shell:has(.music-studio){height:auto;min-height:100dvh}.content:has(.music-studio){height:auto;min-height:0;padding:0;overflow:auto}.music-studio{display:flex;flex-direction:column;height:auto;min-height:100dvh}.sound-launcher{padding:11px}.sound-launcher-head{align-items:start}.sound-launcher-head h1{font-size:17px}.sound-launcher-head small{display:none}.sound-tool-grid{grid-template-columns:1fr 1fr;gap:6px}.sound-tool{min-height:55px;padding:8px}.sound-tool b{font-size:11px}.sound-tool small{font-size:8px}.sound-free-tool{margin:10px;padding:15px}.sound-free-actions{flex-wrap:wrap}.sound-free-actions span{flex-basis:100%;margin-left:0}.sound-tts-options{align-items:start;flex-direction:column;gap:7px}.music-mobile-switch{flex:0 0 40px;display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px 8px;border-bottom:1px solid var(--border);background:var(--workspace)}.music-mobile-switch button{border:0;border-radius:9px;background:transparent;color:var(--text-muted);font:inherit;font-size:12px;font-weight:750}.music-mobile-switch button.is-active{background:var(--surface);color:var(--text)}.music-create,.music-result{flex:1;min-height:0;width:100%;padding:12px;border:0}.music-result{display:none}.music-studio.mobile-result .music-create{display:none}.music-studio.mobile-result .music-result{display:flex}.music-create-head{margin-bottom:10px}.music-create-head p{display:none}.music-mode{margin-bottom:10px}.music-mode button{min-height:62px;padding:8px}.music-fields{gap:8px}.music-field textarea{min-height:64px;max-height:100px}.music-lyrics-field textarea{min-height:104px;max-height:150px}.music-engine{margin:10px 0 8px}.music-engine small{display:none}.music-generate{min-height:44px}.music-result-head{margin-bottom:8px}.music-player-card{margin:0 auto;padding:13px;border-radius:17px}.music-cover{height:180px}.music-track-meta{margin:11px 0 5px}.music-actions{grid-template-columns:1fr 1fr 1fr}.music-actions .btn{padding:8px 4px;font-size:11px}.music-facts{margin-top:10px;padding-top:9px}}
.music-disc{position:relative}
@media(max-width:640px){.music-create,.music-result{padding-bottom:calc(var(--mobile-nav-h) + 16px)}}
.music-reference{position:relative;display:flex;align-items:center;gap:8px;min-height:48px;padding:8px;border:1px dashed var(--border);border-radius:12px;background:var(--workspace);overflow:hidden}.music-reference>span{flex:1;min-width:0;color:var(--text-muted);font-size:11px;overflow-wrap:anywhere}.music-reference.is-dragover{border-color:var(--music);box-shadow:0 0 0 3px color-mix(in srgb,var(--music) 18%,transparent)}.music-drop-overlay{position:absolute;inset:0;display:none;place-content:center;justify-items:center;gap:3px;background:color-mix(in srgb,var(--surface) 94%,var(--music));color:var(--text);pointer-events:none}.music-reference.is-dragover .music-drop-overlay{display:grid}.music-drop-overlay i{color:var(--music);font-size:20px}@media(max-width:640px){.music-reference{flex-wrap:wrap}.music-reference>span{flex-basis:55%}}

/* PC-first sound workspace: keep the shell size fixed while improving density and readability. */
@media(min-width:641px){
  .music-studio{grid-template-columns:minmax(460px,46%) minmax(0,54%)}
  .sound-launcher{padding:18px 24px 16px}.sound-launcher-head{gap:18px}.sound-launcher-head span{font-size:12px}.sound-launcher-head h1{margin:4px 0 12px;font-size:23px}.sound-launcher-head small{max-width:530px;margin-bottom:12px;font-size:12px;line-height:1.55}
  .sound-tool-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.sound-tool{min-height:76px;padding:13px 15px;gap:4px 11px;border-radius:15px}.sound-tool>i{font-size:24px}.sound-tool b{font-size:15px}.sound-tool small{font-size:12px}.sound-tool em{right:10px;top:8px;padding:3px 7px;font-size:10px}.sound-tool:is(:hover,:focus-visible){border-color:var(--music);box-shadow:0 5px 16px #e14d8a22}
  .sound-free-tool{width:min(1120px,calc(100% - 48px));max-width:none;margin:30px auto;padding:30px}.sound-free-tool header{gap:14px}.sound-free-tool header>i{width:50px;height:50px;font-size:22px}.sound-free-tool header span{font-size:12px}.sound-free-tool h2{font-size:22px}.sound-free-tool>p{font-size:14px;line-height:1.65}.sound-free-tool textarea{padding:16px;font-size:16px;line-height:1.65}.sound-free-actions .btn{min-height:42px}.sound-free-actions span{font-size:12px}
  .sound-tts-options{display:grid;grid-template-columns:minmax(260px,1.4fr) 1fr 1fr;gap:18px}.sound-tts-options label{font-size:13px}.sound-tts-options select{min-width:0;width:100%;padding:9px}
}
.sound-free-tool textarea:focus,.sound-free-tool select:focus{outline:3px solid color-mix(in srgb,var(--music) 25%,transparent);border-color:var(--music)}
.sound-pc-options{display:flex;align-items:center;gap:8px;margin:14px 0 2px;color:var(--text-muted);font-size:12px}.sound-pc-options label{display:flex;align-items:center;gap:8px;margin-right:auto;font-weight:750}.sound-pc-options select{min-width:150px;padding:8px;border:1px solid var(--border);border-radius:8px;background:var(--surface);font:inherit}.sound-pc-options kbd{padding:3px 7px;border:1px solid var(--border);border-bottom-width:2px;border-radius:6px;background:var(--workspace);color:var(--text);font:inherit;font-size:11px}
.music-presets{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.music-presets>span{margin-right:2px;color:var(--text-muted);font-size:11px;font-weight:800}.music-presets button{padding:7px 9px;border:1px solid var(--border);border-radius:99px;background:var(--workspace);color:var(--text);font:inherit;font-size:11px;cursor:pointer}.music-presets button:hover{border-color:var(--music);color:var(--music)}
@media(max-width:640px){.sound-pc-options kbd,.sound-pc-options small{display:none}.sound-free-tool{width:auto}.music-presets{display:none}}
