:root{color-scheme:dark;--bg: #101418;--fg: #e8ecf1;--muted: #9aa5b1;--panel: rgba(16, 20, 24, .82);--accent: #f2b8c6;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--safe-right: env(safe-area-inset-right, 0px)}*{box-sizing:border-box}html,body,#root{margin:0;height:100%;width:100%;overflow:hidden;background:var(--bg);color:var(--fg);font-family:system-ui,-apple-system,PingFang SC,Noto Sans CJK SC,sans-serif}canvas{display:block;touch-action:none}.app-root{position:relative;height:100%;width:100%}.canvas-layer{position:absolute;inset:0}.birthday-overlay-2d{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.hud-layer{position:absolute;inset:0;pointer-events:none}.hud-layer>*{pointer-events:auto}.panel{background:var(--panel);border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:10px 12px;font-size:13px;line-height:1.4;backdrop-filter:blur(6px)}.panel h1,.panel h2{margin:0 0 6px;font-size:14px;font-weight:600}.panel label{display:flex;gap:8px;align-items:center;margin:4px 0;color:var(--muted)}.panel select,.panel input[type=range],.panel button{font:inherit}.panel button{background:#1d242c;color:var(--fg);border:1px solid rgba(255,255,255,.12);border-radius:6px;padding:4px 10px;cursor:pointer}.panel button:hover{border-color:var(--accent)}.panel button:disabled{opacity:.45;cursor:not-allowed}.showcase-index{max-width:560px;margin:48px auto;padding:0 16px}.showcase-index a{color:var(--accent)}.muted{color:var(--muted)}code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.character-notice{max-width:560px;margin:48px auto;padding:0 16px}.character-notice a,.character-gate a{color:var(--accent)}.character-gate{position:fixed;left:50%;bottom:24px;transform:translate(-50%);z-index:20;width:min(560px,calc(100vw - 32px))}.character-gate ul{margin:6px 0;padding-left:18px}.character-gate-error{color:#ff9b8a;font-size:12px;word-break:break-all}.character-gate-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.character-banner{position:fixed;top:8px;left:50%;transform:translate(-50%);z-index:20;max-width:calc(100vw - 32px);padding:4px 10px;border-radius:6px;background:#783c00d9;color:#fff;font-size:12px;pointer-events:none}.game-controls{position:absolute;top:calc(12px + var(--safe-top));left:calc(12px + var(--safe-left));width:250px;max-height:calc(100% - 24px - var(--safe-top) - var(--safe-bottom));overflow-y:auto}.game-controls[hidden]{display:none}.control-row{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:8px}.control-readout{display:grid;grid-template-columns:auto 1fr;gap:2px 10px;margin:8px 0;font-size:12px}.control-readout dt{color:var(--muted)}.control-readout dd{margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;overflow-wrap:anywhere}.countdown-readout{font-size:44px;font-weight:700;text-align:center;margin:4px 0;color:var(--accent)}.control-blockers{font-size:12px;padding-left:18px;margin:8px 0 0}.control-gate-reason,.scene-warning{font-size:12px;margin:4px 0 8px}.control-refusal{color:#f0a9b6;font-size:12px;margin:4px 0 8px}.audio-retry{margin-top:8px}.audio-retry .enable-sound{width:100%}.audio-error{color:#f0a9b6;font-size:12px;margin:6px 0 0;word-break:break-word}.hud-bottom{position:absolute;top:calc(12px + var(--safe-top));left:calc(12px + var(--safe-left));right:calc(12px + var(--safe-right));bottom:calc(12px + var(--safe-bottom));display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:8px;pointer-events:none}.hud-bottom>*{pointer-events:auto;flex:0 0 auto}.action-bar{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;max-width:100%}.action-bar button{font:inherit;background:var(--panel);color:var(--fg);border:1px solid rgba(255,255,255,.12);border-radius:8px;padding:8px 14px;min-height:40px;cursor:pointer;backdrop-filter:blur(6px)}@media(hover:hover)and (pointer:fine){.action-bar .action-interact,.action-bar .action-light,.action-bar .action-mute{display:none}.action-bar:not(:has(.action-close)){display:none}}.action-bar button:hover{border-color:var(--accent)}.action-bar button[aria-pressed=true]{border-color:var(--accent);color:var(--accent)}.dialogue-panel{width:min(460px,100%);flex:0 1 auto;min-height:0;max-height:46vh;overflow-y:auto}.dialogue-head{display:flex;align-items:center;gap:8px}.dialogue-head h2{margin:0;flex:1 1 auto}.dialogue-badge{font-size:11px;color:var(--accent);border:1px solid rgba(242,184,198,.4);border-radius:999px;padding:1px 8px;white-space:nowrap}.dialogue-close{flex:0 0 auto;min-height:32px}.dialogue-body{margin-top:8px}.dialogue-line{margin:0 0 6px}.content-hint{font-size:12px;margin:6px 0;color:var(--accent);border-left:2px solid rgba(242,184,198,.5);padding-left:8px;overflow-wrap:anywhere}.dialogue-photo{margin:8px 0 0}.dialogue-photo img{display:block;width:100%;height:auto;border-radius:8px}.photo-placeholder{display:grid;place-items:center;aspect-ratio:4 / 3;max-height:160px;border:1px dashed rgba(255,255,255,.25);border-radius:8px;color:var(--muted);font-size:12px}.hud-layer>.interaction-float-layer{position:absolute;top:calc(8px + var(--safe-top));right:calc(8px + var(--safe-right));bottom:calc(8px + var(--safe-bottom));left:calc(8px + var(--safe-left));pointer-events:none}.interaction-float-layer,.interaction-float-layer *{pointer-events:none}.interaction-float{--sticker-ink: #282629;--sticker-cream: #fff4e4;--sticker-red: #e7473f;--sticker-shift: 0px;position:absolute;left:0;top:0;width:0;height:0;visibility:hidden}.interaction-float[data-onscreen=true]{visibility:visible}.interaction-sticker{position:absolute;left:0;bottom:0;width:0;height:0;rotate:-2.5deg}.sticker-body{position:absolute;left:0;bottom:10px;translate:calc(-50% + var(--sticker-shift)) 0;display:flex;align-items:center;gap:8px;width:max-content;max-width:min(260px,calc(100vw - 32px - var(--safe-left) - var(--safe-right)));padding:6px 14px 6px 7px;background:var(--sticker-ink);color:var(--sticker-cream);border-radius:17px 19px 16px 20px/18px 16px 20px 17px;box-shadow:0 2px #00000047;font-size:14px;font-weight:650;line-height:1.3;letter-spacing:.01em;overflow-wrap:anywhere;transform-origin:50% 100%;animation:sticker-enter .2s cubic-bezier(.2,.9,.3,1.25) both,sticker-float 2.8s ease-in-out .24s infinite}.sticker-tail{position:absolute;left:-7px;bottom:0;width:0;height:0;border-left:7px solid transparent;border-right:7px solid transparent;border-top:11px solid var(--sticker-ink);animation:sticker-fade-in .2s ease-out both}.sticker-tab{position:absolute;top:-5px;left:16px;width:20px;height:8px;border-radius:3px 3px 1px 1px;background:var(--sticker-red);rotate:5deg}.sticker-key{flex:0 0 auto;display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--sticker-cream);color:var(--sticker-ink);font-size:14px;font-weight:800;line-height:1;box-shadow:inset 0 -2px #28262938}.sticker-key.is-pressed{animation:sticker-press .13s ease-out}.sticker-text{min-width:0}.sticker-sr{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.sticker-dots{position:absolute;top:-7px;right:-5px;width:22px;height:14px}.sticker-dots i{position:absolute;border-radius:50%;background:var(--sticker-red)}.sticker-dots i:nth-child(1){width:7px;height:7px;right:0;top:3px}.sticker-dots i:nth-child(2){width:5px;height:5px;right:9px;top:0}.sticker-dots i:nth-child(3){width:4px;height:4px;right:15px;top:8px}.sticker-dots.is-accepted i{animation:sticker-dot-pop .34s ease-out both}.sticker-dots.is-accepted i:nth-child(2){animation-delay:40ms}.sticker-dots.is-accepted i:nth-child(3){animation-delay:80ms}.interaction-float[data-below=true] .sticker-body{bottom:auto;top:10px;transform-origin:50% 0}.interaction-float[data-below=true] .sticker-tail{bottom:auto;top:0;border-top:0;border-bottom:11px solid var(--sticker-ink)}.interaction-float[data-raised=true]{z-index:1}.interaction-sticker-leaving .sticker-body{animation:sticker-exit .15s ease-in forwards}.interaction-sticker-leaving .sticker-tail{animation:sticker-fade-out .15s ease-in forwards}@keyframes sticker-enter{0%{opacity:0;transform:scale(.88)}65%{opacity:1;transform:scale(1.05)}to{opacity:1;transform:scale(1)}}@keyframes sticker-float{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}@keyframes sticker-press{0%{transform:scale(1)}40%{transform:scale(.82,.74)}to{transform:scale(1)}}@keyframes sticker-dot-pop{0%{transform:scale(.4);opacity:.4}55%{transform:scale(1.5);opacity:1}to{transform:scale(1);opacity:1}}@keyframes sticker-exit{to{opacity:0;transform:scale(.94)}}@keyframes sticker-fade-in{0%{opacity:0}to{opacity:1}}@keyframes sticker-fade-out{to{opacity:0}}.interaction-float[data-quality=low] .sticker-body{animation:sticker-enter .2s cubic-bezier(.2,.9,.3,1.25) both}.interaction-float[data-quality=low] .interaction-sticker-leaving .sticker-body{animation:sticker-exit .15s ease-in forwards}.interaction-float[data-quality=low] .sticker-dots{display:none}@media(hover:none)and (pointer:coarse){.sticker-key{display:none}.sticker-body{padding-left:14px}}@media(prefers-reduced-motion:reduce){.sticker-body,.sticker-tail,.sticker-key.is-pressed,.sticker-dots.is-accepted i,.interaction-float[data-quality=low] .sticker-body{animation:none}.interaction-sticker-leaving .sticker-body,.interaction-sticker-leaving .sticker-tail,.interaction-float[data-quality=low] .interaction-sticker-leaving .sticker-body{animation:none;opacity:0}.sticker-dots{display:none}}@media(max-width:520px){.sticker-body{font-size:13px;max-width:min(220px,calc(100vw - 32px - var(--safe-left) - var(--safe-right)))}}.scene-status{max-width:min(420px,100%);text-align:center}.scene-status-error{text-align:left;border-color:#f0a9b666}.scene-error-message{font-size:12px;margin:6px 0 10px;word-break:break-word;color:#f0a9b6}.scene-retry{width:100%}@media(max-width:520px){.game-controls{width:calc(100% - 24px - var(--safe-left) - var(--safe-right));max-height:38%}.action-bar button{flex:1 1 auto;min-width:96px}.dialogue-panel{max-height:38vh}.dialogue-head{flex-wrap:wrap}.dialogue-badge{order:3;flex-basis:100%;text-align:center}.photo-placeholder{max-height:120px}}@media(max-height:420px){.hud-bottom{align-items:flex-end}.game-controls{width:230px;max-height:calc(100% - 96px - var(--safe-top) - var(--safe-bottom));font-size:12px}.countdown-readout{font-size:30px}.dialogue-panel{max-height:none;width:min(420px,100%)}.photo-placeholder{max-height:96px}.action-bar button{padding:6px 12px;min-height:36px}}@media(max-width:520px)and (max-height:420px){.game-controls{width:200px;max-height:calc(100% - 88px)}}@font-face{font-family:ZCOOL KuaiLe Chatter;src:url(/fonts/zcool-kuaile-chatter.woff) format("woff");font-display:block}.visually-hidden{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.talk-dialogue{position:relative;width:min(600px,100%);min-height:110px;box-sizing:border-box;padding:26px 30px 22px;color:#fff;font-family:ZCOOL KuaiLe Chatter,PingFang SC,sans-serif;font-size:18px;line-height:1.6;cursor:pointer;outline:none;user-select:none;animation:talk-pop .22s cubic-bezier(.3,1.6,.5,1) both;transform-origin:50% 100%}.talk-dialogue-bg{position:absolute;inset:0;width:100%;height:100%;z-index:0;filter:drop-shadow(0 4px 10px rgba(0,0,0,.35))}.talk-dialogue-bg path{fill:#141414}.talk-dialogue-plate{position:absolute;top:-16px;left:18px;z-index:2;padding:3px 16px;background:#d6f03a;color:#1a1a1a;font-size:17px;line-height:1.4;transform:rotate(-4deg) skew(-10deg);box-shadow:0 2px #00000059}.talk-dialogue-plate>span{display:inline-block;transform:skew(10deg)}.talk-dialogue-text{position:relative;z-index:1;margin:0;min-height:1.6em;white-space:pre-wrap;overflow-wrap:anywhere}.talk-dialogue-text.content-hint{font-size:14px;color:#f0e6a0}.talk-dialogue-next{position:absolute;right:22px;bottom:14px;z-index:1;width:0;height:0;border-left:9px solid transparent;border-right:9px solid transparent;border-top:12px solid #d6f03a;animation:talk-bob .7s ease-in-out infinite alternate}@keyframes talk-pop{0%{transform:scale(.86);opacity:0}to{transform:scale(1);opacity:1}}@keyframes talk-bob{0%{transform:translateY(0)}to{transform:translateY(5px)}}@media(prefers-reduced-motion:reduce){.talk-dialogue,.talk-dialogue-next{animation:none}}@media(max-width:520px){.talk-dialogue{font-size:16px;padding:24px 20px 20px}}.collectibles-strip{position:absolute;top:calc(12px + var(--safe-top));left:calc(12px + var(--safe-left));display:flex;gap:8px;margin:0;padding:0;list-style:none;pointer-events:none}.collectibles-strip li{display:block;width:64px;height:64px}.collectibles-strip li.is-new{animation:collectible-pop .42s ease-out both}.collectibles-strip img{display:block;width:100%;height:100%;object-fit:contain;user-select:none;filter:drop-shadow(0 2px 3px rgba(0,0,0,.35))}.collectible-missing{display:flex;align-items:center;justify-content:center;width:100%;height:100%;border:2px dashed currentColor;border-radius:10px;font-size:11px;text-align:center;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.6)}.collectible-button{display:block;width:100%;height:100%;padding:0;border:0;background:none;cursor:pointer;pointer-events:auto;transition:transform .12s ease-out}.collectible-button:hover{transform:scale(1.08)}.collectible-button:focus-visible{outline:2px solid #fff;outline-offset:2px;border-radius:12px}.collectible-viewer{position:absolute;inset:0;z-index:40;pointer-events:auto;cursor:pointer;animation:collectible-viewer-in .2s ease-out both}.collectible-viewer__scrim{position:absolute;inset:0;background:#3030349e}@keyframes collectible-viewer-in{0%{opacity:0}to{opacity:1}}@keyframes collectible-pop{0%{transform:scale(.4);opacity:0}70%{transform:scale(1.15)}to{transform:scale(1);opacity:1}}@media(max-width:480px),(max-height:420px){.collectibles-strip li{width:48px;height:48px}}@media(prefers-reduced-motion:reduce){.collectibles-strip li.is-new{animation:none}}.emote-fx{position:relative;width:0;height:0;pointer-events:none}.emote-fx img{position:absolute;display:block;user-select:none;opacity:0;transform-origin:50% 50%;animation:emote-fx-pop 1.45s ease-out both;animation-delay:var(--fx-delay, .25s)}.emote-fx__star{width:48px;height:48px;margin:-24px 0 0 -24px}.emote-fx__star--a{left:-28px;top:0;--fx-delay: .25s}.emote-fx__star--b{left:31px;top:-11px;--fx-delay: .37s}.emote-fx__sparkle{width:20px;height:20px;margin:-10px 0 0 -10px}.emote-fx__sparkle--a{left:3px;top:-31px;--fx-delay: .3s}.emote-fx__sparkle--b{left:-53px;top:-22px;--fx-delay: .42s}.emote-fx__sparkle--c{left:56px;top:20px;--fx-delay: .45s}@keyframes emote-fx-pop{0%{opacity:0;transform:translateY(0) scale(0)}24%{opacity:1;transform:translateY(-12px) scale(1.2)}34%{opacity:1;transform:translateY(-16px) scale(1)}70%{opacity:1;transform:translateY(-40px) scale(1)}to{opacity:0;transform:translateY(-55px) scale(1)}}@media(prefers-reduced-motion:reduce){.emote-fx img{animation-name:emote-fx-fade}@keyframes emote-fx-fade{0%{opacity:0}25%{opacity:1}75%{opacity:1}to{opacity:0}}}@font-face{font-family:Entry Plate;src:url(/fonts/entry-plate.woff2) format("woff2"),url(/fonts/entry-plate.ttf) format("truetype"),url(/fonts/entry-plate.otf) format("opentype");font-display:swap}.entry-overlay{--entry-ink: #2a0309;--entry-lime: #e9ff3b;--entry-violet: #ff3fae;--entry-cyan: #2df5d0;--entry-tube-core: #fff7ec;--entry-salmon: #ff7a1f;position:absolute;inset:0;z-index:10;overflow:hidden;isolation:isolate;padding:0;color:var(--entry-tube-core);background:radial-gradient(ellipse 70% 60% at 28% 38%,rgba(255,70,90,.38),transparent 70%),radial-gradient(ellipse 60% 70% at 78% 62%,rgba(255,40,120,.22),transparent 70%),linear-gradient(160deg,#b0101f,#7c0716 55%,#4a020c);font-family:Arial Black,PingFang SC,Microsoft YaHei,system-ui,sans-serif}.entry-overlay:before{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(rgba(30,0,6,.28) 2px,transparent 2px) 0 0 / 46px 46px,linear-gradient(90deg,rgba(30,0,6,.28) 2px,transparent 2px) 0 0 / 46px 46px;mask-image:radial-gradient(ellipse 90% 80% at 50% 50%,transparent 30%,#000 100%)}.entry-overlay:after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse 85% 85% at 50% 45%,transparent 55%,rgba(20,0,4,.55) 100%)}.entry-content{position:relative;width:100%;height:100%;padding:0}.entry-graphic{position:absolute;pointer-events:none}.entry-marquee{position:absolute;z-index:1;right:max(5%,calc(20px + var(--safe-right, 0px)));top:50%;width:min(42vw,78vh * 604 / 664,620px);aspect-ratio:604 / 664;transform:translateY(-50%) rotate(2deg);filter:drop-shadow(10px 14px 10px rgba(26,0,4,.6));pointer-events:none}.entry-marquee__board{display:block;width:100%;height:100%;overflow:visible}.entry-marquee__fallback{font:1000 180px/1 system-ui,sans-serif;fill:#f1e2c4;opacity:.5}.entry-bulb{fill:#fff1b8;animation:entry-chase 1.1s steps(1,end) infinite}.entry-bulb--b{animation-delay:-.55s}@keyframes entry-chase{0%,49.9%{fill:#fff1b8;opacity:1}50%,to{fill:#7a5a2a;opacity:.7}}.entry-graphic--lime{z-index:-1;width:24vw;min-width:210px;height:16vw;min-height:125px;left:-7%;bottom:-6%;background:transparent;border:7px solid var(--entry-lime);border-radius:51% 42% 53% 36%/56% 40% 60% 43%;box-shadow:0 0 10px var(--entry-lime),0 0 30px var(--entry-lime),inset 0 0 12px var(--entry-lime);transform:rotate(15deg)}.entry-heading{position:absolute;z-index:3;left:max(2%,calc(10px + var(--safe-left)));top:max(5%,calc(14px + var(--safe-top)));width:min(47vw,720px);pointer-events:none}.entry-heading h1{margin:0;line-height:0}.entry-sign{display:block;width:100%}.entry-sign svg{display:block;width:100%;height:auto;overflow:visible}.entry-sign__flicker{animation:entry-flicker 6s steps(1,end) infinite}.entry-sign-text{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}@keyframes entry-flicker{0%,61%,64%,67%,to{opacity:1}62%,66%{opacity:.35}}.entry-stage-fallback{position:absolute;inset:0;display:grid;place-items:center;font:1000 clamp(120px,19vw,260px)/1 system-ui,sans-serif;color:var(--entry-tube-core);-webkit-text-stroke:5px var(--entry-violet);paint-order:stroke fill;text-shadow:0 0 12px var(--entry-violet),0 0 40px var(--entry-violet)}.entry-actions{position:absolute;z-index:4;left:calc(max(2%,calc(10px + var(--safe-left))) + min(47vw,720px)/2);translate:-50% 0;top:65%}.entry-overlay .enter-house{--plate-face: #ff6a4d;--plate-depth: #a8321f;--plate-ink: #2b1210;--neon-tube: #54f6e4;--neon-halo: #ff4fd8;position:relative;display:block;width:7.4em;height:3.7em;padding:0;border:0;background:none;color:var(--plate-ink);font:1000 44px/1 Entry Plate,PingFang SC,Microsoft YaHei,system-ui,sans-serif;letter-spacing:.08em;cursor:pointer;transform:rotate(-5deg);transition:transform .16s ease-out;-webkit-tap-highlight-color:transparent}.enter-house__plate{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.enter-house__plate path{stroke-linejoin:round;stroke-linecap:round}.enter-house__depth{fill:var(--plate-depth);transform:translate(-9px,9px);transition:transform .16s ease-out}.enter-house__face{fill:var(--plate-face);transition:transform .16s ease-out}.enter-house__icon{fill:#c9452e;stroke:#c9452e;stroke-width:6;stroke-linejoin:round;transition:transform .16s ease-out}.enter-house__neon{transform:translate(9px,-9px)}.enter-house__neon-halo,.enter-house__neon-tube,.enter-house__neon-core{fill:none;transition:transform .16s ease-out,opacity .16s ease-out}.enter-house__neon-halo{stroke:var(--neon-halo);stroke-width:9;opacity:.55;filter:blur(4px)}.enter-house__neon-tube{stroke:var(--neon-tube);stroke-width:5;filter:drop-shadow(0 0 3px var(--neon-tube)) drop-shadow(0 0 10px var(--neon-halo))}.enter-house__neon-core{stroke:#effffc;stroke-width:1.6}.enter-house__label{position:absolute;left:36%;right:6%;top:4.6%;height:66%;display:flex;align-items:center;justify-content:center;gap:.35em;transition:transform .16s ease-out}.enter-house__dots{display:flex;align-items:center;gap:.24em}.enter-house__dots i{width:.3em;height:.3em;border-radius:50%;background:currentColor;opacity:0;animation:enter-dot 1.5s ease-in-out infinite}.enter-house__dots i:nth-child(2){animation-delay:.2s}.enter-house__dots i:nth-child(3){animation-delay:.4s}@keyframes enter-dot{0%,8%{opacity:0}22%,62%{opacity:1}76%,to{opacity:0}}.entry-overlay .enter-house:hover{transform:rotate(-3deg) translateY(-3px)}.entry-overlay .enter-house:hover .enter-house__neon-halo{opacity:.85}.entry-overlay .enter-house:active .enter-house__face,.entry-overlay .enter-house:active .enter-house__icon,.entry-overlay .enter-house:active .enter-house__neon-halo,.entry-overlay .enter-house:active .enter-house__neon-tube,.entry-overlay .enter-house:active .enter-house__neon-core{transform:translate(-6px,6px)}.entry-overlay .enter-house:active .enter-house__label{transform:translate(-2.4%,4.6%)}.entry-overlay .enter-house:focus-visible{outline:4px solid var(--entry-cyan);outline-offset:10px;border-radius:22px}.entry-overlay .enter-house:disabled{cursor:default;opacity:.78}.entry-error{max-width:270px;margin:21px 0 0;padding:7px 9px;background:#28000abf;border:3px solid var(--entry-cyan);box-shadow:0 0 10px var(--entry-cyan);color:#fff;font-size:12px;font-weight:800}.entry-overlay--exiting{animation:entry-leave .72s ease-in both;pointer-events:none}.entry-overlay--exiting .entry-heading,.entry-overlay--exiting .entry-actions{animation:entry-fade .4s ease-out both}.entry-overlay--exiting .entry-marquee__house{animation:entry-push .72s cubic-bezier(.22,.72,.2,1) both;transform-box:fill-box;transform-origin:center}@keyframes entry-fade{to{opacity:0;transform:translateY(-15px)}}@keyframes entry-push{to{transform:scale(1.6);opacity:.55}}@keyframes entry-leave{0%,38%{opacity:1}to{opacity:0}}@media(max-width:600px)and (min-height:481px){.entry-graphic--lime{width:55vw;height:20vh;bottom:-11%}.entry-marquee{right:auto;left:50%;top:53%;width:min(82vw,48vh * 604 / 664);transform:translate(-50%,-50%) rotate(2deg)}.entry-heading{top:max(4%,calc(24px + var(--safe-top)));left:3vw;width:94vw}.entry-actions{left:50%;top:auto;bottom:max(7%,calc(34px + var(--safe-bottom)))}.entry-overlay .enter-house{font-size:34px}.entry-error{position:absolute;bottom:-65px;left:50%;transform:translate(-50%);width:240px}}@media(max-height:480px){.entry-graphic--lime{width:30vw;height:30vh;bottom:-19%}.entry-marquee{right:4%;width:min(44vw,86vh * 604 / 664)}.entry-heading{left:max(2%,calc(10px + var(--safe-left)));top:4%;width:42vw}.entry-actions{left:calc(max(2%,calc(10px + var(--safe-left))) + 21vw);top:auto;bottom:max(12%,calc(19px + var(--safe-bottom)))}.entry-overlay .enter-house{font-size:27px}.entry-error{position:absolute;left:0;bottom:-49px;min-width:220px;margin:0;font-size:10px}}@media(prefers-reduced-motion:reduce){.entry-overlay *,.entry-overlay:before,.entry-overlay:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.entry-bulb{animation:none!important}.enter-house__dots i{animation:none!important;opacity:1}.entry-overlay--exiting{opacity:0}}.cabinet-showcase{position:absolute;inset:0;z-index:40;overflow:hidden;background:#0d0b14;color:#fff;font-family:ZCOOL KuaiLe Chatter,PingFang SC,sans-serif;outline:none;pointer-events:auto;animation:cs-fade-in .2s ease-out both}.cs-stage{position:absolute;inset:0}.cs-placeholder{display:grid;place-items:center;width:100%;height:100%;min-height:120px;box-sizing:border-box;border:2px dashed rgba(255,255,255,.45);border-radius:10px;background:#ffffff0f;color:#fffc;font-size:15px;text-align:center;padding:12px}.cs-figure-card .cs-placeholder{color:#444;border-color:#00000059;background:#0000000d}.cs-sticker{--sticker-ink: #282629;--sticker-cream: #fff4e4;--sticker-red: #e7473f;position:relative;display:inline-flex;align-items:center;gap:8px;padding:8px 18px 8px 14px;background:var(--sticker-ink);color:var(--sticker-cream);font-size:17px;line-height:1.2;white-space:nowrap;border-radius:12px 10px 13px 9px/10px 13px 9px 12px;box-shadow:0 3px #00000073}.cs-sticker-tab{position:absolute;left:-5px;top:-6px;width:22px;height:9px;background:var(--sticker-red);border-radius:3px;transform:rotate(-8deg)}.cs-sticker-key{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--sticker-cream);color:var(--sticker-ink);font-weight:700;font-size:14px}.cs-sticker-float{animation:cs-float 2.6s ease-in-out infinite}.cs-sticker-btn{font:inherit;background:none;border:0;padding:6px;cursor:pointer}.cs-sticker-btn:focus-visible{outline:2px solid #d6f03a;outline-offset:2px;border-radius:14px}.cs-sticker-row{position:absolute;left:0;right:0;bottom:calc(28px + var(--safe-bottom, 0px));display:flex;justify-content:center;z-index:3}.cs-cabinet-stage{position:absolute;inset:0;overflow:hidden;container-type:size;background:#0d0b14}.cs-cabinet-frame{position:absolute;left:50%;top:50%;translate:-50% -50%;aspect-ratio:var(--cs-ar);width:max(100cqw,100cqh * var(--cs-ar))}.cs-cabinet-img{display:block;width:100%;height:100%;object-fit:fill;user-select:none}.cs-hotspot{position:absolute;box-sizing:border-box;padding:0;background:#ffffff14;border:3px solid #fff;border-radius:8px;box-shadow:0 0 0 2px #00000073,0 0 18px #ffffff8c;cursor:pointer;animation:cs-hotspot-pulse 1.4s ease-in-out infinite}.cs-hotspot:focus-visible{outline:2px solid #d6f03a;outline-offset:3px}.cs-hotspot-sticker{position:absolute;left:50%;bottom:calc(100% + 10px);translate:-50% 0;pointer-events:none}.cs-dialogue{position:absolute;left:50%;top:50%;translate:-50% -50%;z-index:3;width:min(560px,calc(100% - 32px));min-height:84px;padding-top:20px;padding-bottom:18px}.cs-dialogue-text{font-size:26px;letter-spacing:.1em}.cs-backdrop{z-index:0;isolation:isolate}.cs-scrim{position:absolute;inset:0;z-index:2;background:#3030349e;animation:cs-fade-in .3s ease-out both}.cs-box-stage,.cs-unboxing-stage,.cs-figure-wrap{position:absolute;inset:0}.cs-figure-exit{cursor:pointer}.cs-pedestal{position:absolute;left:50%;top:76%;width:min(70vw,520px);height:min(18vh,130px);translate:-50% -50%;border-radius:50%;background:radial-gradient(ellipse at center,#ffffffd9,#ffffff59 40%,#fff0 70%)}.cs-box-scene{--bh: min(52vh, 420px);--bw: calc(var(--bh) * var(--box-ratio-w, .56));--bd: calc(var(--bh) * var(--box-ratio-d, .56));position:absolute;left:50%;top:46%;width:0;height:0;perspective:1400px}.cs-box{position:absolute;left:0;top:0;transform-style:preserve-3d}.cs-box-swing{animation:cs-swing 14s ease-in-out infinite}.cs-box-shake{animation:cs-shake .5s ease-in-out both}.cs-face{position:absolute;left:0;top:0;box-sizing:border-box;backface-visibility:hidden;background-color:#48a291}.cs-face[data-placeholder=box]{display:grid;place-items:center;border:2px dashed rgba(255,255,255,.6);font-size:14px;color:#fff;text-align:center}.cs-face-front{width:var(--bw);height:var(--bh);transform:translate(-50%,-50%) translateZ(calc(var(--bd) / 2))}.cs-face-back{width:var(--bw);height:var(--bh);transform:translate(-50%,-50%) rotateY(180deg) translateZ(calc(var(--bd) / 2))}.cs-face-right{width:var(--bd);height:var(--bh);transform:translate(-50%,-50%) rotateY(90deg) translateZ(calc(var(--bw) / 2))}.cs-face-left{width:var(--bd);height:var(--bh);transform:translate(-50%,-50%) rotateY(-90deg) translateZ(calc(var(--bw) / 2))}.cs-face-top{width:var(--bw);height:var(--bd);transform:translate(-50%,-50%) rotateX(90deg) translateZ(calc(var(--bh) / 2))}.cs-face-bottom{width:var(--bw);height:var(--bd);transform:translate(-50%,-50%) rotateX(-90deg) translateZ(calc(var(--bh) / 2))}.cs-box-open{position:absolute;inset:0;animation:cs-box-out .55s ease-in .5s both}.cs-flash{position:absolute;inset:0;background:#fff;opacity:0;animation:cs-flash .5s ease-out .55s both;pointer-events:none}.cs-rays{position:absolute;left:50%;top:46%;width:150vmax;height:150vmax;margin:-75vmax 0 0 -75vmax;background:repeating-conic-gradient(from 0deg,#ffffff8c 0deg 6deg,#fff0 6deg 22deg);opacity:0;animation:cs-rays 1s ease-out .5s both,cs-spin 8s linear infinite;pointer-events:none}.cs-spotlight-late{opacity:0;animation:cs-fade-in .6s ease-out .9s both}.cs-figure-layer{pointer-events:none}.cs-figure-stage{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none}.cs-spotlight{position:absolute;inset:0;background:radial-gradient(ellipse 55% 70% at 50% 8%,#fff6d6e6,#fff6d600 70%),radial-gradient(ellipse at 50% 55%,#3a3550,#0d0b14 80%)}.cs-figure-card{position:relative;box-sizing:border-box;width:min(86vw,62vh,620px);aspect-ratio:1 / 1;padding:14px;background:#f7f4ee;border-radius:18px;box-shadow:0 0 0 4px #fff,0 18px 50px #0000008c}.cs-figure-img{display:block;width:100%;height:100%;object-fit:contain;border-radius:10px;user-select:none}.cs-figure-model{position:absolute;inset:14px;pointer-events:none}.cs-figure-model canvas{display:block;width:100%!important;height:100%!important;pointer-events:none}.cs-figure-card[data-figure-mode=model]{background:transparent;box-shadow:none}.cs-figure-card[data-figure-mode=model][data-model-ready=true] .cs-figure-model{filter:drop-shadow(0 12px 18px rgba(0,0,0,.45))}.cs-figure-card.is-popping{opacity:0;animation:cs-pop .7s cubic-bezier(.2,1.4,.4,1) .9s both}@media(prefers-reduced-motion:reduce){.cabinet-showcase,.cs-sticker-float,.cs-hotspot,.cs-box-swing,.cs-box-shake{animation:none}.cs-box-swing{transform:rotateY(-25deg) rotateX(-6deg)}.cs-box-open{animation:cs-fade-out .3s linear both}.cs-spotlight-late,.cs-figure-card.is-popping{animation:cs-fade-in .3s linear both}.cs-rays,.cs-flash{display:none}}@media(max-width:520px){.cs-sticker{font-size:15px;padding:7px 14px 7px 12px}.cs-dialogue-text{font-size:22px}}@keyframes cs-fade-in{0%{opacity:0}to{opacity:1}}@keyframes cs-fade-out{0%{opacity:1}to{opacity:0}}@keyframes cs-float{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes cs-hotspot-pulse{0%,to{box-shadow:0 0 0 2px #00000073,0 0 10px #fff6}50%{box-shadow:0 0 0 2px #00000073,0 0 26px #ffffffe6}}@keyframes cs-swing{0%{transform:rotateX(-8deg) rotateY(-55deg)}35%{transform:rotateX(-8deg) rotateY(55deg)}70%{transform:rotateX(-8deg) rotateY(-55deg)}to{transform:rotateX(-8deg) rotateY(-415deg)}}@keyframes cs-shake{0%,to{transform:rotateX(-8deg) rotateY(-25deg) rotate(0)}15%{transform:rotateX(-8deg) rotateY(-25deg) rotate(-7deg)}35%{transform:rotateX(-8deg) rotateY(-25deg) rotate(7deg)}55%{transform:rotateX(-8deg) rotateY(-25deg) rotate(-5deg)}75%{transform:rotateX(-8deg) rotateY(-25deg) rotate(5deg)}}@keyframes cs-box-out{0%{transform:scale(1);opacity:1}to{transform:scale(1.5);opacity:0}}@keyframes cs-flash{0%{opacity:0}30%{opacity:.95}to{opacity:0}}@keyframes cs-rays{0%{opacity:0}30%{opacity:.85}to{opacity:0}}@keyframes cs-spin{to{transform:rotate(360deg)}}@keyframes cs-pop{0%{opacity:0;transform:scale(.4) rotate(-8deg)}70%{opacity:1;transform:scale(1.08) rotate(2deg)}to{opacity:1;transform:scale(1) rotate(0)}}.chatter-anchor{position:absolute;left:0;bottom:0;transform:translate(-50%);pointer-events:none;user-select:none}.chatter-bubble{position:relative;margin-bottom:12px;padding:10px 18px;border-radius:22px;background:#fff8e6;color:#5b4632;font-family:ZCOOL KuaiLe Chatter,PingFang SC,sans-serif;font-size:16px;line-height:1.35;white-space:nowrap;box-shadow:0 3px #5b46322e,0 6px 14px #0000002e;transform-origin:50% 100%;animation:chatter-pop .28s cubic-bezier(.3,1.6,.5,1) both}.chatter-text{display:inline-block;min-width:1em}.chatter-tail{position:absolute;left:50%;bottom:-11px;width:0;height:0;margin-left:-9px;border-left:9px solid transparent;border-right:9px solid transparent;border-top:12px solid #fff8e6}@keyframes chatter-pop{0%{transform:scale(0)}to{transform:scale(1)}}@media(max-width:520px){.chatter-bubble{font-size:15px}}@media(prefers-reduced-motion:reduce){.chatter-bubble{animation:none}}
