/* Transparent glass overlay keeps the live website visible behind the artwork. */
.welcome-overlay{position:fixed;inset:0;z-index:2147483647;display:none;align-items:center;justify-content:center;box-sizing:border-box;padding: max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));background:rgba(10,17,28,.46);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);overscroll-behavior:contain}
.welcome-overlay[aria-hidden="false"]{display:flex}
body.welcome-popup-open{overflow:hidden}
.welcome-popup{box-sizing:border-box;width:min(88vw,560px,calc(100dvh - 170px));max-width:100%;max-height:100%;display:flex;flex-direction:column;gap:12px;background:transparent;border:0;box-shadow:none;color:white;font-family:system-ui,-apple-system,sans-serif;outline:none}
.welcome-popup *{box-sizing:border-box}
.welcome-close-row{display:flex;justify-content:flex-end}
.welcome-close-x{display:grid;place-items:center;width:40px;height:40px;border:2px solid white;border-radius:50%;background:rgba(255,255,255,.1);color:white;padding:7px;cursor:pointer}
.welcome-close-x svg{width:100%;height:100%}
.welcome-close-x:disabled{opacity:.4;cursor:not-allowed}
.welcome-carousel{position:relative;width:100%;aspect-ratio:1;overflow:hidden;border-radius:22px;box-shadow:0 20px 60px #0004;touch-action:pan-y}
.welcome-track{display:flex;height:100%;transition:transform .35s ease}
[data-welcome-slide]{position:relative;flex:0 0 100%;min-width:0;height:100%;background:#eaf7ff}
[data-welcome-slide] img{display:block;width:100%;height:100%;object-fit:contain;user-select:none}
.welcome-image-fallback{position:absolute;inset:0;margin:0;padding:24px;align-content:center;text-align:center;color:#003366;background:#eaf7ff}
.welcome-popup [hidden]{display:none!important}
.welcome-arrow{position:absolute;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:32px;height:40px;border:1px solid #fff8;border-radius:12px;background:#00336688;color:white;font-size:30px;cursor:pointer}
.welcome-prev{left:6px}.welcome-next{right:6px}
.welcome-dots{display:flex;justify-content:center;gap:10px}
.welcome-dots button{width:24px;height:24px;padding:6px;border:0;background:transparent;cursor:pointer}
.welcome-dots button:after{content:"";display:block;width:12px;height:12px;border-radius:50%;background:#ffffff66}
.welcome-dots button[aria-current="true"]:after{background:#06bcff}
.welcome-preference{display:flex;align-items:center;justify-content:center;gap:8px;font-size:clamp(13px,3.8vw,18px);cursor:pointer;text-shadow:0 1px 4px #0008;white-space:nowrap}
.welcome-preference input{appearance:auto;width:23px;height:23px;margin:0;accent-color:#079bda;flex-shrink:0}
#welcomeCountdown{font-variant-numeric:tabular-nums}
.welcome-popup :is(button,input):focus-visible{outline:3px solid #39cfff;outline-offset:3px}
.welcome-sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(prefers-reduced-motion:reduce){.welcome-track{transition:none}}
