/* Release studio: the approved silver shell, now with a real output canvas. */
.release-studio .studio-stage { position: relative; display: flex; align-items: center; justify-content: center; flex-direction: column; min-height: 0!important; height: auto!important; padding: 58px 24px 62px; background: #0b0e14; }
.release-studio .studio-stage::before, .release-studio .studio-stage::after { display: none; }
.release-studio .studio-stage canvas { width: 100%; height: auto!important; min-height: 0; max-height: 650px; object-fit: contain; aspect-ratio: var(--studio-ratio,16/9); opacity: 1; border: 1px solid #282d37; box-shadow: 0 22px 65px #0007; }
body.release-studio > #visualizer-canvas.studio-recording-canvas { position: fixed; z-index: 9999; top: 16px; right: 16px; display: block; width: min(36vw,360px); height: auto!important; max-height: 45vh; object-fit: contain; pointer-events: none; background: #0b0e14; border: 1px solid #78849d; border-radius: 8px; box-shadow: 0 12px 45px #0006; }
.release-studio .studio-stage [hidden], .release-studio [hidden] { display: none!important; }
.release-studio .catalog-tool { grid-template-columns: minmax(340px,.8fr) minmax(0,1.2fr); align-items: start; }
.release-studio .catalog-tool-copy { min-width: 0; }
.release-studio .catalog-stage { position: sticky; top: 20px; margin-top: 30px; }
.release-studio .catalog-tool-copy h2 { font-size: clamp(46px,4.2vw,67px)!important; margin-bottom: 14px; }
.release-studio .catalog-tool-intro { font-size: 13px; }
.release-studio .catalog-upload { margin-block: 20px 12px!important; }
.release-studio .catalog-option { min-height: 57px; padding: 10px 12px; }
.studio-editor { min-width: 0; color: #252c3b; font: 400 12px/1.5 Manrope,system-ui,sans-serif; }
.studio-smart-row { display: flex; align-items: center; gap: 12px; margin-block: 12px; }
.studio-smart-row > span { color: #646d7c; font-size: 10px; }
.studio-small-btn,.studio-text-btn,.studio-clip-presets button { font: 500 11px/1.3 Manrope,system-ui,sans-serif; cursor: pointer; border: 1px solid #aeb8c9; border-radius: 9px; background: linear-gradient(150deg,#f7f9fecc,#d5dce8); color: #293349; padding: 10px 12px; text-decoration: none; white-space: normal; }
.studio-small-btn:hover,.studio-clip-presets button:hover { background: #f5f7ff; border-color: #7484a7; }
.studio-small-btn:disabled,.studio-text-btn:disabled { opacity: .45; cursor: not-allowed; }
.studio-text-btn { border: 0; background: none; padding: 7px 0; font-size: 10px; color: #526386; }
.studio-details { margin-block: 9px; border: 1px solid #aeb8c955; border-radius: 12px; background: linear-gradient(135deg,#f3f5fa88,#d4dbe755); }
.studio-details summary { display: flex; gap: 8px; align-items: center; cursor: pointer; padding: 12px 14px; font-size: 11px; font-weight: 600; }
.studio-details summary::before { content: '+'; color: #62708d; font: 400 17px/1 monospace; }
.studio-details[open] summary::before { content: '−'; }
.studio-details summary > span { margin-left: auto; color: #697486; font-size: 9px; font-weight: 400; }
.studio-detail-content { padding: 0 14px 14px; display: grid; gap: 10px; }
.studio-field { display: block; min-width: 0; }
.studio-field > span { display: block; margin-bottom: 5px; color: #626d80; font-size: 9px; letter-spacing: .08em; text-transform: uppercase; }
.studio-field input:not([type=file]),.studio-field select { box-sizing: border-box; width: 100%; min-height: 34px; border: 1px solid #aeb8c988; border-radius: 7px; padding: 7px 9px; background: #f3f5fa88; color: #263249; font: 400 12px Manrope,system-ui,sans-serif; }
.studio-field.catalog-option select { min-height: 22px; padding: 0; border: 0; background: transparent; }
.studio-select-trigger {
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
  width: 100%; min-height: 34px; padding: 7px 9px;
  border: 1px solid #aeb8c988; border-radius: 8px;
  background: linear-gradient(145deg,#f9faff99,#dce1eb66);
  box-shadow: inset 0 1px #ffffffa6;
  color: #252c3b; font: 500 12px/1.45 Manrope,system-ui,sans-serif;
  text-align: left; cursor: pointer;
  transition: background .15s, border-color .15s;
}
.catalog-option .studio-select-trigger { min-height: 23px; padding: 0; border: 0; background: none; box-shadow: none; }
.studio-select-trigger:hover { border-color: #8290ac; color: #131a27; }
.studio-select-trigger[aria-expanded=true] { color: #334e82; }
.studio-select-trigger:disabled { opacity: .45; cursor: not-allowed; }
.release-studio .studio-select-trigger .studio-select-value { display: block; min-width: 0; margin: 0; color: inherit; font: inherit; letter-spacing: normal; text-transform: none; }
.studio-select-chevron { flex: 0 0 14px; width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; transition: transform .15s; }
.studio-select-trigger[aria-expanded=true] .studio-select-chevron { transform: rotate(180deg); }
.studio-select-menu {
  position: fixed; z-index: 1100; overflow: auto; overscroll-behavior: contain;
  box-sizing: border-box; padding: 6px; border: 1px solid #abb5c766; border-radius: 15px;
  background: linear-gradient(145deg,rgba(246,248,252,.98),rgba(226,231,240,.98));
  box-shadow: inset 0 1px #fff,0 20px 50px #18223830,0 3px 10px #18223812;
  backdrop-filter: blur(22px); color: #28303e;
  font: 500 12px/1.45 Manrope,system-ui,sans-serif;
  scrollbar-width: thin;
}
.studio-select-menu[hidden] { display: none; }
.studio-select-option { display: grid; grid-template-columns: 34px 1fr 14px; align-items: center; gap: 10px; min-height: 47px; padding: 6px 10px; border: 1px solid transparent; border-radius: 10px; cursor: pointer; }
.studio-select-option.is-active { background: #ffffffb3; border-color: #aebbd144; }
.studio-select-option[aria-selected=true] { background: linear-gradient(135deg,#dce4f3,#cdd7e8); border-color: #b0bdd555; color: #202e48; box-shadow: inset 0 1px #ffffffa6; }
.studio-select-option[aria-disabled=true] { opacity: .4; cursor: not-allowed; }
.studio-select-check { visibility: hidden; color: #506b9a; font-size: 13px; }
.studio-select-option[aria-selected=true] .studio-select-check { visibility: visible; }
.studio-select-icon { display: grid; width: 34px; height: 32px; place-items: center; border: 1px solid #b2bdcf66; border-radius: 8px; background: linear-gradient(145deg,#f9fbff,#d4dce9); color: #697d9f; font: 500 9px 'DM Mono',monospace; }
.studio-select-icon::before { content: ''; display: block; }
.studio-select-icon[data-style=bars]::before { width: 21px; height: 17px; background: linear-gradient(90deg,transparent 0 2px,#667da6 2px 5px,transparent 5px 8px,#667da6 8px 11px,transparent 11px 14px,#667da6 14px 17px,transparent 17px); clip-path: polygon(0 60%,24% 60%,24% 30%,48% 30%,48% 0,72% 0,72% 40%,100% 40%,100% 100%,0 100%); }
.studio-select-icon[data-style=wave]::before { width: 24px; height: 16px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 16' fill='none' stroke='%23667da6' stroke-width='1.5'%3E%3Cpath d='M0 8C4 8 3 1 7 1s6 14 10 14 3-7 7-7'/%3E%3C/svg%3E") center / contain no-repeat; }
.studio-select-icon[data-style=radial]::before { width: 17px; height: 17px; border: 2px solid #8593b3; border-radius: 50%; box-shadow: 0 0 0 3px #879abe22,inset 0 0 0 2px #fff8; }
.studio-select-icon[data-style=metal]::before { width: 20px; height: 20px; border-radius: 45% 60% 40% 55%; background: linear-gradient(135deg,#4c5a73,#fff 35%,#8492aa 56%,#edf2fb 75%,#596c8b); box-shadow: 0 2px 4px #4e617d33; }
.studio-select-icon[data-style=glass]::before { width: 20px; height: 20px; border: 1px solid #ffffffdd; border-radius: 5px; background: linear-gradient(135deg,#ffffff99,#9dbdc999); box-shadow: 2px 2px 0 #8ca9b366; transform: rotate(-9deg); }
.studio-select-icon[data-style=vinyl]::before { width: 21px; height: 21px; border-radius: 50%; background: radial-gradient(circle,#d6c6ad 0 2px,#566174 3px 5px,#8290a3 6px,#536074 7px 8px,#8290a3 9px,#536074 10px); }
.studio-select-icon[data-ratio]::before { width: 22px; height: 13px; border: 1.5px solid #6a7e9f; border-radius: 2px; background: #aebeda33; }
.studio-select-icon[data-ratio="9:16"]::before { width: 12px; height: 21px; }
.studio-select-icon[data-ratio="1:1"]::before { width: 17px; height: 17px; }
.studio-two-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.studio-cover-row { display: flex; align-items: center; gap: 14px; }
.studio-cover-upload { position: relative; display: grid; place-items: center; width: 100px; height: 86px; border: 1px dashed #95a3bd; border-radius: 9px; cursor: pointer; overflow: hidden; }
.studio-cover-upload input { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.studio-cover-upload img { width: 100%; height: 100%; object-fit: cover; }
.studio-cover-upload span { font-size: 11px; }
.studio-cover-actions { display: grid; gap: 8px; }
.studio-clip-presets { display: flex; gap: 7px; }
.studio-clip-presets button { padding: 7px 13px; }
.studio-primary-actions { display: grid; grid-template-columns: .8fr 1.2fr; gap: 9px; margin-top: 14px; }
.studio-primary-actions button { width: 100%; padding: 15px 12px; border-radius: 999px; font: 500 10px/1.3 'DM Mono',monospace; text-transform: uppercase; }
.studio-primary-actions .studio-primary { background: linear-gradient(125deg,#0c111c,#414c63); color: #f6f8ff; border: 1px solid #6d7992; box-shadow: inset 0 1px #ffffff55,0 10px 25px #38445b22; }
.studio-primary-actions button:disabled { opacity: .45; cursor: not-allowed; }
.studio-secondary-actions { display: grid; grid-template-columns: .8fr 1.2fr; gap: 9px; margin-top: 10px; }
.studio-help { font-size: 10px; line-height: 1.65; color: #637084; margin: 9px 0 0; }
.studio-recommendation { padding: 13px; border: 1px solid #8fa0c1; border-radius: 11px; background: #edf2ff99; margin-bottom: 10px; }
.studio-recommendation p { margin: 0 0 10px; font-size: 11px; }
.studio-small-actions { display: flex; gap: 8px; }
.studio-recommendation small { display: block; color: #637084; font-size: 9px; margin-top: 9px; }
.studio-transport { position: absolute; z-index: 6; bottom: 20px; left: 24px; right: 24px; display: flex; align-items: center; gap: 15px; color: #a9b3c6; font: 400 9px 'DM Mono',monospace; }
.studio-transport input { flex: 1; width: 30px; accent-color: #b7c9ff; height: 4px; }
.studio-transport span { white-space: nowrap; }
.studio-export-progress { padding: 12px; border-radius: 9px; background: #ecf1fd; }
.studio-export-progress > div { display: flex; align-items: center; justify-content: space-between; }
.studio-export-progress progress { width: 100%; height: 5px; accent-color: #647fab; }
.studio-result { display: flex; gap: 10px; align-items: center; justify-content: space-between; border-top: 1px solid #aeb8c9; padding: 12px 0; margin-top: 12px; }
.studio-result span { min-width: 0; overflow-wrap: anywhere; font-size: 10px; }
.studio-completed { display: grid; gap: 8px; margin-top: 12px; }
.studio-completed p { font-size: 11px; margin: 0; }
.studio-completed a { overflow-wrap: anywhere; }
.release-studio input:focus-visible,.release-studio select:focus-visible,.release-studio button:focus-visible,.release-studio .studio-details summary:focus-visible,.studio-cover-upload:focus-within { outline: 2px solid #5a76ad; outline-offset: 3px; }
.release-studio:not(.home-page) .studio-editor { padding: 20px; background: #e0e5ee; }
.release-studio:not(.home-page) .studio-stage { padding: 20px 20px 60px; }
.release-studio:not(.home-page) .studio-stage canvas { max-height: 560px; }
.release-studio:not(.home-page) .controls { flex-wrap: wrap; }
@media(max-width:900px) {
  .release-studio .catalog-tool { grid-template-columns: 1fr; }
  .release-studio .catalog-stage { position: relative; top: auto; margin: 18px; }
  .release-studio .catalog-tool-copy { padding: 25px!important; border-right: 0; }
  .release-studio .studio-stage { padding: 45px 16px 56px; }
  .release-studio .studio-stage canvas { max-height: 510px; }
  .studio-transport { left: 16px; right: 16px; gap: 9px; }
  .studio-transport span { font-size: 8px; }
}
@media(prefers-reduced-motion:reduce) { .studio-primary::after { animation: none!important; } }
