.wallscreen{align-content:center;width:100%;min-height:calc(100dvh - 120px);display:grid;position:static}.wall{z-index:0;background:radial-gradient(120% 90% at 50% 40%,#14111d 0%,#08070d 70%);position:fixed;inset:0;overflow:hidden}.rig{perspective:1500px;perspective-origin:50%;position:absolute;inset:0}.wallscreen[data-punch=true] .rig{animation:.7s cubic-bezier(.2,1.2,.3,1) both rig-punch}@keyframes rig-punch{0%{scale:1}30%{scale:1.045}to{scale:1}}.wall-flash{z-index:2;pointer-events:none;border-radius:10px;width:120px;height:180px;animation:.9s cubic-bezier(.1,.8,.3,1) both wall-flash;position:absolute;top:50%;left:50%;translate:-50% -50%;box-shadow:0 0 0 2px #f4eee2e6,0 0 40px #f4eee299}@keyframes wall-flash{0%{opacity:1;scale:1}to{opacity:0;scale:4}}.reticle:before{content:"";pointer-events:none;opacity:0;background:linear-gradient(90deg,#0000,#f4eee212 40%,#f4eee21f 50%,#f4eee212 60%,#0000);width:160px;height:220vh;transition:opacity .4s;position:absolute;top:-60vh;left:50%;translate:-50%}.reticle[data-state=scan]:before{opacity:1}@media (prefers-reduced-motion:reduce){.wallscreen .rig,.wall-flash,.wallscreen .tile{animation:none!important}.wall-flash{display:none}}.world{transform-origin:0 0;will-change:transform;position:absolute;top:0;left:0;transform:translate(50vw,50vh)scale(.6)}.world:before{content:"";z-index:-1;background-image:radial-gradient(circle,#f4eee213 1.3px,#0000 1.7px);background-size:30px 30px;position:absolute;inset:-2400px}.tile{transition:scale .2s var(--ease-out), filter .2s, box-shadow .2s;background:linear-gradient(#ffffff0e,#ffffff05);border-radius:5px;position:absolute}.tile img,.tile .wrap{object-fit:contain;filter:drop-shadow(0 6px 5px #0000008c);width:100%;height:100%;display:block}.tile:after{content:"";pointer-events:none;background:linear-gradient(135deg,#ffffff26,#0000 36%);border-radius:5px;position:absolute;inset:0;box-shadow:inset 0 0 0 1px #ffffff17}.wallscreen[data-picking=true] .tile{animation:.7s ease-out both tile-wake;animation-delay:calc(var(--d,0) * 28ms)}@keyframes tile-wake{0%{filter:brightness(.7)}35%{filter:brightness(1.7)saturate(1.2)}to{filter:brightness()}}.tile.hot{z-index:3;filter:brightness(1.6)saturate(1.2);transition:scale 90ms var(--ease-out), filter 90ms, box-shadow 90ms;animation:none;scale:1.16;box-shadow:0 0 0 3px #f4eee2f2,0 0 44px #f4eee299,0 18px 30px #0009}.tile.t1{z-index:2;filter:brightness(1.25);transition:scale .25s,filter .25s,box-shadow .25s;animation:none;scale:1.06;box-shadow:0 0 0 2px #f4eee266,0 0 24px #f4eee240}.tile.t2{filter:brightness(1.08);transition:scale .4s,filter .4s,box-shadow .4s;animation:none;box-shadow:0 0 0 1px #f4eee226}.wallscreen[data-run=true] .wall-dim{opacity:.32}.tile[data-won=true]{z-index:4;filter:brightness(1.25);animation:.8s cubic-bezier(.2,1.4,.4,1) both tile-won;scale:1.14;box-shadow:0 0 70px #f4eee299,0 0 120px #e9bc4f59}@keyframes tile-won{0%{scale:1.3}to{scale:1.14}}.tile[data-hide=true]{opacity:0;transition:none}.shelf{background:linear-gradient(90deg,#f4eee257,#f4eee21a 60%,#f4eee238);height:2px;margin-top:7px;position:absolute;left:0;box-shadow:0 8px 18px #00000080}.wall-dim{z-index:1;opacity:0;pointer-events:none;background:#040308db;transition:opacity .6s;position:absolute;inset:0}.wallscreen[data-won=true] .wall-dim{opacity:.55}.wallscreen[data-dolly=true] .wall-dim{opacity:.94;transition-duration:.9s}.wall-spot{z-index:1;pointer-events:none;opacity:0;background:radial-gradient(26vmax 34vmax,#0000 0 55%,#0403089e 100%);transition:opacity .7s;position:absolute;inset:0}.wallscreen[data-run=true] .wall-spot{opacity:1}.wallscreen[data-won=true] .wall-spot,.wallscreen[data-dolly=true] .wall-spot{opacity:0;transition-duration:.4s}.wall-sheen{pointer-events:none;mix-blend-mode:soft-light;background:linear-gradient(115deg,#0000 32%,#fff3 47%,#0000 62%) -140% 0/240% 100% no-repeat;animation:9s ease-in-out infinite wall-sheen;position:absolute;inset:0}@keyframes wall-sheen{0%{background-position:-140% 0}60%,to{background-position:140% 0}}.wall-vignette{pointer-events:none;background:radial-gradient(#0000 38%,#050409d1 100%);position:absolute;inset:0}.wallscreen[data-picking=false] .wall-vignette{background:radial-gradient(70% 46%,#050409eb,#0504098c 70%,#050409cc 100%)}.reticle{z-index:2;pointer-events:none;opacity:0;width:80px;height:140px;transition:opacity .3s;position:absolute;top:50%;left:50%;translate:-50% -50%}.reticle[data-state=scan],.reticle[data-state=lock]{opacity:1}.reticle i{border:2px solid var(--ivory);filter:drop-shadow(0 0 6px #f4eee2cc);width:18px;height:18px;position:absolute}.reticle i:first-child{border-bottom:0;border-right:0;top:0;left:0}.reticle i:nth-child(2){border-bottom:0;border-left:0;top:0;right:0}.reticle i:nth-child(3){border-top:0;border-right:0;bottom:0;left:0}.reticle i:nth-child(4){border-top:0;border-left:0;bottom:0;right:0}.reticle[data-state=scan] i{opacity:.75}.reticle[data-state=lock]{animation:.7s cubic-bezier(.2,1.4,.4,1) reticle-lock}@keyframes reticle-lock{0%{scale:1.5}to{scale:1}}.wallscreen[data-dolly=true] .reticle{opacity:0;transition-duration:.2s}.wall-cta,.wall-won{z-index:3;text-align:center;max-width:520px;animation:screen-in .5s var(--ease-out) backwards;justify-items:center;gap:14px;margin:0 auto;padding:0 4px;display:grid;position:relative}.wall-cta:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(closest-side,#050409f0 55%,#0000);position:absolute;inset:-56px -40px}.wall-cta h1,.wall-won h1{font:650 clamp(30px, 8vw, 46px)/1.02 var(--font-display);font-variation-settings:"opsz" 144;letter-spacing:-.015em;text-shadow:0 2px 24px #000c;margin:0}.wall-cta .btn{margin-top:8px}.wall-pill{z-index:3;box-shadow:inset 0 0 0 1px var(--line);font:600 11px/1 var(--font-ui);letter-spacing:.16em;text-transform:uppercase;color:var(--mist);white-space:nowrap;background:#0a0910d1;border-radius:999px;margin:0;padding:10px 16px;position:absolute;top:76px;left:50%;translate:-50%}.wall-won{z-index:6;width:calc(100% - 32px);animation:none;position:absolute;top:84px;left:50%;translate:-50%}.wall-won>*{animation:won-line .6s var(--ease-out) both}.wall-won>:first-child{animation-delay:.25s}.wall-won>:nth-child(2){animation-delay:.35s}.wall-won>:nth-child(3){animation-delay:.5s}.wall-won>:nth-child(4){animation-delay:.6s}@keyframes won-line{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.wallscreen[data-dolly=true] .wall-won{opacity:0;transition:opacity .35s}.dolly{z-index:8;transform-origin:0 0;pointer-events:none;-webkit-user-select:none;user-select:none;will-change:transform;filter:drop-shadow(0 26px 34px #000000a6);position:fixed}
