/* Shared Studio Player, using the register's existing theme and modal components. */
:is(#app.registro-wordpress-app,#utility-focus-layer) .studio-player { max-width:1000px;width:100%;min-width:0;margin:auto;padding:20px;border:1px solid var(--theme-line,#b8cbdc);border-radius:20px;background:var(--panel,#fff);color:var(--ink); }
:is(#app.registro-wordpress-app,#utility-focus-layer) .studio-player * { box-sizing:border-box; }
:is(#app.registro-wordpress-app,#utility-focus-layer) .studio-file-row { display:flex;align-items:center;gap:10px;min-width:0; }
:is(#app.registro-wordpress-app,#utility-focus-layer) [data-studio-name] { flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px; }
:is(#app.registro-wordpress-app,#utility-focus-layer) .studio-local { margin:10px 0 14px;color:var(--muted);font-size:12px;line-height:1.5; }
:is(#app.registro-wordpress-app,#utility-focus-layer) .studio-preview { display:flex;justify-content:center;align-items:center;width:100%;max-height:34vh;margin-bottom:12px;overflow:hidden;border-radius:12px;background:#071321; }
:is(#app.registro-wordpress-app,#utility-focus-layer) .studio-preview video { display:block;width:100%;height:auto;max-height:34vh;object-fit:contain; }
:is(#app.registro-wordpress-app,#utility-focus-layer) .studio-preview audio { display:none; }
:is(#app.registro-wordpress-app,#utility-focus-layer) .studio-wave { width:100%;height:90px;background:var(--theme-soft,#edf4fb);border-radius:12px;margin:12px 0;overflow:hidden; }
:is(#app.registro-wordpress-app,#utility-focus-layer) .studio-wave canvas { display:block;width:100%;height:100%; }
:is(#app.registro-wordpress-app,#utility-focus-layer) .studio-player [hidden] { display:none!important; }
:is(#app.registro-wordpress-app,#utility-focus-layer) .studio-player button { min-height:44px;padding:8px 12px;font:inherit;font-size:14px;touch-action:manipulation; }
:is(#app.registro-wordpress-app,#utility-focus-layer) .studio-transport { display:grid;grid-template-columns:1fr 1.4fr 1fr 1fr;gap:8px; }
:is(#app.registro-wordpress-app,#utility-focus-layer) .studio-player button:disabled { opacity:.5;cursor:default; }
:is(#app.registro-wordpress-app,#utility-focus-layer) .studio-timeline { margin:18px 0 12px; }
:is(#app.registro-wordpress-app,#utility-focus-layer) .studio-track { position:relative;padding-top:17px;min-width:0; }
:is(#app.registro-wordpress-app,#utility-focus-layer) .studio-track input[type=range] { position:relative;background:transparent!important;z-index:2; }
:is(#app.registro-wordpress-app,#utility-focus-layer) .studio-loop-zone { position:absolute;bottom:13px;height:16px;background:#83bcea55;border-radius:4px; }
:is(#app.registro-wordpress-app,#utility-focus-layer) .studio-loop-zone.is-loop { background:#23956b44; }
:is(#app.registro-wordpress-app,#utility-focus-layer) .studio-marker { position:absolute;top:0;font-size:12px;font-weight:750;color:var(--theme-link);transform:translateX(-50%);font-style:normal; }
:is(#app.registro-wordpress-app,#utility-focus-layer) .studio-player input[type=range] { display:block;width:100%!important;min-width:0!important;height:36px!important;margin:0!important;padding:0!important;accent-color:var(--forest); }
:is(#app.registro-wordpress-app,#utility-focus-layer) .studio-clock { display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;color:var(--muted);font-size:12px;font-variant-numeric:tabular-nums; }
:is(#app.registro-wordpress-app,#utility-focus-layer) .studio-controls { display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:12px 0; }
:is(#app.registro-wordpress-app,#utility-focus-layer) .studio-control { min-width:0; }
:is(#app.registro-wordpress-app,#utility-focus-layer) .studio-control>label { display:block;font-weight:650;font-size:14px;color:var(--muted); }
:is(#app.registro-wordpress-app,#utility-focus-layer) .studio-stepper { display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:6px;align-items:center;margin:6px 0; }
:is(#app.registro-wordpress-app,#utility-focus-layer) .studio-stepper button { width:44px;font-size:22px;padding:4px; }
:is(#app.registro-wordpress-app,#utility-focus-layer) .studio-stepper output { text-align:center;font-size:22px;font-weight:750;white-space:nowrap;font-variant-numeric:tabular-nums; }
:is(#app.registro-wordpress-app,#utility-focus-layer) .studio-control:nth-child(2) output { font-size:15px; }
:is(#app.registro-wordpress-app,#utility-focus-layer) .studio-presets { display:flex;gap:4px;flex-wrap:wrap;margin-top:4px; }
:is(#app.registro-wordpress-app,#utility-focus-layer) .studio-presets button { flex:1;min-width:42px;min-height:36px;padding:4px;font-size:11px; }
:is(#app.registro-wordpress-app,#utility-focus-layer) .studio-reset { width:100%;margin-top:4px; }
:is(#app.registro-wordpress-app,#utility-focus-layer) .studio-loop-controls { display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px;margin-top:12px; }
:is(#app.registro-wordpress-app,#utility-focus-layer) .studio-loop-controls small { display:block;font-size:10px;color:var(--muted);font-variant-numeric:tabular-nums; }
:is(#app.registro-wordpress-app,#utility-focus-layer) .studio-loop-controls [data-studio-settings] { grid-column:1/-1;font-size:13px; }
:is(#app.registro-wordpress-app,#utility-focus-layer) .studio-status { font-size:12px;line-height:1.5;color:var(--muted);margin:10px 0 0; }
:is(#app.registro-wordpress-app,#utility-focus-layer) .studio-status.is-error,.studio-settings-error { color:#ad2845; }
#studio-settings-modal.registro-popup-backdrop { z-index:2147483100!important; }
#studio-settings-modal, #studio-settings-modal * { box-sizing:border-box; }
#studio-settings-modal .studio-settings-help { font-size:13px;color:var(--muted);line-height:1.5; }
@media(max-width:380px){:is(#app.registro-wordpress-app,#utility-focus-layer) .studio-player{padding:12px;} :is(#app.registro-wordpress-app,#utility-focus-layer) .studio-controls{gap:8px;} :is(#app.registro-wordpress-app,#utility-focus-layer) .studio-stepper{grid-template-columns:40px minmax(0,1fr) 40px;gap:2px;} :is(#app.registro-wordpress-app,#utility-focus-layer) .studio-stepper button{width:40px;} }

:is(#app.registro-wordpress-app,#utility-focus-layer) .studio-host { min-width:0; }
@media(max-width:600px){:is(#app.registro-wordpress-app,#utility-focus-layer) .utilities-page[data-instrument=studio] .utility-heading>h1{font-size:clamp(22px,5.5vw,30px)!important;} :is(#app.registro-wordpress-app,#utility-focus-layer) .studio-control:nth-child(2) output{white-space:normal;line-height:1.15;} }

:is(#app.registro-wordpress-app,#utility-focus-layer) .studio-file-row .utility-settings-button { font-size:22px;flex:0 0 44px;width:44px;height:44px;padding:6px; }
:is(#app.registro-wordpress-app,#utility-focus-layer) .studio-presets button { min-height:44px;min-width:44px; }
@media(max-width:380px){:is(#app.registro-wordpress-app,#utility-focus-layer) .studio-controls{grid-template-columns:1fr;} :is(#app.registro-wordpress-app,#utility-focus-layer) .studio-stepper{grid-template-columns:44px minmax(0,1fr) 44px;} :is(#app.registro-wordpress-app,#utility-focus-layer) .studio-stepper button{width:44px;} }
@media(min-width:1100px){:is(#app.registro-wordpress-app,#utility-focus-layer) .utilities-page .utility-choices{grid-template-columns:repeat(3,minmax(0,1fr));} }

:is(#app.registro-wordpress-app,#utility-focus-layer) .studio-presets { margin-top:0; }
:is(#app.registro-wordpress-app,#utility-focus-layer) .studio-loop-controls { grid-template-columns:repeat(6,minmax(0,1fr)); }
:is(#app.registro-wordpress-app,#utility-focus-layer) .studio-loop-controls>[data-studio-action] { grid-column:span 2; }
:is(#app.registro-wordpress-app,#utility-focus-layer) .studio-loop-controls>[data-studio-settings] { grid-column:span 4; }
:is(#app.registro-wordpress-app,#utility-focus-layer) .studio-loop-controls .studio-reset { margin:0; }

:is(#app.registro-wordpress-app,#utility-focus-layer) .studio-export { display:block;width:auto;min-width:112px;margin:12px 0 0 auto; }
#studio-settings-modal .studio-export-progress { display:block;width:100%;height:14px;accent-color:var(--forest,#00345e); }
#studio-settings-modal .studio-export-details { margin:0;font-size:13px;line-height:1.5;color:var(--muted);font-variant-numeric:tabular-nums; }
#studio-settings-modal [data-export-result] { overflow-wrap:anywhere; }
#studio-settings-modal [hidden] { display:none!important; }

/* Shared study layout. Presentation is independent of transport and DSP. */
:is(#app.registro-wordpress-app,#utility-focus-layer) .studio-session { display:flex;flex-direction:column;gap:12px;min-width:0;min-height:0; }
:is(#app.registro-wordpress-app,#utility-focus-layer) :is(.studio-stage,.studio-deck,.studio-secondary) { min-width:0;min-height:0; }
:is(#app.registro-wordpress-app,#utility-focus-layer) .studio-stage { position:relative; }
:is(#app.registro-wordpress-app,#utility-focus-layer) :is(.studio-preview,.studio-wave,.studio-timeline,.studio-controls,.studio-presets,.studio-loop-controls,.studio-export) { margin:0; }
:is(#app.registro-wordpress-app,#utility-focus-layer) .studio-wave { height:140px; }
:is(#app.registro-wordpress-app,#utility-focus-layer) .studio-deck { display:grid;gap:8px; }
:is(#app.registro-wordpress-app,#utility-focus-layer) .studio-controls { gap:16px; }
:is(#app.registro-wordpress-app,#utility-focus-layer) .studio-presets { display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:4px; }
:is(#app.registro-wordpress-app,#utility-focus-layer) .studio-presets button { min-width:0; }
:is(#app.registro-wordpress-app,#utility-focus-layer) .studio-loop-controls { grid-template-columns:repeat(3,minmax(0,1fr)); }
:is(#app.registro-wordpress-app,#utility-focus-layer) .studio-loop-controls>[data-studio-action] { grid-column:auto; }
:is(#app.registro-wordpress-app,#utility-focus-layer) .studio-loop-controls button { display:flex;align-items:center;justify-content:center;gap:8px; }
:is(#app.registro-wordpress-app,#utility-focus-layer) .studio-secondary { display:flex;align-items:center;justify-content:flex-end;gap:8px; }
:is(#app.registro-wordpress-app,#utility-focus-layer) .studio-secondary button { width:auto;min-width:0;margin:0;font-size:12px; }
:is(#app.registro-wordpress-app,#utility-focus-layer) .studio-transport { grid-template-columns:1fr 1.5fr 1fr 1fr; }
:is(#app.registro-wordpress-app,#utility-focus-layer) [data-studio-action=forward] { order:3; }
:is(#app.registro-wordpress-app,#utility-focus-layer) [data-studio-action=stop] { order:4; }
:is(#app.registro-wordpress-app,#utility-focus-layer) [data-studio-action=play] { font-weight:750; }
:is(#app.registro-wordpress-app,#utility-focus-layer) .studio-status:empty { display:none; }
@media(max-width:600px) {
 :is(#app.registro-wordpress-app,#utility-focus-layer) .studio-player { padding:12px; }
 :is(#app.registro-wordpress-app,#utility-focus-layer) .studio-controls { grid-template-columns:repeat(2,minmax(0,1fr));gap:8px; }
 :is(#app.registro-wordpress-app,#utility-focus-layer) .studio-presets { grid-template-columns:repeat(5,minmax(0,1fr)); }
 :is(#app.registro-wordpress-app,#utility-focus-layer) .studio-secondary { display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:4px; }
 :is(#app.registro-wordpress-app,#utility-focus-layer) .studio-secondary button { padding:6px;font-size:11px; }
 :is(#app.registro-wordpress-app,#utility-focus-layer) .studio-stepper { grid-template-columns:44px minmax(0,1fr) 44px;gap:2px; }
 :is(#app.registro-wordpress-app,#utility-focus-layer) .studio-control:nth-child(2) output { font-size:13px; }
}

/* Fullscreen is a viewport workspace, with one compact header and a flexible stage. */
body.registro-utility-fullscreen #utility-focus-layer:has([data-instrument=studio]) {
 height:100vh;height:100dvh;height:var(--utility-viewport-height,100dvh);
 padding:calc(8px + env(safe-area-inset-top,0px)) calc(12px + env(safe-area-inset-right,0px)) calc(8px + env(safe-area-inset-bottom,0px)) calc(12px + env(safe-area-inset-left,0px));
}
body.registro-utility-fullscreen #utility-focus-layer .utilities-page[data-instrument=studio] { position:relative;max-width:none;width:100%;margin:0;min-height:0;gap:0; }
body.registro-utility-fullscreen #utility-focus-layer [data-instrument=studio] .utility-topbar { position:absolute;right:0;top:0;z-index:3;display:flex!important; }
body.registro-utility-fullscreen #utility-focus-layer [data-instrument=studio] .utility-heading { display:none; }
body.registro-utility-fullscreen #utility-focus-layer [data-instrument=studio] .utility-fullscreen-button { min-height:44px!important; }
body.registro-utility-fullscreen #utility-focus-layer .studio-host { display:flex;flex:1;min-height:0; }
body.registro-utility-fullscreen #utility-focus-layer .studio-player { display:flex;flex-direction:column;gap:8px;flex:1;min-height:0;max-width:none;width:100%;padding:0;margin:0;border:0;border-radius:0;overflow:auto; }
body.registro-utility-fullscreen #utility-focus-layer .studio-file-row { flex:0 0 44px;padding-right:104px;gap:8px; }
body.registro-utility-fullscreen #utility-focus-layer .studio-file-row [data-studio-name] { font-size:15px;font-weight:650; }
body.registro-utility-fullscreen #utility-focus-layer .studio-local { display:none; }
body.registro-utility-fullscreen #utility-focus-layer .studio-session { flex:1;gap:8px; }
body.registro-utility-fullscreen #utility-focus-layer .studio-stage { flex:1;min-height:120px; }
body.registro-utility-fullscreen #utility-focus-layer :is(.studio-preview,.studio-wave) { position:absolute;inset:0;width:100%;height:100%;max-height:none; }
body.registro-utility-fullscreen #utility-focus-layer .studio-preview video { width:100%;height:100%;max-height:none;object-fit:contain; }
body.registro-utility-fullscreen #utility-focus-layer .studio-wave { background:linear-gradient(180deg,var(--theme-softbg,#edf4fa),var(--panel,#fff));border:1px solid var(--theme-line,#b8cbdc); }
body.registro-utility-fullscreen #utility-focus-layer .studio-timeline { flex:0 0 auto; }
body.registro-utility-fullscreen #utility-focus-layer .studio-deck { grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px 16px; }
body.registro-utility-fullscreen #utility-focus-layer .studio-controls { grid-row:1;gap:16px; }
body.registro-utility-fullscreen #utility-focus-layer .studio-presets { grid-column:1;grid-row:2; }
body.registro-utility-fullscreen #utility-focus-layer .studio-loop-controls { grid-column:2;grid-row:1;align-self:start; }
body.registro-utility-fullscreen #utility-focus-layer .studio-secondary { grid-column:2;grid-row:2;align-self:end; }
body.registro-utility-fullscreen #utility-focus-layer .studio-stepper { margin:4px 0; }
body.registro-utility-fullscreen #utility-focus-layer .studio-status { flex:0 0 auto;margin:0;line-height:1.3; }
@media(max-width:700px) {
 body.registro-utility-fullscreen #utility-focus-layer .studio-deck { grid-template-columns:minmax(0,1fr);gap:8px; }
 body.registro-utility-fullscreen #utility-focus-layer .studio-deck>* { grid-column:auto;grid-row:auto; }
 body.registro-utility-fullscreen #utility-focus-layer .studio-file-row { padding-right:52px;gap:4px; }
 body.registro-utility-fullscreen #utility-focus-layer [data-instrument=studio] .utility-fullscreen-button { width:44px;padding:8px!important; }
 body.registro-utility-fullscreen #utility-focus-layer [data-instrument=studio] .utility-fullscreen-button>span { display:none; }
 body.registro-utility-fullscreen #utility-focus-layer .studio-file-row [data-studio-open] { font-size:12px;padding:6px 8px; }
 body.registro-utility-fullscreen #utility-focus-layer .studio-file-row [data-studio-name] { font-size:13px; }
}
/* Short landscape: transport stays below the large left stage; options sit alongside. */
@media(min-width:520px) and (max-height:540px) {
 body.registro-utility-fullscreen #utility-focus-layer .studio-session { display:grid;grid-template-columns:minmax(0,1fr) clamp(280px,40vw,344px);grid-template-rows:minmax(120px,1fr) auto 44px;gap:8px 12px; }
 body.registro-utility-fullscreen #utility-focus-layer .studio-stage { grid-column:1;grid-row:1; }
 body.registro-utility-fullscreen #utility-focus-layer .studio-timeline { grid-column:1;grid-row:2; }
 body.registro-utility-fullscreen #utility-focus-layer .studio-transport { grid-column:1;grid-row:3; }
 body.registro-utility-fullscreen #utility-focus-layer .studio-deck { grid-column:2;grid-row:1 / 4;grid-template-columns:minmax(0,1fr);align-content:center;gap:8px; }
 body.registro-utility-fullscreen #utility-focus-layer .studio-deck>* { grid-column:auto;grid-row:auto; }
 body.registro-utility-fullscreen #utility-focus-layer .studio-presets { grid-template-columns:repeat(9,minmax(0,1fr)); }
 body.registro-utility-fullscreen #utility-focus-layer .studio-presets button { font-size:10px;padding:2px; }
 body.registro-utility-fullscreen #utility-focus-layer .studio-secondary { display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:4px; }
 body.registro-utility-fullscreen #utility-focus-layer .studio-secondary button { padding:4px;font-size:11px; }
}
@media(max-width:480px) and (max-height:600px) {
 body.registro-utility-fullscreen #utility-focus-layer .studio-player .studio-stage { min-height:80px; }
}
body.registro-utility-fullscreen #utility-focus-layer .studio-player .studio-track input[type=range] { height:36px!important; }
body.registro-utility-fullscreen #utility-focus-layer .studio-player .studio-control input[type=range] { height:32px!important; }
@media(max-width:1100px) {
 body.registro-utility-fullscreen #utility-focus-layer .studio-control:nth-child(2) output { white-space:normal;font-size:12px;line-height:1.15;overflow-wrap:anywhere; }
}
@media(max-height:650px) and (max-width:700px) {
 body.registro-utility-fullscreen #utility-focus-layer .studio-stage { min-height:96px; }
}
/* Without waveform data, let the timeline fill the audio stage instead of reserving empty video space. */
body.registro-utility-fullscreen #utility-focus-layer .studio-session:has(.studio-preview[hidden]):has(.studio-wave[hidden]) .studio-stage { display:none; }
body.registro-utility-fullscreen #utility-focus-layer .studio-session:has(.studio-preview[hidden]):has(.studio-wave[hidden]) .studio-timeline { flex:1;display:flex;flex-direction:column;justify-content:center; }
@media(min-width:520px) and (max-height:380px) {
 body.registro-utility-fullscreen #utility-focus-layer .studio-deck { gap:4px; }
 body.registro-utility-fullscreen #utility-focus-layer .studio-player .studio-control input[type=range] { height:24px!important; }
 body.registro-utility-fullscreen #utility-focus-layer .studio-stepper output { font-size:18px; }
 body.registro-utility-fullscreen #utility-focus-layer .studio-control:nth-child(2) output { font-size:11px; }
 body.registro-utility-fullscreen #utility-focus-layer .studio-transport { grid-template-columns:minmax(0,1fr) minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr);gap:4px; }
 body.registro-utility-fullscreen #utility-focus-layer .studio-transport button { padding:4px;font-size:12px; }
 body.registro-utility-fullscreen #utility-focus-layer .studio-status { font-size:11px; }
}
@media(min-width:520px) and (max-height:540px) {
 body.registro-utility-fullscreen #utility-focus-layer .studio-session:has(.studio-preview[hidden]):has(.studio-wave[hidden]) { grid-template-rows:minmax(0,1fr) 44px; }
 body.registro-utility-fullscreen #utility-focus-layer .studio-session:has(.studio-preview[hidden]):has(.studio-wave[hidden]) .studio-timeline { grid-row:1; }
 body.registro-utility-fullscreen #utility-focus-layer .studio-session:has(.studio-preview[hidden]):has(.studio-wave[hidden]) .studio-transport { grid-row:2; }
 body.registro-utility-fullscreen #utility-focus-layer .studio-session:has(.studio-preview[hidden]):has(.studio-wave[hidden]) .studio-deck { grid-row:1 / 3; }
}
