/* The opening is finite and skippable; slow glints add depth without strobing. */
.dfy-splash { perspective:1200px; background:#061426; }
.dfy-splash-visual { inset:-4%; transform-style:preserve-3d; transform:rotateY(-3deg) rotateX(1deg) scale(1.08); animation:dfyOpeningCamera 4s ease-out both; }
.dfy-splash-scene { object-position:64% center; opacity:.96; }
.dfy-splash-shade { background:linear-gradient(90deg,#061325ec 0%,#06132577 44%,#06132505 76%),linear-gradient(0deg,#061325e0 0%,transparent 70%); }
.dfy-splash-copy { bottom:22%; max-width:650px; }
.dfy-splash-copy h1 { font-weight:850; text-shadow:0 1px 0 #b7e3ff,0 3px 0 #497598,0 6px 0 #233b5c,0 16px 25px #00102090,0 0 50px #98c8ff5c; }
.dfy-splash-eyebrow { color:#a3dff0; letter-spacing:4px; }
.dfy-splash-english { color:#9bd8ef; }
.dfy-splash-copy > p { max-width:330px; color:#d6e8f4; }
.dfy-splash-skip { border-radius:999px; border-color:#badfff66; background:#071c32c9; backdrop-filter:blur(12px); box-shadow:inset 0 1px 0 #ffffff25,0 12px 30px #000b1f50; }
.dfy-splash-aurora { position:absolute; inset:0; pointer-events:none; background:radial-gradient(ellipse at 72% 36%,#77d5ef23 0%,transparent 40%),conic-gradient(from 35deg at 80% 15%,transparent 5%,#b19cff16 11%,transparent 22%); mix-blend-mode:screen; animation:dfyOpeningGlow 4.6s ease-in-out infinite; }
.dfy-splash-depth-ring { position:absolute; pointer-events:none; border:1px solid #a8defc65; border-radius:50%; box-shadow:0 0 30px #8c9eff30,inset 0 0 40px #77d6ff10; transform-style:preserve-3d; }
.dfy-splash-depth-ring.ring-back { width:56vw; height:56vw; max-width:850px; max-height:850px; left:46%; top:-24%; transform:rotateX(64deg) rotateZ(-27deg) translateZ(-35px); opacity:.45; }
.dfy-splash-depth-ring.ring-front { width:68vw; height:34vw; right:-20%; bottom:-10%; transform:rotateX(45deg) rotateZ(-25deg) translateZ(90px); opacity:.58; }
.dfy-splash-glints { position:absolute; inset:0; pointer-events:none; transform:translateZ(65px); }
.dfy-opening-star { position:absolute; left:15%; top:20%; width:5px; height:5px; border-radius:50%; background:#e4faff; opacity:.25; box-shadow:0 0 8px #9ae4ff,0 0 22px #78b5ff; animation:dfyOpeningTwinkle 4.8s ease-in-out infinite; }
.dfy-opening-star::after { content:""; position:absolute; width:17px; height:1px; left:-6px; top:2px; background:linear-gradient(90deg,transparent,#dff7ff,transparent); transform:rotate(-20deg); opacity:.8; }
.dfy-opening-star:nth-child(2) { left:38%; top:13%; animation-delay:-1.3s; width:3px; height:3px; }
.dfy-opening-star:nth-child(3) { left:56%; top:25%; animation-delay:-3s; }
.dfy-opening-star:nth-child(4) { left:89%; top:17%; animation-delay:-.5s; }
.dfy-opening-star:nth-child(5) { left:77%; top:61%; animation-delay:-2s; width:3px; height:3px; }
.dfy-opening-star:nth-child(6) { left:24%; top:57%; animation-delay:-3.2s; width:3px; height:3px; }
.dfy-opening-star:nth-child(7) { left:43%; top:74%; animation-delay:-1.8s; }
.dfy-opening-star:nth-child(8) { left:93%; top:77%; animation-delay:-2.7s; }
.dfy-opening-star:nth-child(9) { left:64%; top:9%; animation-delay:-.9s; width:3px; height:3px; }
.dfy-opening-star:nth-child(10) { left:8%; top:41%; animation-delay:-3.8s; }
.dfy-opening-star:nth-child(11) { left:57%; top:88%; animation-delay:-1.1s; width:3px; height:3px; }
.dfy-opening-star:nth-child(12) { left:84%; top:39%; animation-delay:-2.4s; }
@keyframes dfyOpeningCamera { from { transform:rotateY(-4deg) rotateX(2deg) scale(1.1); } to { transform:rotateY(0) rotateX(0) scale(1.04); } }
@keyframes dfyOpeningGlow { 0%,100% { opacity:.4; } 50% { opacity:.85; } }
@keyframes dfyOpeningTwinkle { 0%,100% { opacity:.18; scale:.7; } 50% { opacity:.8; scale:1.15; } }
/* Existing user accounts get the same scene inside their welcome panel. */
.platform-page .arrival-portal-hero { --arrival-rx:0deg; --arrival-ry:0deg; --arrival-x:0px; --arrival-y:0px; display:block; position:relative; min-height:390px; padding:42px; isolation:isolate; border-color:#96c5ed66; background:#081d36; color:#edf7ff; box-shadow:inset 0 1px 0 #ffffff20,0 22px 60px #14284120; perspective:1100px; }
.arrival-portal-hero .arrival-portal-scene { position:absolute; inset:-4%; width:108%; height:108%; max-width:none; object-fit:cover; object-position:68% center; transform:rotateX(var(--arrival-rx)) rotateY(var(--arrival-ry)) translate3d(var(--arrival-x),var(--arrival-y),-20px) scale(1.04); transition:transform .25s ease-out; z-index:-3; }
.arrival-portal-hero::before { content:""; position:absolute; inset:0; background:linear-gradient(90deg,#071a35f2 0%,#071a35c9 32%,#071a3540 62%,#071a3500 90%); pointer-events:none; z-index:-2; }
.arrival-portal-hero::after { content:""; position:absolute; inset:14px; border:1px solid #bfe8ff2e; border-radius:13px; pointer-events:none; z-index:-1; }
.arrival-portal-hero .arrival-portal-copy { max-width:56%; transform:translate3d(0,0,36px); }
.platform-page .arrival-portal-hero h1 { font-size:clamp(30px,3.4vw,43px); color:#f3f9ff; text-shadow:0 3px 16px #03132c; }
.platform-page .arrival-portal-hero .platform-eyebrow { color:#9ad9fa; }
.platform-page .arrival-portal-hero p { color:#c5d9ed; }
.platform-page .arrival-portal-hero .platform-primary { border-color:#a9e2ff70; background:linear-gradient(135deg,#5b83d4,#295f9e); color:#fff; box-shadow:0 6px 24px #10264c90,inset 0 1px 0 #ffffff40; }
.arrival-portal-hero .arrival-portal-spark { position:absolute; width:4px; height:4px; background:#d4f4ff; border-radius:50%; box-shadow:0 0 12px #b7e4ff; pointer-events:none; right:35%; top:20%; opacity:.5; }
.arrival-portal-hero .arrival-portal-spark:nth-of-type(2) { right:17%; top:70%; animation-delay:-2s; }
html[data-dfy-motion="on"][data-dfy-visibility="visible"] .arrival-portal-spark { animation:dfyOpeningTwinkle 5s ease-in-out infinite; }
.arrival-portal-toggle { position:absolute; right:23px; bottom:19px; min-height:36px; padding:7px 13px; border:1px solid #cee9ff5c; border-radius:999px; background:#061a32cc; color:#d9efff; font:600 11px/1.5 sans-serif; cursor:pointer; z-index:2; }
.arrival-portal-toggle:focus-visible { outline:3px solid #b9f4ff; outline-offset:3px; }
@media(max-width:700px) {
 .dfy-splash-copy { bottom:20%; }
 .dfy-splash-scene { object-position:66% center; }
 .dfy-splash-shade { background:linear-gradient(0deg,#05132ff5 0%,#05132f55 72%,transparent),linear-gradient(90deg,#06132566,transparent); }
 .dfy-splash-copy h1 { font-size:56px; }
 .platform-page .arrival-portal-hero { min-height:440px; padding:26px 24px 64px; display:flex; align-items:flex-end; }
 .arrival-portal-hero .arrival-portal-copy { max-width:100%; }
 .arrival-portal-hero .arrival-portal-scene { object-position:72% center; }
 .arrival-portal-hero::before { background:linear-gradient(0deg,#071a35f5 0%,#071a35d9 24%,#071a350f 80%); }
 .platform-page .arrival-portal-hero h1 { font-size:31px; margin-bottom:12px; }
 .platform-page .arrival-portal-hero p { margin-bottom:18px; max-width:90%; }
 .arrival-portal-toggle { bottom:17px; right:22px; }
}
@media(prefers-reduced-motion:reduce) { .arrival-portal-hero .arrival-portal-scene { transform:none!important; } }
