/* V93 — authentic, lightweight Windows 11 boot → lock → sign-in sequence. */
.sr-only-v93 {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.windows-startup-v93 {
  position: fixed;
  inset: 0;
  z-index: 2147483647;
  width: 100vw;
  height: 100vh;
  height: 100dvh;
  overflow: hidden;
  color: #fff;
  background: #000;
  font-family: "Segoe UI Variable", "Segoe UI", system-ui, -apple-system, sans-serif;
  opacity: 1;
  visibility: visible;
  isolation: isolate;
  transition: opacity .58s cubic-bezier(.2,.8,.2,1), visibility .58s linear;
  touch-action: manipulation;
  user-select: none;
  -webkit-user-select: none;
}

.windows-startup-v93.is-complete {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.windows-startup-v93__stage {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: scale(1.015);
  transition:
    opacity .58s cubic-bezier(.2,.8,.2,1),
    transform .75s cubic-bezier(.2,.8,.2,1),
    visibility .58s linear;
}

.windows-startup-v93[data-stage="boot"] .windows-startup-v93__boot,
.windows-startup-v93[data-stage="lock"] .windows-startup-v93__lock,
.windows-startup-v93[data-stage="signin"] .windows-startup-v93__signin,
.windows-startup-v93[data-stage="welcome"] .windows-startup-v93__signin {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: scale(1);
}

.windows-startup-v93__boot {
  background: #000;
  cursor: progress;
}

.windows-startup-v93__boot-logo {
  position: absolute;
  top: clamp(110px, 17vh, 190px);
  left: 50%;
  width: clamp(116px, 13vw, 174px);
  height: auto;
  display: block;
  object-fit: contain;
  filter: none;
  transform: translateX(-50%);
}

.windows-startup-v93__boot-spinner {
  position: absolute;
  top: 69%;
  left: 50%;
  width: 47px;
  height: 47px;
  margin: 0;
  transform: translate(-50%, -50%);
  overflow: visible;
  filter: drop-shadow(0 0 3px rgba(255,255,255,.18));
}

.windows-startup-v93__boot-spinner circle {
  fill: none;
  stroke: #fff;
  stroke-width: 3.2;
  stroke-linecap: round;
  stroke-dasharray: 2 118;
  transform-origin: 24px 24px;
  animation: windowsV93Progress 1.65s cubic-bezier(.3,.65,.7,.35) infinite;
}

.windows-startup-v93__lock,
.windows-startup-v93__signin {
  background-image:
    linear-gradient(180deg, rgba(4,16,56,.03), rgba(1,8,41,.10)),
    url('/windows-startup-v93/lock.jpg');
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

.windows-startup-v93__lock {
  cursor: pointer;
  outline: none;
}

.windows-startup-v93__lock::after,
.windows-startup-v93__signin::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(180deg, rgba(0,0,0,.04), transparent 38%, rgba(0,0,0,.16)),
    radial-gradient(circle at 50% 28%, rgba(255,255,255,.04), transparent 38%);
}

.windows-startup-v93__lock-time {
  position: absolute;
  z-index: 1;
  top: clamp(95px, 17vh, 210px);
  left: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  transform: translateX(-50%);
  text-shadow: 0 2px 18px rgba(1,10,50,.44);
  animation: windowsV93Rise .72s cubic-bezier(.2,.8,.2,1) both;
}

#windows-startup-v93-time {
  font-size: clamp(64px, 7.3vw, 106px);
  font-weight: 500;
  line-height: .98;
  letter-spacing: -.045em;
  white-space: nowrap;
}

#windows-startup-v93-date {
  margin-top: 12px;
  font-size: clamp(17px, 1.75vw, 25px);
  font-weight: 500;
  letter-spacing: -.01em;
  white-space: nowrap;
}

.windows-startup-v93__lock-hint {
  position: absolute;
  z-index: 1;
  left: 50%;
  bottom: max(54px, calc(env(safe-area-inset-bottom) + 34px));
  display: flex;
  align-items: center;
  gap: 8px;
  color: rgba(255,255,255,.82);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: .04em;
  transform: translateX(-50%);
  text-shadow: 0 2px 12px rgba(0,8,38,.7);
  animation: windowsV93Hint 2.2s ease-in-out infinite;
}

.windows-startup-v93__lock-hint svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.windows-startup-v93__signin {
  background-image:
    linear-gradient(180deg, rgba(0,29,126,.12), rgba(0,18,80,.20)),
    url('/windows-startup-v93/lock.jpg');
}

.windows-startup-v93__signin::before {
  content: "";
  position: absolute;
  inset: -20px;
  background: inherit;
  background-position: center;
  background-size: cover;
  filter: blur(18px) saturate(.93) brightness(.88);
  transform: scale(1.04);
}

.windows-startup-v93__signin-card {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: min(92vw, 420px);
  text-align: center;
  transform: translateY(-3vh);
  animation: windowsV93SigninIn .58s cubic-bezier(.2,.8,.2,1) both;
}

.windows-startup-v93__profile {
  width: clamp(132px, 14vw, 196px);
  aspect-ratio: 1;
  object-fit: cover;
  object-position: center 18%;
  border: 2px solid rgba(255,255,255,.48);
  border-radius: 50%;
  background: rgba(234,247,255,.92);
  box-shadow:
    0 22px 55px rgba(0,12,77,.30),
    0 0 0 8px rgba(255,255,255,.07);
}

