/* A single, centered voice nucleus across both templates and saved layouts. */
html #app .command-deck > .jarvis-core {
  --core-clean-limit: min(640px, 58vh);
  align-items: center !important;
  justify-content: center !important;
  flex-direction: column !important;
  gap: 8px !important;
  min-width: 0;
  min-height: clamp(330px, 54vh, 620px);
  padding: 24px 16px !important;
  overflow: hidden;
}

html #app .command-deck > .jarvis-core:not([hidden]) {
  display: flex !important;
}

html #app .command-deck > .jarvis-core > .hud-heading,
html #app .command-deck > .jarvis-core > .template-core-intro,
html #app .command-deck > .jarvis-core > .hud-foot,
html #app .command-deck > .jarvis-core .core-orb-hint {
  display: none !important;
}

html #app .command-deck > .jarvis-core > .jarvis-orb-button {
  position: relative !important;
  inset: auto !important;
  order: 0 !important;
  width: min(100%, var(--core-clean-limit)) !important;
  max-width: var(--core-clean-limit) !important;
  height: auto !important;
  aspect-ratio: 1;
  margin: 0 auto !important;
  flex: 0 0 auto;
  align-self: center;
}

html #app .command-deck > .jarvis-core > .jarvis-core-readout {
  position: relative !important;
  inset: auto !important;
  order: 1 !important;
  width: 100% !important;
  max-width: 100%;
  margin: 0 !important;
  display: grid;
  justify-items: center;
  gap: 9px !important;
  text-align: center;
  flex: 0 0 auto;
}

html #app .command-deck > .jarvis-core > .jarvis-core-readout strong {
  margin: 0;
  padding-left: 7px;
  font-size: clamp(13px, 1.1vw, 17px) !important;
  letter-spacing: 7px !important;
  line-height: 1.4;
}

html #app .command-deck > .jarvis-core > .jarvis-core-readout > span {
  max-width: 100%;
  font-size: 10px !important;
  line-height: 1.5;
  overflow-wrap: anywhere;
}

/* Custom window sizes still constrain the animation without cropping it. */
html #app[data-view="all"] .command-deck.studio-free > .jarvis-core > .jarvis-orb-button {
  width: min(100%, max(96px, calc(var(--studio-height) - 112px)), var(--core-clean-limit)) !important;
}

html #app .command-deck.studio-organizing > .jarvis-core {
  padding-top: 64px !important;
}

html #app[data-view="all"] .command-deck.studio-free.studio-organizing > .jarvis-core > .jarvis-orb-button {
  width: min(100%, max(80px, calc(var(--studio-height) - 152px)), var(--core-clean-limit)) !important;
}

@media (min-width: 761px) {
  html #app.voice-core-expanded .command-deck > .jarvis-core,
  html #app.ai-studio-active .command-deck > .jarvis-core,
  html #app.jarvis-immersive .command-deck > .jarvis-core {
    --core-clean-limit: min(760px, 66vh);
    min-height: clamp(390px, 64vh, 720px);
  }
}

@media (max-width: 760px) {
  html #app .command-deck > .jarvis-core {
    --core-clean-limit: min(440px, 49vh);
    min-height: 320px !important;
    padding: 22px 12px !important;
  }

  html #app .command-deck > .jarvis-core > .jarvis-core-readout strong {
    font-size: 13px !important;
    letter-spacing: 6px !important;
    padding-left: 6px;
  }

  html #app .command-deck > .jarvis-core > .jarvis-core-readout > span {
    font-size: 9px !important;
  }

  html #app[data-view="all"] .command-deck.studio-free > .jarvis-core > .jarvis-orb-button {
    width: min(100%, var(--core-clean-limit)) !important;
  }

  html #app .command-deck.studio-organizing > .jarvis-core {
    padding-top: 64px !important;
  }
}

@supports (height: 1svh) {
  html #app .command-deck > .jarvis-core { --core-clean-limit: min(640px, 58svh); }
  @media (min-width: 761px) {
    html #app.voice-core-expanded .command-deck > .jarvis-core,
    html #app.ai-studio-active .command-deck > .jarvis-core,
    html #app.jarvis-immersive .command-deck > .jarvis-core { --core-clean-limit: min(760px, 66svh); }
  }
  @media (max-width: 760px) {
    html #app .command-deck > .jarvis-core { --core-clean-limit: min(440px, 49svh); }
  }
}

/* Voice focus temporarily takes the first row of a custom 12-column layout.
   Saved widths, heights and ordering stay untouched when the session ends. */
html #app[data-view="all"].voice-core-expanded .command-deck.studio-free > .jarvis-core {
  order: -1 !important;
  grid-column: 1 / -1 !important;
  grid-row: 1 !important;
  height: auto !important;
  min-height: clamp(390px, 64vh, 720px) !important;
  max-height: none !important;
}

html #app[data-view="all"].voice-core-expanded .command-deck.studio-free > .side-slot {
  order: 0 !important;
  grid-column: auto / span 6 !important;
  grid-row: auto !important;
}

html #app[data-view="all"].voice-core-expanded .command-deck.studio-free > .jarvis-core > .jarvis-orb-button {
  width: min(100%, var(--core-clean-limit)) !important;
}

@media (max-width: 760px) {
  html #app[data-view="all"].voice-core-expanded .command-deck.studio-free > .jarvis-core {
    min-height: 360px !important;
  }

  html #app[data-view="all"].voice-core-expanded .command-deck.studio-free > .side-slot {
    grid-column: 1 / -1 !important;
  }
}
