@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@400;600;700;900&display=swap');
:root{font-family:'Noto Sans TC',system-ui,sans-serif;color:#453126;background:#fff7e9;font-synthesis:none}*{box-sizing:border-box}body{margin:0;background-image:radial-gradient(#e6d6b9 .8px,transparent .8px);background-size:9px 9px}button,select{font:inherit;color:inherit}button{cursor:pointer;touch-action:manipulation}button:focus,button:focus-visible{outline:none}select:focus-visible,a:focus-visible{outline:3px solid #167a77;outline-offset:5px}button:hover{filter:brightness(1.04)}button:active{translate:0 2px}.shell{max-width:1160px;margin:auto;padding:25px 40px 18px}header{display:flex;justify-content:space-between;align-items:center;gap:15px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:inherit;font-size:21px;font-weight:900;letter-spacing:1px}.brand-icon{background:#ffc753;border:2px solid #453126;box-shadow:2px 3px #453126;border-radius:12px;font-size:24px;transform:rotate(-7deg);padding:1px 9px}.controls{display:flex;gap:10px}.icon,.language{background:#fffaf1;border:1.5px solid #c7b496;border-radius:12px;height:44px;display:flex;align-items:center;padding:0 12px}.icon{min-width:44px;font-size:24px}.language select{border:0;background:transparent;font-size:14px;padding:6px;cursor:pointer}.intro{display:flex;justify-content:space-between;align-items:center;padding:28px 8px 23px}.eyebrow{font-size:13px;font-weight:700;letter-spacing:3px;color:#82735d}h1{font-size:54px;margin:4px 0;line-height:1.25;letter-spacing:-2px;font-weight:900}h1 span{color:#e3663e;display:inline-block;transform:rotate(-7deg)}.intro p{font-size:15px;color:#82735d;margin:9px 0 0}.stamp{transform:rotate(8deg);border:2px dashed #df704a;color:#c76b47;border-radius:50%;height:116px;width:116px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:12px;gap:5px}.stamp strong{font-size:14px}.game-wrap{border:3px solid #503c2b;border-radius:23px;overflow:hidden;box-shadow:0 7px 0 #dac9aa}.hud{background:#fffdf4;padding:14px 30px;display:flex;justify-content:space-between;gap:12px;align-items:center}.hud>div{min-width:100px;display:flex;flex-direction:column;gap:3px}.hud>div:last-child{text-align:right}.hud span{font-size:12px;color:#887457;font-weight:700;letter-spacing:1px}.hud strong{font-size:29px;line-height:1.1;font-weight:900;font-variant-numeric:tabular-nums}.hud .combo-block{text-align:center;min-width:150px}.combo-block strong{color:#df6942}.combo-track{height:4px;background:#eedfc7;border-radius:5px;overflow:hidden;margin-top:4px}.combo-track i{display:block;height:100%;background:#eb8155;transform-origin:left;transform:scaleX(0)}.arena{position:relative;isolation:isolate;height:420px;overflow:hidden;background:#edd7af url('assets/kitchen-v2.png') center 57%/cover;touch-action:manipulation;user-select:none;-webkit-user-select:none}.room-tag{position:absolute;left:18px;top:15px;font-size:12px;padding:6px 12px;border:1px solid #cbb48e;border-radius:20px;background:#fff9e9e8}.welcome{position:absolute;z-index:3;top:50%;left:50%;transform:translate(-50%,-50%) rotate(-1deg);width:min(380px,88%);padding:26px 20px;text-align:center;background:#fff9ebf5;border:2px solid #59402d;border-radius:20px;box-shadow:5px 6px 0 #513c2c2b}.mini-label{font-size:12px;color:#8a7357;letter-spacing:2px}.welcome h2{font-size:27px;margin:12px 0 8px;font-weight:900}.welcome p{font-size:14px;line-height:1.7;margin:0 0 20px}.primary{background:#ffca59;border:2px solid #4c3426;border-radius:13px;box-shadow:0 4px #4c3426;padding:12px 30px;font-size:19px;font-weight:900}.welcome small{display:block;font-size:12px;margin-top:19px;color:#8a7357}.floor-note{position:absolute;bottom:14px;left:0;right:0;text-align:center;color:#705737;font-size:12px;pointer-events:none}.roach{position:absolute;left:50%;top:58%;width:125px;height:125px;padding:0;border:0;background:none;z-index:2;touch-action:none;transform:translate(-50%,-50%);-webkit-tap-highlight-color:transparent}.roach:hover{filter:none}.roach:active{translate:none}.roach img{width:100%;height:100%;object-fit:contain;pointer-events:none;position:relative;z-index:1;filter:drop-shadow(0 6px 2px #65462333)}.roach-shadow{position:absolute;bottom:14%;left:24%;width:52%;height:9%;background:#50361c28;border-radius:50%;z-index:0}.toolbar{display:flex;align-items:center;justify-content:space-between;padding:16px 23px;background:#fffdf4;gap:12px}.weapon{display:flex;align-items:center;gap:12px}.weapon>span{background:#f5e8cd;border-radius:13px;padding:6px 10px;font-size:29px}.weapon strong{font-size:14px;display:block}.weapon small{font-size:12px;color:#8c7a62;display:block;margin-top:4px}.toolbar>span{font-size:13px;color:#96826a}.secondary{border:1.5px solid #baa689;border-radius:10px;background:#fffaf0;min-height:44px;padding:8px 15px;font-size:14px}footer{display:flex;justify-content:space-between;gap:12px;padding:20px 4px;font-size:12px;color:#96826a}#effects{position:absolute;inset:0;pointer-events:none;z-index:5}.damage{position:absolute;font-size:28px;color:#fff9dc;font-weight:900;text-shadow:2px 2px #51351f,-1px -1px #51351f,1px -1px #51351f,-1px 1px #51351f;animation:float .65s ease-out forwards}.spark{position:absolute;width:8px;height:8px;border-radius:2px;background:#ffc949;animation:burst .4s ease-out forwards}.ring{position:absolute;width:45px;height:45px;border:4px solid #fff6c8;border-radius:50%;animation:ring .26s ease-out forwards}.cheer{position:absolute;top:57px;width:100%;text-align:center;font-size:24px;font-weight:900;color:#e36335;pointer-events:none;text-shadow:2px 2px #fff5d8;z-index:4}.cheer.pop{animation:cheer .8s both}[hidden]{display:none!important}@keyframes float{from{opacity:1;transform:translate(-50%,-30%) scale(.8)}20%{transform:translate(-50%,-65%) scale(1.2)}to{opacity:0;transform:translate(var(--drift),-100px) rotate(-8deg)}}@keyframes burst{to{transform:translate(var(--x),var(--y)) rotate(160deg);opacity:0}}@keyframes ring{from{transform:translate(-50%,-50%) scale(.3)}to{transform:translate(-50%,-50%) scale(1.6);opacity:0}}@keyframes cheer{0%{opacity:0;scale:.7}20%,65%{opacity:1;scale:1}100%{opacity:0;scale:1.1}}@media(max-width:600px){.shell{padding:17px 14px 10px}.brand{font-size:17px;gap:8px}.brand-icon{font-size:21px}.controls{gap:6px}.language{padding:0 5px}.language>span{display:none}.language select{font-size:12px}.intro{padding:22px 4px 18px}h1{font-size:42px}.intro p{font-size:13px}.stamp{width:82px;height:82px;font-size:10px}.stamp strong{font-size:11px}.stamp span:last-child{display:none}.hud{padding:13px 17px}.hud>div{min-width:64px}.hud .combo-block{min-width:100px}.hud strong{font-size:26px}.arena{height:clamp(300px,48svh,480px);background-position:50% 65%}.toolbar{padding:12px}.toolbar>span{display:none}.weapon small{font-size:11px;max-width:175px}.welcome h2{font-size:24px}footer{font-size:11px}.game-wrap{border-radius:19px}}@media(max-height:550px) and (orientation:landscape){.intro{padding:10px 4px}.intro h1{font-size:30px}.intro p,.stamp,.eyebrow{display:none}.arena{height:260px}.shell{padding-top:12px}.hud{padding:7px 20px}.toolbar{padding:8px 20px}footer{padding:12px}}@media(prefers-reduced-motion:reduce){.damage,.spark,.ring,.cheer.pop{animation-duration:.15s}}
@media(max-width:600px){html[lang=en] .stamp{display:none}html[lang=en] .brand{font-size:14px;letter-spacing:0}html[lang=en] h1{font-size:38px}html[lang=en] .weapon small{max-width:155px}}
.session-strip{display:flex;justify-content:space-between;gap:10px;padding:8px 23px;background:#f7ebd3;border-top:1px solid #e4d4b7;font-size:13px;color:#79603f}.session-strip b{color:#493424;font-variant-numeric:tabular-nums}.session-strip span span{margin-right:8px}#enemies{position:absolute;inset:0}.roach{width:105px;height:105px}.sprite{display:block;width:100%;height:100%;pointer-events:none}.golden img{filter:sepia(1) saturate(3.5) hue-rotate(4deg) brightness(1.2) drop-shadow(0 0 9px #ffe271)}.fast img{filter:hue-rotate(-15deg)}.flying img{filter:hue-rotate(325deg) saturate(.85)}.species-badge{position:absolute;right:4px;top:7px;font-size:23px;pointer-events:none}.defeated{pointer-events:none}.reward,.little-ghost{position:absolute;font-size:17px;font-weight:900;color:#947018;text-shadow:1px 1px white;animation:float .8s ease-out forwards}.little-ghost{font-size:25px;animation-duration:.7s}.escaping{opacity:.55}.urgent{color:#d44932}.room-tag{z-index:2;pointer-events:none;max-width:calc(100% - 36px)}.cheer{font-size:20px;padding:0 20px}.welcome{max-height:calc(100% - 24px);overflow:auto}.welcome h2{font-size:24px}.welcome p{margin-bottom:14px}.welcome small{margin-top:14px}#results{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0 18px}#results div{padding:6px;background:#f4e8cf;border-radius:8px;display:flex;flex-direction:column;gap:3px}#results span{font-size:12px;color:#8a7357}#results strong{font-size:22px}.hud>div:last-child{min-width:90px}@media(max-width:600px){.roach{width:90px;height:90px}.hud>div:last-child{min-width:72px}.session-strip{padding:8px 15px;font-size:12px}.welcome{padding:18px 15px}.welcome h2{font-size:22px}.welcome .mini-label{font-size:11px;letter-spacing:1px}.cheer{font-size:18px}#results{margin:8px 0 12px;gap:5px}#results strong{font-size:19px}.welcome small{font-size:11px}}@media(max-height:550px) and (orientation:landscape){.welcome{width:440px;padding:12px 18px}.welcome h2{font-size:20px;margin:5px}.welcome p{margin-bottom:8px}.welcome small,.welcome .mini-label{display:none}#results{grid-template-columns:repeat(4,1fr);margin:8px 0}.primary{padding:7px 20px}.arena{height:290px}}@media(prefers-reduced-motion:reduce){.reward,.little-ghost{animation-duration:.15s}}

/* Reference-led character atlas: normal, speed, flying, golden. */
.sprite{background-image:url('assets/characters-v2.png');background-size:200% 200%;background-position:0 0;background-repeat:no-repeat;position:relative;z-index:1}
.fast .sprite{background-position:100% 0}.flying .sprite{background-position:0 100%}.golden .sprite{background-position:100% 100%;filter:drop-shadow(0 0 5px #f8d57a)}
:root{color:#62402f;background-color:#fff6e5}.game-wrap{border-color:#76523c;box-shadow:0 7px 0 #dbc4a3}.hud,.toolbar{background:#fff6e5}.session-strip{background:#f3e2c5}.primary{background:#ecc18b;border-color:#76523c;box-shadow:0 4px #76523c}.welcome{background:#fff6e8f5;border-color:#76523c}.brand-icon{background:#efd1a0;border-color:#76523c;box-shadow:2px 3px #76523c}.weapon>span{background:#f3dcc0}.arena{background-position:center 56%}.roach-shadow{bottom:9%;left:27%;width:46%;background:#61402618}
/* Boss battles share the session clock; only the battle layer darkens. */
#boss-layer{position:absolute;inset:0;z-index:3;pointer-events:none;background:#33221846}#boss-layer.is-paused{visibility:hidden}.boss-active .room-tag,.boss-active .floor-note,.boss-active .cheer{visibility:hidden}.welcome{z-index:9}.boss-active #enemies{z-index:4;pointer-events:none}.boss-active #enemies button{pointer-events:auto}.baby{width:66px;height:66px}.baby .sprite{background-position:0 0}.boss-target{position:absolute;transform:translate(-50%,-50%);padding:0;border:0;background:none;pointer-events:auto;touch-action:none;-webkit-tap-highlight-color:transparent;cursor:pointer;transition:left .32s ease-out;z-index:1}.boss-target:hover{filter:none}.boss-target:active{translate:none}.boss-target:disabled{cursor:default}.boss-sprite{display:block;width:100%;height:100%;background:0 0/100% 100% no-repeat;pointer-events:none}.boss-staging{opacity:0;pointer-events:none}#boss-mood{position:absolute;right:12%;top:20%;font-size:clamp(24px,4vw,38px);pointer-events:none}#boss-hud{position:absolute;top:12px;left:16px;right:16px;background:#fff7e7f2;border:2px solid #76523c;border-radius:13px;padding:10px 13px;z-index:2}.boss-heading{display:flex;justify-content:space-between;gap:12px;align-items:center;font-size:17px}.boss-heading b{font-variant-numeric:tabular-nums;white-space:nowrap;color:#b85236}.boss-health{height:15px;margin-top:7px;background:#cbb29c;position:relative;border-radius:8px;overflow:hidden;border:1px solid #76523c}.boss-health i{position:absolute;inset:0;transform-origin:left}#boss-hp-delayed{background:#ffcc73}#boss-hp{background:#d66e54}.boss-health-notes{display:flex;justify-content:space-between;gap:10px;margin-top:5px;font-size:11px;color:#74533f}.boss-banner{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:12px;padding:20px;color:#fff6df;text-shadow:0 2px 3px #4f311e;z-index:3}.boss-banner>strong{font-size:clamp(19px,3vw,28px)}#boss-countdown{font-size:76px;line-height:1.2;font-weight:900;color:#ffcf69;min-height:92px}.boss-banner small{font-size:14px}.boss-outcome{background:#432b24c7}.boss-outcome #boss-countdown{font-size:clamp(30px,6vw,54px);min-height:65px}.boss-outcome b{font-size:20px}.frozen{color:#8c795f}.boss-desperate #boss-mood{animation:boss-worry .2s infinite alternate}@keyframes boss-worry{to{transform:rotate(10deg)}}@media(max-width:600px){.boss-heading{font-size:14px}#boss-hud{left:9px;right:9px;padding:8px 10px}.boss-health-notes{font-size:10px}.baby{width:58px;height:58px}}@media(prefers-reduced-motion:reduce){.boss-target{transition:none}.boss-desperate #boss-mood{animation:none}}
.meta-nav{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-top:22px}.meta-nav button{min-height:50px;border:2px solid #927052;background:#fff7e7;border-radius:12px;font-size:15px;font-weight:700;box-shadow:0 3px #d5b894}.meta-nav button:hover{background:#f7e3c4}#meta-dialog{width:min(920px,calc(100% - 28px));max-height:88svh;border:3px solid #76523c;border-radius:22px;background:#fff5e1;color:#62402f;padding:0;box-shadow:0 14px 70px #38201366}#meta-dialog::backdrop{background:#35251fd1;backdrop-filter:blur(3px)}.meta-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:22px 25px 15px;background:#f5e3c5}.meta-heading h2{font-size:25px;margin:5px 0 0}.meta-heading span{font-size:13px;font-weight:700;color:#987044}.meta-actions{display:flex;gap:8px}.meta-actions button{border:1px solid #bca080;background:#fff6e6;padding:9px 12px;border-radius:9px;min-height:44px;font-size:13px}#meta-tabs{display:flex;gap:8px;padding:12px 22px;border-bottom:1px solid #dac3a3;background:#fdf0d9;overflow-x:auto}#meta-tabs button{border:0;border-radius:8px;background:transparent;padding:10px 15px;min-height:44px;font-size:14px;white-space:nowrap}#meta-tabs button[aria-pressed=true]{background:#795339;color:#fff7e7}#meta-content{padding:0 24px 24px}.meta-note{font-size:14px;line-height:1.8;color:#947554;margin:18px 0}.meta-note b{white-space:nowrap;margin-left:8px}.shop-grid,.collection-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.tool-card{position:relative;background:#fffaf0;border:2px solid #dcc29d;border-radius:16px;padding:16px;display:flex;flex-direction:column;align-items:flex-start}.tool-card.selected{border-color:#aa7242;box-shadow:inset 0 0 0 2px #e7c08e}.tool-card h3{margin:6px 0;font-size:19px}.tool-card p{font-size:14px;line-height:1.7;margin:4px 0;color:#967352}.tool-card .tool-how{color:#6a4b32;min-height:48px;margin-bottom:16px}.tool-card button{width:100%;margin-top:auto;min-height:44px;border:1.5px solid #987044;border-radius:10px;background:#edc88e;font-size:14px;font-weight:700;padding:10px}.tool-card button:disabled{cursor:default;background:#ede2ce;border-color:#d6c6ab;color:#a18b6c;filter:none}.tool-price{position:absolute;right:16px;top:18px;font-size:13px;font-weight:700;color:#9b713d}.tool-art{background-image:url('assets/tools-v1.png');background-size:200% 200%;background-position:0 0;background-repeat:no-repeat;width:106px;height:106px;display:block}.tool-newspaper{background-position:100% 0}.tool-spray{background-position:0 100%}.tool-electric{background-position:100% 100%}.weapon>span.tool-art{width:51px;height:51px;flex-shrink:0;padding:0;border-radius:10px;background-color:transparent}.weapon small{max-width:280px}.specimen{position:relative;padding:18px;background:#fffbed;border:1px solid #d5bea0;border-radius:5px 14px 14px 5px;box-shadow:3px 4px #e4ceb0}.specimen:nth-child(3n){transform:rotate(-.6deg)}.specimen-number{font-size:12px;color:#a58561}.specimen-art{width:115px;height:115px;margin:0 auto;position:relative;display:block;background-size:200% 200%;background-repeat:no-repeat}.species-art-fast,.boss-art-flying{background-position:100% 0}.species-art-flying,.boss-art-mama{background-position:0 100%}.species-art-golden,.boss-art-golden{background-position:100% 100%}.species-art-baby{background-position:0 0;transform:scale(.7)}.specimen h3{font-size:18px;margin:8px 0}.specimen p{font-size:14px;line-height:1.7;min-height:48px;margin:6px 0 12px}.specimen small{display:block;font-size:12px;color:#8e765c;line-height:1.8}.discovered-stamp{position:absolute;right:12px;top:38px;transform:rotate(12deg);font-size:11px;padding:4px 7px;color:#b1754a;border:2px solid #b1754a;border-radius:3px}.specimen-counts{display:flex;justify-content:space-between;gap:8px;margin:14px 0 5px;padding-top:10px;border-top:1px dashed #cfb590;font-size:12px}.specimen-counts span{display:flex;flex-direction:column;gap:3px}.specimen-counts b{font-size:18px}.mystery-art{height:115px;display:grid;place-items:center;font-size:72px;font-weight:900;color:#c5ad92}.unknown{background:#f4ebdc;color:#a0876a}.unknown-label{font-size:13px;margin-top:16px;color:#a89175}.achievement-list{display:flex;flex-direction:column;gap:10px}.achievement{display:flex;align-items:center;gap:16px;background:#f0e5d3;border:1px solid #dbc4a4;padding:17px;border-radius:12px}.achievement.achieved{background:#fff8e7;border-color:#bc975d}.achievement-icon{font-size:30px;flex-shrink:0}.achievement h3{font-size:17px;margin:0 0 5px}.achievement p{font-size:14px;line-height:1.6;margin:0 0 6px;color:#917456}.achievement small{font-size:12px;color:#a27c49}.achievement-check{margin-left:auto;font-size:23px;color:#bc9659}.career-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;padding-top:20px}.career-stat{padding:19px;background:#fffbee;border:1px solid #d9c09e;border-radius:12px;display:flex;flex-direction:column;gap:8px}.career-stat span{font-size:13px;color:#947353}.career-stat strong{font-size:25px;font-variant-numeric:tabular-nums}#toast{position:fixed;z-index:100;left:50%;bottom:24px;transform:translateX(-50%);max-width:calc(100vw - 32px);width:max-content;padding:13px 19px;border:2px solid #86603d;border-radius:13px;background:#fff1c9;color:#6b462b;box-shadow:0 5px 20px #51352222;font-size:14px;pointer-events:none}#spray-area{position:absolute;z-index:6;width:150px;height:150px;border-radius:50%;transform:translate(-50%,-50%);background:radial-gradient(circle,#d6fff080,#a4d4bf40 65%,transparent 70%);border:2px dashed #92c4ad;pointer-events:none}.spray-equipped{touch-action:none}.zap{position:absolute;font-size:38px;animation:float .35s ease-out both;pointer-events:none}@media(max-width:600px){.meta-nav{gap:5px;margin-top:18px}.meta-nav button{font-size:12px;padding:8px 2px;min-height:48px}.meta-heading{padding:16px 14px;gap:8px;align-items:flex-start}.meta-heading h2{font-size:20px}.meta-actions{flex-direction:column;gap:4px}.meta-actions button{padding:5px 9px;font-size:12px;min-height:36px}#meta-tabs{padding:8px;gap:3px}#meta-tabs button{font-size:13px;padding:8px 10px}#meta-content{padding:0 12px 18px}.shop-grid,.collection-grid{gap:10px}.tool-card{padding:12px}.tool-art{width:83px;height:83px}.tool-price{position:static;font-size:12px;margin-top:5px}.tool-card h3{font-size:16px}.tool-card p{font-size:13px}.tool-card .tool-how{min-height:70px}.tool-card button{font-size:12px;padding:8px}.specimen{padding:11px}.specimen h3{font-size:15px;overflow-wrap:anywhere}.specimen p{font-size:12px;min-height:64px}.specimen-art,.mystery-art{width:95px;height:95px}.discovered-stamp{font-size:9px;right:7px;top:24px}.specimen small,.specimen-counts{font-size:11px}.career-stat{padding:13px}.career-stat strong{font-size:22px}.achievement{padding:12px;gap:10px}.achievement h3{font-size:15px}.achievement p{font-size:13px}.weapon small{max-width:190px}}
.boss-motion{display:block;width:100%;height:100%;pointer-events:none}
.polish-dialog{width:min(680px,calc(100% - 24px));max-height:calc(100dvh - 24px);overflow:auto;overscroll-behavior:contain;touch-action:pan-y;border:3px solid #76523c;border-radius:20px;background:#fff5e1;color:#62402f;padding:20px;box-shadow:0 12px 55px #38201366}
.polish-dialog::backdrop{background:#35251fc9}.polish-dialog h2{font-size:23px;margin:0 0 16px}.polish-dialog button,.download-card{border:1px solid #bca080;border-radius:10px;background:#f5dfb8;min-height:44px;padding:10px 14px;font:inherit;color:inherit;text-align:center;text-decoration:none}.settings-rows label{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:10px 0;border-bottom:1px solid #dfcaae}.settings-rows input{width:26px;height:26px;accent-color:#946237}.settings-note{font-size:13px;color:#927253}.polish-dialog>a{display:block;margin-top:18px;color:#80593e}.score-dialog img{display:block;width:100%;border-radius:8px;margin-bottom:15px}.score-actions{display:flex;flex-wrap:wrap;gap:8px}.score-dialog p{font-size:14px}.share-score{display:block;margin:14px auto 0;min-height:44px}.lobby-roach{position:absolute;z-index:2;left:8%;bottom:0;width:65px;height:65px;border:0;background:none;padding:0;touch-action:none;transition:left .2s ease-out}.lobby-roach[hidden],.share-score[hidden],.score-dialog img[hidden],.score-dialog button[hidden],.score-dialog a[hidden]{display:none}
@media(prefers-reduced-motion:reduce){.lobby-roach{transition:none}}
.arena{touch-action:none;overscroll-behavior:none;-webkit-touch-callout:none}
/* Mobile play surface fills the visible viewport, including browser chrome changes. */
@media (max-width:600px), (max-height:500px) and (pointer:coarse){
 html,body{height:100%;overflow:hidden;overscroll-behavior:none}
 .shell{height:100svh;height:100dvh;max-width:none;display:flex;flex-direction:column;gap:8px;padding:max(8px,env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left));overflow:hidden}
 header{flex-shrink:0;gap:6px}.brand{font-size:16px;gap:7px;letter-spacing:0}.brand-icon{font-size:20px;padding:0 6px}.controls{gap:5px}.icon,.language{height:44px;padding:0 7px}.language select{font-size:12px;padding:4px}.language>span{display:none}
 .intro,footer{display:none}
 .game-wrap{flex:1;min-height:0;display:flex;flex-direction:column;border-radius:16px;box-shadow:none}
 .hud{flex-shrink:0;padding:8px 12px;gap:6px}.hud>div,.hud>div:last-child{min-width:0}.hud .combo-block{min-width:90px}.hud strong{font-size:25px}.hud span{font-size:10px}.session-strip{flex-shrink:0;padding:5px 12px;font-size:11px}
 .arena{flex:1;min-height:0;height:auto;touch-action:none;overscroll-behavior:none}
 .toolbar{flex-shrink:0;padding:5px 10px;min-height:54px;gap:6px}.weapon{gap:7px;min-width:0}.weapon>span.tool-art{width:40px;height:40px}.weapon strong{font-size:13px}.weapon small{font-size:10px;line-height:1.35;max-width:190px}.toolbar #hint{display:none}.toolbar .secondary{min-height:44px;padding:6px 10px;font-size:12px;white-space:nowrap}
 .meta-nav{flex-shrink:0;margin:0;gap:6px}.meta-nav button{min-height:44px;padding:6px 2px;font-size:12px;box-shadow:none}
 .welcome{overscroll-behavior:contain;touch-action:pan-y;max-height:calc(100% - 16px);padding:14px 12px}.welcome h2{font-size:21px;margin:8px 0}.welcome p{font-size:13px;margin-bottom:12px}.welcome small{display:none}.floor-note{display:none}
 #meta-dialog{max-height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 16px);overscroll-behavior:contain;touch-action:pan-y}
 #meta-dialog[open]{display:flex;flex-direction:column;overflow:hidden}.meta-heading,#meta-tabs{flex-shrink:0}#meta-content{min-height:0;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y}
 #toast{bottom:calc(64px + env(safe-area-inset-bottom))}
}
@media (max-height:500px) and (pointer:coarse){
 .shell{gap:4px}header{display:none}.hud{padding:4px 12px}.hud strong{font-size:20px}.session-strip{padding:3px 12px}.toolbar{min-height:44px;padding:0 10px}.weapon small{display:none}.meta-nav button{min-height:40px}.welcome{width:min(440px,90%)}
}
.snack .sprite,.sleepy .sprite,.shy .sprite,.helmet .sprite,.species-art-snack,.species-art-sleepy,.species-art-shy,.species-art-helmet{background-image:url('assets/characters-extra-v1.png');background-size:200% 200%}
.snack .sprite,.species-art-snack{background-position:0 0}.sleepy .sprite,.species-art-sleepy{background-position:100% 0}.shy .sprite,.species-art-shy{background-position:0 100%}.helmet .sprite,.species-art-helmet{background-position:100% 100%}
.arena[data-scene="noodle"]{background-image:url('assets/noodle-shop-v1.png');background-position:center 58%}
.noodle .sprite,.chili .sprite,.delivery .sprite,.species-art-noodle,.species-art-chili,.species-art-delivery{background-image:url('assets/noodle-roaches-v1.png');background-size:200% 200%}
.noodle .sprite,.species-art-noodle{background-position:0 0}.chili .sprite,.species-art-chili{background-position:100% 0}.delivery .sprite,.species-art-delivery{background-position:0 100%}
.scene-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.scene-card{display:flex;flex-direction:column;background:#fffaf0;border:2px solid #dcc29d;border-radius:16px;padding:14px}.scene-card.selected{border-color:#aa7242;box-shadow:inset 0 0 0 2px #e7c08e}.scene-preview{height:150px;border-radius:11px;background-position:center;background-size:cover;display:grid;place-items:center;overflow:hidden}.scene-preview span{font-size:38px;filter:drop-shadow(0 2px 2px #fff)}.scene-kitchen{background-image:url('assets/kitchen-v2.png')}.scene-noodle{background-image:url('assets/noodle-shop-v1.png')}.scene-card h3{margin:12px 0 4px}.scene-card p{color:#8e6d50;line-height:1.6;min-height:46px}.scene-card>b{font-size:13px;color:#987044;margin-bottom:10px}.scene-card button{margin-top:auto;min-height:44px;border:1.5px solid #987044;border-radius:10px;background:#edc88e;font-weight:700}.scene-card button:disabled{background:#ede2ce;border-color:#d6c6ab;color:#a18b6c}
@media(max-width:600px){.scene-grid{grid-template-columns:1fr;gap:10px}.scene-preview{height:120px}.scene-card p{min-height:0;margin:5px 0 10px}}
.arena[data-scene="convenience"]{background-image:url('assets/convenience-store-v1.png');background-position:center 58%}
.clerk .sprite,.onigiri .sprite,.box .sprite,.species-art-clerk,.species-art-onigiri,.species-art-box{background-image:url('assets/convenience-roaches-v1.png');background-size:200% 200%}
.clerk .sprite,.species-art-clerk{background-position:0 0}.onigiri .sprite,.species-art-onigiri{background-position:100% 0}.box .sprite,.species-art-box{background-position:0 100%}
.scene-convenience{background-image:url('assets/convenience-store-v1.png')}
.welcome:has(.scene-picker:not([hidden])){width:min(500px,94%);padding:18px}.welcome:has(.scene-picker:not([hidden])) h2{margin:7px 0 3px}.welcome:has(.scene-picker:not([hidden]))>p{margin-bottom:9px}.scene-picker{display:grid;grid-template-columns:42px minmax(0,1fr) 42px;align-items:center;gap:7px;margin:10px 0 13px}.scene-arrow{height:52px;border:1.5px solid #aa8a67;border-radius:12px;background:#fff7e7;font-size:30px;line-height:1}.scene-choice{display:grid;grid-template-columns:112px minmax(0,1fr);gap:12px;text-align:left;align-items:center;min-height:92px;padding:8px;background:#f4e3c8;border:1.5px solid #c9a77c;border-radius:14px}.scene-choice-image{height:76px;border-radius:10px;background-size:cover;background-position:center;display:grid;place-items:center;overflow:hidden}.scene-choice-image span{font-size:30px;filter:drop-shadow(0 2px 2px #fff)}.scene-choice-copy{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:3px}.scene-choice-copy small{margin:0;color:#957657;font-size:10px;letter-spacing:.5px}.scene-choice-copy strong{font-size:17px;line-height:1.2}.scene-choice-copy span{font-size:11px;line-height:1.35;color:#85684e;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.scene-choice-copy b{font-size:11px;color:#41735b}.scene-choice-copy button{min-height:32px;border:1px solid #987044;border-radius:8px;background:#edc88e;padding:5px 9px;font-size:11px;font-weight:800}.scene-choice-copy button:disabled{background:#e8dbc5;color:#a08c72}.primary:disabled{cursor:default;background:#dfd3bf;border-color:#9c8a73;box-shadow:0 3px #9c8a73;color:#8c7961;filter:none}
@media(max-width:600px){.welcome:has(.scene-picker:not([hidden])){padding:12px 10px}.welcome:has(.scene-picker:not([hidden])) .mini-label,.welcome:has(.scene-picker:not([hidden]))>p{display:none}.scene-picker{grid-template-columns:36px minmax(0,1fr) 36px;gap:5px;margin:7px 0 10px}.scene-arrow{height:48px;font-size:27px;padding:0}.scene-choice{grid-template-columns:82px minmax(0,1fr);gap:8px;min-height:79px;padding:6px}.scene-choice-image{height:66px}.scene-choice-copy strong{font-size:15px}.scene-choice-copy span{font-size:10px}.scene-choice-copy button{min-height:30px;padding:4px 7px}.welcome:has(.scene-picker:not([hidden])) .primary{font-size:16px;padding:10px 20px}}
@media(max-height:550px) and (orientation:landscape){.scene-picker{margin:4px 0}.scene-choice{min-height:60px}.scene-choice-image{height:52px}.scene-choice-copy span{display:none}.welcome:has(.scene-picker:not([hidden])) h2{display:none}}
.arena[data-scene="bathroom"]{background-image:url('assets/bathroom-v1.png');background-position:center 58%}
.bubble .sprite,.towel .sprite,.drain .sprite,.species-art-bubble,.species-art-towel,.species-art-drain{background-image:url('assets/bathroom-roaches-v1.png');background-size:200% 200%}
.bubble .sprite,.species-art-bubble{background-position:0 0}.towel .sprite,.species-art-towel{background-position:100% 0}.drain .sprite,.species-art-drain{background-position:0 100%}
.scene-bathroom{background-image:url('assets/bathroom-v1.png')}
.picker-species{display:flex;align-items:center;gap:3px;min-height:27px}.picker-species em{font-style:normal;font-size:9px;color:#9a7755;margin-right:2px}.picker-species i,.scene-species i{display:inline-grid;place-items:center;flex:0 0 auto;width:27px;height:27px;background-repeat:no-repeat;font-style:normal;font-size:13px;color:#9c856b}.scene-species-unknown{border:1px dashed #bea98e;border-radius:50%;background:#eadcc8!important}.scene-species{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:2px 0 10px;padding:7px 9px;border-radius:10px;background:#f3e5d0}.scene-species>span{font-size:11px;color:#927253}.scene-species>div{display:flex;gap:4px}.scene-species i{width:38px;height:38px}
@media(max-width:600px){.picker-species i{width:24px;height:24px}.scene-species i{width:32px;height:32px}.scene-species>span{font-size:10px}}
