:root{--floor-header:76px;scroll-behavior:smooth}
*{box-sizing:border-box}
html{scroll-snap-type:y mandatory;scroll-padding-top:0;background:#171614}
body.floor-store-page{margin:0;background:#171614;color:#f7f3ea;font-family:'IBM Plex Mono',monospace;text-transform:lowercase}
.floor-header{position:fixed;inset:0 0 auto;z-index:80;height:var(--floor-header);grid-template-columns:1fr auto 1fr;padding:18px clamp(18px,3.5vw,52px);border:0;background:linear-gradient(180deg,rgba(15,13,11,.78),rgba(15,13,11,0));color:#f7f3ea;backdrop-filter:none}
.floor-header .wordmark{color:inherit}.floor-header .gallery-menu{justify-self:end}.floor-directory-link{color:inherit;font-size:.6rem;letter-spacing:.12em;opacity:.72;text-decoration:none}.floor-stack{position:relative}
.floor{position:relative;min-height:100svh;padding:calc(var(--floor-header) + clamp(28px,5vh,64px)) clamp(22px,7vw,110px) clamp(70px,9vh,105px);scroll-snap-align:start;scroll-snap-stop:always;overflow:hidden}
.floor--lagos{--floor-bg:#173427;--floor-ink:#f1eadb;background:radial-gradient(circle at 22% 30%,#2f5d42 0,#173427 40%,#0f241b 100%);color:var(--floor-ink)}
.floor--gods{--floor-bg:#f2eee5;--floor-ink:#171614;background:radial-gradient(circle at 30% 22%,#fffdf8 0,#f2eee5 52%,#ded9cf 100%);color:var(--floor-ink)}
.floor--redemption{--floor-bg:#281014;--floor-ink:#f5e5d8;background:radial-gradient(circle at 34% 28%,#5b1a20 0,#281014 54%,#16090b 100%);color:var(--floor-ink)}
.floor-titlebar{position:absolute;inset:calc(var(--floor-header) + 18px) clamp(22px,4vw,60px) auto;z-index:5;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:18px;pointer-events:none}
.floor-titlebar p,.floor-titlebar h1,.floor-titlebar span{margin:0;font:400 .58rem/1.2 'IBM Plex Mono',monospace;letter-spacing:.12em}.floor-titlebar h1{text-align:center;font-weight:500;letter-spacing:.04em}.floor-titlebar span{text-align:right;opacity:.66}
.floor-display{width:min(1160px,100%);min-height:calc(100svh - var(--floor-header) - 120px);margin:auto;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);align-items:center;gap:clamp(50px,8vw,130px)}
.floor-art{position:relative;min-width:0;height:min(70svh,720px);margin:0;display:grid;place-items:center}.floor-art img{display:block;width:auto;max-width:100%;height:auto;max-height:100%;object-fit:contain;filter:drop-shadow(0 34px 32px rgba(0,0,0,.38)) drop-shadow(0 11px 12px rgba(0,0,0,.24));transition:opacity .42s ease,transform .55s cubic-bezier(.22,.61,.36,1),filter .5s ease}
.floor--gods .floor-art img{box-shadow:0 42px 88px rgba(32,24,17,.35),0 16px 30px rgba(32,24,17,.24)}.floor--redemption .floor-art img{max-height:min(66svh,650px);filter:drop-shadow(0 44px 38px rgba(0,0,0,.55)) drop-shadow(0 13px 16px rgba(0,0,0,.4))}
.floor.is-changing .floor-art img,.floor.is-changing .floor-details{opacity:0;transform:translateX(-16px)}
.floor-next{position:absolute;top:50%;right:clamp(-50px,-4vw,-22px);width:54px;height:54px;padding:0;border:0;background:transparent;color:inherit;font:300 2.25rem/1 'IBM Plex Mono',monospace;cursor:pointer;transform:translateY(-50%);transition:transform .25s ease,opacity .25s ease}.floor-next:hover,.floor-next:focus-visible{transform:translate(7px,-50%)}
.floor-details{align-self:center;min-width:0;transition:opacity .42s ease,transform .55s cubic-bezier(.22,.61,.36,1)}.floor-details h2{margin:0 0 clamp(18px,3vh,30px);font:500 clamp(1.2rem,2.2vw,2rem)/1.2 'IBM Plex Mono',monospace;letter-spacing:-.03em}
.floor-prose-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:start}.floor-prose-row p{max-width:42ch;min-height:7.5em;margin:0;color:inherit;font:300 clamp(.7rem,.9vw,.82rem)/1.72 'IBM Plex Mono',monospace;white-space:pre-line;opacity:.76}.floor-audio{width:31px;height:31px;padding:0;border:1px solid currentColor;border-radius:50%;background:transparent;color:inherit;font-size:9px;cursor:pointer;opacity:.7}
.floor-options{display:grid;gap:12px;margin-top:clamp(24px,4vh,42px)}.floor-option-group{display:grid;grid-template-columns:58px minmax(0,1fr);gap:12px;align-items:center}.floor-option-label{margin:0;font-size:.55rem;letter-spacing:.1em;opacity:.58}.floor-option-pills{display:flex;flex-wrap:wrap;gap:7px}.floor-option{min-width:58px;padding:7px 11px;border:1px solid color-mix(in srgb,currentColor 36%,transparent);border-radius:999px;background:transparent;color:inherit;font:400 .55rem/1.2 'IBM Plex Mono',monospace;cursor:pointer}.floor-option.is-selected{background:var(--floor-ink);color:var(--floor-bg);border-color:var(--floor-ink);box-shadow:0 9px 20px rgba(0,0,0,.2)}.floor--gods .floor-option.is-selected{background:#171614;color:#fff}
.floor-acquire{margin-top:18px;padding:9px 16px;border:1px solid currentColor;border-radius:999px;background:transparent;color:inherit;font:400 .6rem/1.2 'IBM Plex Mono',monospace;cursor:pointer}.floor-acquire:hover,.floor-acquire:focus-visible{background:var(--floor-ink);color:var(--floor-bg)}.floor-acquire:disabled{opacity:.45;cursor:wait}.floor-status{min-height:1.4em;margin:9px 0 0;font-size:.55rem;opacity:.64}
.floor-lift{position:absolute;right:clamp(18px,3.2vw,52px);bottom:clamp(18px,3.5vh,40px);z-index:6;display:flex;flex-direction:column;align-items:flex-end;gap:10px}.floor-lift a{display:flex;align-items:center;gap:9px;color:inherit;font:300 1.45rem/1 'IBM Plex Mono',monospace;text-decoration:none}.floor-lift span{font-size:.5rem;letter-spacing:.1em;opacity:.62}.floor-lift a:hover span,.floor-lift a:focus-visible span{opacity:1}.floor--gods .floor-lift,.floor--gods .floor-next{color:#171614}
@media(max-width:760px){:root{--floor-header:64px}.floor-header{height:var(--floor-header);padding:13px 16px}.floor-header .wordmark.gnum{font-size:1.65rem}.floor-directory-link{display:none}.floor{padding:calc(var(--floor-header) + 54px) 18px 72px}.floor-titlebar{inset:calc(var(--floor-header) + 16px) 18px auto;grid-template-columns:1fr auto}.floor-titlebar h1{text-align:right}.floor-titlebar span{display:none}.floor-display{min-height:calc(100svh - var(--floor-header) - 126px);grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) auto;gap:22px;align-items:stretch}.floor-art{height:auto;min-height:0;max-height:51svh;padding:0 28px 0 4px}.floor-art img{max-height:49svh}.floor-next{right:-8px;width:42px;height:42px;font-size:1.8rem}.floor-details{width:min(100%,520px);margin:auto;text-align:center}.floor-details h2{margin-bottom:10px;font-size:1.1rem}.floor-prose-row{grid-template-columns:24px minmax(0,1fr) 24px;gap:8px}.floor-prose-row::before{content:""}.floor-prose-row p{grid-column:2;min-height:4.2em;font-size:.62rem;line-height:1.45}.floor-audio{grid-column:3;width:24px;height:24px;font-size:7px}.floor-options{width:min(100%,420px);margin:15px auto 0;gap:7px}.floor-option-group{grid-template-columns:45px 1fr;gap:7px;text-align:left}.floor-option{min-width:48px;padding:5px 8px;font-size:.48rem}.floor-acquire{margin-top:11px;padding:7px 13px;font-size:.52rem}.floor-status{margin-top:5px}.floor-lift{right:15px;bottom:13px}.floor-lift a{font-size:1.18rem}.floor-lift span{font-size:.44rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.floor-art img,.floor-details{transition:none}}
