/* Public bootstrap only. React replaces this surface; no session data is cached. */
html:has(.jarvis-boot), body:has(.jarvis-boot) {
  margin: 0;
  background: #061115;
  color: #e0f2ef;
}

.jarvis-boot {
  position: relative;
  display: grid;
  min-height: 100vh;
  min-height: 100dvh;
  place-items: center;
  isolation: isolate;
  overflow: hidden;
  box-sizing: border-box;
  padding: max(32px, env(safe-area-inset-top)) max(24px, env(safe-area-inset-right)) max(32px, env(safe-area-inset-bottom)) max(24px, env(safe-area-inset-left));
  background: radial-gradient(ellipse at 50% 47%, #10302f 0, #081b20 36%, #061115 72%);
  font-family: Inter, "Segoe UI Variable", "SF Pro Display", "Helvetica Neue", Arial, sans-serif;
  text-align: center;
}

.jarvis-boot__ambient {
  position: absolute;
  z-index: -1;
  inset: 0;
  opacity: .3;
  background-image: radial-gradient(circle, #b1f5e2 1px, transparent 2px), radial-gradient(circle, #79bdb5 1px, transparent 2px), radial-gradient(circle, #b1f5e2 .5px, transparent 1.5px);
  background-position: 29px 19px, 77px 63px, 11px 91px;
  background-size: 173px 151px, 211px 193px, 257px 229px;
  mask-image: radial-gradient(ellipse, transparent 15%, #000 75%);
}

.jarvis-boot__identity { max-width: 360px; }
.jarvis-boot__orb { display: block; margin: 0 auto 24px; filter: drop-shadow(0 0 22px #93d8cf24); animation: jarvis-boot-breathe 2.8s ease-in-out infinite; }
.jarvis-boot__name { margin: 0; color: #dff9f2; font-size: 19px; font-weight: 600; letter-spacing: .28em; text-indent: .28em; }
.jarvis-boot__status { margin: 14px 0 0; color: #9bb9b9; font-size: 14px; line-height: 1.6; }
.jarvis-boot__identity:has(noscript .jarvis-boot__notice) .jarvis-boot__status { display: none; }
.jarvis-boot__notice { margin-top: 28px; }
.jarvis-boot__notice h1 { font-size: 22px; font-weight: 500; }
.jarvis-boot__notice p { color: #9bb9b9; font-size: 15px; line-height: 1.65; }
.jarvis-boot__notice a { display: inline-flex; min-height: 44px; align-items: center; padding: 0 20px; margin-top: 10px; border: 1px solid #42615e; border-radius: 999px; color: #b1f5e2; text-decoration: none; }
.jarvis-boot__notice a:focus-visible { outline: 2px solid #b1f5e2; outline-offset: 4px; }

@keyframes jarvis-boot-breathe { 50% { opacity: .66; transform: scale(.97); } }
@media (prefers-reduced-motion: reduce) { .jarvis-boot__orb { animation: none; } }
