@font-face{font-family:Lilita One;src:url(./LilitaOne-d610f9f8.ttf) format("truetype");font-display:block}:root{--ink: #6b3420;--ink-soft: #9a6248;--cream: #fff8ef;--cream-2: #ffecd9;--line: #ffd9bd;--peach: #ffc4aa;--green-1: #6fe04a;--green-2: #33b22a;--orange-1: #ffbf3d;--orange-2: #ff8a1f;--blue-1: #5cbaff;--blue-2: #2484f5;--red: #f2413b;--gold: #ffc83d;--shadow: 0 10px 28px rgba(150, 60, 30, .22);--font: "Lilita One", "Arial Rounded MT Bold", system-ui, sans-serif}html,body{margin:0;height:100%;overflow:hidden;background:#ffc9b0}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}#stage{position:fixed;inset:0;overflow:hidden;touch-action:none;user-select:none;-webkit-user-select:none;font-family:var(--font);color:var(--ink);-webkit-tap-highlight-color:transparent}#stage canvas{position:absolute;inset:0;width:100%;height:100%;display:block;z-index:1}.startup-error{position:absolute;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:24px;text-align:center;color:var(--ink);font:20px/1.3 var(--font);background:var(--peach)}.backdrop{position:absolute;inset:0;z-index:0;overflow:hidden;background:radial-gradient(120% 70% at 50% 108%,#ffb79b,#ffb79b00 60%),radial-gradient(90% 60% at 50% 30%,#ffe3d2,#ffe3d200 70%),linear-gradient(180deg,#ffd8c6,#ffc3a8 55%,#ffb394)}.backdrop i{position:absolute;border-radius:50%;filter:blur(18px);opacity:.55}.backdrop .k1{width:34vmin;height:34vmin;left:-8vmin;top:4vmin;background:radial-gradient(circle at 35% 35%,#ffa6d0,#ff6fae)}.backdrop .k2{width:22vmin;height:22vmin;right:-4vmin;top:10vmin;background:radial-gradient(circle at 35% 35%,#ffe680,#ffb52e)}.backdrop .k3{width:26vmin;height:26vmin;right:6vmin;top:30vmin;background:radial-gradient(circle at 35% 35%,#9fd9ff,#4aa3ff);opacity:.4}.backdrop .k4{width:18vmin;height:18vmin;left:12vmin;top:36vmin;background:radial-gradient(circle at 35% 35%,#c7f59a,#6bcf3e);opacity:.38}.backdrop .k5{width:40vmin;height:16vmin;left:30vmin;top:-6vmin;border-radius:40%;background:#fff2e8;opacity:.6}.backdrop .floor{position:absolute;left:-10%;right:-10%;bottom:-8%;height:52%;border-radius:50% 50% 0 0/18% 18% 0 0;filter:none;opacity:1;background:linear-gradient(180deg,#ffbea000,#ffaa8c8c)}#ui{position:absolute;inset:0;z-index:5;pointer-events:none}#ui button{font-family:var(--font);cursor:pointer;-webkit-tap-highlight-color:transparent}#ui .screen{position:absolute;inset:0;display:none}#ui[data-screen=menu] .screen.menu,#ui[data-screen=play] .screen.play,#ui[data-screen=town] .screen.town{display:block}.pill{display:inline-flex;align-items:center;gap:8px;height:44px;padding:0 16px 0 6px;border-radius:22px;background:var(--cream);box-shadow:inset 0 -4px 0 var(--cream-2),0 6px 16px #963c1e2e;font-size:22px;white-space:nowrap}.coin{width:34px;height:34px;flex:0 0 auto;border-radius:50%;position:relative;background:radial-gradient(circle at 35% 30%,#fff3a6,#ffd23f 35%,#f2a20f);box-shadow:inset 0 -3px #d98a00,0 2px 4px #9650004d}.coin:after{content:"";position:absolute;inset:8px;clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);background:#fff7cf;opacity:.9}.coins b{font-weight:400;min-width:2ch}.round{pointer-events:auto;width:52px;height:52px;border:0;border-radius:50%;padding:0;display:grid;place-items:center;background:var(--cream);box-shadow:inset 0 -5px 0 var(--cream-2),0 6px 16px #963c1e33;color:var(--ink);position:relative}.round:after{content:"";position:absolute;inset:-6px;border-radius:50%}.round svg{width:28px;height:28px}.round:active,.btn:active,.booster:active{transform:translateY(2px) scale(.97)}.btn{pointer-events:auto;position:relative;border:0;border-radius:20px;min-height:58px;padding:10px 24px;font-size:24px;color:#fff;letter-spacing:.01em;text-shadow:0 2px 0 rgba(0,0,0,.18);display:inline-flex;align-items:center;justify-content:center;gap:10px;white-space:nowrap;box-shadow:inset 0 -6px #00000029,inset 0 3px #ffffff59,0 8px 18px #963c1e40;transition:transform .08s}.btn.green{background:linear-gradient(180deg,var(--green-1),var(--green-2))}.btn.orange{background:linear-gradient(180deg,var(--orange-1),var(--orange-2))}.btn.blue{background:linear-gradient(180deg,var(--blue-1),var(--blue-2))}.btn.cream{background:var(--cream);color:var(--ink);text-shadow:none;box-shadow:inset 0 -5px 0 var(--cream-2),0 6px 14px #963c1e2e}.btn.big{min-height:68px;font-size:30px;border-radius:24px;padding:10px 36px}.btn small{font-size:.62em;opacity:.9}.btn[disabled]{filter:grayscale(.7) brightness(.95);opacity:.7}.btn .ad,.booster .ad{display:inline-grid;place-items:center;width:30px;height:22px;border-radius:7px;background:#fffffff2;flex:0 0 auto}.btn .ad svg,.booster .ad svg{width:14px;height:14px;fill:var(--orange-2)}.btn .coin{width:26px;height:26px}.tag{display:inline-block;padding:3px 9px 2px;border-radius:10px;font-size:15px;color:#fff;text-shadow:0 1px 0 rgba(0,0,0,.2);box-shadow:inset 0 -2px #00000026}.tag.hard{background:var(--red)}.tag.mystery{background:#9a4dff}.tag.lock{background:#e8a10f}.tag.tall{background:#14b3aa}.hud-top{position:absolute;left:0;right:0;top:0;padding:max(10px,env(safe-area-inset-top)) 12px 0;display:flex;align-items:center;gap:10px}.hud-top .grow{flex:1;display:flex;justify-content:center;min-width:0}.level-pill{padding:0 18px;gap:10px}.level-pill .lv{font-size:24px}.hud-bottom{position:absolute;left:0;right:0;bottom:0;padding:0 12px max(30px,calc(env(safe-area-inset-bottom) + 22px));display:flex;justify-content:center;gap:14px}.booster{pointer-events:auto;position:relative;width:70px;height:70px;border:0;border-radius:50%;padding:0;background:var(--cream);color:var(--ink);box-shadow:inset 0 -6px 0 var(--cream-2),0 8px 18px #963c1e38;display:grid;place-items:center;transition:transform .08s}.booster svg.ico{width:36px;height:36px;margin-top:-4px}.booster .lbl{position:absolute;left:50%;bottom:-21px;transform:translate(-50%);font-size:14px;color:var(--ink);white-space:nowrap;text-shadow:0 1px 0 rgba(255,255,255,.7)}.booster .badge{position:absolute;right:-4px;top:-4px;min-width:26px;height:26px;padding:0 6px;border-radius:13px;display:grid;place-items:center;box-sizing:border-box;background:linear-gradient(180deg,#ff6b5e,var(--red));color:#fff;font-size:16px;box-shadow:0 2px #00000026,0 0 0 3px var(--cream)}.booster .badge.price{background:linear-gradient(180deg,#ffe066,#f5ad12);color:var(--ink);font-size:13px;padding:0 7px}.booster .badge.adb{background:linear-gradient(180deg,var(--orange-1),var(--orange-2));padding:0 5px}.booster .badge.adb svg{width:13px;height:13px;fill:#fff}.booster.small{width:54px;height:54px;align-self:center}.booster.small svg.ico{width:28px;height:28px;margin:0}.booster[disabled]{opacity:.5}.booster.pulse{animation:pulse 1s ease-in-out infinite}@keyframes pulse{50%{transform:scale(1.1);box-shadow:inset 0 -6px 0 var(--cream-2),0 0 0 6px #ffc83da6,0 8px 18px #963c1e38}}.hud-bottom .spacer{width:10px}.coach{position:absolute;inset:0;pointer-events:none}.coach .line{position:absolute;left:50%;transform:translate(-50%);width:max-content;max-width:min(88vw,520px);text-align:center;padding:10px 18px;border-radius:18px;background:#fff8eff2;box-shadow:var(--shadow);font-size:20px;line-height:1.15;opacity:0;transition:opacity .25s}.coach .line.on{opacity:1}.coach .finger{position:absolute;width:64px;height:64px;margin:-6px 0 0 -18px;opacity:0;transition:opacity .2s,left .35s cubic-bezier(.3,1.4,.5,1),top .35s cubic-bezier(.3,1.4,.5,1);filter:drop-shadow(0 4px 6px rgba(120,50,20,.35))}.coach .finger.on{opacity:1;animation:tapme .9s ease-in-out infinite}@keyframes tapme{0%,to{transform:translateY(0) scale(1)}45%{transform:translateY(10px) scale(.92)}}.floaters{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:6}.floater{position:absolute;transform:translate(-50%,-50%);font-size:34px;color:#fff;white-space:nowrap;-webkit-text-stroke:2px rgba(120,40,10,.55);paint-order:stroke fill;text-shadow:0 4px 0 rgba(120,40,10,.35);animation:floatup 1.1s cubic-bezier(.2,1.2,.4,1) forwards}.floater.coin-fly{font-size:26px;color:#ffe066}@keyframes floatup{0%{opacity:0;transform:translate(-50%,-20%) scale(.4)}18%{opacity:1;transform:translate(-50%,-60%) scale(1.15)}70%{opacity:1;transform:translate(-50%,-110%) scale(1)}to{opacity:0;transform:translate(-50%,-150%) scale(.95)}}.menu .top{position:absolute;left:0;right:0;top:0;padding:max(10px,env(safe-area-inset-top)) 12px 0;display:flex;justify-content:space-between;align-items:center}.title{position:absolute;left:50%;top:calc(max(10px,env(safe-area-inset-top)) + 64px);transform:translate(-50%);text-align:center;width:max-content;max-width:94vw}.title .logo{display:flex;gap:3px;justify-content:center;font-size:clamp(34px,9vmin,64px);line-height:1}.title .logo span{display:inline-block;color:#fff;padding:4px 6px 6px;border-radius:10px;box-shadow:inset 0 -5px #00000029,inset 0 3px #ffffff59,0 4px 10px #963c1e33;text-shadow:0 2px 0 rgba(0,0,0,.2);transform:rotate(var(--r, 0deg))}.title .sub{margin-top:8px;font-size:clamp(22px,5.4vmin,38px);color:var(--ink);text-shadow:0 2px 0 rgba(255,255,255,.7);letter-spacing:.04em}.menu .bottom{position:absolute;left:0;right:0;bottom:0;padding:0 16px max(18px,env(safe-area-inset-bottom));display:flex;flex-direction:column;align-items:center;gap:14px}.next-card{pointer-events:auto;width:min(92vw,420px);box-sizing:border-box;padding:12px 16px;border-radius:20px;background:#fff8eff0;box-shadow:var(--shadow);display:flex;align-items:center;gap:12px}.next-card .ic{width:52px;height:52px;flex:0 0 auto;border-radius:14px;background:linear-gradient(180deg,#fff1df,#ffdcc0);display:grid;place-items:center}.next-card .ic svg{width:36px;height:36px}.next-card .txt{flex:1;min-width:0}.next-card .nm{font-size:19px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.next-card .sm{font-size:14px;color:var(--ink-soft)}.bar{height:14px;border-radius:7px;background:#f6d9c3;overflow:hidden;margin-top:6px;box-shadow:inset 0 2px 3px #963c1e2e}.bar>i{display:block;height:100%;width:100%;border-radius:7px;background:linear-gradient(180deg,#8ae85f,#3fbf2c);transform:scaleX(0);transform-origin:left;transition:transform .8s cubic-bezier(.3,1,.4,1)}.town-done{width:min(92vw,420px);text-align:center;font-size:17px;padding:10px 14px;border-radius:16px;background:#fff8eff0;box-shadow:var(--shadow)}.btn.play{min-width:min(78vw,300px)}.btn.play .lvn{display:block;font-size:.55em;opacity:.9}.btn.play .col{display:flex;flex-direction:column;align-items:center;line-height:1.05}.sheet{position:absolute;inset:0;z-index:20;display:none;align-items:center;justify-content:center;padding:max(12px,env(safe-area-inset-top)) 14px max(12px,env(safe-area-inset-bottom));background:#6e2d1447;pointer-events:auto;box-sizing:border-box}.sheet.open{display:flex}.card{position:relative;width:min(100%,420px);max-height:100%;box-sizing:border-box;display:flex;flex-direction:column;align-items:stretch;gap:12px;padding:22px 20px 20px;border-radius:28px;background:var(--cream);box-shadow:inset 0 -6px 0 var(--cream-2),0 18px 40px #6e2d144d;text-align:center;animation:pop .34s cubic-bezier(.3,1.5,.5,1) both}@keyframes pop{0%{transform:scale(.7);opacity:0}}.card h2{margin:0;font-weight:400;font-size:32px;line-height:1.05}.card p{margin:0;font-size:18px;line-height:1.25;color:var(--ink-soft)}.card .body{flex:0 1 auto;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:10px}.card .actions{flex:0 0 auto;display:flex;flex-direction:column;gap:10px}.card .actions .btn{width:100%}.card .x{position:absolute;right:-8px;top:-8px;width:46px;height:46px}.card .x svg{width:22px;height:22px}.ribbon{margin:-40px auto 0;padding:8px 26px 10px;border-radius:16px;background:linear-gradient(180deg,var(--orange-1),var(--orange-2));color:#fff;font-size:26px;width:max-content;max-width:100%;box-shadow:inset 0 -5px #00000024,0 6px 14px #963c1e40;text-shadow:0 2px 0 rgba(0,0,0,.18)}.ribbon.green{background:linear-gradient(180deg,var(--green-1),var(--green-2))}.reward{display:flex;align-items:center;justify-content:center;gap:10px;font-size:44px}.reward .coin{width:46px;height:46px}.lines{display:flex;flex-direction:column;gap:4px}.lines div{font-size:16px;color:var(--ink-soft)}.lines div b{color:#e8540f;font-weight:400}.stars{display:flex;justify-content:center;gap:6px;margin-top:-4px}.build-box{padding:10px 12px;border-radius:16px;background:#fff0e0;text-align:left}.build-box .row{display:flex;justify-content:space-between;gap:8px;font-size:16px}.build-box .row span:last-child{color:var(--ink-soft);white-space:nowrap}.toggle-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-radius:16px;background:#fff0e0;font-size:20px}.switch{pointer-events:auto;position:relative;width:66px;height:38px;border:0;border-radius:19px;background:#e2c2ad;padding:0;transition:background .2s;flex:0 0 auto}.switch:before{content:"";position:absolute;left:4px;top:4px;width:30px;height:30px;border-radius:50%;background:#fff;box-shadow:0 2px 4px #0003;transition:left .2s}.switch.on{background:var(--green-2)}.switch.on:before{left:32px}.switch:after{content:"";position:absolute;inset:-6px}.tip-art{height:96px;display:grid;place-items:center}.tip-art svg{height:96px;width:auto}.toast{position:absolute;left:50%;top:22%;z-index:40;transform:translate(-50%,-10px);width:max-content;max-width:min(86vw,460px);padding:12px 18px;border-radius:18px;background:#6b3420eb;color:#fff;font-size:19px;text-align:center;opacity:0;transition:opacity .2s,transform .2s;pointer-events:none}.toast.on{opacity:1;transform:translate(-50%)}.town .top{position:absolute;left:0;right:0;top:0;padding:max(10px,env(safe-area-inset-top)) 12px 0;display:flex;justify-content:flex-end}@media(max-height:600px)and (max-aspect-ratio:1/1){.title .sub{display:none}.title{top:calc(max(8px,env(safe-area-inset-top)) + 56px)}.booster{width:60px;height:60px}.booster svg.ico{width:30px;height:30px}.booster.small{width:48px;height:48px}.card{padding:18px 16px 16px;gap:10px}.card h2{font-size:27px}.reward{font-size:36px}.btn.big{min-height:60px;font-size:26px}.btn{min-height:52px;font-size:21px}}@media(max-width:360px){.hud-bottom{gap:10px}.pill{font-size:19px;height:40px}.level-pill .lv{font-size:20px}.coin{width:30px;height:30px}}@media(max-height:430px)and (min-aspect-ratio:1/1),(max-height:620px)and (min-aspect-ratio:5/4){.hud-bottom{inset:64px 0 0 auto;width:88px;flex-direction:column;justify-content:center;align-items:center;gap:22px;padding:0 max(10px,env(safe-area-inset-right)) 8px 0}.hud-bottom .booster{width:56px;height:56px;flex:0 0 auto}.hud-bottom .booster svg.ico{width:28px;height:28px}.hud-bottom .booster .lbl{bottom:-18px;font-size:12px}.hud-bottom .booster.small{width:46px;height:46px}.hud-bottom .spacer{display:none}.title{top:max(8px,env(safe-area-inset-top))}.title .logo{font-size:clamp(26px,8vh,44px)}.title .sub{display:none}.menu .bottom{flex-direction:row;align-items:flex-end;justify-content:center;gap:16px}.next-card{width:min(46vw,380px)}.btn.play{min-width:0;width:min(42vw,300px)}.town-done{width:min(46vw,380px)}.card{width:min(100%,720px);display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.95fr);grid-template-rows:auto 1fr;column-gap:18px;padding:16px 18px;text-align:left}.card>.ribbon{grid-column:1;grid-row:1;margin-top:0}.card>h2{grid-column:1;text-align:center;font-size:26px}.card>.body{grid-column:1;grid-row:2 / span 2;max-height:100%}.card>.actions{grid-column:2;grid-row:1 / span 3;align-self:center}.card.simple{display:flex;width:min(100%,460px)}.reward{font-size:34px}.btn{min-height:50px;font-size:20px}.btn.big{min-height:56px;font-size:24px}.ribbon{margin-top:-6px;font-size:21px}.tip-art{height:64px}.tip-art svg{height:64px}}@media(max-height:340px)and (min-aspect-ratio:1/1){.hud-top{padding-top:6px}.pill{height:38px;font-size:18px}.round{width:44px;height:44px}.hud-bottom{top:54px;gap:16px}.hud-bottom .booster{width:48px;height:48px}.hud-bottom .booster .lbl{display:none}.card h2{font-size:22px}.card{gap:8px;padding:12px 14px;border-radius:22px}}#stage.paused .booster.pulse,#stage.paused .coach .finger.on{animation-play-state:paused}@media(max-width:340px){.hud-top{gap:6px;padding-left:8px;padding-right:8px}.level-pill{padding:0 12px}.level-pill .tag{display:none!important}.hud-top .round{width:44px;height:44px}}.sheet[data-s=built]{align-items:flex-end;background:#6e2d141a}
