/* Entry overlay: isolated from the existing site styling. */
.entry-overlay{position:fixed;inset:0;z-index:2147483000;background:#070e1b;display:flex;align-items:center;justify-content:center;overflow:hidden;--entry-duration:4s}
.entry-overlay img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.entry-overlay canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.entry-overlay[data-style="particles"] img{opacity:0}
.entry-overlay[data-style="cinematic"] img{animation:entry-cinematic var(--entry-duration) ease-in-out both}
.entry-overlay[data-style="zoom"] img{animation:entry-zoom var(--entry-duration) cubic-bezier(.2,.7,.3,1) both}
.entry-overlay{animation:entry-overlay-out var(--entry-duration) linear both}
@keyframes entry-overlay-out{0%,78%{opacity:1}100%{opacity:0}}
@keyframes entry-cinematic{0%{opacity:0;filter:brightness(.15) blur(12px);transform:scale(1.04)}25%{opacity:1;filter:brightness(.75) blur(0)}65%{opacity:1;filter:brightness(1.15);transform:scale(1.12)}100%{opacity:0;transform:scale(1.18)}}
@keyframes entry-zoom{0%{opacity:0;transform:scale(.18) rotate(-4deg);filter:blur(8px)}22%{opacity:1;filter:blur(0)}68%{opacity:1;transform:scale(1.05)}100%{opacity:0;transform:scale(2.8)}}
#entry-animation-skip{position:absolute;right:20px;bottom:20px;z-index:3;background:#142338d9;color:white;border:1px solid #fff6;border-radius:8px;padding:9px 14px;cursor:pointer}
@media(prefers-reduced-motion:reduce){.entry-overlay{display:none!important}}

/* In welcome mode, wait for the visitor's click before starting any animation. */
.entry-overlay.entry-waiting,.entry-overlay.entry-waiting img{animation-play-state:paused!important}
.entry-overlay.entry-waiting img,.entry-overlay.entry-waiting canvas{visibility:hidden}
.entry-welcome-panel{position:absolute;z-index:4;display:flex;flex-direction:column;align-items:center;gap:18px;color:white;font:normal 28px/1.3 Arial,sans-serif;text-align:center}
.entry-welcome-panel p{margin:0}
#entry-animation-start{font:600 19px Arial,sans-serif;border:1px solid #ffffff88;border-radius:10px;padding:14px 40px;color:white;background:#246b93;cursor:pointer}
#entry-animation-start:focus-visible,#entry-animation-skip:focus-visible{outline:3px solid #fff;outline-offset:3px}

/* Configurable WELCOME captions: allow long text to wrap on narrow screens. */
.entry-welcome-panel{max-width:min(90vw,680px);padding:0 12px;box-sizing:border-box}
.entry-welcome-panel p{overflow-wrap:anywhere}
#entry-animation-start{max-width:100%;white-space:normal;overflow-wrap:anywhere}
