:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#1a1b1e;--fg:#d0cdc8;--accent:#f9bc06;--ad:#ef0625;--panel:#0c0d0ff0;--radius:14px;--gap:16px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--fg);-webkit-text-size-adjust:100%;overscroll-behavior:none;margin:0;padding:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;overflow:hidden}#game{z-index:0;touch-action:none;position:fixed;inset:0}#game canvas{touch-action:none;display:block}#live{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.ui{z-index:1;width:min(100%,46.21vh);padding:max(var(--gap), env(safe-area-inset-top)) max(var(--gap), env(safe-area-inset-right)) max(var(--gap), env(safe-area-inset-bottom)) max(var(--gap), env(safe-area-inset-left));background:var(--panel);justify-content:center;align-items:center;margin-inline:auto;display:flex;position:fixed;inset:0}.ui-playing{pointer-events:none;background:0 0;align-items:flex-end}.panel-playing .actions{grid-template-columns:repeat(3,1fr);align-items:end;gap:8px;display:grid}.btn-jump{background:#daa00b38;border-color:#fac40f80}[data-action=hold],.btn-lane[data-action=strike]{touch-action:none;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.panel-playing .actions>.btn-jump:only-child{grid-column:2}.panel-playing .actions>.btn.btn-fire{letter-spacing:.12em;background:#ff5a3c4d;border-color:#ff8c6ebf;grid-column:2/4;min-height:84px;font-size:1.5rem}.btn-fire:active{color:#17181b;background:#ff5a3c}.panel-playing:has([data-action=answer]) .hint{opacity:1;background:#090a0cc7;border-radius:10px;padding:8px 12px;font-size:1rem;font-weight:600;line-height:1.3}.panel-playing .actions:has(.btn-answer){grid-template-columns:1fr 1fr}.btn.btn-answer{background:#0c0d0fd6;border-color:#ffffff57;min-height:56px;padding:8px 10px;font-size:.9rem;line-height:1.2}.btn.btn-answer:active{background:var(--accent);color:#17181b}.panel-playing .actions>.btn.btn-fire[data-action=smash]{color:#fff4e6;text-shadow:0 1px 4px #000000b3;background:#ff5a3c9e;border-color:#ffbe96e6;grid-column:1/-1;font-weight:800}.panel-playing .actions>.btn-lane:first-child:nth-last-child(2){grid-column:1}.panel-playing .actions>.btn-lane:nth-child(2):last-child{grid-column:3}.panel-playing .btn-lane{font-size:1.1rem}.cells{position:relative}.btn.btn-cell{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;min-height:0;margin:-1px;padding:0;position:absolute;overflow:hidden}.btn-lane{background:#0c0d0fa8;border-color:#ffffff47;min-height:52px;padding:8px 4px;font-size:.72rem;line-height:1.2}.btn-lane:active{background:var(--accent);color:#17181b}.panel-playing .clock{top:max(.6rem, env(safe-area-inset-top));text-align:center;font-variant-numeric:tabular-nums;color:#f3e7d2;text-shadow:0 .12rem .5rem #000000d9;pointer-events:none;background:#090a0c99;border-radius:999px;width:-moz-fit-content;width:fit-content;margin:0 auto;padding:.1rem .9rem;font-size:2.1rem;font-weight:700;position:fixed;left:0;right:0}.panel-playing .clock[data-surge=true]{color:#ff5a3c;background:#460604c7;animation:.5s ease-in-out infinite alternate clock-surge}@keyframes clock-surge{to{text-shadow:0 0 1rem #ff4628f2;transform:scale(1.12)}}.panel-playing .clock:empty{display:none}.panel-playing .hint{text-shadow:0 1px 3px #000000e6}body:has(canvas[data-desk]) .panel-playing .hint{text-align:left;margin-left:calc(min(100vw,46.21vh)/4.54545 + 12px)}.btn.btn-leave{top:max(.6rem, env(safe-area-inset-top));right:max(var(--gap), env(safe-area-inset-right));opacity:.9;pointer-events:auto;background:#090a0cb3;border-color:#ffffff47;border-radius:8px;min-width:32px;min-height:32px;padding:4px 10px;font-size:.72rem;line-height:1.1;position:absolute}.trophy-card{border-radius:var(--radius);text-align:left;background:#ffc87812;border:1px solid #ffdc9659;margin:0 0 16px;padding:12px 14px}.trophy-title{margin:0 0 6px;font-size:1rem;font-weight:650}.trophy-text{opacity:.9;margin:0 0 10px;font-size:.9rem;line-height:1.5}.btn.trophy-close{min-height:44px;padding:6px 16px}.panel-playing .ready{top:max(4.2rem, calc(env(safe-area-inset-top) + 3.6rem));left:max(var(--gap), env(safe-area-inset-left));right:max(var(--gap), env(safe-area-inset-right));border-radius:var(--radius);width:auto;max-width:26rem;color:inherit;font:inherit;text-align:center;background:#050608d1;border:1px solid #ffffff24;flex-direction:column;align-items:center;gap:.35rem;margin:0 auto;padding:1rem 1.2rem 1.2rem;display:flex;position:fixed;box-shadow:0 .5rem 1.8rem #0000008c}.ui-playing .ready{pointer-events:auto}.ready-name{letter-spacing:.06em;text-transform:uppercase;opacity:.75;font-size:.78rem;font-weight:700}.ready-goal{font-size:1.15rem;font-weight:650;line-height:1.3}.ready-how{opacity:.85;font-size:.88rem;line-height:1.4}.howto{aspect-ratio:4/3;object-fit:cover;background:#05060a;border:1px solid #ffffff24;border-radius:8px;width:100%;max-width:32vh;max-height:24vh;margin:.45rem auto .1rem;display:block;position:relative;overflow:hidden}.howto-still{object-fit:cover;opacity:0;width:100%;height:100%;position:absolute;inset:0}.howto[data-count="1"] .howto-still,.howto-still:first-child{opacity:1}.howto[data-count="2"] .howto-still{animation:4s infinite howto-2}.howto[data-count="3"] .howto-still{animation:6s infinite howto-3}.howto .howto-still:nth-child(2){animation-delay:2s}.howto .howto-still:nth-child(3){animation-delay:4s}@keyframes howto-2{0%,48%{opacity:1}52%,to{opacity:0}}@keyframes howto-3{0%,30%{opacity:1}36%,to{opacity:0}}@media (prefers-reduced-motion:reduce){.howto-still{animation:none!important}.howto-still:not(:first-child){display:none}}.ready-go{letter-spacing:.12em;min-width:10rem;margin-top:.4rem;font-size:1.4rem}.ready-silent .ready-goal,.ready-silent .ready-how{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.ready-silent .ready-name{opacity:.9;font-size:.9rem}.ready-silent~.hint{opacity:0}.ready-silent~.actions{visibility:hidden}.ready-silent .howto-clip{aspect-ratio:390/844;width:auto;max-width:100%;height:min(100vh - 13.5rem,44rem);height:min(calc(100dvh - 13.5rem - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px)), 44rem);border-radius:0;max-height:none;margin:.25rem auto .1rem;display:block}.panel-hit .body{border-radius:var(--radius);background:#050608f0;border:1px solid #ffffff14;padding:.6rem 1.1rem;display:inline-block;box-shadow:0 .3rem 1.4rem #0009}.panel-hit{margin-top:env(safe-area-inset-top,0px);align-self:flex-start;padding:10px 16px}.panel-hit .body{margin-bottom:8px;font-size:.92rem}.panel-hit .actions{gap:6px}.panel-hit .btn:not(.btn-primary){background:#050608e6}.ui-playing .panel{box-shadow:none;text-align:center;background:0 0;border:0}.ui-playing .heading,.ui-playing .legal,.ui-playing .badge{display:none}.ui-playing .btn{pointer-events:auto}.ui-playing .hint{pointer-events:none}.panel{border-radius:var(--radius);background:#ffffff05;border:1px solid #ffffff14;width:100%;max-width:34rem;max-height:100%;padding:24px;overflow-y:auto}.panel-paused{pointer-events:auto}.heading{text-wrap:balance;margin:0 0 12px;font-size:clamp(1.4rem,5vw,2rem);font-weight:650;line-height:1.25}.body{opacity:.85;margin:0 0 20px;font-size:1rem;line-height:1.6}.badge{color:var(--accent);letter-spacing:.04em;text-transform:uppercase;background:#f9bc0629;border-radius:999px;margin:0 0 12px;padding:4px 10px;font-size:.78rem;font-weight:600;display:inline-block}.notice{border-left:3px solid var(--ad);background:#ef06251a;border-radius:4px;margin:0 0 16px;padding:12px 14px;font-size:.95rem}.meta{border-top:1px solid #ffffff14;border-bottom:1px solid #ffffff14;flex-wrap:wrap;gap:8px 24px;margin:0 0 20px;padding:16px 0;display:flex}.meta-row{flex-direction:column;gap:2px;display:flex}.meta dt{letter-spacing:.04em;text-transform:uppercase;opacity:.6;font-size:.75rem}.meta dd{font-variant-numeric:tabular-nums;margin:0;font-size:1.35rem;font-weight:600}.hint{opacity:.75;margin:0 0 12px;font-size:.9rem}.actions{flex-direction:column;gap:10px;display:flex}.btn{min-height:48px;color:inherit;font:inherit;cursor:pointer;background:#ffffff0d;border:1px solid #ffffff2e;border-radius:10px;padding:12px 20px;font-weight:600;transition:background-color .12s,transform .12s}.btn.btn-compact{min-height:38px;padding:4px 3px;font-size:.62rem}.btn:hover{background:#ffffff1a}.btn:active{transform:translateY(1px)}.btn:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.btn[disabled]{opacity:.45;cursor:not-allowed}.panel-character .actions{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.panel-character .actions .btn-primary{grid-column:1/-1}.btn-art{text-align:center;gap:8px;padding:8px 8px 12px;display:grid}.btn-art .btn-label{font-size:.78rem;font-weight:600;line-height:1.3}.btn-art .art{aspect-ratio:448/752;background-color:#f2f0ec;background-position:50% 0;background-repeat:no-repeat;background-size:300% 100%;border-radius:6px;width:100%;display:block}.art[data-character=boy]{background-image:url(/assets/boy-Df8_pUsv.webp);background-position:9.6% 0}.art[data-character=girl]{background-image:url(/assets/girl-i3KMktEr.webp);background-position:5.9% 0}.art[data-character=they]{background-image:url(/assets/they-wfmFyYok.webp);background-position:4.6% 0}.btn-primary{background:var(--accent);color:#17181b;border-color:#0000}.btn-primary:hover{background:#ffd24a}.legal{opacity:.6;flex-wrap:wrap;gap:6px 16px;margin-top:24px;font-size:.8rem;display:flex}.legal a{color:inherit}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}@media (prefers-reduced-motion:no-preference){.panel{transition:opacity .12s}@starting-style{.panel{opacity:0}}}.outfit{aspect-ratio:253/543;height:max(34vh,15rem);margin:0 auto 6px;position:relative}.kit-stage{justify-content:center;align-items:center;gap:16px;display:flex}.kit-stage .outfit{margin:0}.orb-preview{background:radial-gradient(circle at 36% 32%, var(--orb-core,#fff) 0 22%, var(--orb-rim,#8cf) 62%, var(--orb-glow,#38f) 100%);width:72px;height:72px;box-shadow:0 0 22px 8px var(--orb-glow,#38f), inset 0 0 10px #00000059;border-radius:50%;flex:none}.outfit-layer{object-fit:contain;width:100%;height:100%;position:absolute;inset:0}.panel-wardrobe{padding-top:8px;padding-bottom:8px}.panel-wardrobe .badge{margin-bottom:2px}.panel-wardrobe .heading{margin-bottom:1px;font-size:.98rem}.panel-wardrobe .body{margin-bottom:4px;font-size:.7rem;line-height:1.2}.kit-tabs{grid-template-columns:repeat(6,1fr);gap:3px;margin-bottom:4px;display:grid}.kit-tab{text-align:center;min-height:30px;padding:4px 2px;font-size:.62rem}.kit-tab-selected{background:var(--accent);color:#17181b;border-color:#0000}.kit-group-buttons{grid-template-columns:repeat(3,1fr);gap:4px;display:grid}.btn-piece{text-align:center;min-height:34px;padding:4px 5px}.btn-piece .btn-label{font-size:.68rem;line-height:1.15}.panel-wardrobe .actions{gap:6px;margin-top:6px}.panel-wardrobe .actions .btn{min-height:34px;padding:6px 20px}.panel-wardrobe .legal{margin-top:6px;font-size:.7rem}.btn-worn{border-color:var(--accent);background:#f9bc0624}.orb{border-radius:50%;width:18px;height:18px;margin-bottom:4px;display:inline-block}img.orb{object-fit:contain;border-radius:0}.orb-dim{background:#4a4230;border:2px solid #ffffff40}.orb-lit{background:#ffcf6b;box-shadow:0 0 12px 4px #ffbe5abf}.scene{aspect-ratio:880/1168;background-color:#05060a;background-position:50%;background-size:cover;border:1px solid #ffffff1f;border-radius:12px;width:100%;max-width:33.9041vh;max-height:45vh;margin:0 auto 16px;position:relative;overflow:hidden}.scene-map{background-image:url(/assets/city-map-Deu4Bz0h.webp);container-type:size}.scene-room{background-image:url(/assets/tent-uVm18aeU.webp)}.scene-room.tier-1{background-image:url(/assets/tent-1-mglWCorA.webp)}.scene-room.tier-2{background-image:url(/assets/tent-2--OjH7W6Q.webp)}.scene-room.tier-3{background-image:url(/assets/tent-3-BnfNpteo.webp)}.scene-room.tier-4{background-image:url(/assets/tent-4-CJo3zDsN.webp)}.mark{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:center;gap:4px;padding:6px;display:flex;position:absolute;transform:translate(-50%,-50%)}.mark-dot{background:var(--accent);border:2px solid #ffffffd9;border-radius:50%;width:13px;height:13px;transition:transform .12s;box-shadow:0 0 10px 3px #f9bc068c}.mark-label{letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;color:#f6efe6;text-shadow:0 1px 2px #000,0 0 8px #000,0 0 14px #000;font-size:.64rem;font-weight:700}.mark-hammers{gap:3px;margin:-1px 0;display:flex}.hammer{width:15px;height:15px;stroke-width:2px;stroke-linejoin:round;paint-order:stroke;filter:drop-shadow(0 0 1.5px #000);width:clamp(10px,5.4cqw,15px);height:clamp(10px,5.4cqw,15px)}.hammer-empty{fill:none;stroke:#f6efe6d9}.hammer-gold{fill:var(--accent);stroke:#3a2a00;filter:drop-shadow(0 0 1.5px #000)drop-shadow(0 0 4px #f9bc06e6)}.hammer-red{fill:var(--ad);stroke:#3a0008}.mark-sealed .mark-dot{box-shadow:none;background:0 0;border-style:dashed;border-color:#fff6}.mark-locked .mark-dot{box-shadow:none;background:#4c4c55;border-color:#fff6;position:relative}.mark-locked .mark-dot:after{content:"";background:#17181b;border-radius:50%;position:absolute;inset:2px}.mark-sealed .mark-label,.mark-locked .mark-label{opacity:.62}.mark-done .mark-dot{background:#86e3a6;box-shadow:0 0 10px 3px #86e3a673}.mark-on .mark-dot{transform:scale(1.45)}.mark:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:8px}.scene-room .mark-label{display:none}.mark-desk{gap:0;padding:0;transform:translate(-50%,-100%)}.scene-room .mark-desk .mark-label{display:block;position:absolute;bottom:2px}.mark-desk .mark-dot{aspect-ratio:1;background:linear-gradient(#1c2a36 0 55%,#101114 55%);border:2px solid #ffffff59;border-radius:6px;width:100%;height:auto;box-shadow:inset 0 0 18px #50c8ff99}.mark-desk .mark-art{object-fit:contain;width:100%;height:auto;box-shadow:none;background:0 0;border:0}.scene-room .mark-desk .mark-art~.mark-label{display:none}.mark-empty .mark-dot{box-shadow:none;background:0 0;border-style:dashed;border-color:#ffffff47}.mark-held .mark-dot{background:#ffd49c;box-shadow:0 0 12px 4px #ffc87880}.mark-new .mark-dot{background:#fffaf0;box-shadow:0 0 18px 6px #ffdc96e6}.mark-dim .mark-dot{box-shadow:none;background:#4a4230;border-color:#ffffff40}.mark-lit .mark-dot{background:#ffcf6b;box-shadow:0 0 14px 5px #ffbe5abf}.mark-art{object-fit:contain;border-radius:0;width:10px;height:11px}.mark-dim .mark-art,.mark-lit .mark-art{box-shadow:none;background:0 0;border:none}.mark-held .mark-art,.mark-new .mark-art{width:auto;max-width:34px;height:30px;box-shadow:none;background:0 0;border:none}.mark-held .mark-art{filter:drop-shadow(0 0 4px #ffc87873)}.mark-held,.mark-new{justify-content:center;min-width:44px;min-height:44px}.mark-new .mark-art{filter:drop-shadow(0 0 5px #ffdc96d9)drop-shadow(0 0 10px #ffdc9680)}.panel-signin .heading{font-size:1.45rem;line-height:1.3}.panel-intro{text-align:center}.panel-intro .heading{margin-top:16vh;font-size:clamp(1.7rem,7vw,2.4rem);line-height:1.35}.panel-arrival .body{font-size:1.02rem;line-height:1.6}.panel-arrival .scene:after{content:"";background:#05060a73;position:absolute;inset:0}.panel-map .meta dd,.panel-room .meta dd{font-size:.95rem;font-weight:400;line-height:1.45}.signin-provider{justify-content:center;min-height:44px;margin:0 0 10px;display:flex}.signin-provider:empty{display:none}.signin-provider .btn{width:100%}.signin-provider>div{border-radius:999px;overflow:hidden}.btn.btn-icon{top:max(.6rem, env(safe-area-inset-top));right:max(var(--gap), env(safe-area-inset-right));z-index:3;color:#f6efe6d9;background:#090a0c8c;border-color:#ffffff38;border-radius:50%;place-items:center;width:44px;min-width:44px;height:44px;min-height:44px;padding:0;display:grid;position:absolute}.glyph{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.btn-icon .glyph{width:22px;height:22px}@supports selector(:has(*)) and (width:1cqw){.ui:has(>.panel-map,>.panel-room){background:#05060a;padding:0}.panel-map,.panel-room{background:0 0;border:0;border-radius:0;width:100%;max-width:none;height:100%;max-height:none;padding:0;position:relative;overflow:clip;container-type:size}@media (prefers-reduced-motion:no-preference){.panel-map,.panel-room{transition:none}@starting-style{.panel-map,.panel-room{opacity:1}}}.panel-map:before,.panel-room:before{content:"";filter:blur(24px)brightness(.55)saturate(1.15);pointer-events:none;background-color:#05060a;background-position:50%;background-size:cover;position:absolute;inset:-8%}.panel-map:before{background-image:url(/assets/city-map-Deu4Bz0h.webp)}.panel-room:before{background-image:url(/assets/tent-uVm18aeU.webp)}.panel-room:has(.tier-1):before{background-image:url(/assets/tent-1-mglWCorA.webp)}.panel-room:has(.tier-2):before{background-image:url(/assets/tent-2--OjH7W6Q.webp)}.panel-room:has(.tier-3):before{background-image:url(/assets/tent-3-BnfNpteo.webp)}.panel-room:has(.tier-4):before{background-image:url(/assets/tent-4-CJo3zDsN.webp)}.panel-map .scene,.panel-room .scene{--dot:clamp(14px, 3.4cqw, 26px);--ham:clamp(11px, 4.1cqw, 20px);--lab:clamp(.62rem, 2.3cqw, .9rem);background-color:#0000;border:0;border-radius:0;width:min(106.383cqw,75.3425cqh);max-width:none;max-height:none;margin:0;position:absolute;top:50%;left:50%;translate:-50% -50%;container-type:size}.panel-map .scene{overflow:visible}.panel-map .scene:before{content:"";pointer-events:none;background:linear-gradient(#05060a,#0000 28px calc(100% - 28px),#05060a);position:absolute;inset:0}.panel-room .scene{-webkit-mask-image:linear-gradient(#0000,#000 28px calc(100% - 28px),#0000);mask-image:linear-gradient(#0000,#000 28px calc(100% - 28px),#0000)}.panel-map>:is(.heading,.body,.meta,.badge),.panel-room>:is(.heading,.body,.meta,.badge){clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.panel-map>.hint,.panel-room>.hint{z-index:4;left:50%;bottom:max(16px, env(safe-area-inset-bottom));width:max-content;max-width:calc(100% - 32px);color:var(--fg);opacity:1;text-align:center;pointer-events:none;background:#050608e6;border-radius:999px;margin:0;padding:8px 14px;position:absolute;translate:-50%}.panel-map>.notice,.panel-room>.notice,.panel-room>.trophy-card{z-index:4;left:max(12px, env(safe-area-inset-left));right:max(12px, env(safe-area-inset-right));background:#050608f0;margin:0;position:absolute}.panel-map>.notice,.panel-room>.notice{top:calc(max(.6rem, env(safe-area-inset-top)) + 52px)}.panel-room>.trophy-card{top:calc(max(.6rem, env(safe-area-inset-top)) + 52px);grid-template-columns:1fr auto;align-items:start;column-gap:8px;display:grid}.panel-room>.trophy-card .trophy-title{grid-area:1/1;align-self:center}.panel-room>.trophy-card .trophy-text{grid-area:2/1/auto/-1}.panel-room>.trophy-card .trophy-close{grid-area:1/2}.hud{z-index:3;top:calc(max(.6rem, env(safe-area-inset-top)) + 6px);left:max(var(--gap), env(safe-area-inset-left));pointer-events:none;gap:6px;display:flex;position:absolute}.hud-chip{white-space:nowrap;background:#090a0c99;border:1px solid #ffffff2e;border-radius:999px;padding:4px 10px;font-size:.8rem;line-height:1.3}.hud-label{letter-spacing:.05em;text-transform:uppercase;opacity:.7;font-size:.68rem}.hud-value{font-variant-numeric:tabular-nums;font-weight:700}.panel-map .mark-label,.panel-room .mark-label{font-size:var(--lab)}.panel-map .mark{justify-content:center;min-height:44px}.panel-map .mark-dot,.panel-room .mark-empty .mark-dot{width:var(--dot);height:var(--dot)}.panel-map .hammer{width:var(--ham);height:var(--ham)}.panel-room .mark-lit .mark-art,.panel-room .mark-dim .mark-art{width:3.5cqw;height:3.85cqw}.panel-room .mark-held .mark-art,.panel-room .mark-new .mark-art{width:auto;max-width:11.9cqw;height:10.5cqw}.nodes{--d:clamp(46px, 11.5cqw, 68px);--r:calc(var(--d) * 1.5);--lift:calc((var(--ham) + var(--lab) * 1.2 + 6px) / 2);z-index:2;width:0;height:0;translate:0 calc(var(--lift) * -1);position:absolute}.nodes[data-side=l]{translate:calc(var(--d) * .75) calc(var(--lift) * -1)}.nodes[data-side=r]{translate:calc(var(--d) * -.75) calc(var(--lift) * -1)}.node{--nd:max(44px, var(--d));width:var(--nd);height:var(--nd);margin:calc(var(--nd) / -2) 0 0 calc(var(--nd) / -2);border:3px solid var(--ring,#f6efe6d9);box-shadow:0 0 0 2px #000000a6, var(--glow,0 0 0 transparent);color:inherit;font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;translate:var(--dx) var(--dy);animation:.28s cubic-bezier(.2,1.5,.4,1) backwards node-pop;animation-delay:calc(var(--i,0) * 55ms);background:radial-gradient(circle at 50% 38%,#1e1f24eb,#050608f5);border-radius:50%;place-items:center;padding:0;display:grid;position:absolute;top:0;left:0}.node:first-child{--i:0;--dx:calc(var(--r) * -.7071);--dy:calc(var(--r) * -.7071)}.node:nth-child(2){--i:1;--dx:calc(var(--r) * .7071);--dy:calc(var(--r) * -.7071)}.node:nth-child(3){--i:2;--dx:calc(var(--r) * -.7071);--dy:calc(var(--r) * .7071)}.node:nth-child(4){--i:3;--dx:calc(var(--r) * .7071);--dy:calc(var(--r) * .7071)}.node:only-child{--dx:0px;--dy:calc(var(--r) * -1)}.node .hammer{width:56%;height:56%}.node .orb{width:38%;height:38%;margin:0;position:absolute;top:-12%;right:-12%}.node img.orb{box-shadow:none;background:0 0;border:0}.node img.orb-lit{filter:drop-shadow(0 0 4px #ffbe5ae6)}.node .btn-label{text-align:center;width:max-content;max-width:9em;font-size:var(--lab);color:#f6efe6;text-shadow:0 1px 2px #000,0 0 8px #000,0 0 14px #000;margin-top:3px;font-weight:700;line-height:1.15;position:absolute;top:100%;left:50%;translate:-50%}.node-gold{--ring:var(--accent);--glow:0 0 14px 3px #f9bc06a6}.node-red{--ring:var(--ad)}.node-empty{--ring:#f6efe6d9}.node:focus-visible{outline:3px solid var(--accent);outline-offset:3px}@keyframes node-pop{0%{opacity:0;translate:0;scale:.15}60%{opacity:1;scale:1.14}}.mark-on .mark-hammers,.mark-on .mark-label{opacity:0}.panel-map .scene:has(.nodes) .mark:not(.mark-on){opacity:.45}.mark-exit{padding:0}.mark-exit .mark-dot{color:#f6efe6f2;background:#090a0ca8;border:2px solid #f6efe6d9;place-items:center;width:clamp(44px,9cqw,64px);height:clamp(44px,9cqw,64px);animation:3s ease-in-out infinite spot-breathe;display:grid;box-shadow:0 0 14px #ffbe5a59}.mark-exit .glyph{width:55%;height:55%}@keyframes spot-breathe{50%{box-shadow:0 0 22px 4px #ffbe5a99}}.mark-mirror{aspect-ratio:190/405;-webkit-tap-highlight-color:transparent;padding:0}.mark-mirror .mark-dot{background:#0b0d12;border:3px solid #1a1306;border-radius:46% 46% 12% 12%/20% 20% 5% 5%;width:100%;height:100%;padding:0;animation:3.2s ease-in-out infinite spot-breathe;overflow:hidden;box-shadow:0 0 0 2px #ffd68c8c,0 0 16px #ffbe5a59}.mirror-glass{border-radius:inherit;background:radial-gradient(at 50% 38%,#7896aa59,#0c1016eb 70%);width:100%;height:100%;display:block;position:relative;overflow:hidden}.mirror-glass .outfit-layer{width:100%;height:88%;inset:8% 0 4%}.mirror-glass:after{content:"";pointer-events:none;background:linear-gradient(115deg,#fff3 0 16%,#0000 16% 28%,#ffffff17 28% 34%,#0000 34%);position:absolute;inset:0}.panel-room .scene{transition:transform .45s cubic-bezier(.22,.8,.3,1);transform:scale(1)translate(0%)}.panel-room .scene[data-zoom=in]{transform:scale(var(--pc-k)) translate(var(--pc-x), max(calc(var(--pc-y) + 45cqh / var(--pc-k)), calc(50cqh / var(--pc-k) - 50%)))}@media (prefers-reduced-motion:reduce){.panel-room .scene{transition:none}}.panel-shop>.notice{z-index:6}.panel-shop{--pc-top:calc(max(.6rem, env(safe-area-inset-top)) + 52px);--phosphor:var(--accent);--phosphor-dim:#f9bc069e;--phosphor-faint:#f9bc0638;--mono:ui-monospace, "SFMono-Regular", "Cascadia Mono", Menlo, Consolas, "Liberation Mono", monospace}.panel-shop .pc-sheet{z-index:5;top:var(--pc-top);width:min(100% - 28px,380px);max-height:calc(100cqh - var(--pc-top) - 16px - 36cqh);color:var(--phosphor);font-family:var(--mono);text-shadow:0 0 6px #f9bc0666;background:linear-gradient(#0b0905 0%,#050403 100%);border-radius:14px;flex-direction:column;display:flex;position:absolute;left:50%;overflow:hidden;translate:-50%;box-shadow:0 0 0 2px #000,0 0 0 7px #25272d,0 0 0 9px #000,0 18px 44px #000000bf,inset 0 0 70px #f9bc0612}.panel-shop .pc-sheet:after{content:"";border-radius:inherit;pointer-events:none;background:repeating-linear-gradient(0deg,#0003 0 1px,#0000 1px 3px),radial-gradient(at 50% 40%,#0000 55%,#00000080 100%);position:absolute;inset:0}.panel-shop .pc-bar{border-bottom:1px solid var(--phosphor-faint);align-items:stretch;display:flex}.panel-shop .pc-back{border:0;border-right:1px solid var(--phosphor-faint);min-width:44px;min-height:48px;color:var(--phosphor);font:600 .78rem var(--mono);letter-spacing:.08em;cursor:pointer;background:0 0;border-radius:0;align-items:center;gap:4px;padding:0 12px 0 8px;display:inline-flex}.panel-shop .pc-back .glyph{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.panel-shop .pc-back:hover{background:#f9bc061a}.panel-shop .pc-back:focus-visible,.panel-shop .pc-sheet .btn:focus-visible{outline:2px solid var(--phosphor);outline-offset:-3px}.panel-shop .pc-tabs{flex:1;grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.panel-shop .pc-sheet .btn.pc-tab{border:0;border-right:1px solid var(--phosphor-faint);min-height:48px;color:var(--phosphor-dim);font:700 .78rem var(--mono);letter-spacing:.06em;text-shadow:inherit;background:0 0;border-radius:0;padding:0 2px}.panel-shop .pc-sheet .btn.pc-tab:last-child{border-right:0}.panel-shop .pc-sheet .btn.pc-tab-on{background:var(--phosphor);color:#0a0805;text-shadow:none}.panel-shop .pc-screen{overscroll-behavior:contain;flex:1;min-height:0;padding:12px 14px 14px;overflow-y:auto}.panel-shop .pc-head{letter-spacing:.2em;color:var(--phosphor-dim);margin:0 0 8px;font-size:.72rem;font-weight:700}.panel-shop .pc-head:before{content:"> "}.panel-shop .pc-count{align-items:baseline;gap:12px;margin:0 0 6px;display:flex}.panel-shop .pc-count-label{letter-spacing:.16em;text-transform:uppercase;color:var(--phosphor-dim);font-size:.72rem}.panel-shop .pc-count-value{font-variant-numeric:tabular-nums;font-size:2.1rem;font-weight:700;line-height:1;display:inline-block}.panel-shop .pc-flash{animation:.65s ease-out pc-flash}@keyframes pc-flash{0%{color:#fff6cf;text-shadow:0 0 20px #fff6cf, 0 0 40px var(--phosphor);transform:scale(1.6)}to{transform:scale(1)}}@media (prefers-reduced-motion:reduce){.panel-shop .pc-flash{animation:none}}.panel-shop .pc-line{color:#f9bc06cc;margin:4px 0;font-size:.8rem;line-height:1.45}.panel-shop .pc-line:before{content:"› ";color:var(--phosphor-dim)}.panel-shop .pc-buttons,.panel-shop .pc-entry-nav{gap:8px;margin:10px 0 4px;display:grid}.panel-shop .pc-sheet .btn{min-height:44px;color:var(--phosphor);font:600 .8rem/1.25 var(--mono);letter-spacing:.04em;text-align:left;text-shadow:inherit;background:#f9bc060f;border:1px solid #f9bc0680;border-radius:6px;padding:6px 12px}.panel-shop .pc-sheet .btn.pc-tab{text-align:center}.panel-shop .pc-sheet .btn:not(.pc-tab):not([disabled]):hover{background:#f9bc0629}.panel-shop .pc-sheet .btn[disabled]{border-style:dashed;border-color:var(--phosphor-faint);color:var(--phosphor-dim);opacity:.55;background:0 0}.panel-shop .pc-foot{border-top:1px dashed var(--phosphor-faint);margin-top:10px;padding-top:6px}.panel-shop .pc-foot .btn{color:var(--phosphor-dim);text-underline-offset:3px;background:0 0;border-color:#0000;font-size:.7rem;text-decoration:underline}.panel-shop .pc-entry{margin-top:6px}.panel-shop .pc-entry-title{font:700 1rem/1.25 var(--mono);letter-spacing:.08em;text-shadow:0 0 10px #f9bc0699;margin:0 0 8px}.panel-shop .pc-entry-text{color:#ffe496f0;margin:0 0 8px;font-size:.85rem;line-height:1.6}.panel-shop .pc-entry-pos{letter-spacing:.14em;text-transform:uppercase;color:var(--phosphor-dim);margin:0;font-size:.7rem}.panel-shop .pc-entry-nav{grid-template-columns:repeat(3,1fr)}.panel-shop .pc-entry-nav .btn{text-align:center;padding:6px 4px;font-size:.74rem}.panel-shop .pc-sheet[data-tab=lore] .pc-buttons{gap:3px}.panel-shop .pc-sheet[data-tab=lore] .pc-buttons .btn{min-height:40px}.panel-shop .pc-sheet[data-tab=homes]{max-height:calc(100cqh - var(--pc-top) - 16px - 12cqh)}.panel-shop .homes{--home-pic:clamp(60px, 19cqw, 76px);gap:8px;margin:8px 0 0;padding:0;list-style:none;display:grid}.panel-shop .home{grid-template-columns:var(--home-pic) minmax(0, 1fr);background:#f9bc060d;border:1px solid #f9bc0680;border-radius:8px;gap:9px;padding:5px;display:grid}.panel-shop .home-owned{--home-pic:clamp(40px, 12cqw, 50px);align-items:center}.panel-shop .home-owned .home-blurb{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.panel-shop .home-pic{aspect-ratio:3/4;object-fit:cover;background:#120e07;border:1px solid #000;border-radius:4px;width:100%;display:block;box-shadow:0 0 0 1px #f9bc0666}.panel-shop .home-text{min-width:0}.panel-shop .home-name{font:700 .84rem/1.25 var(--mono);letter-spacing:.04em;margin:0 0 3px}.panel-shop .home-state{letter-spacing:.1em;text-transform:uppercase;border:1px solid #f9bc068c;align-items:center;gap:6px;margin:0 0 4px;padding:1px 6px;font-size:.66rem;font-weight:700;display:inline-flex}.panel-shop .home-blurb,.panel-shop .home-note{color:#ffe496e6;text-wrap:pretty;margin:0;font-size:.7rem;line-height:1.4}.panel-shop .home-note{color:var(--phosphor);margin-top:5px}.panel-shop .home .btn{text-wrap:balance;width:100%;margin-top:7px}.panel-shop .home-here{border:2px solid var(--phosphor);background:#f9bc061a;padding:5px;box-shadow:0 0 14px #f9bc064d,inset 0 0 20px #f9bc0614}.panel-shop .home-here .home-pic{box-shadow:0 0 0 2px var(--phosphor)}.panel-shop .home-here .home-state{border-color:var(--phosphor);background:var(--phosphor);color:#0a0805;text-shadow:none}.panel-shop .home-here .home-state:before{content:"";border:2px solid;border-width:0 2px 2px 0;width:4px;height:8px;margin:-2px 2px 0 1px;transform:rotate(45deg)}.panel-shop .home-next,.panel-shop .home-later{background:0 0;border-style:dashed}.panel-shop .home-next .home-state,.panel-shop .home-later .home-state{border-style:dashed}.panel-shop .home-later{border-color:var(--phosphor-faint)}.panel-shop .home-later .home-note{color:var(--phosphor-dim)}.panel-shop .home-next .home-pic,.panel-shop .home-later .home-pic{filter:grayscale()brightness(.85);opacity:.6}.panel-shop .home-later .home-pic{opacity:.45}@media (max-height:700px){.panel-shop .pc-sheet[data-tab=homes]{max-height:calc(100cqh - var(--pc-top) - 12px - 8cqh)}.panel-shop .homes{gap:6px;margin-top:6px}.panel-shop .home{gap:8px;padding:5px}.panel-shop .home-here{padding:4px}.panel-shop .home-blurb,.panel-shop .home-note{font-size:.68rem;line-height:1.35}}@container (width<=330px){.panel-shop .pc-back{justify-content:center;padding:0 10px}.panel-shop .pc-back span{display:none}}@container (width<=280px){.panel-shop .pc-sheet .btn.pc-tab{letter-spacing:.02em;font-size:.68rem}.panel-shop .pc-head{letter-spacing:.1em}}.panel-shop .pc-cursor{background:var(--phosphor);width:.55em;height:1em;box-shadow:0 0 8px var(--phosphor);vertical-align:-.12em;margin-left:.5em;animation:1.1s step-end infinite pc-blink;display:inline-block}@keyframes pc-blink{50%{opacity:0}}@media (prefers-reduced-motion:reduce){.panel-shop .pc-cursor{animation:none}}@media (max-height:700px){.panel-shop .pc-sheet{max-height:calc(100cqh - var(--pc-top) - 12px - 20cqh)}.panel-shop .pc-screen{padding:8px 12px 10px}.panel-shop .pc-count-value{font-size:1.7rem}.panel-shop .pc-buttons,.panel-shop .pc-entry-nav{gap:6px;margin:8px 0 2px}.panel-shop .pc-line{margin:2px 0;font-size:.74rem}.panel-shop .pc-sheet .btn{min-height:40px}}.panel-wardrobe{--glass-ink:#120d05;--glass-gold:#ffd68c99;flex-direction:column;display:flex}.panel-wardrobe .scene{transition:transform .45s cubic-bezier(.22,.8,.3,1),filter .45s}.panel-wardrobe .scene[data-zoom=in]{transform:scale(var(--pc-k)) translate(var(--pc-x), calc(var(--pc-y) - 13cqh / var(--pc-k)));filter:blur(1.5px)brightness(.42)}.panel-wardrobe .btn.btn-icon{right:auto;left:max(var(--gap), env(safe-area-inset-left))}.mirror-stage{z-index:2;min-height:0;padding:calc(max(.6rem, env(safe-area-inset-top)) + 6px) 16px 6px;flex-direction:column;flex:1 1 0;align-items:center;display:flex;position:relative}.mirror-frame{aspect-ratio:21/50;border:6px solid var(--glass-ink);max-width:100%;min-height:0;box-shadow:0 0 0 2px var(--glass-gold), 0 0 0 7px var(--glass-ink), 0 16px 44px #000c, 0 0 70px #ffbe5a29;border-radius:30px 30px 14px 14px;flex:1 1 0;animation:.42s cubic-bezier(.22,.8,.3,1) 80ms backwards mirror-in;position:relative}.mirror-pane{background:radial-gradient(90% 44% at 50% -6%,#ffeabea8,#ffd68c33 52%,#0000 78%),radial-gradient(54% 5.5% at 50% 96.5%,#ffd4968c,#0000 100%),linear-gradient(#212b3b 0%,#0d121a 58%,#05070b 100%);border-radius:24px 24px 8px 8px;position:absolute;inset:0;overflow:hidden;box-shadow:inset 0 0 38px 8px #000000c7}.mirror-pane:before{content:"";clip-path:polygon(36% 0,64% 0,98% 100%,2% 100%);pointer-events:none;background:linear-gradient(#ffeecd42,#0000 68%);position:absolute;inset:0}.mirror-pane:after{content:"";mix-blend-mode:screen;pointer-events:none;background:linear-gradient(104deg,#0000 38%,#ffffff38 47%,#ffffff12 53%,#0000 61%) 100% 0/300% 100%;animation:7s ease-in-out .7s infinite mirror-sheen;position:absolute;inset:0}.mirror-stack{transform-origin:50% 100%;will-change:transform;animation:4s ease-in-out infinite alternate mirror-breathe;position:absolute;inset:4% 5% 3%}.mirror-stack .outfit-layer{object-fit:contain;object-position:50% 100%}.mirror-name{letter-spacing:.32em;text-transform:uppercase;color:var(--accent);text-shadow:0 2px 0 var(--glass-ink), 0 0 14px #f9bc0673;margin:14px 0 0;padding-left:.32em;font-size:1.05rem;font-weight:800}.mirror-stage .orb-preview{width:40px;height:40px;box-shadow:0 0 16px 5px var(--orb-glow,#38f), inset 0 0 8px #00000059;position:absolute;bottom:60px;right:20px}.panel-wardrobe .kit-tabs,.panel-wardrobe .kit-group-buttons{z-index:2;background:#06070af0;margin:0;position:relative}.panel-wardrobe .kit-tabs{border-top:1px solid var(--glass-gold);padding:8px 10px 4px}.panel-wardrobe .kit-tab{min-height:36px}.panel-wardrobe .kit-group-buttons{box-sizing:border-box;height:130px;padding:4px 10px max(10px, env(safe-area-inset-bottom));grid-auto-rows:34px;align-content:start;overflow-y:auto}@keyframes mirror-in{0%{opacity:0;transform:scale(.96)}}@keyframes mirror-breathe{0%{transform:translateY(0)scale(1)}to{transform:translateY(-.7%)scale(1.008)}}@keyframes mirror-sheen{0%{background-position:100% 0}22%,to{background-position:0 0}}@media (prefers-reduced-motion:reduce){.panel-wardrobe .scene{transition:none}.mirror-frame,.mirror-stack{animation:none}.mirror-pane:after{display:none}}}
