/* Prime Creation // Pill System // single geometry authority
   Visuals remain in prime-command-deck.css and prime-shell-skins.css.
   This file alone owns pill parent/position/outer-size/z-space and publishes page reserve.
   It consumes no PrimeLayout geometry and writes no page geometry. */
:root{
  --prime-pill-system-height:56px;
  --prime-pill-system-gap:6px;
  --prime-pill-system-max-width:76rem;
  --prime-pill-system-z:2147482000;
  --prime-pill-system-safe-bottom:env(safe-area-inset-bottom,0px);
  --prime-pill-system-reserve:calc(var(--prime-pill-system-height) + var(--prime-pill-system-gap) + var(--prime-pill-system-safe-bottom));
}

/* The pill is viewport chrome, never page content. */
body.prime-v2 > #primeCommandDeck.prime-command-deck{
  position:fixed!important;
  left:50%!important;
  right:auto!important;
  top:auto!important;
  bottom:calc(var(--prime-pill-system-gap) + var(--prime-pill-system-safe-bottom))!important;
  translate:none!important;
  transform:translate3d(-50%,0,0)!important;
  z-index:var(--prime-pill-system-z)!important;
  width:min(var(--prime-pill-system-max-width),calc(100vw - 12px))!important;
  width:min(var(--prime-pill-system-max-width),calc(100dvw - 12px))!important;
  max-width:calc(100vw - 12px)!important;
  max-width:calc(100dvw - 12px)!important;
  height:var(--prime-pill-system-height)!important;
  min-height:var(--prime-pill-system-height)!important;
  max-height:var(--prime-pill-system-height)!important;
  margin:0!important;
  display:flex!important;
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
  content-visibility:visible!important;
  contain:none!important;
  clip-path:none!important;
  filter:none!important;
  perspective:none!important;
  isolation:isolate!important;
  transform-style:flat!important;
  will-change:auto!important;
}

/* iOS WebKit browser-chrome guard. */
@supports (-webkit-touch-callout:none){
  @media (hover:none) and (pointer:coarse){
    body.prime-v2 > #primeCommandDeck.prime-command-deck{
      position:absolute!important;
    }
  }
}

/* Pre-init geometry follows the real startup state. */
body.prime-v2 > #primeCommandDeck.prime-command-deck[data-command-deck-state="initializer"]{
  width:min(15rem,calc(100vw - 16px))!important;
  width:min(15rem,calc(100dvw - 16px))!important;
  max-width:calc(100vw - 16px)!important;
  max-width:calc(100dvw - 16px)!important;
  justify-content:center!important;
}

body.prime-v2 > #primeCommandDeck.prime-command-deck .prime-command-tools-panel{
  position:absolute!important;
  left:0!important;
  right:auto!important;
  top:auto!important;
  bottom:calc(100% + 8px)!important;
  max-height:min(72dvh,38rem)!important;
  overflow:auto!important;
}

/* Retired contained copies can never become visible. */
body.prime-v2 #main[data-app-shell] > #primeCommandDeck,
body.prime-v2 #main[data-app-shell] > .prime-command-deck[data-command-deck]{display:none!important}

@media(max-width:680px){
  :root{--prime-pill-system-height:56px;--prime-pill-system-gap:5px}
  body.prime-v2 > #primeCommandDeck.prime-command-deck{
    width:calc(100vw - 10px)!important;
    width:calc(100dvw - 10px)!important;
    max-width:calc(100vw - 10px)!important;
    max-width:calc(100dvw - 10px)!important;
  }
  body.prime-v2 > #primeCommandDeck.prime-command-deck[data-command-deck-state="initializer"]{
    width:min(15rem,calc(100vw - 14px))!important;
    width:min(15rem,calc(100dvw - 14px))!important;
  }
}

