.stackwell-preloader{position:absolute;inset:0;z-index:20;display:grid;place-items:center;background:#141518;color:#fff;opacity:1;transition:opacity 180ms ease-out;overflow:hidden}
.preloader-content{width:min(310px,74%);text-align:center;transform:translateY(-6px)}
.preloader-brand{display:flex;align-items:center;justify-content:center;gap:17px}
.preloader-brand img{display:block;width:64px;height:64px;flex:none}
.preloader-brand span{font-family:StackwellMono,ui-monospace,monospace;font-size:clamp(20px,3.5vw,27px);font-weight:700;letter-spacing:.045em;line-height:1}
.preloader-line{position:relative;height:2px;margin-top:29px;background:#ffffff24;overflow:hidden}
.preloader-line:after{content:'';position:absolute;inset:0;transform:translateX(-110%);background:linear-gradient(90deg,transparent,#fff 20%,#fff 80%,transparent);animation:stackwell-loading 1.15s ease-in-out infinite}
@keyframes stackwell-loading{to{transform:translateX(110%)}}
.preloader-message{display:block;font-size:11px;line-height:1.6;margin-top:24px;color:#cacbd0}
.preloader-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.preloader-retry{margin:18px auto 0;border:1px solid #ffffff80;background:transparent;color:#fff;padding:10px 24px;font:inherit;font-size:12px;cursor:pointer}
.preloader-retry[hidden]{display:none}.preloader-retry:focus-visible{outline:2px solid white;outline-offset:4px}
.preloader-covered{opacity:0;pointer-events:none}
.preloader-complete{opacity:0;pointer-events:none}.preloader-complete .preloader-line:after{animation:none;transform:none;background:#fff}
.preloader-error .preloader-line:after{animation:none;transform:none;opacity:.35}
@media(max-width:600px){.preloader-content{width:min(264px,76%)}.preloader-brand{gap:13px}.preloader-brand img{width:52px;height:52px}.preloader-brand span{font-size:23px}.preloader-line{margin-top:25px}}
@media(prefers-reduced-motion:reduce){.stackwell-preloader{transition:none}.preloader-line:after{animation:none;transform:none;background:#fff;opacity:.7}}
