:root{color-scheme:dark;font-family: 'Trebuchet MS',system-ui,sans-serif;color:#fff6da;background:#263e2d}*{box-sizing:border-box}body{margin:0;overflow:hidden;overscroll-behavior:none}.app{position:relative;width:100%;height:100vh;height:100dvh;overflow:hidden;background:#263e2d}canvas{display:block;width:100%;height:100%;touch-action:none;outline:none}.hud{position:absolute;top:max(20px,env(safe-area-inset-top));left:max(24px,env(safe-area-inset-left));right:max(24px,env(safe-area-inset-right));display:flex;align-items:center;justify-content:space-between;gap:20px;pointer-events:none}.hud>*{pointer-events:auto}.wallet{background:#203626;border:3px solid #a4b675;border-radius:25px;box-shadow:0 4px 0 #14251b;min-width:115px;padding:8px 18px;font-size:25px;display:flex;gap:12px;align-items:center}.coin{color:#ffd967;text-shadow:0 2px #a17b21}.boss-track{width:min(380px,48vw);position:absolute;left:50%;transform:translateX(-50%)}.track-label{display:flex;justify-content:space-between;font-size:10px;font-weight:900;letter-spacing:1px;margin:0 10px 8px;text-shadow:0 2px 2px #162719}.track-label b{color:#ffe18e;font-size:14px}.meter{position:relative;height:30px;border:3px solid #f0b09a;border-radius:50px;background:#572b2d;box-shadow:0 4px 0 #273221,inset 0 3px 3px #0005;margin-right:12px}#boss-fill{position:absolute;inset:0 auto 0 0;width:0;background:linear-gradient(#f4776c,#c93745);border-radius:50px;transition:width .25s}.meter>strong{position:absolute;inset:0;text-align:center;font-size:17px;line-height:24px;text-shadow:0 2px #7b2933}.crowned-skull{position:absolute;right:-23px;top:-8px;font-size:37px;line-height:40px;filter:drop-shadow(0 3px 1px #202617)}.crowned-skull>span{position:absolute;top:-17px;left:7px;color:#ffd15f;font-size:25px;line-height:25px}button{font:900 17px 'Trebuchet MS',sans-serif;cursor:pointer;border:3px solid #cbe6a0;background:linear-gradient(#badd80,#8eb85e);color:#243e25;border-radius:16px;padding:13px 20px;box-shadow:0 5px 0 #446739,0 8px 15px #10261955;min-height:50px}button:active{transform:translateY(3px);box-shadow:0 2px 0 #446739}button:focus-visible{outline:4px solid #ffdf85;outline-offset:5px}button:disabled{filter:saturate(.35);opacity:.65;cursor:not-allowed}#pause{margin-left:auto;width:52px;padding:8px}.subhud{position:absolute;top:max(100px,calc(env(safe-area-inset-top) + 80px));left:28px;right:28px;display:flex;justify-content:space-between;pointer-events:none;text-shadow:0 2px 3px #152619}#lives{color:#ff9a86;font-size:23px;letter-spacing:3px}#wave{font-size:11px;background:#203626b8;padding:9px 12px;border-radius:20px;font-weight:bold;align-self:center}.game-title{position:absolute;left:28px;bottom:32px;font-size:23px;font-weight:900;line-height:1;color:#e3efb4;transform:rotate(-5deg);text-shadow:0 3px #243c24}.game-title span{display:block;font-size:15px;letter-spacing:3px;margin-top:5px}.dock{position:absolute;bottom:max(18px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:min(540px,calc(100% - 32px));text-align:center}.dock-row{display:flex;align-items:center;justify-content:center;gap:16px}#message{font-size:12px;min-height:30px;color:#f0f4d5;text-shadow:0 2px 3px #172a1c;margin:0 auto 10px;max-width:420px}#buy{display:flex;gap:15px;align-items:center;justify-content:space-between;flex:1;min-height:75px;text-align:left}#buy small{display:block;font-size:9px;letter-spacing:1px;margin-top:5px;font-weight:bold}.price{background:#385629;color:#ffe48b;border-radius:12px;padding:10px;white-space:nowrap}.slime-icon{font-size:33px;color:#467c32}.score small{display:block;font-size:8px;letter-spacing:1px}.score strong{font-size:26px;text-shadow:0 2px #173223}#help{border-radius:50%;width:45px;min-height:45px;padding:5px}.hint{display:block;font-size:10px;margin-top:14px;color:#b7cb9e;text-shadow:0 2px #243d29}.overlay{position:absolute;inset:0;background:#13261bf2;z-index:10;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px;gap:20px}.overlay[hidden]{display:none}.overlay h2{font-size:36px;margin:0}.overlay p{max-width:480px;line-height:1.8;color:#c5d7b1;margin:0 0 10px}.eyebrow{font-size:12px;letter-spacing:4px;color:#badd80}.secondary{background:#304c32;color:#e5efcf;border-color:#678357;box-shadow:0 5px #182c21}@media(max-width:600px){.hud{left:14px;right:14px;gap:10px;align-items:flex-start}.wallet{font-size:20px;min-width:85px;padding:8px 11px;border-width:2px}.boss-track{width:calc(100% - 180px);min-width:145px;top:7px}.track-label{font-size:7px;letter-spacing:0;margin:0 3px 9px}.track-label b{font-size:11px}.meter{height:25px;border-width:2px}.meter>strong{font-size:14px;line-height:21px}.crowned-skull{font-size:30px;right:-19px}.crowned-skull>span{font-size:21px;top:-12px;left:5px}#pause{width:43px;min-height:43px;border-width:2px}.subhud{left:16px;right:16px;top:max(89px,calc(env(safe-area-inset-top) + 69px))}#lives{font-size:18px}#wave{font-size:9px}.game-title{display:none}.dock-row{gap:10px}#buy{padding:10px;gap:8px;font-size:14px;min-height:72px}.slime-icon{font-size:26px}.price{padding:8px}.hint{font-size:9px}}
/* Larger landscape HUD; battlefield framing and bottom controls stay in place. */
@media (orientation:landscape){
 .hud{top:max(12px,env(safe-area-inset-top));left:max(20px,env(safe-area-inset-left));right:max(20px,env(safe-area-inset-right))}
 .wallet{font-size:30px;min-width:120px;padding:8px 16px}
 .boss-track{width:min(380px,40vw)}
 .track-label{font-size:12px;letter-spacing:.5px}.track-label b{font-size:18px}
 .meter{height:36px}.meter>strong{font-size:23px;line-height:30px}
 #pause{width:56px;min-height:56px;font-size:27px}
 .subhud{top:86px;left:max(24px,env(safe-area-inset-left));right:max(24px,env(safe-area-inset-right))}
 #lives{font-size:30px;letter-spacing:4px}
 #wave{font-size:14px;padding:10px 14px}
 #help{width:56px;min-height:56px;font-size:25px}
 .score small{font-size:12px}.score strong{font-size:30px}
 #buy{font-size:18px;min-height:75px}#buy small{font-size:12px}.price{font-size:23px}
 #message{font-size:14px;line-height:1.4}.hint{font-size:12px}
}
@media(max-height:520px){
 .hud{top:max(10px,env(safe-area-inset-top))}.subhud{top:78px}
 .dock{bottom:max(10px,env(safe-area-inset-bottom));width:min(440px,calc(100% - 150px));left:auto;right:max(18px,env(safe-area-inset-right));transform:none}
 #message{min-height:0;margin-bottom:7px;font-size:14px}
 #buy{min-height:64px;padding:8px 12px;gap:9px}.slime-icon{display:none}
 .hint{display:none}.game-title{bottom:20px;font-size:18px}
 .dock-row{gap:12px}.score strong{font-size:28px}
 .overlay{gap:12px;padding:16px}.overlay h2{font-size:28px}.overlay p{line-height:1.4;max-width:650px}
}
#portal{position:absolute;right:68px;min-height:50px;padding:9px 13px;font-size:14px;background:linear-gradient(#b9aeec,#8b7fc4);border-color:#d3cbff;box-shadow:0 5px #574a85;color:#24233c}button[hidden]{display:none}.moon .wallet{background:#28354f;border-color:#a8badf}.moon #buy{background:linear-gradient(#bfe9f7,#81b8d3);border-color:#c9f4ff}.moon .price{background:#304863}.moon .game-title{color:#d1e5ff}.moon .subhud{color:#e6edff}.moon .overlay{background:#111d36f2}
@media (orientation:landscape){.boss-track{width:min(300px,32vw);left:47%}#portal{right:70px;min-height:56px;font-size:15px}}
@media (orientation:portrait){#portal{top:110px;right:0;min-height:48px;font-size:13px}.subhud{right:16px}.boss-track{width:calc(100% - 180px)}}
