/* One viewport workspace for every utility; audio and transport stay unchanged. */
:is(#app.registro-wordpress-app,#utility-focus-layer) .utilities-page {
 --utility-gap:16px;--utility-padding:clamp(12px,2vw,24px);
 min-width:0;max-width:100%;
}
#app.registro-wordpress-app .content.utility-workspace-content { min-width:0;max-width:none!important; }
:is(#app.registro-wordpress-app,#utility-focus-layer) .utility-workspace {
 display:flex;flex-direction:column;gap:var(--utility-gap);
 min-height:var(--utilities-available-height,calc(100vh - 160px));
 min-height:var(--utilities-available-height,calc(100dvh - 160px));
}
:is(#app.registro-wordpress-app,#utility-focus-layer) .utility-workspace .utility-topbar { flex:none;margin-bottom:0!important; }
:is(#app.registro-wordpress-app,#utility-focus-layer) .utility-host { display:flex;flex:1;min-width:0;min-height:0; }
:is(#app.registro-wordpress-app,#utility-focus-layer) .utilities-page .utility-surface {
 flex:1;width:100%;min-width:0;max-width:none;min-height:0;margin:0;padding:var(--utility-padding);gap:var(--utility-gap);
}
:is(#app.registro-wordpress-app,#utility-focus-layer) .utility-workspace .utility-instrument { display:grid;grid-template-rows:minmax(0,1fr) auto;align-items:center; }
:is(#app.registro-wordpress-app,#utility-focus-layer) .utility-workspace .utility-instrument-display { min-width:0; }
:is(#app.registro-wordpress-app,#utility-focus-layer) .utility-workspace .utility-instrument-controls { min-width:0;max-width:none; }
:is(#app.registro-wordpress-app,#utility-focus-layer) .utility-workspace .vocal-live { align-self:stretch; }
:is(#app.registro-wordpress-app,#utility-focus-layer) .utility-workspace .chord-live { justify-content:center; }
@media(min-width:901px) {
 #app.registro-wordpress-app .utility-workspace .utility-instrument { grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);grid-template-rows:minmax(0,1fr); }
 #app.registro-wordpress-app .utility-workspace .utility-number-value input { font-size:clamp(76px,9vw,144px)!important; }
 #app.registro-wordpress-app .utility-workspace .utility-tuner .utility-number-value input { font-size:36px!important; }
 #app.registro-wordpress-app .utility-workspace .utility-note { font-size:clamp(112px,13vw,200px); }
}
@media(max-width:900px) {
 :is(#app.registro-wordpress-app,#utility-focus-layer) .utility-workspace { --utility-gap:12px;--utility-padding:12px; }
}

/* The portal already hides app navigation and tracks visualViewport/safe areas. */
body.registro-utility-fullscreen #utility-focus-layer .utility-workspace {
 width:100%;height:100%;min-height:0;max-width:none;margin:0;gap:8px;
 --utility-gap:12px;--utility-padding:12px;
 --utility-spelled-note-size:clamp(64px,min(22vh,18vw),180px);
}
body.registro-utility-fullscreen #utility-focus-layer .utility-host { overflow:hidden; }
body.registro-utility-fullscreen #utility-focus-layer .utility-surface {
 max-width:none;border:0;border-radius:0;box-shadow:none;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;
}
body.registro-utility-fullscreen #utility-focus-layer .utility-instrument-controls { max-width:none; }
body.registro-utility-fullscreen #utility-focus-layer .utility-workspace .utility-status { max-height:none;overflow:visible; }
body.registro-utility-fullscreen #utility-focus-layer .utility-instrument-display { align-self:stretch;display:flex;flex-direction:column;justify-content:center; }
body.registro-utility-fullscreen #utility-focus-layer .utility-number-value input { font-size:clamp(64px,17vh,180px)!important; }
body.registro-utility-fullscreen #utility-focus-layer .utility-tuner .utility-number-value input { font-size:36px!important; }
body.registro-utility-fullscreen #utility-focus-layer .chord-control-panel .utility-number-value input,
body.registro-utility-fullscreen #utility-focus-layer .vocal-tempo .utility-number-value input { font-size:clamp(36px,7vh,48px)!important; }
body.registro-utility-fullscreen #utility-focus-layer .utility-note { font-size:clamp(88px,24vh,220px); }
body.registro-utility-fullscreen #utility-focus-layer .studio-host { flex:1; }
body.registro-utility-fullscreen #utility-focus-layer .studio-player { padding:0;gap:8px; }
body.registro-utility-fullscreen #utility-focus-layer .studio-session { min-height:0; }
body.registro-utility-fullscreen #utility-focus-layer .studio-stage { min-width:0;min-height:120px; }
body.registro-utility-fullscreen #utility-focus-layer .studio-wave canvas { height:100%; }

/* New trainers fill the remaining space instead of scrolling a short card. */
body.registro-utility-fullscreen #utility-focus-layer .vocal-warmup {
 grid-template-areas:'toolbar toolbar' 'live tempo' 'live transport' 'sequence sequence' 'status status';
 grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);
 grid-template-rows:auto minmax(0,1fr) auto minmax(100px,.4fr) auto;
}
body.registro-utility-fullscreen #utility-focus-layer .vocal-toolbar { grid-area:toolbar; }
body.registro-utility-fullscreen #utility-focus-layer .vocal-live { grid-area:live; }
body.registro-utility-fullscreen #utility-focus-layer .vocal-tempo { grid-area:tempo; }
body.registro-utility-fullscreen #utility-focus-layer .vocal-transport { grid-area:transport; }
body.registro-utility-fullscreen #utility-focus-layer .vocal-sequence { grid-area:sequence;display:flex;flex-direction:column;justify-content:center; }
body.registro-utility-fullscreen #utility-focus-layer .vocal-warmup > .utility-status { grid-area:status; }
body.registro-utility-fullscreen #utility-focus-layer [data-vocal-sequence] { justify-content:center; }
body.registro-utility-fullscreen #utility-focus-layer .vocal-note { flex:1;max-width:120px;min-width:44px;padding:12px 8px; }
body.registro-utility-fullscreen #utility-focus-layer .vocal-note strong { font-size:clamp(20px,3vw,40px); }
body.registro-utility-fullscreen #utility-focus-layer .vocal-live h2 { font-size:clamp(32px,5vw,64px); }
body.registro-utility-fullscreen #utility-focus-layer .chord-trainer {
 grid-template-areas:'live controls' 'progression progression' 'status status';
 grid-template-rows:minmax(0,1fr) auto auto;
}
body.registro-utility-fullscreen #utility-focus-layer .chord-live { grid-area:live; }
body.registro-utility-fullscreen #utility-focus-layer .chord-control-panel { grid-area:controls;align-self:center; }
body.registro-utility-fullscreen #utility-focus-layer .chord-progression { grid-area:progression; }
body.registro-utility-fullscreen #utility-focus-layer .chord-status { grid-area:status; }
body.registro-utility-fullscreen #utility-focus-layer .chord-caption { margin:8px 0 4px; }
body.registro-utility-fullscreen #utility-focus-layer .chord-round { margin:4px 0 8px; }
body.registro-utility-fullscreen #utility-focus-layer .chord-live .utility-beats { margin:8px 0; }
body.registro-utility-fullscreen #utility-focus-layer .chord-list { grid-template-columns:repeat(auto-fit,minmax(128px,1fr));gap:8px; }
body.registro-utility-fullscreen #utility-focus-layer .chord-progression-head { margin-bottom:8px; }
body.registro-utility-fullscreen #utility-focus-layer .chord-edit-hint { margin:8px 0 0; }
body.registro-utility-fullscreen #utility-focus-layer .chord-now { font-size:clamp(64px,14vh,160px); }
@media(max-width:700px) {
 body.registro-utility-fullscreen #utility-focus-layer .vocal-warmup {
  grid-template-columns:minmax(0,1fr);grid-template-areas:'toolbar' 'live' 'tempo' 'transport' 'sequence' 'status';
  grid-template-rows:auto minmax(140px,1fr) auto auto auto auto;
 }
 body.registro-utility-fullscreen #utility-focus-layer .vocal-sequence { padding-top:8px; }
 body.registro-utility-fullscreen #utility-focus-layer .vocal-note { flex:0 1 auto;padding:8px 6px; }
 body.registro-utility-fullscreen #utility-focus-layer .vocal-playing-note { margin:4px 0 0; }
 body.registro-utility-fullscreen #utility-focus-layer .chord-trainer {
  grid-template-columns:minmax(0,1fr);grid-template-areas:'live' 'progression' 'controls' 'status';
  grid-template-rows:minmax(min-content,1fr) auto auto auto;
 }
 body.registro-utility-fullscreen #utility-focus-layer .chord-list {
  grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(128px,1fr);overflow-x:auto;overscroll-behavior-x:contain;padding-bottom:4px;
 }
 body.registro-utility-fullscreen #utility-focus-layer .chord-control-panel .utility-options { gap:8px;margin-top:8px; }
 body.registro-utility-fullscreen #utility-focus-layer .chord-progression-head h2 { font-size:18px; }
 body.registro-utility-fullscreen #utility-focus-layer .chord-live { display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:'toolbar toolbar' 'now next' 'beats round' 'transport transport';align-items:center;padding:8px;gap:4px 8px; }
 body.registro-utility-fullscreen #utility-focus-layer .chord-toolbar { grid-area:toolbar; }
 body.registro-utility-fullscreen #utility-focus-layer .chord-caption { display:none; }
 body.registro-utility-fullscreen #utility-focus-layer .chord-now { grid-area:now; }
 body.registro-utility-fullscreen #utility-focus-layer .chord-next { grid-area:next;flex-direction:column;align-items:center;gap:4px; }
 body.registro-utility-fullscreen #utility-focus-layer .chord-live .utility-beats { grid-area:beats; }
 body.registro-utility-fullscreen #utility-focus-layer .chord-round { grid-area:round; }
 body.registro-utility-fullscreen #utility-focus-layer .chord-transport { grid-area:transport; }

 body.registro-utility-fullscreen #utility-focus-layer .chord-now { font-size:clamp(56px,10vh,84px); }
 body.registro-utility-fullscreen #utility-focus-layer .chord-caption { margin:4px 0; }
 body.registro-utility-fullscreen #utility-focus-layer .chord-next { margin:4px 0; }
 body.registro-utility-fullscreen #utility-focus-layer .chord-round { font-size:12px;margin:4px 0; }
 body.registro-utility-fullscreen #utility-focus-layer .chord-live .utility-beat { width:32px;height:32px; }
 body.registro-utility-fullscreen #utility-focus-layer .chord-transport button { min-height:44px!important; }
 body.registro-utility-fullscreen #utility-focus-layer .chord-control-panel .utility-number-value input { font-size:36px!important; }
 body.registro-utility-fullscreen #utility-focus-layer .chord-control-panel input[type=range] { height:32px!important; }
 body.registro-utility-fullscreen #utility-focus-layer .chord-control-panel .utility-field { font-size:12px;line-height:1.3; }
 body.registro-utility-fullscreen #utility-focus-layer .chord-control-panel .utility-field select { margin-top:4px;min-height:44px;height:44px;padding-block:6px; }
 body.registro-utility-fullscreen #utility-focus-layer .chord-edit-hint { display:none; }
 body.registro-utility-fullscreen #utility-focus-layer .chord-tile { padding:4px; }
 body.registro-utility-fullscreen #utility-focus-layer .chord-edit { padding:4px!important; }
 body.registro-utility-fullscreen #utility-focus-layer .chord-edit strong { font-size:22px; }

}
@media(min-width:520px) and (max-height:500px) {
 body.registro-utility-fullscreen #utility-focus-layer .utility-workspace { --utility-gap:8px;--utility-padding:4px; }
 body.registro-utility-fullscreen #utility-focus-layer .vocal-warmup {
  grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);grid-template-areas:'live toolbar' 'live tempo' 'sequence transport' 'status status';grid-template-rows:auto minmax(min-content,1fr) auto auto;
 }
 body.registro-utility-fullscreen #utility-focus-layer .vocal-live { padding:8px;gap:4px; }
 body.registro-utility-fullscreen #utility-focus-layer .vocal-register { margin:0;font-size:12px;line-height:1.2; }
 body.registro-utility-fullscreen #utility-focus-layer .vocal-live h2 { font-size:28px; }
 body.registro-utility-fullscreen #utility-focus-layer .vocal-caption { font-size:12px;line-height:1.2; }
 body.registro-utility-fullscreen #utility-focus-layer .vocal-navigation { margin-top:4px; }
 body.registro-utility-fullscreen #utility-focus-layer .vocal-tempo .utility-stepper { margin:4px 0; }
 body.registro-utility-fullscreen #utility-focus-layer .vocal-tempo input[type=range] { height:32px!important; }
 body.registro-utility-fullscreen #utility-focus-layer .vocal-playing-note:empty { display:none; }
 body.registro-utility-fullscreen #utility-focus-layer [data-vocal-sequence] { flex-wrap:nowrap;gap:4px; }
 body.registro-utility-fullscreen #utility-focus-layer .vocal-note { flex:1;min-width:0;gap:0; }
 body.registro-utility-fullscreen #utility-focus-layer .vocal-note strong { font-size:clamp(14px,2.3vw,20px);letter-spacing:-.5px; }
 body.registro-utility-fullscreen #utility-focus-layer .vocal-note small { font-size:9px; }

 body.registro-utility-fullscreen #utility-focus-layer .vocal-sequence h3 { display:none; }
 body.registro-utility-fullscreen #utility-focus-layer .vocal-sequence { padding-top:4px; }
 body.registro-utility-fullscreen #utility-focus-layer .vocal-note { padding:6px 4px; }
}
@media(min-width:700px) and (max-height:500px) {
 body.registro-utility-fullscreen #utility-focus-layer .chord-trainer {
  grid-template-columns:minmax(0,.8fr) minmax(0,1fr) minmax(0,1.1fr);
  grid-template-areas:'live controls progression' 'status status status';grid-template-rows:minmax(0,1fr) auto;
 }
 body.registro-utility-fullscreen #utility-focus-layer .chord-progression { min-height:0;overflow-y:auto; }
 body.registro-utility-fullscreen #utility-focus-layer .chord-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
 body.registro-utility-fullscreen #utility-focus-layer .chord-tile { padding:4px; }
 body.registro-utility-fullscreen #utility-focus-layer .chord-edit-hint { display:none; }
 body.registro-utility-fullscreen #utility-focus-layer .chord-transport button { min-height:44px!important; }
 body.registro-utility-fullscreen #utility-focus-layer .chord-control-panel .utility-options { gap:8px;margin-top:8px; }
 body.registro-utility-fullscreen #utility-focus-layer .chord-now { font-size:clamp(48px,16vh,80px); }
}

body.registro-utility-fullscreen #utility-focus-layer[data-compact=true] .utility-workspace .utility-tuner .utility-number-value input { font-size:30px!important; }
