:root{color:#642b20;font-family:YouYuan,Microsoft YaHei,PingFang SC,sans-serif;font-synthesis:none;background:#f4bc72}*{box-sizing:border-box}html,body,#app{width:100%;height:100%;margin:0;overflow:hidden}button{font:inherit;letter-spacing:0;-webkit-tap-highlight-color:transparent}button:focus-visible{outline:3px solid #fff;outline-offset:3px}.game-shell{display:grid;width:100%;height:100%;place-items:center;background:#f4bc72}.game-stage{position:relative;width:min(100vw,46.2581dvh);height:min(100dvh,216.1782vw);aspect-ratio:853 / 1844;overflow:hidden;isolation:isolate;background:#f6b55f;box-shadow:0 0 28px #6b321940;-webkit-user-select:none;user-select:none}.game-background{position:absolute;inset:0;z-index:0;width:100%;height:100%;pointer-events:none}.reward-layer{position:absolute;inset:0;z-index:3;pointer-events:none}.reward-slot,.reward-icon,.reward-quantity,.marquee-ring,.claimed-mask{position:absolute}.reward-slot{inset:0}.reward-icon{z-index:1;object-fit:contain;filter:drop-shadow(0 2px 2px rgb(114 54 25 / 18%));transition:filter .18s ease,opacity .18s ease}.reward-quantity{z-index:2;display:grid;place-items:center;color:#fff8d9;font-size:12px;font-weight:900;line-height:1;text-shadow:0 2px 0 #af612f,0 0 2px #824220}.claimed-mask{z-index:4;display:none;border-radius:12px;background:#2a2322b8;box-shadow:inset 0 0 0 2px #ffffff1f}.claimed-mask img{position:absolute;top:0;right:0;width:28.1%;height:28.1%}.reward-slot.is-obtained .claimed-mask{display:block}.reward-slot.is-obtained .reward-icon,.reward-slot.is-obtained .reward-quantity{filter:saturate(.5) brightness(.72)}.reward-slot.is-highlighted .reward-icon{animation:reward-pop .72s cubic-bezier(.2,1.4,.4,1);filter:drop-shadow(0 0 10px #fff) drop-shadow(0 0 18px #ffe24d)}.reward-slot.is-marquee .reward-icon{z-index:6;transform:scale(1.13);filter:drop-shadow(0 0 7px #fff) drop-shadow(0 0 15px #ffd52f)}.marquee-ring{z-index:5;display:none;border:3px solid #fff7a1;border-radius:12px;background:#ffef5524;box-shadow:0 0 0 2px #ffb917,0 0 12px 4px #fff,inset 0 0 10px #fff7a1;pointer-events:none}.reward-slot.is-marquee .marquee-ring{display:block;animation:marquee-pulse .16s ease-out both}.cake-hit,.draw-hit,.ad-plus{position:absolute;z-index:2;border:0;background:transparent;cursor:pointer}.exit-button{position:absolute;z-index:12;top:max(8px,env(safe-area-inset-top));left:max(8px,env(safe-area-inset-left));display:grid;width:clamp(29px,4.8vw,35px);height:clamp(29px,4.8vw,35px);padding:0;place-items:center;border:0;background:transparent;cursor:pointer;transition:transform .12s ease,filter .12s ease}.exit-button svg{width:100%;height:100%;overflow:visible}.exit-button:active{transform:translateY(2px) scale(.92);filter:brightness(.96)}.music-button{position:absolute;z-index:12;top:15.8%;right:5.2%;display:grid;width:clamp(30px,8.2vw,34px);height:clamp(30px,8.2vw,34px);padding:4px;place-items:center;border:2px solid #fff;border-radius:50%;color:#fff7a6;background:#d25b8fe0;box-shadow:0 3px #a74176,0 4px 9px #702c484d;cursor:pointer;transform:scale(.9);transition:transform .12s ease,filter .12s ease}.music-button svg{width:100%;height:100%;overflow:visible}.music-speaker{fill:currentColor;stroke:#a33f68;stroke-width:1.4;stroke-linejoin:round}.music-wave,.music-muted-line{fill:none;stroke:currentColor;stroke-width:3.2;stroke-linecap:round}.music-muted-line{display:block;stroke:#fff;filter:drop-shadow(0 1px 0 #9f3e65)}.music-button.is-enabled .music-muted-line{display:none}.music-button:not(.is-enabled) .music-wave{display:none}.music-button.is-playing .music-wave-one{animation:music-wave-pulse .9s ease-in-out infinite alternate}.music-button.is-playing .music-wave-two{animation:music-wave-pulse .9s ease-in-out .18s infinite alternate}.music-button.is-playing{animation:music-button-float 1.5s ease-in-out infinite alternate}.music-button:active{transform:translateY(2px) scale(.828);filter:brightness(.96)}.bgm-audio{display:none}.draw-hit{left:21.5%;top:85.3%;width:57%;height:8.35%;overflow:hidden;border-radius:999px;clip-path:inset(0 round 999px);isolation:isolate}.draw-hit:before,.draw-hit:after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none}.draw-hit:before{z-index:0;background:#602d0c2e;opacity:0;transition:opacity .12s ease-out}.draw-hit:after{z-index:1;background-image:url(/assets/bg_game.png);background-position:50% 93.071%;background-repeat:no-repeat;background-size:175.4386% auto;opacity:0;transform:scale(1);transition:transform .15s cubic-bezier(.34,1.56,.64,1),opacity 0ms linear .15s}.draw-hit:active:before,.draw-hit:active:after{opacity:1}.draw-hit:active:after{filter:brightness(.96) saturate(1.05);transform:translateY(2%) scale(.95);transition:transform 90ms cubic-bezier(.55,0,1,.45),opacity 0ms}.draw-hit:disabled{cursor:default}.ad-plus{left:64.5%;top:93.3%;width:9.5%;height:4.5%;border-radius:50%}.ad-plus:active{background:#ffffff3d;transform:scale(.92)}.slice-flash{position:absolute;z-index:7;left:17%;top:31%;width:67%;height:52%;pointer-events:none;opacity:0;background:linear-gradient(115deg,transparent 45%,#fff 49%,#ffe38b 51%,transparent 56%);filter:drop-shadow(0 0 8px #fff)}.flying-knife{position:absolute;z-index:8;top:47%;left:82%;width:15%;pointer-events:none;opacity:0;transform:rotate(90deg)}.is-drawing .slice-flash{animation:slice-flash .78s ease .18s both}.is-drawing .flying-knife{animation:knife-slice .94s cubic-bezier(.22,.85,.3,1) both}.is-drawing .game-background{animation:cake-feedback .48s ease .34s both}.modal-layer{position:absolute;inset:0;z-index:30;display:grid;place-items:center;padding:24px;opacity:0;background:#000000c9;transition:opacity .16s ease}.modal-layer[hidden]{display:none}.modal-layer.is-open{opacity:1}.dialog{position:relative;width:min(330px,86%);padding:24px 22px 20px;overflow:hidden;border:4px solid #fff6d5;border-radius:8px;color:#6e3425;background:linear-gradient(#fffdf1,#ffe8b1);box-shadow:0 14px 36px #4b1c1773,inset 0 0 0 2px #f5a64e;text-align:center;transform:translateY(18px) scale(.92);animation:dialog-pop .26s cubic-bezier(.2,1.25,.35,1) forwards}.dialog:before{content:"";position:absolute;inset:0 0 auto;height:10px;background:repeating-linear-gradient(90deg,#ff7b92 0 28px,#ffd35b 28px 56px,#7bd8cc 56px 84px)}.dialog h2{margin:7px 0 4px;font-size:18px;line-height:1.3}.dialog p{margin:7px 0}.dialog-kicker{color:#d65d58;font-size:14px;font-weight:900}.dialog-reward{width:118px;height:118px;object-fit:contain;filter:drop-shadow(0 8px 10px rgb(121 60 27 / 22%));animation:reward-float 1.2s ease-in-out infinite alternate}.dialog-quantity{color:#ef7133;font-size:20px;font-weight:900}.completion-copy{color:#d94d68;font-weight:900}.dialog-knife{width:92px;height:92px;object-fit:contain}.ad-count{color:#a45f43;font-size:14px;font-weight:700}.ad-dialog{width:min(330px,90%);aspect-ratio:715 / 798;padding:0;overflow:visible;border:0;border-radius:0;background:transparent;box-shadow:none}.ad-dialog:before{display:none}.ad-dialog-surface,.ad-dialog-panel{position:absolute;inset:5.89% 0 0;width:99.86%;height:94.11%}.ad-dialog-surface{z-index:0;border-radius:10.35%;background:#fff2ee;box-shadow:0 2px 0 3px #00000030}.ad-dialog-panel{z-index:1}.ad-dialog h2,.ad-dialog p,.ad-dialog button,.ad-dialog>.dialog-knife{position:absolute;z-index:2;margin:0}.ad-dialog h2{top:13.16%;left:29.09%;display:grid;width:41.82%;height:8.52%;margin:0;place-items:center;color:#7a6362;font-size:clamp(16px,4vw,18px);font-weight:900;line-height:1;text-shadow:0 2px 0 rgb(255 255 255 / 65%)}.ad-dialog .dialog-knife{top:21.68%;left:29.09%;width:41.96%;height:auto}.ad-question{top:59.2%;left:7.55%;display:grid;width:84.62%;height:9.6%;place-items:center;color:#7a6362;font-size:clamp(14px,3.8vw,16px);font-weight:900;line-height:1.25;text-shadow:0 2px 0 rgb(255 255 255 / 65%)}.ad-dialog .ad-count{top:88.85%;left:21.12%;display:grid;width:57.55%;height:6.89%;place-items:center;color:#7a6362;font-size:clamp(11px,3.1vw,13px);font-weight:700;line-height:1}.ad-dialog .dialog-close{z-index:3;top:0;right:0;width:14.27%;height:12.78%;padding:0}.dialog-close img{display:block;width:100%;height:100%;object-fit:contain}.ad-dialog .ad-claim-button{top:73.18%;left:21.12%;display:grid;width:57.62%;min-width:0;height:15.66%;min-height:0;margin:0;padding:0;grid-template-columns:30% 1fr;align-items:center;border:0;border-radius:0;background:transparent;box-shadow:none;color:#fff;font-size:clamp(14px,3.8vw,16px);font-weight:900;text-shadow:0 2px 0 rgb(123 37 13 / 45%)}.ad-claim-background{position:absolute;inset:0;z-index:-1;width:100%;height:100%}.ad-video-icon{width:74%;max-height:74%;justify-self:end;object-fit:contain}.ad-claim-button span{padding-right:10%}.ad-dialog .ad-claim-button:disabled span{padding-right:4%;font-size:12px;white-space:nowrap}.ad-dialog .ad-claim-button:active{transform:translateY(3px) scale(.98);box-shadow:none}.ad-dialog .ad-claim-button:disabled{opacity:.5;filter:grayscale(.45)}.ad-dialog .ad-claim-button.is-cooling:disabled{color:#fff;opacity:1;filter:none}.dialog-close{position:absolute;z-index:2;top:12px;right:10px;width:36px;height:36px;border:0;border-radius:50%;color:#9c503b;background:transparent;font-size:28px;line-height:1;cursor:pointer}.primary-dialog-button{display:block;width:min(188px,100%);min-width:0;min-height:48px;margin:12px auto 0;padding:10px 18px;border:2px solid #f07b22;border-radius:8px;color:#783410;background:linear-gradient(#fff177,#ffc72d);box-shadow:inset 0 2px #ffffffb3,0 4px #de741b;font-size:16px;font-weight:900;cursor:pointer}.primary-dialog-button:active{transform:translateY(3px);box-shadow:inset 0 2px #ffffff8c,0 1px #de741b}.primary-dialog-button:disabled{color:#8b8172;border-color:#cfc1a2;background:#ddd2bd;box-shadow:none;cursor:not-allowed}.toast{position:absolute;z-index:50;left:50%;bottom:11%;max-width:82%;padding:10px 16px;transform:translate(-50%,10px);border-radius:8px;color:#fff;background:#44221de0;box-shadow:0 6px 18px #3d191640;font-size:14px;font-weight:700;text-align:center;opacity:0;transition:opacity .18s ease,transform .18s ease}.toast.is-visible{opacity:1;transform:translate(-50%)}.debug-toggle{position:absolute;z-index:15;top:10px;right:10px;width:40px;height:40px;border:1px solid rgb(255 255 255 / 60%);border-radius:50%;color:#fff;background:#3e211ca3;font-size:20px;cursor:pointer}.debug-panel{position:absolute;inset:auto 8px 8px;z-index:25;max-height:58%;padding:14px;overflow:auto;border:1px solid rgb(255 255 255 / 32%);border-radius:8px;color:#f8f8f8;background:#1b1817eb;box-shadow:0 12px 30px #0000004d;font-family:Consolas,monospace;font-size:12px}.debug-panel[hidden]{display:none}.debug-panel header{display:flex;align-items:center;justify-content:space-between}.debug-panel header button{width:32px;height:32px;border:0;color:#fff;background:transparent;font-size:24px}.debug-panel dl{display:grid;gap:4px;margin:10px 0}.debug-panel dl div{display:flex;justify-content:space-between}.debug-panel dt,.debug-panel dd{margin:0}.debug-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px}.debug-actions button{min-height:38px;padding:6px;border:1px solid #6f6a66;border-radius:6px;color:#fff;background:#3e3a37;font-size:11px;cursor:pointer}.debug-actions button:last-child{color:#ffbdbd;border-color:#9f4e4e}@keyframes reward-pop{0%{transform:scale(.4) rotate(-8deg);opacity:.2}55%{transform:scale(1.28) rotate(4deg);opacity:1}to{transform:scale(1) rotate(0)}}@keyframes marquee-pulse{0%{transform:scale(.86);opacity:.45}to{transform:scale(1);opacity:1}}@keyframes reward-float{0%{transform:translateY(3px) rotate(-2deg)}to{transform:translateY(-5px) rotate(2deg)}}@keyframes cake-feedback{0%,to{transform:translate(0)}30%{transform:translate(-2px)}60%{transform:translate(2px)}}@keyframes knife-slice{0%{opacity:0;transform:translateY(-30%) rotate(90deg) scale(.8)}18%{opacity:1}72%{opacity:1;transform:translate(-390%,230%) rotate(90deg) scale(1.05)}to{opacity:0;transform:translate(-470%,280%) rotate(90deg) scale(.92)}}@keyframes slice-flash{0%{opacity:0;transform:translate(25%)}35%{opacity:.9}to{opacity:0;transform:translate(-25%)}}@keyframes dialog-pop{to{transform:translateY(0) scale(1)}}@keyframes music-wave-pulse{0%{opacity:.45;transform:scale(.92);transform-origin:center}to{opacity:1;transform:scale(1.06);transform-origin:center}}@keyframes music-button-float{0%{translate:0 0}to{translate:0 -2px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important}}@media(max-height:700px)and (min-width:700px){.game-stage{box-shadow:none}}
