:root{--night-1:#0d0626;--night-2:#231250;--night-3:#4b2a7a;--ink:#fff;--muted:#ffffffb3;--glass:#ffffff17;--glass-edge:#ffffff38;--pink:#ff7fb0;--gold:#ffc233;--mint:#6dffc0;--cyan:#7fe6ff;--font-title:"Mochiy Pop One", "M PLUS Rounded 1c", system-ui, sans-serif;--font-ui:"M PLUS Rounded 1c", system-ui, sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:linear-gradient(180deg, var(--night-1) 0%, var(--night-2) 55%, #6a2f7f 100%) fixed;color:var(--ink);font-family:var(--font-ui);-webkit-tap-highlight-color:transparent;overscroll-behavior:none}h1,h2{font-family:var(--font-title);margin:0;font-weight:400}.backdrop{z-index:0;pointer-events:none;position:fixed;inset:0;overflow:hidden}.moon{opacity:.9;background:radial-gradient(circle at 35% 35%,#fff8e0 0,#ffe9a8 45%,#ffcf7a 100%);border-radius:50%;width:120px;height:120px;position:absolute;top:9%;right:12%;box-shadow:0 0 60px 20px #ffd68259,0 0 160px 60px #ff7fb02e}.skyline{width:100%;height:38vh;min-height:200px;position:absolute;bottom:0;left:0;right:0}.skyline.far{opacity:.85;transform:translateY(-14px)}.win{animation:3.2s ease-in-out infinite flicker}@keyframes flicker{0%,to{opacity:1}45%{opacity:.35}60%{opacity:.9}}.lanterns{height:160px;position:absolute;inset:0 0 auto}.lantern{width:26px;height:34px;transform-origin:50% calc(-1 * var(--len));margin-left:-13px;animation:5s ease-in-out infinite sway;position:absolute;top:0}.lantern:before{content:"";width:2px;height:var(--len);background:#ffd68280;position:absolute;bottom:34px;left:12px}.lantern:after{content:"";background:radial-gradient(circle at 40% 35%,#ffd89a 0,#ff8a4a 55%,#d8342f 100%);border-radius:46%/40%;position:absolute;inset:0;box-shadow:0 0 22px 8px #ff8a4a8c,0 0 70px 24px #ff8a4a40}.lantern{top:var(--len)}@keyframes sway{0%,to{transform:rotate(-4deg)}50%{transform:rotate(4deg)}}.petal{opacity:.8;background:linear-gradient(135deg,#ffd1e3,#ff7fb0);border-radius:80% 20%;animation:linear infinite drift;position:absolute;top:-20px}@keyframes drift{0%{transform:translateY(-20px)rotate(0)}50%{transform:translate(40px,55vh)rotate(200deg)}to{transform:translate(-20px,110vh)rotate(420deg)}}.screen{z-index:1;max-width:620px;min-height:100dvh;padding:calc(10px + env(safe-area-inset-top)) 16px 10px;flex-direction:column;gap:8px;margin:0 auto;display:flex;position:relative}.btn{font:inherit;color:#fff;cursor:pointer;background:var(--glass);border:0;border:1px solid var(--glass-edge);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:999px;min-height:46px;padding:0 22px;font-weight:800;transition:transform .12s ease-out,box-shadow .2s}.btn:active{transform:scale(.96)}.btn.primary{color:#2a0f2e;background:linear-gradient(#ffe37a 0%,#ffb02e 100%);border:0;box-shadow:0 5px #c97a00,0 8px 28px #ffb22e80}.btn.primary:hover{box-shadow:0 5px #c97a00,0 8px 36px #ffb22ecc}.btn.ghost{color:var(--muted);background:0 0;border-color:#0000}.btn.round{background:var(--glass);border-color:var(--glass-edge);color:#fff;width:46px;padding:0;font-size:1.1rem}.btn:focus-visible,.level:focus-visible{outline:3px solid var(--cyan);outline-offset:3px}.title{text-align:center;justify-content:center;align-items:center;overflow:hidden}.title>*{position:relative}.title>.floaters{position:absolute}.title h1{background:linear-gradient(#fff 0%,#ffe6a8 40%,#ff9fc6 100%);color:#0000;filter:drop-shadow(0 4px #781e5ab3)drop-shadow(0 0 24px #ff7fb0b3);-webkit-background-clip:text;background-clip:text;margin-top:4px;font-size:clamp(3.2rem,15vw,5rem);line-height:1}.title .tag{font-family:var(--font-title);color:var(--mint);text-shadow:0 0 18px #6dffc0cc;margin:-2px 0 14px;font-size:1.5rem}.title .btn.primary{min-width:210px;min-height:60px;font-size:1.35rem;animation:2.2s ease-in-out infinite pulse}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.fine{color:var(--muted);max-width:28ch;font-size:.9rem}.floaters{pointer-events:none;inset:0}.floater{filter:drop-shadow(0 0 18px #ffc8788c);animation:4.6s ease-in-out infinite bob;position:absolute}.f0{width:108px;animation-delay:-.5s;top:9%;left:5%}.f1{width:98px;animation-delay:-1.7s;top:15%;right:6%}.f2{width:92px;animation-delay:-2.6s;top:30%;left:1%}.f3{width:104px;animation-delay:-3.1s;top:33%;right:1%}.f4{width:100px;animation-delay:-1.1s;bottom:14%;left:6%}.f5{width:96px;animation-delay:-2.2s;bottom:13%;right:7%}@keyframes bob{0%,to{transform:translateY(0)rotate(-4deg)}50%{transform:translateY(-14px)rotate(4deg)}}.mascot{filter:drop-shadow(0 6px 14px #00000073);transform-origin:50% 90%;animation:3.4s ease-in-out infinite idlebob;overflow:visible}.mascot .eye{transform-box:fill-box;transform-origin:50%;animation:4.6s infinite blink}@keyframes blink{0%,92%,to{transform:scaleY(1)}95%{transform:scaleY(.1)}}@keyframes idlebob{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-4px)scale(1.02,.98)}}.mascot.cheer,.mascot.wow{animation:.55s ease-out hop}.mascot.cheer .arm,.mascot.wow .arm{animation:.28s ease-in-out infinite alternate wave}.mascot .arm{transform-box:fill-box;transform-origin:50% 20%}.mascot .arm.l{--dir:1}.mascot .arm.r{--dir:-1}@keyframes wave{0%{transform:rotate(calc(var(--dir) * -10deg))}to{transform:rotate(calc(var(--dir) * -45deg))}}@keyframes hop{0%{transform:translateY(0)scale(1)}25%{transform:translateY(0)scale(1.1,.88)}55%{transform:translateY(-18px)scale(.94,1.1)}to{transform:translateY(0)scale(1)}}.mascot.oops{animation:2.6s ease-in-out infinite droop}@keyframes droop{0%,to{transform:rotate(-3deg)translateY(2px)}50%{transform:rotate(3deg)translateY(4px)}}.bar{justify-content:space-between;align-items:center;display:flex}.bar h2{text-shadow:0 0 20px #ff7fb0b3;font-size:1.6rem}.coin{color:var(--gold);text-align:right;text-shadow:0 0 14px #ffc233b3;min-width:70px;font-weight:800}.maphero{align-items:center;gap:10px;display:flex}.bubble,.quip{color:#2a0f2e;background:#fff;border-radius:18px;margin:0;padding:10px 16px;font-weight:800;position:relative;box-shadow:0 6px 20px #00000059}.bubble:before{content:"";border:8px solid #0000;border-left:0;border-right-color:#fff;margin-top:-8px;position:absolute;top:50%;left:-8px}.levels{grid-template-columns:repeat(2,1fr);gap:12px;margin:0;padding:0;list-style:none;display:grid}.level{width:100%;font:inherit;color:#fff;cursor:pointer;background:var(--glass);border:1px solid var(--glass-edge);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:22px;justify-items:center;gap:4px;padding:16px 8px 12px;transition:transform .15s,box-shadow .2s;display:grid;position:relative;box-shadow:inset 0 1px #ffffff40,0 8px 24px #0000004d}.level:not(:disabled):hover{transform:translateY(-3px);box-shadow:inset 0 1px #ffffff59,0 12px 32px #ff7fb059}.level.cleared{border-color:#ffc23399}.level:disabled{opacity:.4;cursor:not-allowed}.level .num{font-family:var(--font-title);text-shadow:0 0 16px #7fe6ffcc;font-size:2rem}.level .lname{color:var(--muted);font-size:.85rem;font-weight:700}.stars{letter-spacing:2px;color:#fff3}.star.on{color:var(--gold);text-shadow:0 0 12px #ffc233e6}.stars.big{font-size:3.4rem}.stars.big .star.on{animation:.45s ease-out backwards pop}@keyframes pop{0%{opacity:0;transform:scale(0)rotate(-40deg)}60%{transform:scale(1.4)rotate(10deg)}to{opacity:1;transform:scale(1)rotate(0)}}.hud{justify-content:space-between;align-items:center;gap:10px;display:flex}.levelname{text-align:left;font-family:var(--font-title);flex:1;font-size:1.25rem;line-height:1.1}.levelname small{font-family:var(--font-ui);color:var(--muted);font-size:.75rem;display:block}.moves{background:var(--glass);border:1px solid var(--glass-edge);border-radius:18px;justify-items:center;min-width:64px;padding:4px 12px;display:grid}.moves b{font-family:var(--font-title);color:var(--gold);text-shadow:0 0 14px #ffc233b3;font-size:1.7rem;font-weight:400;line-height:1.1}.moves small{color:var(--muted);font-size:.7rem}.host{align-items:flex-start;gap:10px;display:flex}.mascot-wrap{flex:none;margin:-6px 0 -10px;position:relative}.quip{z-index:5;transform-origin:80% 0;width:max-content;max-width:180px;font-size:.9rem;animation:.4s cubic-bezier(.3,1.6,.5,1) quip;position:absolute;top:calc(100% - 4px);right:-4px}.quip:after{content:"";border:8px solid #0000;border-top:0;border-bottom-color:#fff;position:absolute;top:-7px;right:30px}@keyframes quip{0%{opacity:0;transform:scale(.2)}}.order{background:var(--glass);border:1px solid var(--glass-edge);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:20px;flex:none;min-width:0;padding:10px 12px;box-shadow:inset 0 1px #ffffff40,0 8px 24px #00000040}.order ul{gap:4px;margin:0;padding:0;list-style:none;display:grid}.order li{flex-wrap:wrap;align-items:center;gap:0 10px;display:flex}.orow{flex:150px;align-items:center;gap:8px;min-width:0;display:flex}.need{text-transform:uppercase;letter-spacing:.06em;color:var(--pink);font-size:.65rem;font-weight:800;line-height:1;display:block}.oname{white-space:nowrap;flex:1;font-weight:700}.orow b{color:var(--gold);text-shadow:0 0 10px #ffc23399}.recipe{flex-wrap:wrap;gap:4px 8px;display:flex}.step{background:#ffffff1a;border-radius:12px;align-items:center;gap:1px;padding:0 8px 0 4px;display:inline-flex}.step .arrow{color:var(--mint);text-shadow:0 0 8px #6dffc0cc;margin:0 6px 0 4px;font-weight:800}.order li.done{opacity:.55}.order li.done .oname{text-decoration:line-through}.order li.done .recipe{display:none}.dish{vertical-align:middle;filter:drop-shadow(0 2px 3px #00000059);flex:none;display:inline-block}.sr{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.preview{text-align:center;min-height:1.2em;color:var(--muted);justify-content:center;align-items:center;gap:4px;font-size:.9rem;font-weight:700;display:flex}.preview b{color:var(--mint);text-shadow:0 0 12px #6dffc0b3}.board-host{aspect-ratio:1;width:100%;max-width:560px;margin:0 auto}.board-host canvas{filter:drop-shadow(0 0 26px #ff7fb059)drop-shadow(0 14px 18px #00000080);display:block}.board-host.shake{animation:.4s ease-out shake}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-5px,3px)rotate(-.4deg)}40%{transform:translate(5px,-3px)rotate(.4deg)}60%{transform:translate(-3px,2px)}80%{transform:translate(2px,-1px)}}.foot{justify-content:space-between;margin-top:auto;display:flex}.foot .btn{min-height:38px}.overlay{z-index:10;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#080318b3;place-items:center;padding:16px;animation:.25s ease-out fade;display:grid;position:fixed;inset:0}@keyframes fade{0%{opacity:0}}.card{text-align:center;border:1px solid var(--glass-edge);background:linear-gradient(#ffffff29,#ffffff0f);border-radius:28px;justify-items:center;gap:10px;width:min(380px,100%);padding:20px 24px 24px;animation:.45s cubic-bezier(.3,1.4,.5,1) rise;display:grid;box-shadow:0 0 60px #ff7fb059,inset 0 1px #ffffff4d}@keyframes rise{0%{opacity:0;transform:translateY(40px)scale(.9)}}.card h2{text-shadow:0 0 24px #ffc233cc;font-size:2.2rem}.card p{color:var(--muted);margin:0}.actions{gap:10px;width:100%;margin-top:6px;display:grid}@media (width<=420px){.f0,.f1,.f2,.f3,.f4,.f5{width:72px}.quip{font-size:.85rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.customer-row{z-index:2;align-items:flex-end;gap:8px;margin:0 0 -20px 4px;display:flex;position:relative}.customer{filter:drop-shadow(0 4px 8px #00000073);transform-origin:50% 100%;flex:none;animation:3.8s ease-in-out infinite idlebob}.customer.happy{animation:.55s ease-out hop}.customer.sad{animation:2.6s ease-in-out infinite droop}.ask{color:#2a0f2e;background:#fff;border-radius:14px;margin:0 0 24px;padding:6px 12px;font-size:.85rem;font-weight:700;line-height:1.25;animation:.35s cubic-bezier(.3,1.6,.5,1) quip;position:relative;box-shadow:0 4px 14px #00000059}.ask b{letter-spacing:.06em;text-transform:uppercase;color:#c2386a;font-size:.65rem;display:block}.ask:before{content:"";border:7px solid #0000;border-left:0;border-right-color:#fff;position:absolute;bottom:10px;left:-7px}.ask.solo{text-align:center;margin:0}.ask.solo:before{border:7px solid #0000;border-top:0;border-bottom-color:#fff;margin-left:-7px;top:-7px;bottom:auto;left:50%}.order{padding:22px 12px 8px}.chapter{gap:10px;display:grid}.chapter+.chapter{margin-top:10px}.chapter h3{font-family:var(--font-title);text-shadow:0 0 16px #7fe6ff99;margin:4px 2px 0;font-size:1.2rem;font-weight:400}.chapter h3 small{font-family:var(--font-ui);color:var(--muted);text-shadow:none;margin-left:10px;font-size:.8rem}.plus-wrap{align-items:center;display:inline-flex}.plus{color:var(--pink);margin:0 3px;font-weight:800}.wallet{background:var(--glass);border:1px solid var(--glass-edge);border-radius:999px;justify-content:space-between;align-items:center;gap:10px;padding:8px 14px;display:flex}.spacer{width:64px}.hearts{align-items:center;gap:2px;display:inline-flex}.heart{fill:#ffffff24;stroke:#ffffff59;stroke-width:1.2px}.hearts svg{width:22px;height:20px}.heart.on{fill:#ff5b8a;stroke:#2a0f2e;stroke-width:1.6px;filter:drop-shadow(0 0 5px #ff5b8acc)}.regen{color:var(--muted);font-variant-numeric:tabular-nums;margin-left:6px;font-size:.72rem;font-weight:800}.coin{align-items:center;gap:6px;min-width:0;font-size:1.05rem;display:inline-flex}.coinicon{vertical-align:-3px;background:radial-gradient(circle at 35% 30%,#fff3a6 0,#ffc233 55%,#d98a00 100%);border:1.5px solid #2a0f2e;border-radius:50%;flex:none;width:16px;height:16px;display:inline-block;box-shadow:0 0 8px #ffc233b3}.banner{text-align:center;background:#ff5b8a2e;border:1px solid #ff5b8a80;border-radius:16px;margin:0;padding:10px 14px;font-weight:700}.reward{color:var(--gold);text-shadow:0 0 14px #ffc233b3;align-items:center;gap:6px;font-size:1.3rem;font-weight:800;display:inline-flex}.reward .coinicon{width:22px;height:22px}.card .hearts{margin:2px 0 4px}.card .btn .coinicon{width:14px;height:14px;margin:0 2px}.foot{justify-content:space-between;align-items:center;gap:4px}.chip{font:inherit;cursor:pointer;min-height:34px;color:var(--muted);border:1px solid var(--glass-edge);background:0 0;border-radius:999px;padding:0 9px;font-size:.74rem;font-weight:800}.chip.on{color:#fff;background:var(--glass);border-color:#6dffc099;box-shadow:0 0 12px #6dffc040}.chip:focus-visible{outline:3px solid var(--cyan);outline-offset:2px}.card .ask{color:#2a0f2e}.btn.primary .coinicon{box-shadow:none;background:radial-gradient(circle at 35% 30%,#fff,#ffe9a0 45%,#e39a00);border-color:#7a4200}.room{touch-action:manipulation;width:100%;height:auto;display:block}.steam{transform-box:fill-box;animation:2.8s ease-in-out infinite steam}@keyframes steam{0%{opacity:0;transform:translateY(2px)}40%{opacity:.75}to{opacity:0;transform:translateY(-9px)}}.flick{animation:3.4s ease-in-out infinite lampflick}@keyframes lampflick{0%,to{opacity:1}47%{opacity:.78}52%{opacity:1}78%{opacity:.88}}.neon-t{animation:4.2s step-end infinite neonbuzz}@keyframes neonbuzz{0%,92%,96%,to{opacity:1}93%,95%{opacity:.45}}.wave{animation:1.1s ease-in-out infinite alternate catwave}@keyframes catwave{0%{transform:rotate(-14deg)}to{transform:rotate(10deg)}}.sway{animation:4.2s ease-in-out infinite wsway}@keyframes wsway{0%,to{transform:rotate(-3.5deg)}50%{transform:rotate(3.5deg)}}.petal2{animation:linear infinite petalfall}@keyframes petalfall{0%{opacity:0;transform:translate(0)rotate(0)}15%{opacity:1}to{opacity:0;transform:translate(18px,70px)rotate(240deg)}}.bubble2{animation:2.4s ease-in infinite bubbleup}@keyframes bubbleup{0%{opacity:0;transform:translateY(0)}20%{opacity:.8}to{opacity:0;transform:translateY(-20px)}}.fish{animation:5s ease-in-out infinite alternate swim}@keyframes swim{0%{transform:translate(-12px)}to{transform:translate(12px,-3px)}}.koi{animation:6s ease-in-out infinite alternate koiswim}@keyframes koiswim{0%{transform:translate(-22px,-4px)}to{transform:translate(22px,5px)}}.ripple{transform-box:fill-box;transform-origin:50%;animation:3s ease-out infinite ripple}@keyframes ripple{0%{opacity:.7;transform:scale(.4)}to{opacity:0;transform:scale(1.1)}}.twinkle{transform-box:fill-box;transform-origin:50%;animation:2.2s ease-in-out infinite twinkle}@keyframes twinkle{0%,to{opacity:.4;transform:scale(.6)}50%{opacity:1;transform:scale(1.1)}}.selpulse{animation:1.2s ease-in-out infinite selpulse}@keyframes selpulse{0%,to{opacity:.7}50%{opacity:1}}.hub{padding-bottom:96px}.rlevel{flex:1;grid-template-columns:auto 1fr;align-items:center;gap:2px 8px;max-width:190px;display:grid}.rlevel b{font-family:var(--font-title);text-shadow:0 0 14px #ff7fb0cc;font-size:1.25rem;font-weight:400}.rlevel small{color:var(--muted);grid-column:1/-1;font-size:.7rem}.meter{border:1px solid var(--glass-edge);background:#ffffff24;border-radius:999px;height:10px;overflow:hidden}.meter i{background:linear-gradient(90deg,#ffd23a,#ff7fb0);border-radius:999px;height:100%;transition:width .6s ease-out;display:block;box-shadow:0 0 12px #ffc233cc}.wallet.mini{gap:12px;padding:6px 12px}.stage{position:relative}.tips{z-index:4;font:inherit;cursor:pointer;color:#2a0f2e;background:linear-gradient(#ffe37a,#ffb02e);border:0;border-radius:999px;align-items:center;gap:8px;padding:10px 18px;font-weight:800;animation:1.4s ease-in-out infinite tipbounce;display:inline-flex;position:absolute;bottom:8%;left:50%;transform:translate(-50%);box-shadow:0 5px #c97a00,0 8px 28px #ffb22ea6}.tips .coinicon{box-shadow:none;background:radial-gradient(circle at 35% 30%,#fff,#ffe9a0 45%,#e39a00);border-color:#7a4200}@keyframes tipbounce{0%,to{transform:translate(-50%)translateY(0)}50%{transform:translate(-50%)translateY(-6px)}}.hubmascot{z-index:3;pointer-events:none;align-items:flex-end;gap:6px;display:flex;position:absolute;bottom:2px;left:4px}.hubmascot .bubble{margin-bottom:18px;padding:6px 12px;font-size:.8rem}.dock{z-index:6;width:min(620px,100%);padding:8px 10px calc(10px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1px solid var(--glass-edge);background:linear-gradient(#1408308c,#0d0626eb);grid-template-columns:1fr 1fr 1.25fr 1fr 1fr;align-items:end;display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.dock button{font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:0;justify-items:center;gap:2px;padding:6px 0;font-size:.7rem;font-weight:800;display:grid}.dock button:hover{color:#fff}.dock .playbtn{color:#2a0f2e;background:linear-gradient(#ffe37a,#ffb02e);border-radius:26px;margin-top:-26px;padding:12px 0 8px;font-size:.8rem;box-shadow:0 5px #c97a00,0 10px 30px #ffb22e99}.dock .playbtn:disabled{filter:grayscale(.7);opacity:.7}.dock .playbtn:active{transform:translateY(2px)}.chips{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.decorate{gap:6px;padding-bottom:0}.toast{z-index:5;color:#2a0f2e;white-space:nowrap;background:#fff;border-radius:999px;margin:0;padding:8px 16px;font-size:.85rem;font-weight:800;animation:.3s cubic-bezier(.3,1.6,.5,1) quip;position:absolute;top:8px;left:50%;transform:translate(-50%);box-shadow:0 6px 20px #0006}.sheet{padding:10px 16px calc(14px + env(safe-area-inset-bottom));border-top:1px solid var(--glass-edge);background:linear-gradient(#281450eb,#12082cf7);border-radius:24px 24px 0 0;margin:auto -16px 0;box-shadow:0 -10px 40px #00000073}.tabs{align-items:center;gap:6px;margin-bottom:8px;display:flex}.tab{font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:999px;padding:6px 14px;font-size:.85rem;font-weight:800}.tab.on{color:#fff;background:var(--glass);border-color:var(--glass-edge)}.rlv{color:var(--gold);margin-left:auto;font-size:.75rem;font-weight:800}.cards{scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;gap:10px;padding:4px 2px 8px;display:flex;overflow-x:auto}.shopcard{scroll-snap-align:start;width:104px;font:inherit;color:#fff;cursor:pointer;background:var(--glass);border:1px solid var(--glass-edge);border-radius:18px;flex:none;justify-items:center;gap:2px;padding:8px 6px;display:grid;position:relative}.shopcard svg{width:auto;max-width:92px;height:78px}.shopcard .nm{text-align:center;place-items:center;min-height:1.7em;font-size:.74rem;font-weight:800;line-height:1.1;display:grid}.shopcard .pr{color:var(--gold);align-items:center;gap:4px;font-size:.8rem;font-weight:800;display:inline-flex}.shopcard.poor .pr{color:#ff8aa0}.shopcard.locked{opacity:.55}.shopcard.locked .pr{color:var(--muted)}.shopcard .lock{font-size:.9rem;font-style:normal;position:absolute;top:6px;right:8px}.shopcard.equipped{border-color:var(--mint);box-shadow:0 0 14px #6dffc04d}.shopcard.theme .swatch{border:2px solid #2a0f2e;border-radius:14px;width:64px;height:64px;margin:4px 0}.placebar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.placebar>div{flex:140px;min-width:0;display:grid}.placebar b{font-size:1rem}.placebar small{color:var(--muted);font-size:.75rem;line-height:1.2}.placebar .btn{min-height:42px;padding:0 16px}.placebar .coinicon{width:14px;height:14px;margin:0 2px}.card .newitems{color:var(--mint);font-weight:700}.nextcard{background:var(--glass);border:1px solid var(--glass-edge);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:22px;align-items:center;gap:12px;margin-top:4px;padding:10px 12px;display:flex;box-shadow:inset 0 1px #ffffff38,0 8px 24px #0000004d}.nextcard .nt{flex:1;gap:1px;min-width:0;display:grid}.nextcard small{letter-spacing:.06em;text-transform:uppercase;color:var(--pink);font-size:.65rem;font-weight:800}.nextcard b{font-size:1.05rem}.nextcard span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;overflow:hidden}.nextcard .btn{min-height:42px;padding:0 18px}.decorate .bar{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--glass-edge);background:#0d06268c;border-radius:999px;padding:4px 6px}.decorate .stage{flex:1;align-items:center;min-height:0;display:flex}.decorate .stage .room{width:104%;margin:0 -2%}.placebar>div{flex:100%}.placebar .btn{flex:1}.tips{white-space:nowrap;padding:8px 14px;font-size:.9rem;animation:1.4s ease-in-out infinite tipbounce2;bottom:6%;left:auto;right:10px;transform:none}@keyframes tipbounce2{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.coach-layer{z-index:30;pointer-events:none;position:fixed;inset:0}.coach-ring{border:3px solid var(--mint);pointer-events:none;border-radius:22px;animation:1.4s ease-in-out infinite coachpulse;position:fixed;box-shadow:0 0 22px #6dffc0cc,inset 0 0 18px #6dffc059}.coach-ring.dim{box-shadow:0 0 0 9999px #0803189e,0 0 22px #6dffc0cc,inset 0 0 18px #6dffc059}@keyframes coachpulse{0%,to{transform:scale(1)}50%{transform:scale(1.04)}}.coach-pos{pointer-events:auto;position:fixed}.coach-bubble{color:#2a0f2e;background:#fff;border-radius:22px;align-items:center;gap:8px;padding:10px 14px 10px 8px;animation:.35s cubic-bezier(.3,1.6,.5,1) quip;display:flex;box-shadow:0 10px 34px #00000080}.coach-bubble .mascot{flex:none;animation:none}.coach-text{gap:6px;min-width:0;display:grid}.coach-text p{margin:0;font-size:.95rem;font-weight:700;line-height:1.3}.coach-actions{align-items:center;gap:12px;display:flex}.coach-actions .btn{min-height:38px;padding:0 18px;font-size:.9rem}.coach-skip{font:inherit;color:#7a6a8a;cursor:pointer;background:0 0;border:0;padding:6px 0;font-size:.75rem;font-weight:700;text-decoration:underline}.coach-tail{border:10px solid #0000;width:0;height:0;position:absolute;transform:translate(-10px)}.coach-pos.above .coach-tail{border-top-color:#fff;border-bottom:0;bottom:-19px}.coach-pos.below .coach-tail{border-top:0;border-bottom-color:#fff;top:-19px}.coach-center{z-index:30;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#080318b3;place-items:center;padding:16px;animation:.25s ease-out fade;display:grid;position:fixed;inset:0}.arrive{transform-box:fill-box;transform-origin:50% 100%;animation:.6s cubic-bezier(.3,1.6,.5,1) backwards arrive}@keyframes arrive{0%{opacity:0;transform:scale(.2)translateY(10px)}}.coinpop{animation:2s ease-out forwards coinpop}@keyframes coinpop{0%{opacity:0;transform:translateY(0)scale(.4)}15%{opacity:1;transform:translateY(-6px)scale(1.15)}to{opacity:0;transform:translateY(-34px)scale(1)}}.mote{animation:9s ease-in-out infinite mote}@keyframes mote{0%,to{opacity:.15;transform:translate(0)}30%{opacity:.8}60%{opacity:.4;transform:translate(7px,-9px)}}.chef{animation:.9s ease-in-out infinite chefbob}@keyframes chefbob{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}.placebar .btn.ghost{flex:none}.flame{transform-box:fill-box;transform-origin:50% 100%;animation:.7s ease-in-out infinite alternate flameflick}@keyframes flameflick{0%{transform:scaleY(.85)}to{transform:scale(.9,1.1)}}.belt{animation:7s linear infinite belt}@keyframes belt{0%{opacity:0;transform:translate(0)}8%{opacity:1}92%{opacity:1}to{opacity:0;transform:translate(52px,26px)}}.pend{transform-box:fill-box;transform-origin:50% 0;animation:2s ease-in-out infinite alternate pend}@keyframes pend{0%{transform:rotate(-16deg)}to{transform:rotate(16deg)}}.note{animation:3.4s ease-out infinite notefloat}@keyframes notefloat{0%{opacity:0;transform:translateY(4px)}20%{opacity:1}to{opacity:0;transform:translate(6px,-22px)}}.bsway{animation:3.6s ease-in-out infinite bsway}@keyframes bsway{0%,to{transform:rotate(-1.6deg)}50%{transform:rotate(1.6deg)}}.tip{animation:4s ease-in-out infinite shishi}@keyframes shishi{0%,55%{transform:rotate(0)}62%,72%{transform:rotate(-18deg)}80%,to{transform:rotate(0)}}.drip{animation:4s ease-in infinite drip}@keyframes drip{0%,60%{opacity:0;transform:translateY(-4px)}66%{opacity:1}to{opacity:0;transform:translateY(8px)}}.fsway{animation:2.6s ease-in-out infinite wsway}.tabs{scrollbar-width:none;flex-wrap:nowrap;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.tab{flex:none}.setrow{scrollbar-width:none;align-items:center;gap:6px;margin:-2px 0 8px;display:flex;overflow-x:auto}.setrow::-webkit-scrollbar{display:none}.setpill{color:var(--muted);border:1px solid var(--glass-edge);border-radius:999px;flex:none;align-items:center;gap:5px;padding:3px 9px;font-size:.68rem;font-weight:800;display:inline-flex}.setpill i{background:var(--sc);width:8px;height:8px;box-shadow:0 0 8px var(--sc);border-radius:50%}.setpill.on{color:#fff;border-color:var(--sc);box-shadow:0 0 10px color-mix(in srgb, var(--sc) 40%, transparent)}.setpill b{color:var(--sc)}.shopcard .setdot{border-radius:50%;width:9px;height:9px;position:absolute;top:8px;left:8px;box-shadow:0 0 8px}.shopcard .tierup{color:#2a0f2e;white-space:nowrap;background:linear-gradient(#ffe37a,#ffb02e);border-radius:999px;padding:2px 8px;font-size:.62rem;font-style:normal;font-weight:800;position:absolute;top:-8px;left:50%;transform:translate(-50%);box-shadow:0 0 10px #ffc233b3}.shopcard.r-rare{border-color:#7fe6ff8c}.shopcard.r-epic{border-color:#d29bffbf;box-shadow:0 0 12px #d29bff47}.shopcard.r-legendary{background:linear-gradient(180deg, #ffd23a24, var(--glass));border-color:#ffd23ae6;box-shadow:0 0 16px #ffc23366}.rlv{color:var(--gold);flex:none;margin-left:auto;font-size:.75rem;font-weight:800}.placebar .btn{white-space:nowrap}.zp{touch-action:none;border-radius:18px;position:relative;overflow:hidden}.zp-content{will-change:transform}.zp-tools{z-index:4;gap:6px;display:grid;position:absolute;bottom:8px;right:8px}.zp-tools button{border:1px solid var(--glass-edge);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;cursor:pointer;background:#0d062699;border-radius:12px;width:38px;height:38px;font-size:1.2rem;font-weight:800}.zp-tools button:active{transform:scale(.94)}.hubstage .zp,.decorate .stage .zp{width:100%}.hubstage{margin:0 -12px}.storeys{justify-content:center;gap:6px;display:flex}.storey{font:inherit;cursor:pointer;color:var(--muted);border:1px solid var(--glass-edge);background:0 0;border-radius:999px;align-items:center;gap:6px;padding:6px 14px;font-size:.8rem;font-weight:800;display:inline-flex}.storey.on{color:#fff;background:var(--glass);border-color:var(--mint);box-shadow:0 0 12px #6dffc040}.storey.off{opacity:.75;border-style:dashed}.storey small{color:var(--gold);font-size:.62rem}.build{padding-bottom:28px}.statrow{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.statrow div{background:var(--glass);border:1px solid var(--glass-edge);border-radius:16px;justify-items:center;padding:8px 4px;display:grid}.statrow b{font-family:var(--font-title);color:var(--gold);text-shadow:0 0 12px #ffc23399;font-size:1.3rem;font-weight:400}.statrow small{color:var(--muted);font-size:.65rem}.sect{font-family:var(--font-title);text-shadow:0 0 14px #7fe6ff80;margin:6px 2px 0;font-size:1.1rem;font-weight:400}.storeycards,.upgrades{gap:12px;display:grid}.storeycard{background:var(--glass);border:1px solid var(--glass-edge);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:22px;grid-template-columns:128px 1fr;gap:12px;padding:10px;display:grid}.storeycard.unbuilt{border-style:dashed}.storeycard .thumb{pointer-events:none;background:#0d062673;border-radius:14px;place-items:center;display:grid;overflow:hidden}.storeycard .thumb svg,.storeycard .plot{width:100%;height:auto}.sc-body{align-content:start;gap:4px;min-width:0;display:grid}.sc-body h4,.upgrade h4{margin:0;font-size:1rem}.sc-body p,.upgrade p{color:var(--muted);margin:0;font-size:.78rem;line-height:1.3}.meta{font-weight:700;color:var(--mint)!important}.sc-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:4px;display:flex}.sc-actions .btn,.upgrade .btn{white-space:nowrap;min-height:40px;padding:0 14px;font-size:.85rem}.btn.locked{filter:grayscale(.8);opacity:.65}.maxed{color:var(--gold);font-size:.8rem;font-weight:800}.upgrade{background:var(--glass);border:1px solid var(--glass-edge);border-radius:20px;gap:6px;padding:12px 14px;display:grid}.up-head{justify-content:space-between;align-items:center;display:flex}.pips{gap:5px;display:inline-flex}.pips i{border:1.5px solid var(--glass-edge);border-radius:50%;width:12px;height:12px}.pips i.on{background:var(--gold);border-color:var(--gold);box-shadow:0 0 8px #ffc233cc}.toast.fixed{position:fixed;top:70px;left:50%}.centered{text-align:center;margin:4px auto 0}.zp-tools{top:8px;bottom:auto}.rlevel small{line-height:1.25}.tips{z-index:5;inset:8px auto auto 8px}.exterior{width:100%;height:auto;display:block}.silbob{animation:3.4s ease-in-out infinite silbob}@keyframes silbob{0%,to{transform:translateY(0)}50%{transform:translateY(-1.4px)}}.town{gap:8px;padding-bottom:14px}.townstage{flex:1;min-height:0;margin:0 -12px}.townstage .zp{height:100%;min-height:360px}.townmap{width:100%;height:auto;display:block}.townsheet{background:var(--glass);border:1px solid var(--glass-edge);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:22px;gap:8px;padding:12px 14px;display:grid}.ts-head{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.townsheet h3{margin:0;font-size:1.05rem}.townsheet h3 small{color:var(--muted);font-size:.8rem;font-weight:700}.townsheet p{color:var(--muted);margin:2px 0 0;font-size:.8rem}.townsheet .stars{letter-spacing:1px;color:var(--gold);white-space:nowrap;font-size:.95rem}.townsheet .dim{color:#fff3}.townsheet .btn{min-height:42px}.walker{animation:14s linear infinite stroll}@keyframes stroll{0%{opacity:0;transform:translate(0)}8%{opacity:1}92%{opacity:1}to{transform:translate(var(--tx), var(--ty));opacity:0}}.pin{animation:1.4s ease-in-out infinite pinbob}@keyframes pinbob{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.ripple2{animation:4s ease-in-out infinite ripple2}@keyframes ripple2{0%,to{opacity:.1}50%{opacity:.6}}.storeys{flex-wrap:nowrap;gap:4px}.storey{flex:none;gap:4px;padding:6px 10px;font-size:.74rem}.storey small{font-size:.58rem}.townstage{align-items:center;display:flex}.townstage .zp{width:100%;height:min(64vh,560px)}.namepick{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.namepick select{font:inherit;color:#fff;background:var(--glass);border:1px solid var(--glass-edge);border-radius:14px;min-height:42px;padding:0 8px;font-size:.85rem;font-weight:700}.namepick select option{color:#2a0f2e}.signpreview{text-align:center;font-family:var(--font-title);color:var(--gold);text-shadow:0 0 14px #ffc23399;margin:0;font-size:1.2rem}.signpreview small{font-family:var(--font-ui);letter-spacing:.14em;color:var(--muted);text-shadow:none;font-size:.7rem;display:block}body[data-screen]:not([data-screen=title]) .lanterns{opacity:.16}body[data-screen]:not([data-screen=title]) .moon{opacity:.4;box-shadow:0 0 40px 10px #ffd6822e}body[data-screen]:not([data-screen=title]) .backdrop:after{content:"";pointer-events:none;background:linear-gradient(#080318d1,#08031800);height:170px;position:absolute;inset:0 0 auto}.wallet,.moves,.levelname,.rlevel,.bar h2,.storey,.setpill,.statrow div{text-shadow:0 1px 6px #080318e6}.wallet,.moves{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0d0626b8;border-color:#ffffff47}.storey{background:#0d06268c}.storey.on{background:#0d0626cc}.btn.ghost{color:#fff;text-shadow:0 1px 6px #080318e6}.btn.round{background:#0d0626b8}.decorate .bar{background:#0d0626c7}.coin{text-shadow:0 1px 6px #080318e6,0 0 14px #ffc23380}.rlevel{grid-template-columns:auto minmax(70px,1fr);max-width:230px}.rlevel small{white-space:nowrap}.nextcard small{white-space:nowrap;letter-spacing:.04em;font-size:.6rem}.lmap{gap:18px;display:grid}.lchapter{gap:6px;display:grid}.lbanner{border:1px solid var(--glass-edge);border-radius:20px;height:84px;position:relative;overflow:hidden}.lbanner svg{width:100%;height:100%;position:absolute;inset:0}.lbtitle{text-shadow:0 2px 10px #080318e6;position:absolute;bottom:8px;left:14px}.lbtitle h3{font-family:var(--font-title);margin:0;font-size:1.3rem;font-weight:400}.lbtitle p{color:#fff;opacity:.85;margin:0;font-size:.8rem}.lbcount{color:var(--gold);background:#0d0626a6;border-radius:999px;padding:3px 10px;font-size:.78rem;font-weight:800;position:absolute;top:10px;right:12px}.lpath{position:relative}.lpathsvg{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.seg{stroke:#ffffff38;stroke-width:6px;stroke-linecap:round;stroke-dasharray:2 10}.seg.on{stroke:var(--gold);stroke-width:7px;stroke-dasharray:none;filter:drop-shadow(0 0 6px #ffc233b3)}.node{width:62px;height:62px;font:inherit;color:#fff;cursor:pointer;border:2px solid var(--glass-edge);background:#0d0626d1;border-radius:50%;place-items:center;padding:0;transition:transform .15s;display:grid;position:absolute;transform:translate(-50%,-50%);box-shadow:0 6px 16px #0006}.node:not(:disabled):hover{transform:translate(-50%,-50%)scale(1.08)}.node:focus-visible{outline:3px solid var(--cyan);outline-offset:3px}.nnum{font-family:var(--font-title);margin-top:-4px;font-size:1.35rem;line-height:1}.nstars{font-size:.55rem;display:flex;position:absolute;bottom:6px}.nstars b{color:#ffffff40;font-weight:400}.nstars b.on{color:var(--gold);text-shadow:0 0 6px #ffc233e6}.nname{text-align:center;width:104px;color:var(--muted);text-shadow:0 1px 6px #080318f2;pointer-events:none;font-size:.64rem;font-weight:700;line-height:1.1;position:absolute;top:calc(100% + 4px);left:50%;transform:translate(-50%)}.node{background:radial-gradient(circle at 35% 30%,#ffffff1a,#fff0 60%),#1a0d3a}.node.cleared{border-color:var(--gold);background:radial-gradient(circle at 35% 30%,#ffd25a66,#ffd25a0f 70%),#2b1840}.node.perfect{box-shadow:0 0 0 3px #ffc23340,0 0 18px #ffc23399,0 6px 16px #0006}.node.current{border-color:var(--mint);background:radial-gradient(circle at 35% 30%,#6dffc073,#6dffc014 70%),#12304a;animation:1.4s ease-in-out infinite nodepulse}@keyframes nodepulse{0%,to{box-shadow:0 0 #6dffc099,0 6px 16px #0006}50%{box-shadow:0 0 0 12px #6dffc000,0 6px 16px #0006}}.node.locked{opacity:.5;cursor:not-allowed}.node.locked .nname{opacity:.6}.node.boss{background:radial-gradient(circle at 35% 30%,#ff7a8a73,#ff7a8a14 70%),#2b1030;border-color:#ff7a8a;width:78px;height:78px;box-shadow:0 0 22px #ff7a8a73,0 6px 16px #0006}.node.boss.cleared{border-color:var(--gold);box-shadow:0 0 24px #ffc2338c}.node.boss .nnum{font-size:1.7rem}.crown{filter:drop-shadow(0 2px 4px #0009);font-size:1.4rem;font-style:normal;position:absolute;top:-20px}.prelevel{width:min(380px,100%);max-height:92vh;overflow-y:auto}.prelevel h2{justify-content:center;align-items:center;gap:8px;font-size:1.7rem;display:flex}.bosstag{font-family:var(--font-ui);color:#2a0f2e;letter-spacing:.06em;text-transform:uppercase;background:#ff7a8a;border-radius:999px;padding:3px 9px;font-size:.7rem;font-weight:800}.lvname{margin:-6px 0 0;font-weight:700}.preorder{text-align:left;gap:8px;width:100%;margin:0;padding:0;list-style:none;display:grid}.preorder li{background:#ffffff14;border-radius:16px;grid-template-columns:auto 1fr;align-items:center;gap:2px 10px;padding:8px 10px;font-weight:800;display:grid}.preorder li .recipe{grid-column:1/-1}.prestats{color:var(--muted);justify-content:center;gap:22px;font-size:.9rem;display:flex}.prestats b{color:var(--gold);font-family:var(--font-title);font-size:1.3rem;font-weight:400}.pretip{margin:0;font-size:.78rem;color:var(--mint)!important}.wbob{animation:.52s ease-in-out infinite wbob}@keyframes wbob{0%,to{transform:translateY(0)}50%{transform:translateY(-1.6px)}}.legA{transform-box:fill-box;transform-origin:50% 0;animation:.52s ease-in-out infinite legA}.legB{transform-box:fill-box;transform-origin:50% 0;animation:.52s ease-in-out infinite reverse legA}@keyframes legA{0%,to{transform:rotate(-22deg)}50%{transform:rotate(22deg)}}.tail{transform-box:fill-box;transform-origin:100% 100%;animation:1.6s ease-in-out infinite tailswish}@keyframes tailswish{0%,to{transform:rotate(-8deg)}50%{transform:rotate(10deg)}}.zzz{animation:2.6s ease-out infinite zzz}@keyframes zzz{0%{opacity:0;transform:translate(0)}30%{opacity:1}to{opacity:0;transform:translate(5px,-10px)}}.boat{animation:26s ease-in-out infinite alternate boatride}@keyframes boatride{0%{transform:translate(0)}to{transform:translate(var(--tx), var(--ty))}}.burst{transform-box:fill-box;transform-origin:50%;opacity:0;animation:4.8s ease-out infinite burst}@keyframes burst{0%{opacity:0;transform:scale(.1)}8%{opacity:1}55%{opacity:.9;transform:scale(1.1)}to{opacity:0;transform:scale(1.35)}}.townmap{height:min(58vh,520px)}.townchips{scrollbar-width:none;gap:8px;margin:0 -12px;padding:2px 12px 8px;display:flex;overflow-x:auto}.townchips::-webkit-scrollbar{display:none}.tchip{font:inherit;color:#fff;background:var(--glass);border:1px solid var(--glass-edge);cursor:pointer;white-space:nowrap;border-radius:999px;flex:none;align-items:center;gap:7px;padding:8px 12px;font-size:.78rem;font-weight:800;display:inline-flex}.tchip i{background:var(--neon,#ffd23a);width:9px;height:9px;box-shadow:0 0 8px var(--neon,#ffd23a);border-radius:50%}.tchip.on{background:#ffd23a38;border-color:#ffd23a}.town.visit .stage{flex:1;min-height:0;margin:0 -12px}.town.visit .zp{height:min(60vh,520px)}.buildhero{border:1px solid var(--glass-edge);background:linear-gradient(#1b1240,#4a2a6a);border-radius:22px;place-items:center;max-height:300px;margin:0 0 12px;display:grid;overflow:hidden}.buildhero svg{width:100%;height:auto;max-height:300px}.town.visit h2{text-align:center;font-size:1.15rem;line-height:1.1}.avatarmaker{flex-direction:column;gap:10px;display:flex}.acstage{background:radial-gradient(circle at 50% 40%, #ffd27840, transparent 65%), var(--glass);border:1px solid var(--glass-edge);border-radius:22px;place-items:center;padding:8px 0 0;display:grid}.acname{color:#fff6e0;margin:0 0 8px;font-size:1.15rem;font-weight:800}.acpanel{background:var(--glass);border:1px solid var(--glass-edge);border-radius:22px;gap:10px;padding:12px;display:grid}.acrow{gap:6px;display:grid}.acrow>span{letter-spacing:.06em;text-transform:uppercase;opacity:.75;font-size:.72rem;font-weight:800}.acrow>div{flex-wrap:wrap;gap:7px;display:flex}.swatch{cursor:pointer;border:3px solid #ffffff40;border-radius:50%;width:34px;height:34px;padding:0}.swatch.on{border-color:#ffd23a;transform:scale(1.1);box-shadow:0 0 0 2px #2a0f2e,0 0 12px #ffd23ab3}.apill{font:inherit;color:#fff;border:1px solid var(--glass-edge);cursor:pointer;background:#ffffff14;border-radius:999px;padding:7px 12px;font-size:.78rem;font-weight:800}.apill.on{background:#ffd23a40;border-color:#ffd23a}.acdone{margin-top:auto}.townchips .tchip.me{border-color:#7fe6ff}.avatarmaker h2{font-size:1.3rem}.avatarmaker .btn.ghost{white-space:nowrap}.acdone{z-index:2;position:sticky;bottom:12px}.tidyrow{gap:8px;margin-bottom:8px;display:flex}.tidystyles{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:8px;display:grid}.tidystyles .btn{text-align:left;gap:2px;padding:8px 12px;display:grid}.tidystyles .btn small{opacity:.75;font-size:.68rem;font-weight:600}.abadge{border:2px solid var(--glass-edge);background:var(--glass);cursor:pointer;border-radius:50%;flex:none;place-items:center;width:46px;height:46px;padding:0;display:grid}.hubbar{align-items:center;gap:10px}.emotebar{background:var(--glass);border:1px solid var(--glass-edge);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:3;border-radius:999px;gap:6px;padding:6px;display:flex;position:absolute;bottom:10px;right:10px}.emotebar button{cursor:pointer;background:#ffffff1a;border:0;border-radius:50%;width:38px;height:38px;font-size:1.15rem}.emote{animation:2.2s ease-out forwards emotepop}@keyframes emotepop{0%{opacity:0;transform:translateY(6px)scale(.6)}12%{opacity:1;transform:translateY(0)scale(1.05)}80%{opacity:1}to{opacity:0;transform:translateY(-10px)}}.hubstage{position:relative}.rlevel b{white-space:nowrap}.giftbtn{border:1px solid var(--glass-edge);background:var(--glass);cursor:pointer;border-radius:50%;flex:none;width:44px;height:44px;font-size:1.25rem;position:relative}.dot{background:#ff5b6e;border-radius:50%;width:11px;height:11px;display:inline-block;position:absolute;top:2px;right:2px;box-shadow:0 0 0 2px #1b1240}.rewards{text-align:left;max-height:82vh;overflow-y:auto}.rewards h2{text-align:center;margin:4px 0}.rewards>p,.rewards .bookset p{text-align:center;opacity:.85;margin:2px 0 10px}.rewards .tabs{justify-content:center;gap:6px;margin-bottom:8px;display:flex}.rewards .tabs button{font:inherit;color:#fff;border:1px solid var(--glass-edge);cursor:pointer;background:#ffffff14;border-radius:999px;padding:8px 16px;font-weight:800;position:relative}.rewards .tabs button.on{background:#ffd23a40;border-color:#ffd23a}.rewards .tabs .dot{width:9px;height:9px;top:4px;right:6px}.daydays{grid-template-columns:repeat(7,1fr);gap:5px;margin:8px 0;display:grid}.dayslot{background:#ffffff12;border:1px solid #0000;border-radius:12px;justify-items:center;gap:3px;padding:8px 2px;font-size:.7rem;display:grid}.dayslot small{opacity:.7;font-size:.6rem}.dayslot b{align-items:center;gap:2px;display:inline-flex}.dayslot.today{background:#ffd23a33;border-color:#ffd23a}.dayslot.got{opacity:.55}.goals{gap:8px;margin:0;padding:0;list-style:none;display:grid}.goals li{background:#ffffff12;border-radius:14px;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.goals li>div{flex:1;gap:3px;min-width:0;display:grid}.goals li small{opacity:.75}.goals li.ready{background:#ffd23a2e;box-shadow:inset 0 0 0 1px #ffd23a}.goals li.done{opacity:.5}.goals .bar{background:#ffffff26;border-radius:3px;height:6px;overflow:hidden}.goals .bar i{background:linear-gradient(90deg,#6dffc0,#7fe6ff);height:100%;display:block}.goals .amt{opacity:.8;font-size:.78rem;font-weight:800}.goals .tick{color:#6dffc0;font-weight:900}.bookset h3{justify-content:space-between;margin:10px 0 6px;display:flex}.bookgrid{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.bookitem{text-align:center;background:#ffffff0f;border-radius:12px;justify-items:center;gap:2px;padding:4px 2px;font-size:.6rem;display:grid}.bookitem svg{filter:brightness(0)opacity(.35);width:100%;height:56px}.bookitem.found svg{filter:none}.bookitem.found{background:#ffffff1f}.card.rewards{box-sizing:border-box;width:min(440px,100vw - 32px)}.daydays>*{min-width:0}.dayslot b{font-size:.66rem}.dayslot .coinicon{width:10px;height:10px}.hubbar{gap:8px}.hubbar .rlevel{flex:1 1 0;grid-template-columns:auto minmax(30px,1fr);min-width:0;max-width:none}.hubbar .rlevel small{white-space:normal;font-size:.64rem}.hubbar .wallet.mini{flex:none;gap:8px;padding:6px 10px}.abadge{width:42px;height:42px}.giftbtn{width:40px;height:40px;font-size:1.1rem}.studio{gap:8px}.studio.tall{max-height:50vh;overflow-y:auto}.modebar{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.mode{font:inherit;color:#fff;cursor:pointer;background:#ffffff12;border:1px solid #0000;border-radius:14px;justify-items:center;gap:1px;padding:6px 2px 7px;font-size:.72rem;font-weight:800;display:grid}.mode .mi{font-size:1.25rem;line-height:1.2}.mode.on{background:#ffd23a38;border-color:#ffd23a}.catrow{scrollbar-width:none;gap:6px;padding:2px 0 4px;display:flex;overflow-x:auto}.catrow::-webkit-scrollbar{display:none}.cat{font:inherit;color:#fff;border:1px solid var(--glass-edge);cursor:pointer;white-space:nowrap;background:#ffffff14;border-radius:999px;flex:none;align-items:center;gap:5px;padding:7px 11px;font-size:.76rem;font-weight:800;display:inline-flex}.cat.on{background:#ffd23a38;border-color:#ffd23a}.cat.sets{margin-left:auto}.layouthint{opacity:.85;margin:0;font-size:.8rem}.undobtn{align-self:flex-start}.floorrows{gap:6px;display:grid}.floorrow{background:#ffffff12;border-radius:14px;align-items:center;gap:8px;padding:8px 10px;display:flex}.floorrow.here{box-shadow:inset 0 0 0 1px #6dffc0}.floorrow.unbuilt .frmain{opacity:.8;cursor:default}.frmain{text-align:left;min-width:0;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;flex:1;gap:2px;padding:0;display:grid}.frmain small{opacity:.75;font-size:.7rem;font-weight:600}.floorrow .btn{flex:none;padding:8px 12px;font-size:.76rem}.signcard{background:#ffffff12;border-radius:14px;gap:8px;padding:10px;display:grid}.buildpanel{gap:6px;display:grid}.buildpanel .sect{letter-spacing:.06em;text-transform:uppercase;opacity:.75;margin:6px 0 0;font-size:.78rem}.hubbar .rlevel{grid-template-columns:auto minmax(40px,1fr)}.emotetoggle{border:1px solid var(--glass-edge);background:var(--glass);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:pointer;z-index:3;border-radius:12px;width:44px;height:44px;font-size:1.2rem;position:absolute;top:124px;right:10px}.emotetoggle.on{border-color:#ffd23a}.emotebar{top:124px;bottom:auto;right:62px}.buildpanel .statrow{gap:6px}.buildpanel .statrow>div{border-radius:12px;padding:5px 4px}.acinput{box-sizing:border-box;width:100%;font:inherit;color:#fff;border:1px solid var(--glass-edge);background:#ffffff1a;border-radius:14px;outline:none;padding:11px 14px;font-size:1rem;font-weight:800}.acinput:focus{border-color:#ffd23a}.acinput::placeholder{color:#ffffff73}.placebar.placing{gap:10px;display:grid}.placing .pinfo{gap:2px;display:grid}.placing .pinfo b{font-size:1.05rem}.placing .pinfo small{font-size:.78rem;font-weight:700}.placing .pinfo small.okay{color:#6dffc0}.placing .pinfo small.nope{color:#ff9aa8}.placing .pbtns{gap:8px;display:flex}.act{font:inherit;color:#fff;border:1px solid var(--glass-edge);cursor:pointer;background:#ffffff1a;border-radius:16px;flex:1;justify-items:center;gap:1px;padding:8px 4px 9px;font-size:.78rem;font-weight:800;display:grid}.act i{font-size:1.35rem;font-style:normal;line-height:1.2}.act .cst{align-items:center;gap:3px;display:inline-flex}.act.ok{color:#2a0f2e;background:linear-gradient(#ffe27a,#ffb838);border-color:#ffd23a;flex:1.8;box-shadow:0 3px #c98200}.act.ok:disabled{opacity:.45;filter:grayscale(.6);box-shadow:none}.placebar.withnudge{grid-template-columns:1fr auto;align-items:center}.placebar.withnudge .pbtns{grid-column:1/-1}.nudge{grid-template-rows:repeat(2,38px);grid-template-columns:repeat(2,44px);gap:5px;display:grid}.nudge button{border:1px solid var(--glass-edge);color:#fff;cursor:pointer;background:#ffffff1f;border-radius:12px;padding:0;font-size:1.25rem;font-weight:800}.nudge button:active{background:#ffd23a59;border-color:#ffd23a}.nudge button:only-child,.nudge button:nth-child(-n+2):nth-last-child(-n+2){grid-row:1/-1}.guestcard{background:#ffffff14;border-radius:14px;align-items:center;gap:12px;padding:10px;display:flex}.guestcard>div:last-child{gap:3px;min-width:0;display:grid}.guestcard small{opacity:.8;font-size:.72rem}.guestpic{flex:none;width:64px;height:64px}.guestpic:not(.found) svg{filter:brightness(0)opacity(.35)}.chapterintro{text-align:left;background:linear-gradient(135deg,#ffd23a33,#ff7fb02e);border:1px solid #ffd23a80;border-radius:16px;align-items:center;gap:10px;margin-bottom:8px;padding:10px;display:flex}.chapterintro>div{gap:3px;min-width:0;display:grid}.chapterintro small{letter-spacing:.05em;text-transform:uppercase;color:#ffd23a;font-size:.64rem;font-weight:800}.chapterintro p{margin:0;font-size:.82rem;font-style:italic;line-height:1.25}.chapterintro b{color:#6dffc0;font-size:.76rem;line-height:1.25}.hintchip:disabled{opacity:.45}.foot{gap:8px}.foot .spacer{flex:1}.audiowrap{position:relative}.audiopop{border:1px solid var(--glass-edge);z-index:5;background:#1b1240f5;border-radius:16px;gap:6px;padding:8px;display:grid;position:absolute;bottom:calc(100% + 8px);left:0;box-shadow:0 10px 30px #0a001e80}.audiopop .chip{white-space:nowrap;justify-content:flex-start}@media (width<=400px){.foot{gap:6px}.foot .chip{white-space:nowrap;padding-inline:10px;font-size:.8rem}}.hubbar{justify-content:space-between;align-items:center;gap:8px;display:flex}.hubleft{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.hubbar .rlevel{flex:1;grid-template-columns:1fr;gap:4px;min-width:44px;max-width:120px;display:grid}.hubbar .rlevel b{white-space:nowrap;font-size:1.15rem;line-height:1}.hubbar .rlevel .meter{height:8px}.hubbar .abadge,.hubbar .giftbtn,.hubbar .wallet.mini{flex:none}.card.rewards{text-align:left;flex-direction:column;gap:8px;max-height:min(88dvh,760px);padding:16px 18px 14px;display:flex;position:relative;overflow:hidden}.card.rewards .tabs{flex:none;padding-right:30px}.card.rewards .rbody{overscroll-behavior:contain;flex:1;min-height:0;padding-right:2px;overflow-y:auto}.card.rewards .actions{flex:none;justify-content:center;width:100%;display:flex}.card.rewards .actions .btn{width:100%}.card.rewards .rbody .actions{margin-top:10px}.xclose{border:1px solid var(--glass-edge);color:#fff;cursor:pointer;z-index:3;background:#ffffff1a;border-radius:50%;place-items:center;width:34px;height:34px;padding:0;font-size:1rem;display:grid;position:absolute;top:10px;right:12px}.overlay .card:not(.rewards){overscroll-behavior:contain;max-height:calc(100dvh - 32px);overflow-y:auto}.overlay .card:not(.rewards) .actions{z-index:2;background:linear-gradient(#2c1c5800,#2c1c58f7 35%);width:100%;padding:12px 0 4px;position:sticky;bottom:-14px}.screen.map .bar{z-index:6;background:linear-gradient(#140830f5 70%,#14083000);margin:0 -16px;padding:8px 16px;position:sticky;top:0}.hearts.compact{gap:5px}.hearts.compact b{font-size:1.1rem;font-weight:800}.hubbar .wallet.mini{gap:10px;padding:6px 12px}.dock button.on{color:#ffd23a}.dock button.on:after{content:"";background:#ffd23a;border-radius:2px;width:20px;height:3px;margin-top:1px;display:block;box-shadow:0 0 8px #ffd23ae6}.dock.compact{padding:4px 10px calc(6px + env(safe-area-inset-bottom))}.dock.compact button{padding:3px 0}.dock.compact button svg{width:22px;height:22px}.dock.compact button span{font-size:.62rem}.dock.compact .playbtn{border-radius:20px;margin-top:-14px;padding:8px 0 6px}.dock.compact .playbtn svg{width:26px;height:26px}.screen.withdock{padding-bottom:calc(96px + env(safe-area-inset-bottom))}.screen.withdock.decorate{padding-bottom:calc(72px + env(safe-area-inset-bottom))}.studio.tall{max-height:44vh}.tchip.done{border-color:#6dffc099}.tchip.done i{background:#6dffc0;box-shadow:0 0 8px #6dffc0}.visitbonus{color:#ffe9a0;text-align:center;background:#ffd23a33;border:1px solid #ffd23a;border-radius:12px;margin:0;padding:8px 12px;font-size:.85rem;font-weight:800;animation:.4s cubic-bezier(.3,1.4,.5,1) rise}.ideas{flex-wrap:wrap;gap:6px;display:flex}.idea{border:1px solid var(--glass-edge);background:#ffffff1a;border-radius:999px;align-items:center;gap:6px;padding:5px 10px;font-size:.74rem;font-weight:800;display:inline-flex}.idea small{opacity:.8;font-size:.68rem}.buildpanel .statrow{gap:4px;display:flex}.buildpanel .statrow>div{border-radius:10px;flex:1;justify-content:center;align-items:baseline;gap:4px;padding:4px;display:flex}.buildpanel .statrow b{font-size:.95rem}.buildpanel .statrow small{font-size:.6rem}.mode{padding:4px 2px 5px}.mode .mi{font-size:1.05rem}.screen.town{min-height:100dvh}.screen.town .townstage{flex:auto;min-height:240px;display:block}.screen.town .townstage .zp{height:100%;min-height:240px}.screen.town .townstage .zp-content{height:100%}.screen.town .townmap{width:100%;height:100%}.screen.town.visit .townstage{display:block}.screen.town.visit .stage .zp{height:min(52vh,480px)}.screen.town:not(.visit) .townstage{flex-direction:column;display:flex}.screen.town:not(.visit) .townstage .zp{flex:auto;height:auto;min-height:240px}.installhelp{opacity:.85;text-align:center;margin:8px 0 0;font-size:.85rem}.dailybar{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:linear-gradient(90deg,#ff8fb147,#ffd16638);border:1px solid #ffffff2e;border-radius:16px;align-items:center;gap:10px;margin:0 0 8px;padding:8px 12px;display:flex}.dailybar:disabled{opacity:.6}.dailybar .dd{font-size:1.5rem}.dailybar .dt{flex:1;min-width:0;display:grid}.dailybar .dt b{font-size:.95rem}.dailybar .dt small{opacity:.85;white-space:nowrap;text-overflow:ellipsis;font-size:.7rem;overflow:hidden}.dailybar .ds{font-size:.85rem;font-weight:800}.dailybar .dgo{color:#3a2210;background:#ffd166;border-radius:999px;padding:6px 14px;font-weight:800}.dailybar.done .dgo{color:inherit;background:#fff3}@media (width<=420px){.foot .lbl{display:none}}.combo{z-index:30;letter-spacing:.03em;color:#3a2210;pointer-events:none;background:linear-gradient(90deg,#ffd166,#ff9ebb);border-radius:999px;padding:3px 14px;font-size:.95rem;font-weight:900;animation:.45s cubic-bezier(.2,1.6,.4,1) combopop;position:fixed;top:34%;left:50%;translate:-50%;box-shadow:0 2px 10px #ff9ebb80}.combo.c3{font-size:1.05rem}.combo.c4{font-size:1.15rem}.combo.c5,.combo.c6{background:linear-gradient(90deg,#ff9ebb,#ffd166,#7fe6ff);font-size:1.25rem}@keyframes combopop{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.combo{animation:none}}.lbbar{background:linear-gradient(90deg, var(--gold), #ff9ebb);border-radius:0 4px 4px 0;height:4px;position:absolute;bottom:0;left:0;box-shadow:0 0 8px #ffc233b3}.here{letter-spacing:.04em;background:var(--mint);color:#0d2a22;white-space:nowrap;pointer-events:none;border-radius:999px;padding:2px 9px;font-size:.66rem;font-style:normal;font-weight:900;animation:1.2s ease-in-out infinite herebob;position:absolute;top:-26px;left:50%;translate:-50%;box-shadow:0 3px 10px #0006}@keyframes herebob{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.node.boss:not(.locked):not(.cleared){animation:1.8s ease-in-out infinite bossglow}@keyframes bossglow{0%,to{box-shadow:0 0 16px #ff7a8a66,0 6px 16px #0006}50%{box-shadow:0 0 32px #ff7a8ad9,0 6px 16px #0006}}@media (prefers-reduced-motion:reduce){.here,.node.boss:not(.locked):not(.cleared){animation:none}}.node.boss .here{top:-48px}.regulars{text-align:left;gap:8px;margin:0;padding:0;list-style:none;display:grid}.regulars li{background:#ffffff14;border-radius:16px;align-items:center;gap:10px;padding:8px 10px;display:flex}.regulars li.ready{background:linear-gradient(90deg,#ffd23a38,#ff7fb02e);border:1px solid #ffd23a80}.regulars .rinfo{flex:1;gap:3px;min-width:0;display:grid}.regulars .rinfo b small{color:var(--pink);text-transform:uppercase;letter-spacing:.05em;margin-left:6px;font-size:.66rem}.regulars .pc{opacity:.85;font-size:.72rem;font-style:italic;line-height:1.25}.regulars .amt{white-space:nowrap;font-size:.8rem;font-weight:800}.rewards .tabs{justify-content:flex-start;gap:3px;padding:4px 38px 4px 4px}.rewards .tabs button{padding:7px 6px;font-size:.76rem}.festbar{border:1px solid var(--glass-edge);background:#ffffff1a;border-radius:999px;height:24px;margin:2px 0 8px;position:relative;overflow:hidden}.festbar i{background:linear-gradient(90deg,#ff9ebb,#ffd166,#7fe6ff);position:absolute;inset:0 auto 0 0;box-shadow:0 0 12px #ffd166b3}.festbar b{text-align:center;text-shadow:0 1px 4px #080318e6;font-size:.8rem;line-height:24px;display:block;position:relative}.prize{gap:10px;font-weight:800;display:flex}.invnote{opacity:.8;margin:6px 0 0;font-size:.75rem}.storybtn{font:inherit;color:#3a2210;cursor:pointer;text-align:left;background:linear-gradient(90deg,#ffd166,#ff9ebb);border:0;border-radius:999px;justify-self:start;margin-top:2px;padding:5px 12px;font-size:.72rem;font-weight:800}.storylock{opacity:.6;font-size:.7rem}.storytag{letter-spacing:.05em;text-transform:uppercase;color:#ffd23a;font-size:.66rem;font-weight:800}.regulars .storydone{color:#0d2a22;background:var(--mint);white-space:nowrap;border-radius:999px;margin-left:6px;padding:1px 8px;font-size:.62rem;font-weight:800;display:inline-block}
