.page-loader{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;background:#05091c;pointer-events:auto;animation:loader-exit 2.5s linear both}
.page-loader-inner{width:min(58vw,300px);text-align:center;animation:loader-arrive .65s ease-out both}
.page-loader img{display:block;width:100%;height:auto}
.page-loader-line{width:80px;height:2px;margin:32px auto 0;background:#d1ab2426;overflow:hidden;border-radius:2px}
.page-loader-line::after{content:'';display:block;width:100%;height:100%;background:#d1ab24;transform-origin:left;animation:loader-progress 2.25s cubic-bezier(.16,.6,.3,1) both}
@keyframes loader-progress{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes loader-arrive{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@keyframes loader-exit{0%,90%{opacity:1;visibility:visible}100%{opacity:0;visibility:hidden;pointer-events:none}}
@media(prefers-reduced-motion:reduce){.page-loader-inner,.page-loader-line::after{animation:none}.page-loader{animation-timing-function:steps(1,end)}}
/* Keep the welcome screen centered within mobile safe areas. */
.page-loader{box-sizing:border-box;min-height:100dvh;padding:env(safe-area-inset-top,0px) env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px);overscroll-behavior:none}
@media(max-width:600px){.page-loader-inner{width:clamp(160px,60vw,250px);max-width:calc(100vw - 48px)}.page-loader-line{width:64px;margin-top:25px}}
@media(max-height:450px) and (orientation:landscape){.page-loader-inner{width:min(36vw,220px)}.page-loader-line{margin-top:18px}}