.windows-startup-v93__signin-card h1 {
  margin: 18px 0 0;
  color: #fff;
  font-size: clamp(23px, 2.25vw, 32px);
  font-weight: 500;
  line-height: 1.15;
  letter-spacing: -.02em;
  text-shadow: 0 2px 18px rgba(0,14,73,.58);
}

.windows-startup-v93__signin-button {
  min-width: 136px;
  margin-top: 25px;
  padding: 10px 28px 11px;
  color: #fff;
  background: rgba(255,255,255,.16);
  border: 1px solid rgba(255,255,255,.24);
  border-radius: 5px;
  font: inherit;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  box-shadow: inset 0 1px rgba(255,255,255,.12), 0 8px 25px rgba(0,20,105,.18);
  -webkit-backdrop-filter: blur(14px);
          backdrop-filter: blur(14px);
  transition: background .18s ease, border-color .18s ease, transform .18s ease, opacity .2s ease;
}

.windows-startup-v93__signin-button:hover,
.windows-startup-v93__signin-button:focus-visible {
  background: rgba(255,255,255,.25);
  border-color: rgba(255,255,255,.50);
  outline: 2px solid rgba(255,255,255,.88);
  outline-offset: 3px;
}

.windows-startup-v93__signin-button:active { transform: scale(.97); }

.windows-startup-v93__welcome {
  display: none;
  align-items: center;
  gap: 12px;
  margin-top: 25px;
  color: #fff;
  font-size: 15px;
  font-weight: 500;
  text-shadow: 0 2px 15px rgba(0,15,74,.62);
}

.windows-startup-v93[data-stage="welcome"] .windows-startup-v93__signin-button {
  display: none;
}
.windows-startup-v93[data-stage="welcome"] .windows-startup-v93__welcome {
  display: flex;
}
.windows-startup-v93[data-stage="welcome"] .windows-startup-v93__welcome[aria-hidden="true"] {
  display: flex;
}

.windows-startup-v93__welcome-spinner {
  width: 25px;
  height: 25px;
  border: 2px solid rgba(255,255,255,.26);
  border-top-color: #fff;
  border-radius: 50%;
  animation: windowsV93SimpleSpin .75s linear infinite;
}

.windows-startup-v93__system-icons {
  position: absolute;
  z-index: 3;
  right: max(24px, calc(env(safe-area-inset-right) + 18px));
  bottom: max(24px, calc(env(safe-area-inset-bottom) + 18px));
  display: flex;
  align-items: center;
  gap: 14px;
  color: #fff;
  filter: drop-shadow(0 1px 5px rgba(0,14,68,.62));
}

.windows-startup-v93__system-icons svg {
  width: 22px;
  height: 22px;
  overflow: visible;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.windows-startup-v93__system-icons svg:last-child { width: 29px; }
.windows-startup-v93__battery-fill { fill: currentColor; stroke: none; }

/* The original React loader remains mounted only for application state. */
.loading-screen {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

@keyframes windowsV93Progress {
  0% { stroke-dasharray: 2 118; transform: rotate(0deg); }
  50% { stroke-dasharray: 58 62; transform: rotate(450deg); }
  100% { stroke-dasharray: 2 118; transform: rotate(1080deg); }
}
@keyframes windowsV93SimpleSpin { to { transform: rotate(360deg); } }
@keyframes windowsV93Rise {
  from { opacity: 0; transform: translate(-50%, 28px); }
  to { opacity: 1; transform: translate(-50%, 0); }
}
@keyframes windowsV93SigninIn {
  from { opacity: 0; transform: translateY(26px) scale(.985); }
  to { opacity: 1; transform: translateY(-3vh) scale(1); }
}
@keyframes windowsV93Hint {
  0%, 100% { opacity: .55; transform: translate(-50%, 3px); }
  50% { opacity: .96; transform: translate(-50%, -3px); }
}

@media (max-width: 700px) {
  .windows-startup-v93__boot-logo {
    top: 15vh;
    width: 112px;
  }
  .windows-startup-v93__boot-spinner {
    top: 70%;
    width: 40px;
    height: 40px;
  }
  .windows-startup-v93__lock-time { top: 16vh; }
  #windows-startup-v93-time { font-size: clamp(56px, 17vw, 82px); }
  #windows-startup-v93-date { font-size: 18px; }
  .windows-startup-v93__profile { width: min(42vw, 170px); }
  .windows-startup-v93__signin-card { transform: translateY(-2vh); }
  .windows-startup-v93__lock-hint span { display: none; }
}

@media (max-height: 560px) and (orientation: landscape) {
  .windows-startup-v93__boot-logo { top: 12vh; width: 92px; }
  .windows-startup-v93__boot-spinner { top: 72%; width: 34px; height: 34px; }
  .windows-startup-v93__lock-time { top: 11vh; }
  #windows-startup-v93-time { font-size: 54px; }
  #windows-startup-v93-date { margin-top: 6px; font-size: 15px; }
  .windows-startup-v93__profile { width: 106px; }
  .windows-startup-v93__signin-card h1 { margin-top: 10px; font-size: 22px; }
  .windows-startup-v93__signin-button,
  .windows-startup-v93__welcome { margin-top: 15px; }
}

@media (prefers-reduced-motion: reduce) {
  .windows-startup-v93,
  .windows-startup-v93__stage,
  .windows-startup-v93__signin-button { transition-duration: .01ms !important; }
  .windows-startup-v93__lock-time,
  .windows-startup-v93__signin-card,
  .windows-startup-v93__lock-hint { animation: none !important; }
  .windows-startup-v93__boot-spinner circle { animation-duration: 2.2s; }
}
