/* ROOM NO. 512 ENTRANCE SPLASH V5 — SEAL-TO-DOOR MASTER
   Locked choreography: 2900ms cold entrance, exact seal asset, reduced-motion fallback. */
:root{
  --entrance-v5-black:#050403;
  --entrance-v5-gold:#c9a227;
  --entrance-v5-gold-bright:#e2b34f;
  --entrance-v5-ivory:#fff4d6;
}
.entrance-splash-v5[hidden]{display:none!important}
.entrance-splash-v5{
  position:fixed;z-index:4000;inset:0;overflow:hidden;isolation:isolate;
  display:grid;place-items:center;pointer-events:auto;
  background:transparent;
  color:var(--entrance-v5-ivory);
}
.entrance-splash-v5::before{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:1;
  background:radial-gradient(circle at 50% 43%,rgba(209,163,57,.09),transparent 30%),radial-gradient(circle at 50% 100%,rgba(156,108,24,.055),transparent 48%),#030302;
  transition:opacity 260ms ease-out;
}
.entrance-splash-v5-stage{
  position:relative;z-index:2;width:min(62vw,420px);aspect-ratio:1/1;
  transform:translateZ(0);filter:drop-shadow(0 24px 54px rgba(0,0,0,.38));
}
.entrance-splash-v5-seal{
  position:absolute;z-index:2;inset:0;display:block;width:100%;height:100%;object-fit:contain;
  opacity:0;transform:scale(.975);transform-origin:center;
  animation:entrance-v5-seal-in 340ms cubic-bezier(.16,1,.3,1) 80ms forwards;
  will-change:transform,opacity,filter;
}
.entrance-splash-v5-halo{
  position:absolute;z-index:1;inset:5%;border-radius:50%;opacity:0;
  background:radial-gradient(circle,rgba(226,179,79,.18),rgba(226,179,79,.055) 48%,transparent 72%);
  filter:blur(18px);animation:entrance-v5-halo-in 420ms ease-out 80ms forwards;
}
.entrance-splash-v5-star{
  position:absolute;z-index:4;width:10.5%;aspect-ratio:1/1;border-radius:50%;
  transform:translate(-50%,-50%) scale(.35);opacity:0;pointer-events:none;mix-blend-mode:screen;
  background:radial-gradient(circle,
    rgba(255,251,230,.98) 0 5%,
    rgba(255,232,155,.93) 7%,
    rgba(226,179,79,.58) 22%,
    rgba(201,162,39,.19) 44%,
    transparent 70%);
  filter:blur(.3px);
  animation:entrance-v5-star-pulse 1800ms ease-in-out var(--star-delay) infinite;
}
.entrance-splash-v5-star::before,.entrance-splash-v5-star::after{
  content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  border-radius:999px;background:linear-gradient(90deg,transparent,rgba(255,247,213,.92),transparent);
}
.entrance-splash-v5-star::before{width:84%;height:1px}
.entrance-splash-v5-star::after{width:1px;height:84%;background:linear-gradient(180deg,transparent,rgba(255,247,213,.9),transparent)}
.entrance-splash-v5-star.s1{left:20.4%;top:38.5%;--star-delay:420ms}
.entrance-splash-v5-star.s2{left:26.4%;top:31.5%;--star-delay:540ms}
.entrance-splash-v5-star.s3{left:33.6%;top:40.5%;--star-delay:660ms}
.entrance-splash-v5-star.s4{left:35.4%;top:24.2%;--star-delay:780ms}
.entrance-splash-v5-star.s5{left:41.3%;top:33.6%;--star-delay:900ms}
.entrance-splash-v5-star.s6{left:45.2%;top:19.2%;--star-delay:1020ms}
.entrance-splash-v5-star.s7{left:49.2%;top:27.8%;--star-delay:1140ms}
.entrance-splash-v5-moon{
  position:absolute;z-index:3;left:66%;top:28.5%;width:24%;aspect-ratio:1/1;
  transform:translate(-50%,-50%) scale(.82);border-radius:50%;opacity:0;pointer-events:none;
  background:radial-gradient(circle,
    rgba(255,247,205,.38) 0 17%,
    rgba(226,179,79,.22) 32%,
    rgba(201,162,39,.08) 52%,
    transparent 72%);
  filter:blur(5px);mix-blend-mode:screen;
  animation:entrance-v5-moon-receive 220ms cubic-bezier(.16,1,.3,1) 1260ms forwards;
}
.entrance-splash-v5-rim{
  position:absolute;z-index:5;inset:1.8%;border-radius:50%;opacity:0;pointer-events:none;
  background:conic-gradient(from 212deg,
    transparent 0 12deg,
    rgba(255,242,196,.95) 18deg,
    rgba(226,179,79,.5) 25deg,
    transparent 34deg 360deg);
  -webkit-mask:radial-gradient(circle,transparent 0 46%,#000 47.5% 50.5%,transparent 52%);
  mask:radial-gradient(circle,transparent 0 46%,#000 47.5% 50.5%,transparent 52%);
  animation:entrance-v5-rim-sweep 160ms ease-out 1480ms forwards;
}
.entrance-splash-v5-particles{
  position:absolute;z-index:3;inset:0;width:100%;height:100%;pointer-events:none;mix-blend-mode:screen;
}
.entrance-splash-v5-status{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}

.house-entry-login .v5-access{
  transition:opacity 280ms cubic-bezier(.16,1,.3,1),transform 280ms cubic-bezier(.16,1,.3,1)!important;
}
html[data-entrance-splash="running"] .house-entry-login .v5-access,
html[data-entrance-splash="landed"] .house-entry-login .v5-access{
  opacity:0!important;pointer-events:none!important;
  transform:translateX(-50%) translateY(10px) scale(.99)!important;
}
html[data-entrance-splash="present"] .house-entry-login .v5-access,
html[data-entrance-splash="complete"] .house-entry-login .v5-access{
  opacity:1!important;pointer-events:auto!important;
  transform:translateX(-50%) translateY(0) scale(1)!important;
}
.entrance-v3-door-plaque{
  position:absolute;z-index:4;display:block;object-fit:contain;pointer-events:none;
  opacity:1;transform-origin:center;
  filter:drop-shadow(0 4px 16px rgba(0,0,0,.34));
  will-change:opacity,filter,transform;
}
html[data-entrance-splash="running"] .entrance-v3-door-plaque{opacity:0}
html[data-entrance-splash="landed"] .entrance-v3-door-plaque,
html[data-entrance-splash="present"] .entrance-v3-door-plaque,
html[data-entrance-splash="complete"] .entrance-v3-door-plaque{
  opacity:1;
}
html[data-entrance-splash="landed"] .entrance-v3-door-plaque{
  animation:entrance-v5-door-resonance 180ms cubic-bezier(.16,1,.3,1) both;
}

@keyframes entrance-v5-seal-in{
  from{opacity:0;transform:scale(.975)}
  to{opacity:1;transform:scale(1)}
}
@keyframes entrance-v5-halo-in{
  from{opacity:0;transform:scale(.9)}
  to{opacity:1;transform:scale(1)}
}
@keyframes entrance-v5-star-pulse{
  0%{opacity:0;transform:translate(-50%,-50%) scale(.35);filter:blur(.7px)}
  12%{opacity:1;transform:translate(-50%,-50%) scale(1.08);filter:blur(0)}
  24%{opacity:.38;transform:translate(-50%,-50%) scale(.68)}
  40%,100%{opacity:0;transform:translate(-50%,-50%) scale(.35);filter:blur(.7px)}
}
@keyframes entrance-v5-moon-receive{
  0%{opacity:0;transform:translate(-50%,-50%) scale(.82)}
  58%{opacity:.9;transform:translate(-50%,-50%) scale(1.08)}
  100%{opacity:.62;transform:translate(-50%,-50%) scale(1)}
}
@keyframes entrance-v5-rim-sweep{
  0%{opacity:0;transform:rotate(-8deg)}
  40%{opacity:1}
  100%{opacity:0;transform:rotate(22deg)}
}
@keyframes entrance-v5-door-resonance{
  0%{filter:drop-shadow(0 4px 16px rgba(0,0,0,.34)) drop-shadow(0 0 0 rgba(226,179,79,0))}
  46%{filter:drop-shadow(0 5px 18px rgba(0,0,0,.34)) drop-shadow(0 0 18px rgba(226,179,79,.42))}
  100%{filter:drop-shadow(0 4px 16px rgba(0,0,0,.34)) drop-shadow(0 0 6px rgba(226,179,79,.12))}
}
@keyframes entrance-v5-panel-present{
  from{opacity:0;transform:translateX(-50%) translateY(10px) scale(.99)}
  to{opacity:1;transform:translateX(-50%) translateY(0) scale(1)}
}

@media(max-width:600px){
  .entrance-splash-v5-stage{width:min(72vw,310px)}
}
@media(min-width:601px) and (max-width:1180px){
  .entrance-splash-v5-stage{width:min(48vw,380px)}
}
@media(prefers-reduced-motion:reduce){
  .entrance-splash-v5-seal{animation:entrance-v5-seal-in 180ms ease-out 0ms forwards}
  .entrance-splash-v5-star,.entrance-splash-v5-rim{display:none}
  .entrance-splash-v5-moon{animation:entrance-v5-moon-receive 180ms ease-out 160ms forwards}
}

/* The same resolved preference paints the splash, boot fallback and entrance. */
html[data-theme="light"] .entrance-splash-v5{color:#292219}
html[data-theme="light"] .entrance-splash-v5::before{
  background:radial-gradient(circle at 50% 43%,rgba(169,125,39,.08),transparent 34%),linear-gradient(180deg,#faf4e8,#efe4d0);
}
html[data-theme="light"] .entrance-splash-v5-stage{filter:drop-shadow(0 14px 28px rgba(75,53,17,.16))}
html[data-theme="light"] .entrance-splash-v5-halo{background:radial-gradient(circle,rgba(155,111,25,.12),transparent 70%);filter:blur(12px)}
html[data-theme="light"] :is(.entrance-splash-v5-star,.entrance-splash-v5-moon,.entrance-splash-v5-rim){mix-blend-mode:multiply}
.entrance-splash-v5.is-transferring::before{opacity:0}
.entrance-splash-v5.is-transferring .entrance-splash-v5-stage{opacity:0;transition:opacity 180ms ease-out}
.entrance-splash-v5>.entrance-splash-v5-seal{z-index:4;will-change:left,top,width,height,opacity}
html[data-theme="dark"] .boot{background:radial-gradient(circle at 50% 43%,rgba(209,163,57,.09),transparent 30%),#030302;color:#fff4d6}
html[data-theme="dark"] .boot :is(.boot-title,.boot-note){color:#fff4d6}
@media(prefers-reduced-motion:reduce){.entrance-splash-v5::before{transition:none}}