@media(orientation:landscape) and (max-height:520px){
  /* 44px controls plus the existing 5px padding and 1px border on each side. */
  :root{--prime-pill-system-height:56px;--prime-pill-system-gap:4px}
  body.prime-v2 > #primeCommandDeck.prime-command-deck{
    --prime-pill-landscape-edge:max(6px,env(safe-area-inset-left,0px),env(safe-area-inset-right,0px));
    width:min(var(--prime-pill-system-max-width),calc(100vw - 2 * var(--prime-pill-landscape-edge)))!important;
    width:min(var(--prime-pill-system-max-width),calc(100dvw - 2 * var(--prime-pill-landscape-edge)))!important;
    max-width:calc(100vw - 2 * var(--prime-pill-landscape-edge))!important;
    max-width:calc(100dvw - 2 * var(--prime-pill-landscape-edge))!important;
  }
  body.prime-v2 > #primeCommandDeck.prime-command-deck[data-command-deck-state="initializer"]{
    width:min(15rem,calc(100vw - 2 * var(--prime-pill-landscape-edge)))!important;
    width:min(15rem,calc(100dvw - 2 * var(--prime-pill-landscape-edge)))!important;
  }
  body.prime-v2 > #primeCommandDeck.prime-command-deck .prime-command-tools-panel{
    max-width:100%!important;
    max-height:calc(100vh - var(--prime-pill-system-reserve) - env(safe-area-inset-top,0px) - 16px)!important;
    max-height:calc(100dvh - var(--prime-pill-system-reserve) - env(safe-area-inset-top,0px) - 16px)!important;
    overscroll-behavior:contain;
  }
}

/* RECEPTOR initializer beacon
   Uses the initializer's existing mechanical children so the reference can be matched
   without adding another DOM owner. It exists only while the initializer is ready. */
body.prime-v2 > #primeCommandDeck.prime-command-deck[data-command-deck-state="initializer"] > .prime-deck-initialize::before,
body.prime-v2 > #primeCommandDeck.prime-command-deck[data-command-deck-state="initializer"] > .prime-deck-initialize::after{
  content:none!important;
  display:none!important;
}

body.prime-v2 > #primeCommandDeck.prime-command-deck[data-command-deck-state="initializer"] > .prime-deck-initialize[data-prime-init-state="ready"] > .prime-init-mech{
  position:absolute!important;
  z-index:8!important;
  left:50%!important;
  right:auto!important;
  top:auto!important;
  bottom:calc(100% + 3px)!important;
  width:112px!important;
  height:132px!important;
  margin:0!important;
  opacity:1!important;
  overflow:visible!important;
  pointer-events:none!important;
  transform:translate3d(-50%,0,0)!important;
  transform-origin:50% 100%!important;
  filter:none!important;
  animation:primeInitializerBeaconBob 1.38s cubic-bezier(.45,.04,.55,.96) infinite!important;
}

body.prime-v2 > #primeCommandDeck.prime-command-deck[data-command-deck-state="initializer"] > .prime-deck-initialize[data-prime-init-state="ready"] > .prime-init-mech > *{
  position:absolute!important;
  box-sizing:border-box!important;
  pointer-events:none!important;
}

/* Long luminous energy shaft. */
body.prime-v2 > #primeCommandDeck.prime-command-deck[data-command-deck-state="initializer"] > .prime-deck-initialize[data-prime-init-state="ready"] .prime-init-core{
  display:block!important;
  left:50%!important;
  top:5px!important;
  width:18px!important;
  height:91px!important;
  translate:-50% 0!important;
  border:0!important;
  border-radius:999px 999px 35% 35%!important;
  opacity:1!important;
  background:
    linear-gradient(90deg,transparent 0 16%,rgba(71,174,255,.08) 20%,rgba(106,221,255,.52) 35%,rgba(255,255,255,1) 49%,rgba(219,252,255,.96) 53%,rgba(78,202,255,.48) 68%,transparent 84% 100%),
    linear-gradient(180deg,rgba(54,145,255,0) 0%,rgba(91,199,255,.34) 20%,rgba(200,249,255,.96) 56%,rgba(255,255,255,1) 78%,rgba(101,224,255,.38) 100%)!important;
  box-shadow:
    0 0 5px rgba(255,255,255,.95),
    0 0 12px rgba(109,226,255,.92),
    0 0 28px rgba(48,147,255,.72),
    0 0 46px rgba(69,107,255,.32)!important;
  clip-path:polygon(43% 0,57% 0,61% 78%,50% 100%,39% 78%)!important;
  transform:none!important;
  animation:primeInitializerBeaconEnergy 1.38s ease-in-out infinite!important;
}

