/* Scoped, early-loaded shell: usable without any of the main styles. */
#site-loader{--progress:0;box-sizing:border-box;padding:32px 24px;font-family:"Chivo Mono",monospace}
.loader-content{width:min(100%,460px);text-align:center}
.loader-track-wrap{position:relative;margin:0 14px 42px;padding-top:100px}
.loader-track{height:24px;border:4px solid #a4bad3;padding:4px;background:#101923;position:relative;box-shadow:4px 4px 0 #263445}
.loader-fill{height:100%;width:calc(var(--progress)*1%);background:repeating-linear-gradient(90deg,#b4e600 0 12px,transparent 12px 16px);transition:width .18s steps(4,end)}
.loader-thumb{position:absolute;left:calc(var(--progress)*1%);top:-5px;width:8px;height:26px;background:#d6ff43;transform:translateX(-50%);box-shadow:0 4px 0 #6b8a00;transition:left .18s steps(4,end)}
.loader-runway{position:absolute;left:0;right:0;bottom:24px;height:94px}
.loader-runner{position:absolute;left:calc(var(--progress)*1%);bottom:0;width:96px;height:96px;transform:translateX(-50%);transition:left .18s steps(4,end)}
.loader-rat{display:block;width:100%;height:100%}
.loader-rat-cell{display:block;width:100%;height:100%;overflow:hidden;animation:loader-baseline .4s steps(1,end) infinite}
.loader-rat img{display:block;width:200%;height:200%;max-width:none;image-rendering:pixelated;animation:loader-run .4s steps(1,end) infinite}
.loader-percent{position:absolute;top:calc(100% + 12px);right:0;font:14px/1 monospace;color:#9eb5d0}
#site-loader .loader-title{font:clamp(26px,5vw,36px)/1.2 "Chivo Mono",monospace;letter-spacing:.04em;margin:0 0 14px;color:#b4e600}
#site-loader .loader-caption{font:14px/1.7 "Chivo Mono",monospace;margin:0;color:#a8b5c4}
@keyframes loader-run{0%,100%{transform:translate(0,0)}25%{transform:translate(-50%,0)}50%{transform:translate(0,-50%)}75%{transform:translate(-50%,-50%)}}
@media(max-width:480px){.loader-track-wrap{margin-inline:22px}.loader-runner{width:80px;height:80px}}
@media(prefers-reduced-motion:reduce){.loader-rat img{animation:none}.loader-fill,.loader-thumb,.loader-runner{transition:none}}

@keyframes loader-baseline{0%,100%{transform:translateY(0)}25%{transform:translateY(-1.44%)}50%{transform:translateY(7.5%)}75%{transform:translateY(5.26%)}}
@media(prefers-reduced-motion:reduce){.loader-rat-cell{animation:none}}
