body.assets-loading{overflow:hidden}
.asset-loader[hidden]{display:none}
.asset-loader{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:24px;background:radial-gradient(ellipse at 50% 34%,rgba(190,157,83,.19),transparent 43%),linear-gradient(145deg,#11110f,#191914 70%,#12130f);color:#f1ecdf;opacity:1;visibility:visible;transition:opacity .42s ease,visibility .42s ease}
.asset-loader:before{content:"";position:absolute;inset:18px;border:1px solid rgba(200,173,104,.2);pointer-events:none}
.asset-loader.is-leaving{opacity:0;visibility:hidden;pointer-events:none}
.asset-loader-panel{position:relative;width:min(470px,100%);padding:36px 30px 31px;text-align:center;border:1px solid rgba(200,173,104,.38);background:rgba(15,15,13,.64);box-shadow:0 24px 80px #0008;backdrop-filter:blur(8px)}
.loading-seal{width:62px;height:62px;margin:0 auto 20px;display:grid;place-items:center;border:1px solid rgba(214,190,126,.64);border-radius:50%;box-shadow:0 0 0 7px rgba(200,173,104,.06),0 0 34px rgba(200,173,104,.12);color:#d8bf7b;font-size:23px;animation:seal-pulse 2.2s ease-in-out infinite}
.asset-loader-panel .kicker{margin:0 0 11px;color:#d8bf7b;font-size:10px}
.asset-loader-panel h1{margin:0 0 12px;font:500 clamp(31px,6vw,43px)/1.08 var(--serif);letter-spacing:-.03em;color:#f1ecdf}
.asset-loader-status{min-height:48px;margin:0 auto 22px;max-width:360px;color:#c9c1b2;font-size:14px;line-height:1.55}
.asset-progress{height:5px;width:100%;overflow:hidden;border-radius:4px;background:#38352c}
.asset-progress span{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#9f874c,#ead696);box-shadow:0 0 15px rgba(218,190,120,.35);transition:width .25s ease}
.asset-loader-count{margin:10px 0 19px;color:#aaa391;font:10px var(--mono);letter-spacing:.08em;text-transform:uppercase}
.asset-loader-count b{color:#e4cf91;font-weight:500}
.asset-enter{min-height:48px;min-width:205px;padding:0 20px;border:1px solid #d5bd79;background:#c9ae6b;color:#17150f;font:500 11px var(--mono);letter-spacing:.1em;cursor:pointer;transition:transform .2s,box-shadow .2s,opacity .2s}
.asset-enter:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 8px 24px #0007}
.asset-enter:disabled{opacity:.52;cursor:wait}
.asset-enter:focus-visible{outline:2px solid #f1ecdf;outline-offset:4px}
.asset-enter[hidden]{display:none}
@keyframes seal-pulse{0%,100%{transform:scale(1);box-shadow:0 0 0 7px rgba(200,173,104,.06),0 0 34px rgba(200,173,104,.12)}50%{transform:scale(1.05);box-shadow:0 0 0 11px rgba(200,173,104,.04),0 0 46px rgba(200,173,104,.2)}}
@media(max-width:480px){.asset-loader{padding:18px}.asset-loader:before{inset:10px}.asset-loader-panel{padding:30px 21px 25px}.asset-loader-status{font-size:13px}}
@media(prefers-reduced-motion:reduce){.asset-loader,.asset-progress span,.loading-seal,.asset-enter{transition:none!important;animation:none!important}}
.curse-reveal[hidden]{display:none}
.curse-reveal{position:fixed;inset:0;z-index:90;display:grid;place-items:center;overflow:hidden;background:radial-gradient(ellipse at 50% 42%,rgba(97,52,48,.26),transparent 48%),linear-gradient(145deg,#100f10,#181315 58%,#0d0e0d);opacity:1;visibility:visible;transition:opacity .45s ease,visibility .45s ease}
.curse-reveal.is-leaving{opacity:0;visibility:hidden;pointer-events:none}
.curse-reveal-wall{width:100%;height:100svh;max-width:none;margin:0;padding:24px clamp(18px,5vw,76px);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;justify-items:center;gap:clamp(16px,4vw,48px)}
.curse-reveal-wall .exit-card{width:min(42vw,62svh,560px);max-width:none;margin:0;animation:curse-card-appear .68s cubic-bezier(.2,.8,.2,1) both}
.curse-reveal-wall .exit-card:nth-child(2){animation-delay:.1s}
.curse-reveal-wall .exit-photo{width:100%;height:auto;aspect-ratio:3/4}
.curse-reveal-wall .marker-ink path{animation-delay:0s}
.curse-reveal-wall .marker-ink path:nth-child(2){animation-delay:.11s}
.curse-reveal-wall .marker-ink path:nth-child(3){animation-delay:.22s}
.curse-reveal-wall .marker-ink path:nth-child(4){animation-delay:.33s}
.curse-reveal-wall .traitor-cross{opacity:0;animation:cross-pop .56s cubic-bezier(.16,1.3,.35,1) 2s both}
.curse-reveal-wall .exit-card:nth-child(2) .traitor-cross{animation-delay:2.25s}
.gsap-enabled .curse-reveal-wall .exit-card,.gsap-enabled .curse-reveal-wall .marker-ink path,.gsap-enabled .curse-reveal-wall .traitor-cross{animation:none!important}
.curse-story-delayed{opacity:0;visibility:hidden;transform:translateY(14px);transition:opacity .55s ease,transform .55s ease}
.curse-story-visible .curse-story-delayed{opacity:1;visibility:visible;transform:none}
@keyframes curse-card-appear{from{opacity:0;transform:translateY(24px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:700px){.curse-reveal-wall{grid-template-columns:1fr;grid-template-rows:repeat(2,minmax(0,1fr));gap:10px;padding:24px 12px}.curse-reveal-wall .exit-card{height:min(41svh,calc((100svh - 72px)/2));width:auto;max-width:none;display:flex;justify-content:center}.curse-reveal-wall .exit-photo{height:100%;width:auto;aspect-ratio:3/4}}
@media(prefers-reduced-motion:reduce){.curse-reveal,.curse-story-delayed{transition:none!important}.curse-reveal-wall .exit-card{animation:none!important}}