/* Fine vertical tracer lines flanking the core. */
body.prime-v2 > #primeCommandDeck.prime-command-deck[data-command-deck-state="initializer"] > .prime-deck-initialize[data-prime-init-state="ready"] .prime-init-piston-l,
body.prime-v2 > #primeCommandDeck.prime-command-deck[data-command-deck-state="initializer"] > .prime-deck-initialize[data-prime-init-state="ready"] .prime-init-piston-r{
  display:block!important;
  top:15px!important;
  width:2px!important;
  height:68px!important;
  margin:0!important;
  border:0!important;
  border-radius:999px!important;
  opacity:.82!important;
  background:linear-gradient(180deg,transparent,rgba(95,201,255,.68) 24%,rgba(228,253,255,.96) 68%,transparent)!important;
  box-shadow:0 0 5px rgba(92,208,255,.8),0 0 13px rgba(68,135,255,.46)!important;
  animation:primeInitializerBeaconTracer 1.38s ease-in-out infinite!important;
}
body.prime-v2 > #primeCommandDeck.prime-command-deck[data-command-deck-state="initializer"] > .prime-deck-initialize[data-prime-init-state="ready"] .prime-init-piston-l{left:42px!important;transform:rotate(-1deg)!important}
body.prime-v2 > #primeCommandDeck.prime-command-deck[data-command-deck-state="initializer"] > .prime-deck-initialize[data-prime-init-state="ready"] .prime-init-piston-r{right:42px!important;transform:rotate(1deg)!important;animation-delay:-.34s!important}
body.prime-v2 > #primeCommandDeck.prime-command-deck[data-command-deck-state="initializer"] > .prime-deck-initialize[data-prime-init-state="ready"] .prime-init-piston-l::after,
body.prime-v2 > #primeCommandDeck.prime-command-deck[data-command-deck-state="initializer"] > .prime-deck-initialize[data-prime-init-state="ready"] .prime-init-piston-r::after{
  content:""!important;
  position:absolute!important;
  left:50%!important;
  top:8px!important;
  width:1px!important;
  height:44px!important;
  translate:-50% 0!important;
  background:linear-gradient(180deg,transparent,rgba(255,255,255,.92),transparent)!important;
  box-shadow:0 0 4px rgba(112,226,255,.84)!important;
}

/* Two holographic orbit rings around the beam. */
body.prime-v2 > #primeCommandDeck.prime-command-deck[data-command-deck-state="initializer"] > .prime-deck-initialize[data-prime-init-state="ready"] .prime-init-ring{
  display:block!important;
  left:50%!important;
  top:68px!important;
  width:82px!important;
  height:22px!important;
  margin:0!important;
  translate:-50% -50%!important;
  border:1px solid rgba(169,239,255,.76)!important;
  border-radius:50%!important;
  clip-path:none!important;
  background:radial-gradient(ellipse at center,rgba(94,211,255,.08) 0 30%,transparent 64%)!important;
  box-shadow:0 0 6px rgba(104,221,255,.42),inset 0 0 6px rgba(140,231,255,.22)!important;
  opacity:.86!important;
  filter:drop-shadow(0 0 3px rgba(91,206,255,.6))!important;
  transform:none!important;
  animation:primeInitializerBeaconOrbit 2.7s linear infinite!important;
}
body.prime-v2 > #primeCommandDeck.prime-command-deck[data-command-deck-state="initializer"] > .prime-deck-initialize[data-prime-init-state="ready"] .prime-init-ring-b{
  top:73px!important;
  width:58px!important;
  height:14px!important;
  border-style:solid!important;
  border-color:rgba(122,215,255,.66)!important;
  opacity:.64!important;
  animation-duration:2.1s!important;
  animation-direction:reverse!important;
}

