@font-face{font-family:"Loading Mono";src:url("./assets/fonts/loading-mono-bold.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}
/* The visible curtain edge and progress share the same 0–100% travel. */
#loading{position:fixed;inset:0;z-index:60;overflow:hidden;color:#ef2544;background:#fff}
.loading-backdrop{position:absolute;inset:0;background:#fff}
.loading-composition{position:absolute;inset:0;display:grid;place-items:center;padding:32px;text-align:center}
.loading-title{font:700 clamp(68px,13vw,176px)/1.1 "Loading Mono",ui-monospace,monospace;color:#ef2544}
.loading-curtain{position:absolute;inset:0;background:#101110;transform:translateX(0);--actor-height:clamp(190px,46vh,360px);--actor-width:calc(var(--actor-height)*.75)}
.loading-actor{position:absolute;right:100%;top:50%;width:var(--actor-width);height:var(--actor-height);margin-right:calc(var(--actor-width)*-.069);transform:translateY(-50%);overflow:hidden}
.loading-actor img{display:block;width:800%;max-width:none;height:600%;object-fit:contain;transform:translate3d(0,0,0);will-change:transform;animation:loading-walk 1.2s steps(1,end) infinite}
.loading-meter{position:absolute;z-index:2;left:50%;bottom:max(36px,env(safe-area-inset-bottom));width:min(168px,calc(100% - 64px));transform:translateX(-50%);color:#85877f}
.loading-meta{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:10px;gap:20px;font:400 10px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace}
#loading-percent{font-variant-numeric:tabular-nums;min-width:4.5ch;font:500 13px/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:-.025em;text-align:right}
.loading-counter{display:inline-flex;align-items:baseline;justify-content:flex-end;gap:.18em;white-space:nowrap;height:1.2em}
#loading-number{display:inline-block;--number-flow-mask-height:.14em;--number-flow-mask-width:.12em;line-height:1.1;font-variant-numeric:tabular-nums}
.loading-counter-suffix{display:inline-block;font-size:10px;line-height:1;color:#989b93}
.loading-line{height:1px;width:100%;background:#85877f40;overflow:hidden}
#loading-fill{display:block;width:100%;height:100%;background:#85877f;transform:scaleX(0);transform-origin:left}
.is-indeterminate #loading-fill{transform-origin:center;animation:loading-drift 1.6s ease-in-out infinite}
#loading.is-paused *{animation-play-state:paused!important}
body[data-boot=loading] .masthead,body[data-boot=loading] .view-tools,body[data-boot=loading] .room-back{opacity:0;pointer-events:none}
body[data-boot=loading] #room-poster{opacity:0}
body[data-boot=loading] .skip-link{visibility:hidden}
#loading[data-phase=revealing]{pointer-events:none}
/* Transform-only sprite playback stays on the compositor while room JS is busy. */
@keyframes loading-walk{0.000000%{transform:translate3d(0%,0.00000000%,0)}2.083333%{transform:translate3d(-12.5%,0.00000000%,0)}4.166667%{transform:translate3d(-25%,0.00000000%,0)}6.250000%{transform:translate3d(-37.5%,0.00000000%,0)}8.333333%{transform:translate3d(-50%,0.00000000%,0)}10.416667%{transform:translate3d(-62.5%,0.00000000%,0)}12.500000%{transform:translate3d(-75%,0.00000000%,0)}14.583333%{transform:translate3d(-87.5%,0.00000000%,0)}16.666667%{transform:translate3d(0%,-16.66666667%,0)}18.750000%{transform:translate3d(-12.5%,-16.66666667%,0)}20.833333%{transform:translate3d(-25%,-16.66666667%,0)}22.916667%{transform:translate3d(-37.5%,-16.66666667%,0)}25.000000%{transform:translate3d(-50%,-16.66666667%,0)}27.083333%{transform:translate3d(-62.5%,-16.66666667%,0)}29.166667%{transform:translate3d(-75%,-16.66666667%,0)}31.250000%{transform:translate3d(-87.5%,-16.66666667%,0)}33.333333%{transform:translate3d(0%,-33.33333333%,0)}35.416667%{transform:translate3d(-12.5%,-33.33333333%,0)}37.500000%{transform:translate3d(-25%,-33.33333333%,0)}39.583333%{transform:translate3d(-37.5%,-33.33333333%,0)}41.666667%{transform:translate3d(-50%,-33.33333333%,0)}43.750000%{transform:translate3d(-62.5%,-33.33333333%,0)}45.833333%{transform:translate3d(-75%,-33.33333333%,0)}47.916667%{transform:translate3d(-87.5%,-33.33333333%,0)}50.000000%{transform:translate3d(0%,-50.00000000%,0)}52.083333%{transform:translate3d(-12.5%,-50.00000000%,0)}54.166667%{transform:translate3d(-25%,-50.00000000%,0)}56.250000%{transform:translate3d(-37.5%,-50.00000000%,0)}58.333333%{transform:translate3d(-50%,-50.00000000%,0)}60.416667%{transform:translate3d(-62.5%,-50.00000000%,0)}62.500000%{transform:translate3d(-75%,-50.00000000%,0)}64.583333%{transform:translate3d(-87.5%,-50.00000000%,0)}66.666667%{transform:translate3d(0%,-66.66666667%,0)}68.750000%{transform:translate3d(-12.5%,-66.66666667%,0)}70.833333%{transform:translate3d(-25%,-66.66666667%,0)}72.916667%{transform:translate3d(-37.5%,-66.66666667%,0)}75.000000%{transform:translate3d(-50%,-66.66666667%,0)}77.083333%{transform:translate3d(-62.5%,-66.66666667%,0)}79.166667%{transform:translate3d(-75%,-66.66666667%,0)}81.250000%{transform:translate3d(-87.5%,-66.66666667%,0)}83.333333%{transform:translate3d(0%,-83.33333333%,0)}85.416667%{transform:translate3d(-12.5%,-83.33333333%,0)}87.500000%{transform:translate3d(-25%,-83.33333333%,0)}89.583333%{transform:translate3d(-37.5%,-83.33333333%,0)}91.666667%{transform:translate3d(-50%,-83.33333333%,0)}93.750000%{transform:translate3d(-62.5%,-83.33333333%,0)}95.833333%{transform:translate3d(-75%,-83.33333333%,0)}97.916667%{transform:translate3d(-87.5%,-83.33333333%,0)}100%{transform:translate3d(0,0,0)}}
@keyframes loading-drift{from{transform:translateX(-105%) scaleX(.35)}to{transform:translateX(105%) scaleX(.35)}}
@media(max-width:600px){.loading-title{font-size:clamp(48px,18vw,108px)}.loading-curtain{--actor-height:230px}.loading-meter{bottom:max(30px,env(safe-area-inset-bottom))}}
@media(max-height:480px){.loading-curtain{--actor-height:180px}.loading-meter{bottom:max(18px,env(safe-area-inset-bottom))}}
@media(prefers-reduced-motion:reduce){#loading *{animation:none!important;transition:none!important}.loading-curtain{transform:translateX(calc(100% + var(--actor-width)))}.is-indeterminate #loading-fill{transform:scaleX(.35)}}
