/* VEYTU V5.10 — Orbital information safe-zone, laboratory only.
   This stylesheet does NOT alter orbit SVG, approved photo layers, colors,
   direction, motion logic or speaking permissions. It only gives the artwork
   a larger responsive stage and contains text within the inner circular area. */
:root{--veytu-orbit-stage:416px}
.integral-room .orbit-panel{
  /* Keep the approved panel; the bigger orbit is allowed space, not a new card. */
  overflow:visible;
}
.integral-room #orbitWrap{
  width:min(100%,var(--veytu-orbit-stage));
  max-width:min(100%,var(--veytu-orbit-stage));
  aspect-ratio:1;
  margin:clamp(3px,1.2vw,13px) auto clamp(7px,1vw,13px);
  isolation:isolate;
}
#orbitWrap .orbit-content{
  /* Center text in the free interior, clear of the two photographic arcs. */
  top:22%; left:20%; right:auto; bottom:auto;
  width:60%; height:56%;
  min-width:0;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:clamp(5px,.9vw,10px);
  padding:2px 0;
  text-align:center;
}
#orbitWrap .orbit-content > *{
  flex:0 0 auto;
  min-width:0; max-width:100%;
  margin:0;
}
#orbitWrap .speaking-eyebrow{
  font-size:clamp(10px,1vw,12px);
  line-height:1.28;
  font-weight:750;
  letter-spacing:.11em;
  text-wrap:balance;
  overflow-wrap:break-word;
  max-height:2.65em;
  overflow:hidden;
}
#orbitWrap .speaker-name{
  font-size:clamp(20px,2.15vw,30px);
  font-weight:650;
  line-height:1.12;
  letter-spacing:-.025em;
  white-space:normal;
  overflow-wrap:anywhere;
  text-wrap:balance;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  line-clamp:2;
  overflow:hidden;
  max-height:2.32em;
}
#orbitWrap .timer-text{
  font-size:clamp(50px,5vw,68px);
  font-weight:430;
  line-height:1.03;
  letter-spacing:-.055em;
  font-variant-numeric:tabular-nums;
  font-feature-settings:'tnum' 1;
  white-space:nowrap;
}
#orbitWrap .clock-label{
  font-size:clamp(12px,1.07vw,14px);
  line-height:1.38;
  letter-spacing:0;
  color:var(--muted);
  text-wrap:balance;
  overflow-wrap:break-word;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  line-clamp:2;
  overflow:hidden;
  max-height:2.85em;
}
/* Tablets: keep the full artwork visible and leave the copy ample space. */
@media (max-width:700px){
  :root{--veytu-orbit-stage:368px}
  .integral-room #orbitWrap,
  .cafe-mode .integral-room #orbitWrap{
    width:min(100%,var(--veytu-orbit-stage),calc(100vw - 54px));
    max-width:min(100%,var(--veytu-orbit-stage),calc(100vw - 54px));
    margin:7px auto 10px;
  }
  #orbitWrap .orbit-content{
    top:21%;left:19%;width:62%;height:58%;
    gap:clamp(5px,1.5vw,8px);
  }
  #orbitWrap .speaking-eyebrow{font-size:11px;letter-spacing:.085em}
  #orbitWrap .speaker-name{font-size:clamp(20px,5.7vw,26px)}
  #orbitWrap .timer-text{font-size:clamp(48px,13vw,60px)}
  #orbitWrap .clock-label{font-size:12px;line-height:1.34}
}
@media(max-width:420px){
  /* In narrow rooms, reclaim the unused card padding for the original Orbit art. */
  .room-view.integral-room{padding-inline:8px}
  .integral-room .room-layout{padding-inline:0}
  .integral-room .orbit-panel{padding-inline:8px}
  .integral-room #orbitWrap{
    width:min(100%,calc(100vw - 34px));
    max-width:min(100%,calc(100vw - 34px));
  }
  #orbitWrap .orbit-content{top:18%;height:62%;gap:4px}
  #orbitWrap .clock-label{max-width:min(100%,160px)}
}
@media(max-width:360px){
  /* Reserve a little extra vertical room for a two-line listener status. */
  #orbitWrap .orbit-content{top:17%;height:62%}
  #orbitWrap .timer-text{font-size:48px}
}
/* Accessibility: keep the interior legible, at the expense of longer pages,
   never by shrinking text to 8px or shrinking the complete SVG. */
body.large-text .integral-room #orbitWrap{
  --veytu-orbit-stage:456px;
}
body.large-text #orbitWrap .speaker-name{font-size:clamp(22px,2.4vw,32px)}
body.large-text #orbitWrap .clock-label{font-size:clamp(13px,1.3vw,16px)}
body.large-text #orbitWrap .speaking-eyebrow{font-size:clamp(11px,1.15vw,13px)}