/* Crystal double-chevron arrowhead from the reference. */
body.prime-v2 > #primeCommandDeck.prime-command-deck[data-command-deck-state="initializer"] > .prime-deck-initialize[data-prime-init-state="ready"] .prime-init-shutter{
  display:block!important;
  left:50%!important;
  top:79px!important;
  width:58px!important;
  height:50px!important;
  translate:-50% 0!important;
  overflow:visible!important;
  border:0!important;
  border-radius:0!important;
  opacity:1!important;
  background:
    linear-gradient(135deg,transparent 0 40%,rgba(203,248,255,.98) 41% 45%,rgba(91,198,255,.72) 46% 50%,transparent 51%) left top/50% 100% no-repeat,
    linear-gradient(225deg,transparent 0 40%,rgba(203,248,255,.98) 41% 45%,rgba(91,198,255,.72) 46% 50%,transparent 51%) right top/50% 100% no-repeat!important;
  filter:
    drop-shadow(0 0 2px rgba(255,255,255,1))
    drop-shadow(0 0 7px rgba(105,229,255,.95))
    drop-shadow(0 0 16px rgba(54,145,255,.75))!important;
  box-shadow:none!important;
  transform:rotate(180deg)!important;
  transform-origin:50% 50%!important;
  animation:primeInitializerBeaconArrowGlow 1.38s ease-in-out infinite!important;
}
body.prime-v2 > #primeCommandDeck.prime-command-deck[data-command-deck-state="initializer"] > .prime-deck-initialize[data-prime-init-state="ready"] .prime-init-shutter::before,
body.prime-v2 > #primeCommandDeck.prime-command-deck[data-command-deck-state="initializer"] > .prime-deck-initialize[data-prime-init-state="ready"] .prime-init-shutter::after{
  content:""!important;
  position:absolute!important;
  left:50%!important;
  width:42px!important;
  height:27px!important;
  translate:-50% 0!important;
  border:0!important;
  opacity:1!important;
  background:
    linear-gradient(135deg,transparent 0 43%,rgba(255,255,255,.98) 44% 48%,rgba(97,216,255,.78) 49% 53%,transparent 54%) left top/50% 100% no-repeat,
    linear-gradient(225deg,transparent 0 43%,rgba(255,255,255,.98) 44% 48%,rgba(97,216,255,.78) 49% 53%,transparent 54%) right top/50% 100% no-repeat!important;
  filter:drop-shadow(0 0 4px rgba(106,226,255,.92))!important;
  transform:none!important;
}
body.prime-v2 > #primeCommandDeck.prime-command-deck[data-command-deck-state="initializer"] > .prime-deck-initialize[data-prime-init-state="ready"] .prime-init-shutter::before{top:-1px!important}
body.prime-v2 > #primeCommandDeck.prime-command-deck[data-command-deck-state="initializer"] > .prime-deck-initialize[data-prime-init-state="ready"] .prime-init-shutter::after{top:10px!important;width:30px!important;height:22px!important;opacity:.82!important}

@keyframes primeInitializerBeaconBob{
  0%,100%{transform:translate3d(-50%,-8px,0)}
  50%{transform:translate3d(-50%,4px,0)}
}
@keyframes primeInitializerBeaconEnergy{
  0%,100%{opacity:.66;filter:brightness(.86)}
  50%{opacity:1;filter:brightness(1.35)}
}
@keyframes primeInitializerBeaconTracer{
  0%,100%{opacity:.28;scale:1 .82}
  50%{opacity:.92;scale:1 1.08}
}
@keyframes primeInitializerBeaconOrbit{
  0%{transform:rotateZ(0deg) scaleX(.88);opacity:.42}
  50%{transform:rotateZ(180deg) scaleX(1.06);opacity:.92}
  100%{transform:rotateZ(360deg) scaleX(.88);opacity:.42}
}
@keyframes primeInitializerBeaconArrowGlow{
  0%,100%{opacity:.76;filter:drop-shadow(0 0 2px rgba(255,255,255,.9)) drop-shadow(0 0 6px rgba(105,229,255,.7)) drop-shadow(0 0 12px rgba(54,145,255,.48))}
  50%{opacity:1;filter:drop-shadow(0 0 3px rgba(255,255,255,1)) drop-shadow(0 0 10px rgba(105,229,255,1)) drop-shadow(0 0 21px rgba(54,145,255,.9))}
}

@media(max-width:680px){
  body.prime-v2 > #primeCommandDeck.prime-command-deck[data-command-deck-state="initializer"] > .prime-deck-initialize[data-prime-init-state="ready"] > .prime-init-mech{
    width:104px!important;
    height:126px!important;
  }
}

@media(prefers-reduced-motion:reduce){
  body.prime-v2 > #primeCommandDeck.prime-command-deck[data-command-deck-state="initializer"] > .prime-deck-initialize[data-prime-init-state="ready"] > .prime-init-mech,
  body.prime-v2 > #primeCommandDeck.prime-command-deck[data-command-deck-state="initializer"] > .prime-deck-initialize[data-prime-init-state="ready"] > .prime-init-mech *{
    animation:none!important;
  }
  body.prime-v2 > #primeCommandDeck.prime-command-deck[data-command-deck-state="initializer"] > .prime-deck-initialize[data-prime-init-state="ready"] > .prime-init-mech{
    transform:translate3d(-50%,-2px,0)!important;
  }
}