.cent-welcome[hidden]{display:none!important}
.cent-welcome{position:fixed!important;inset:0!important;z-index:10020;display:grid!important;place-items:center!important;padding:16px;box-sizing:border-box;background:rgba(0,0,0,.8);cursor:pointer;opacity:0;transition:opacity .45s ease;outline:none;overscroll-behavior:contain}
.cent-welcome.is-visible{opacity:1}
.cent-welcome .cw-stage{position:relative;width:min(920px,94vw,calc(100dvh - 40px));aspect-ratio:1;max-width:100%;isolation:isolate;pointer-events:none}
.cent-welcome .cw-clock{position:absolute!important;inset:0!important;display:block!important;width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;margin:0!important;object-fit:contain!important;transform:translate(-1.22%,1.33%) scale(1.16);opacity:.6;filter:brightness(.7);border:0!important;border-radius:0!important}
.cent-welcome .cw-rings{position:absolute;inset:0;display:block;width:100%;height:100%;overflow:hidden;fill:#fff;font-weight:400;filter:drop-shadow(0 1px 2px #000);pointer-events:none}
.cent-welcome .cw-language{opacity:0;transition:none}
.cent-welcome .cw-language.is-written{opacity:1}
.cent-welcome .cw-reader{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(prefers-reduced-motion:reduce){.cent-welcome,.cent-welcome .cw-language{transition:none}}

/* Keep page CSS animations still, including pseudo-elements; welcome remains animated. */
html.cent-welcome-hold body *:not(.cent-welcome):not(.cent-welcome *),
html.cent-welcome-hold body *:not(.cent-welcome):not(.cent-welcome *)::before,
html.cent-welcome-hold body *:not(.cent-welcome):not(.cent-welcome *)::after{animation-play-state:paused!important}
