/* Scope the studio to the upload dialog; keep every upload control in its own readable pane. */
#modalBackdrop .modal:has(.upload-studio-side){width:min(1120px,calc((100vw - 32px)/1.18));max-width:calc((100vw - 32px)/1.18);max-height:calc(92dvh/1.18);border:1px solid #5b6069;border-radius:22px;background:#181b20;overflow:hidden}
.upload-shell:has(.upload-studio-side){grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);max-height:calc(92dvh/1.18);min-height:min(660px,calc(92dvh/1.18));overflow:auto;scrollbar-color:#777c80 #202329}
.upload-studio-side{isolation:isolate;min-height:760px;padding:28px;justify-content:flex-end;background:#24282c url('upload-studio-fallback.jpg') center/cover;color:#faf6ee}
.upload-studio-stage{position:absolute;z-index:-2;inset:0;overflow:hidden;background:#1a1b20}
.upload-studio-canvas{display:block;width:100%;height:100%;outline:0}
.upload-studio-side:before{z-index:-1;background:linear-gradient(180deg,rgba(14,16,20,.03) 30%,rgba(14,16,20,.15) 56%,rgba(14,16,20,.93) 100%);mask-image:none}
.upload-studio-side .upload-copy{position:relative;z-index:1;max-width:390px;margin:0}
.upload-studio-side .upload-kicker{max-width:none;color:#b5e6df;font-size:10px;line-height:1.7;letter-spacing:.06em}
.upload-studio-side .upload-copy h2{margin:9px 0;color:#fff9f0;font-size:32px;line-height:1.3;text-shadow:0 2px 10px #0008}
.upload-studio-side .upload-copy p{margin:0;color:#d8dedc;font-size:13px;line-height:1.8;text-shadow:0 1px 4px #000}
.upload-studio-side .upload-art-footer{display:flex;margin-top:20px;padding-top:12px;border-color:#ffffff2b;font-size:10px}
.upload-studio-motion{position:absolute;z-index:2;left:18px;top:18px;min-height:38px;padding:8px 12px;border:1px solid #ffffff38;border-radius:9px;background:#1a2028ed;color:#e2eeeb;font:500 11px var(--font);cursor:pointer;box-shadow:0 2px 8px #0003}
.upload-studio-motion:hover{background:#354047}
.upload-studio-motion:focus-visible{outline:3px solid #8edce0;outline-offset:3px}
.upload-shell:has(.upload-studio-side) .upload-form-side{position:relative;padding:30px 26px 24px;background:#f8f8f5;color:#273c51}
.upload-shell:has(.upload-studio-side) .upload-form-heading{padding-right:26px}
.upload-shell:has(.upload-studio-side) .upload-form-heading p{font-size:13px;line-height:1.7}
.upload-shell:has(.upload-studio-side) .upload-form .modal-field{color:#273c51;font-size:14px}
.upload-shell:has(.upload-studio-side) .upload-form .modal-field :is(input,select){font-size:14px;min-height:46px}
.upload-shell:has(.upload-studio-side) .upload-form-kicker{font-size:17px}
.upload-shell:has(.upload-studio-side) .upload-submit{font-size:14px;min-height:48px}
.upload-studio-side.studio-unavailable .upload-studio-stage,.upload-studio-side.studio-unavailable .upload-studio-motion{display:none}
@media(min-width:1001px){
  .upload-studio-side{position:sticky;top:0;height:calc((92dvh - 2px)/1.18);min-height:0;max-height:960px}
}
@media(max-width:1000px){
  #modalBackdrop .modal:has(.upload-studio-side){border-radius:16px}
  .upload-shell:has(.upload-studio-side){grid-template-columns:minmax(0,1fr);min-height:0}
  .upload-studio-side{min-height:430px;height:430px;padding:20px}
  .upload-studio-side .upload-copy{max-width:100%;margin:0}
  .upload-studio-side .upload-copy h2{font-size:25px}
  .upload-studio-side .upload-copy h2 br{display:none}
  .upload-studio-side .upload-copy p{max-width:90%;font-size:12px}
  .upload-studio-side .upload-art-footer{display:none}
  .upload-studio-motion{top:14px;left:14px;font-size:10px}
  .upload-shell:has(.upload-studio-side) .upload-form-side{padding:22px 18px}
}
@media(max-width:680px){
  #modalBackdrop .modal:has(.upload-studio-side){width:calc(100vw - 16px);max-width:calc(100vw - 16px);max-height:94dvh}
  .upload-shell:has(.upload-studio-side){max-height:94dvh}
}
@media(prefers-reduced-motion:reduce){.upload-studio-motion{transition:none}}
