/* Organized by product feature for straightforward maintenance. */
/* Authentication status, completion signals and standalone media. */

/* Authentication, scanner and status components. */
:root{--v134-splash-logo-height:clamp(70px,11vw,105px)}
.v131-splash-stage{background-color:#000!important}
.v131-splash-video{
  object-fit:contain!important;object-position:center center!important;transform:none!important;
  top:calc(var(--v134-splash-logo-height) * .75)!important;bottom:0!important;
  height:calc(100% - (var(--v134-splash-logo-height) * .75))!important;background:#000!important;
}
@media(prefers-reduced-motion:reduce){
  .v131-splash-stage{background-color:#000!important;background-size:contain!important;background-repeat:no-repeat!important;background-position:center center!important}
}
/* Completed days keep the same three fixed-width symbols. No tick-induced layout shift. */
.coach-day-signals{display:flex!important;justify-content:center!important;align-items:center!important;gap:3px!important;min-height:11px!important;white-space:nowrap!important}
.coach-day-signals>.coach-day-signal{display:block!important;width:8px!important;height:8px!important;min-width:8px!important;border:1px solid currentColor!important;border-radius:50%!important;background:transparent!important;box-sizing:border-box!important;flex:0 0 8px!important;font-size:0!important;line-height:0!important}
.coach-day-signals>.coach-day-signal.is-started{background:linear-gradient(90deg,currentColor 50%,transparent 50%)!important}
.coach-day-signals>.coach-day-signal.is-complete{background:currentColor!important;box-shadow:0 0 6px currentColor!important}
.coach-day.recovery-day{background:rgba(128,164,183,.07)}
.coach-day-signals>.coach-day-signal.signal-rest{
  width:12px!important;min-width:12px!important;flex-basis:12px!important;border-radius:3px!important;
  background:rgba(128,164,183,.32)!important;color:#c8d8e1!important;box-shadow:none!important;
  font-size:7px!important;font-weight:900!important;line-height:7px!important;text-align:center!important;
}
/* The live preview uses cover, then captureScanPhoto crops the exact visible area. */
.scan-camera.barcode-mode{aspect-ratio:4/3!important;width:100%!important}
.scan-camera.nutrition-mode,.scan-camera.product-photo-mode{aspect-ratio:3/4!important;width:min(100%,430px)!important;margin-inline:auto!important}
.scan-camera video{object-fit:cover!important;object-position:center!important}
.scan-camera img{object-fit:contain!important}
.scan-flow-actions{justify-items:center!important}
.scan-flow-actions #scanPrimaryActionBtn.scan-shutter{
  display:grid!important;place-items:center!important;width:70px!important;height:70px!important;min-width:70px!important;max-width:70px!important;
  padding:0!important;border-radius:50%!important;font-size:0!important;background:#f5f7fa!important;
  border:5px solid rgba(255,255,255,.35)!important;outline:2px solid rgba(32,200,255,.7)!important;
  box-shadow:0 0 0 5px rgba(5,9,14,.82),0 0 22px rgba(32,200,255,.45)!important;
}
.scan-flow-actions #scanPrimaryActionBtn.scan-shutter::before{content:"";display:block;width:48px;height:48px;border-radius:50%;background:linear-gradient(145deg,#fefefe,#cfd8df);box-shadow:inset 0 1px 2px rgba(255,255,255,.9),inset 0 -2px 4px rgba(0,0,0,.22)}
.v134-nuts-panel{scroll-margin-top:92px}
/* Socials and Cyborg Nuts are standalone pages, not calendar views. */
body[data-active-tab="social"] .global-command,
body[data-active-tab="nuts"] .global-command,
body[data-active-tab="admin"] .global-command{display:none!important}
body[data-active-tab="social"] #setupWelcomeCard,
body[data-active-tab="nuts"] #setupWelcomeCard,
body[data-active-tab="admin"] #setupWelcomeCard{display:none!important}
.scan-focus-tools{display:flex;justify-content:center;align-items:center;gap:8px;flex-wrap:wrap;margin-top:2px}
.scan-focus-tools.hidden-block{display:none!important}
#scanMacroFocusBtn{min-width:138px}
#scanMacroFocusBtn.active{border-color:var(--accent)!important;color:var(--accent)!important;box-shadow:0 0 14px rgba(32,200,255,.24)!important}
.scan-focus-hint{font-size:11px;color:var(--muted);text-align:center}
.scan-camera.focus-pulse::after{content:"";position:absolute;left:50%;top:50%;width:62px;height:62px;transform:translate(-50%,-50%);border:2px solid var(--accent);border-radius:50%;box-shadow:0 0 18px rgba(32,200,255,.45);animation:v134FocusPulse .65s ease-out forwards;pointer-events:none;z-index:8}
@keyframes v134FocusPulse{0%{opacity:1;scale:.7}100%{opacity:0;scale:1.25}}
.v131-menu-backdrop{z-index:40000!important}.v131-menu-drawer{z-index:40001!important}

/* Splash composition, entry panel and Coach media. */

/*
  The splash logo reference height is normally 70 CSS px on phones.
  The video begins 14 px beneath it:
  70 px + 14 px = 84 px from the top on a typical phone.
*/
.v131-splash-video{
  top:calc(var(--v134-splash-logo-height) + 14px)!important;
  bottom:0!important;
  height:calc(100% - var(--v134-splash-logo-height) - 14px)!important;
  object-fit:contain!important;
  object-position:center center!important;
  transform:none!important;
  background:#000!important;
}

/* 75% transparent panel: the background is 25% opaque; text and border remain clear. */
.v131-enter{
  background:
    linear-gradient(
      180deg,
      rgba(53,69,80,.25) 0%,
      rgba(23,34,42,.25) 44%,
      rgba(7,11,15,.25) 100%
    )!important;
  -webkit-backdrop-filter:blur(10px) saturate(1.12)!important;
  backdrop-filter:blur(10px) saturate(1.12)!important;
  border-color:rgba(205,226,239,.82)!important;
  color:#effcff!important;
}

/* The Coach animation is a 9:16 portrait asset, so its frame now matches it exactly. */
.burt-mascot-wrap{
  width:min(100%,360px)!important;
  max-width:360px!important;
  min-height:0!important;
  height:auto!important;
  margin-inline:auto!important;
  background:#000!important;
}
.cyborg-coach-stage{
  width:100%!important;
  max-width:360px!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  aspect-ratio:9 / 16!important;
  margin-inline:auto!important;
  overflow:hidden!important;
  background:#000!important;
}
.v132-coach-video{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center center!important;
  transform:none!important;
  background:#000!important;
}

@media(max-width:430px){
  .burt-mascot-wrap,
  .cyborg-coach-stage{
    width:min(100%,340px)!important;
    max-width:340px!important;
  }
}

@media(prefers-reduced-motion:reduce){
  .v131-splash-stage{
    background-size:contain!important;
    background-repeat:no-repeat!important;
    background-position:center calc(50% + 42px)!important;
  }
}
