/* Shared upload appearance, loaded after tool styles. Keep file types and limits in each tool. */
:root { --upload-accent:#786692; --upload-bg:#d6d8da; --upload-ink:#48515b; --upload-frame:#eff4f6; }
.audio-upload-shell, #studio:has(> #studio-empty:not([hidden])) { background:var(--upload-frame); border:1px solid #959a99; border-radius:12px; padding:28px; box-shadow:0 4px 12px #0002; margin-bottom:24px; }
.audio-upload-shell:has(> [hidden]) { display:none; }
:is(.audio-drop, #mcs-drop, #studio-empty, #vs-drop, .studio-upload) { box-sizing:border-box; display:block; padding:48px 24px; border:2px dashed var(--upload-accent); border-radius:12px; background:var(--upload-bg); color:var(--upload-ink); text-align:center; font-size:16px; line-height:1.5; cursor:pointer; outline:none; }
#mcs #mcs-drop { margin:0; background:var(--upload-bg); border-color:var(--upload-accent); }
:is(.audio-drop,#mcs-drop,#studio-empty,#vs-drop) .audio-drop__icon { display:block; font-size:28px; color:var(--upload-accent); margin:0 0 14px; }
:is(.audio-drop,#mcs-drop,#studio-empty,#vs-drop) .audio-drop__headline { max-width:none; font-family:var(--font-heading); font-size:20px; font-weight:700; line-height:1.3; color:var(--upload-ink); margin:0 0 8px; letter-spacing:.02em; }
:is(.audio-drop,#mcs-drop,#studio-empty,#vs-drop) .audio-drop__sub { display:block; max-width:none; background:transparent; padding:0; border:0; color:var(--upload-ink); font-size:16px; font-weight:400; margin:0 0 20px; }
:is(.audio-drop,#mcs-drop,#studio-empty,#vs-drop) .audio-drop__hint { display:block; color:var(--upload-ink); font-size:13px; max-width:62ch; margin:0 auto; }
:is(.audio-drop,#mcs-drop,#studio-empty,#vs-drop,.studio-upload):is(:focus-visible,:focus-within) { outline:3px solid var(--upload-accent); outline-offset:4px; }
:is(.audio-drop,#mcs-drop,#studio-empty,#vs-drop):is(:hover,.is-over,.is-dragover), .studio.is-dragging #studio-empty { background:#e2dfe9; border-color:var(--upload-accent); }
:is(.audio-drop,#mcs-drop,#studio-empty,#vs-drop)[hidden] { display:none; }
@media(max-width:600px) { .audio-upload-shell, #studio:has(> #studio-empty:not([hidden])) { padding:16px; } :is(.audio-drop,#mcs-drop,#studio-empty,#vs-drop,.studio-upload) { padding:32px 16px; } }

.studio-upload input[type=file] { position:absolute; width:1px; height:1px; opacity:0; clip-path:inset(50%); }
.studio-upload .audio-drop__headline { display:block; }
