:root{--ink:#49372e;--cream:#fff4d6;--orange:#e7825f;--yellow:#f6c866;--muted:#98745c}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:#f5dda9;color:var(--ink);font-family:ui-rounded,"PingFang SC","Microsoft YaHei",system-ui,sans-serif}body{background-image:radial-gradient(#dcae73 1px,transparent 1px);background-size:15px 15px}button,a{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #588d8b;outline-offset:3px}[hidden]{display:none!important}.app{max-width:1060px;margin:auto;padding:20px 28px 12px}.masthead{display:flex;justify-content:space-between;align-items:center;font-size:11px;font-weight:900;letter-spacing:.15em;margin:0 2px 12px}.brand-cat{color:#dc8060;font-size:17px}.issue{color:#98745c}.game-shell{background:var(--cream);border:3px solid var(--ink);border-radius:12px;box-shadow:7px 8px 0 #b88c65;padding:20px 25px 14px}.topline{display:flex;align-items:center;justify-content:space-between;padding:0 3px 14px}.eyebrow,.card-kicker{font-size:10px;letter-spacing:.18em;font-weight:900;color:#b16f53}.topline h1{font-size:clamp(27px,4.5vw,43px);letter-spacing:.02em;line-height:1;margin:6px 0 0;font-weight:1000}.topline h1 span{color:#c96f50}.topline h1 i{font-style:normal;color:#e6ad49}.stamp{width:64px;height:64px;border:2px solid #c77a5c;border-radius:50%;color:#c77a5c;display:grid;place-content:center;text-align:center;font-size:9px;line-height:1.1;font-weight:800;transform:rotate(12deg)}.stamp b{font-size:18px}.hud{display:flex;border:2px solid var(--ink);border-bottom:0;border-radius:8px 8px 0 0;background:#fffaf0;min-height:64px}.hud-item{padding:8px 17px;display:flex;justify-content:center;flex-direction:column}.hud-item+.hud-item{border-left:2px solid var(--ink)}.lives{flex:1.2}.score{flex:1}.time{flex:.7}.hud-label{font-size:10px;font-weight:900;letter-spacing:.08em;color:#98745c}.hud-label small{font-size:8px}.multiplier{color:#c77756;letter-spacing:0;white-space:nowrap}.hud strong{font-size:25px;line-height:1.05;letter-spacing:.05em}.cans{display:flex;gap:5px;margin-top:4px}.can{display:grid;place-items:center;width:30px;height:24px;border:2px solid var(--ink);border-radius:5px 5px 8px 8px;background:#f4b867;font-size:13px;line-height:1;box-shadow:inset 0 3px #ffe1a1}.can.lost{filter:grayscale(1);opacity:.25}.can.just-lost{animation:shake .35s}.scene-wrap{position:relative;overflow:hidden;border:2px solid var(--ink);background:#f8e4b7;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.scene{display:block;width:100%;height:auto}.scene-top{position:absolute;z-index:2;top:12px;left:16px;right:16px;display:flex;justify-content:space-between;font-size:9px;font-weight:900;letter-spacing:.1em;color:#876a55}.scene-top span:first-child{color:#c66e53}.status{position:absolute;left:16px;bottom:16px;border:2px solid var(--ink);background:#fff9e9;border-radius:30px;padding:7px 14px;font-weight:900;font-size:13px;box-shadow:3px 3px 0 #694e3c}.scene-hint{position:absolute;right:15px;bottom:19px;font-weight:900;font-size:11px;color:#715343}.scene-hint span{color:#c86c51}.cue{position:absolute;top:20%;right:13%;z-index:2;pointer-events:none;font-weight:1000;color:#49372e;text-shadow:2px 2px #fff4d6}.cue.footsteps{font-size:clamp(17px,3.4vw,32px);transform:rotate(-8deg);animation:bop .4s infinite alternate}.cue.cough,.cue.fakeout{background:#fff9ec;border:3px solid var(--ink);border-radius:50%;padding:15px 20px;font-size:clamp(14px,2.5vw,24px);box-shadow:4px 4px 0 #ba906c}.cue.cough:after,.cue.fakeout:after{content:"";position:absolute;bottom:-12px;right:22px;width:15px;height:15px;background:#fff9ec;border-right:3px solid var(--ink);border-bottom:3px solid var(--ink);transform:rotate(45deg)}.cue.shadow-cue{font-size:clamp(14px,2vw,20px)}#shadow{transition:opacity .25s}.warning-shadow #shadow{opacity:.43;animation:shadow-grow var(--warning-duration,1s) linear forwards;transform-origin:90% 75%}.boss-front,.face-happy,.face-shocked,.arms-slacking,.sparkles{display:none}.looking .boss-back{display:none}.looking .boss-front{display:block}.boss-exclaim{font-size:42px;font-weight:1000;fill:#d65f4d;stroke:#fff4d6;stroke-width:2;paint-order:stroke}.slacking .face-normal,.slacking .arms-working{display:none}.slacking .face-happy,.slacking .arms-slacking,.slacking .sparkles{display:block}.slacking #poppy{transform:translate(455px,193px) rotate(5deg);transform-origin:550px 350px}.slacking .sparkles{animation:bop .6s infinite alternate}.caught .face-normal,.caught .face-happy{display:none}.caught .face-shocked{display:block}.caught .cat-mouth{display:none}.caught .poppy-shake{transform-box:fill-box;transform-origin:center;animation:shake .25s 2}.working .arms-working{animation:type .3s infinite alternate}.bottomline{display:flex;justify-content:space-between;gap:10px;padding:13px 2px 0;font-size:10px;font-weight:800;color:#98745c}.bottomline b{color:#b66d51}.bottomline span:last-child{letter-spacing:.1em}footer{text-align:center;padding:20px 0 5px;font-size:11px;font-weight:900;letter-spacing:.08em;color:#87694f}footer span{color:#d38060}.overlay{position:absolute;inset:0;z-index:5;background:rgba(76,53,40,.46);display:flex;align-items:center;justify-content:center;padding:12px;overflow:auto;touch-action:pan-y}.start-card,.result-card{position:relative;width:min(410px,100%);max-height:100%;overflow:auto;background:#fff7e4;border:3px solid var(--ink);border-radius:13px;box-shadow:6px 6px 0 rgba(73,55,46,.7);padding:18px 25px;text-align:center}.start-card:before,.result-card:before{content:"";position:absolute;inset:7px;border:1px dashed #ddba8c;border-radius:7px;pointer-events:none}.start-illustration{height:105px;display:flex;align-items:center;justify-content:center;gap:5px;color:#e6a84e;font-size:22px}.start-illustration svg{height:105px;width:150px}.start-card h2,.result-card h2{font-size:23px;margin:3px 0 8px}.start-card p{font-size:13px;line-height:1.8;font-weight:700;margin:0 0 12px;color:#80634e}.primary{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:25px;background:#e78461;color:#fffaf0;border:2px solid var(--ink);border-radius:7px;box-shadow:3px 4px 0 var(--ink);padding:10px 25px;font-weight:1000;text-decoration:none;min-height:44px}.primary:hover{background:#d87352}.primary:active{transform:translate(2px,3px);box-shadow:1px 1px 0 var(--ink)}.card-note{font-size:10px;color:#b28c6d;font-weight:800;margin-top:12px}.result-card{padding:16px 24px}.result-sub{font-size:12px;color:#a08065;margin:0}.result-score{margin:10px 0 5px;display:flex;flex-direction:column}.result-score span,.result-score small{font-size:10px;font-weight:900;color:#a37d60;letter-spacing:.1em}.result-score strong{font-size:52px;line-height:1;color:#cf7655}.result-stats{display:flex;border-block:1px dashed #d9b894;margin:10px 0;padding:8px}.result-stats div{flex:1;display:flex;flex-direction:column}.result-stats div+div{border-left:1px dashed #d9b894}.result-stats b{font-size:20px}.result-stats span{font-size:10px;color:#a37d60}.roast{font-size:13px;font-weight:900;margin:10px 0 13px}.result-actions{display:flex;justify-content:center;gap:5px;flex-wrap:wrap;margin-top:12px}.result-actions button,.result-actions a{background:transparent;border:0;color:#9e644d;text-decoration:underline;font-size:11px;font-weight:900;padding:5px;cursor:pointer}.modal{position:fixed;inset:0;z-index:20;background:rgba(54,38,30,.7);display:flex;align-items:center;justify-content:center;padding:16px}.modal-card{background:#fff7e4;border:3px solid var(--ink);border-radius:12px;box-shadow:6px 6px 0 #49372e;width:min(440px,100%);max-height:95dvh;padding:16px;display:flex;flex-direction:column;align-items:center;gap:12px}.modal-heading{width:100%;display:flex;justify-content:space-between;align-items:center}.modal-heading h2{font-size:20px;margin:3px 0}.close{border:2px solid var(--ink);border-radius:50%;width:34px;height:34px;background:#f5d79c;font-size:24px;line-height:1}.modal img{display:block;max-width:100%;max-height:65dvh;object-fit:contain;border:2px solid var(--ink);border-radius:5px}.download{width:100%}.toast{position:fixed;z-index:30;left:50%;bottom:25px;transform:translate(-50%,20px);background:var(--ink);color:#fff7e4;border-radius:30px;padding:10px 20px;font-weight:900;opacity:0;pointer-events:none;transition:.2s}.toast.show{opacity:1;transform:translate(-50%,0)}@keyframes shake{25%{transform:translateX(-5px) rotate(-3deg)}75%{transform:translateX(5px) rotate(3deg)}}@keyframes bop{to{transform:translateY(-5px) rotate(3deg)}}@keyframes type{to{transform:translateY(3px)}}@keyframes shadow-grow{from{opacity:.12;transform:scale(.45)}to{opacity:.5;transform:scale(1)}}@media(max-width:600px){.app{padding:10px 10px 12px}.masthead{font-size:9px;margin-bottom:8px}.game-shell{padding:14px 10px 10px;box-shadow:4px 5px 0 #b88c65}.topline{padding-bottom:10px}.topline h1{font-size:clamp(24px,7vw,34px)}.stamp{width:49px;height:49px;font-size:7px}.stamp b{font-size:14px}.hud{min-height:55px}.hud-item{padding:6px 9px}.hud strong{font-size:21px}.hud-label{font-size:9px}.hud-label small{display:none}.can{width:25px;height:21px;font-size:11px}.scene{width:100%;height:min(57vh,520px);min-height:360px}.scene-top{font-size:8px}.scene-hint{font-size:9px;bottom:16px}.status{font-size:11px;padding:6px 10px;bottom:12px;left:10px}.bottomline span:last-child{display:none}.start-card,.result-card{padding:13px 18px}.start-illustration,.start-illustration svg{height:78px}.start-card h2,.result-card h2{font-size:20px}.start-card p{font-size:12px;line-height:1.65}.result-score strong{font-size:42px}.result-card{max-height:100%}.result-stats{margin:6px 0;padding:5px}.roast{margin:7px 0}.result-actions{margin-top:7px}footer{padding-top:15px}}@media(max-height:600px) and (min-width:601px){.scene{max-height:65vh}.start-illustration,.start-illustration svg{height:65px}.start-card,.result-card{padding:10px 20px}.start-card p{line-height:1.4}.result-score strong{font-size:36px}.result-stats{margin:4px 0;padding:4px}.roast{margin:5px}.result-actions{margin-top:4px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

@media(max-width:600px) and (orientation:portrait){.scene{height:auto;min-height:0;object-fit:contain}.scene #boss{transform:translate(70px,110px)}.cue{top:14%;left:8%;right:auto;max-width:84%;white-space:nowrap}}
