
*{box-sizing:border-box}body{margin:0;background:#101f1c;color:#fff;font-family:system-ui,-apple-system,sans-serif;overflow:hidden;touch-action:none}#game{display:block;width:100vw;height:100dvh;touch-action:none}#overlay{position:fixed;inset:0;background:linear-gradient(#092b27ed,#10271be8);display:flex;align-items:center;justify-content:center;z-index:9;padding:24px}#panel{max-width:420px;text-align:center;background:#153d32;border:3px solid #8cd45a;border-radius:24px;padding:24px;box-shadow:0 15px 60px #0009}h1{font-size:30px;margin:5px 0;color:#d9ff86}p{line-height:1.45}button{color:white;border:2px solid #a6e76e;background:#296b44;border-radius:14px;font-size:18px;font-weight:800;padding:12px 20px;touch-action:none}#play{width:100%;background:#66a943;color:#102518}#controls{position:fixed;bottom:max(20px,env(safe-area-inset-bottom));left:16px;display:grid;grid-template-columns:repeat(3,58px);grid-template-rows:repeat(2,58px);gap:5px;z-index:3}#controls button{padding:0;font-size:25px;background:#143a36d9;user-select:none}#up{grid-column:2}#left{grid-column:1;grid-row:2}#down{grid-column:2;grid-row:2}#right{grid-column:3;grid-row:2}#action{position:fixed;right:17px;bottom:max(32px,env(safe-area-inset-bottom));z-index:3;border-radius:50%;width:76px;height:76px;background:#b4df4d;color:#14321d}#mute{position:fixed;right:12px;top:12px;z-index:4;padding:8px 12px;font-size:14px}#dialog{position:fixed;left:50%;transform:translateX(-50%);bottom:116px;width:min(92vw,540px);background:#102f2cf2;border:2px solid #d2ec88;border-radius:16px;padding:15px 17px;z-index:5;display:none;font-size:15px;line-height:1.5;box-shadow:0 8px 30px #0008}#dialog b{color:#e1ff90}#dialog small{display:block;text-align:right;opacity:.7;margin-top:4px}#hud{position:fixed;top:12px;left:12px;z-index:2;background:#103b34dd;padding:9px 12px;border:1px solid #b0d981;border-radius:12px;font-size:13px}#hud strong{font-size:16px;color:#dbff99}@media(min-width:850px){#controls{opacity:.75}#action{opacity:.85}}
#shop{display:none;position:fixed;inset:0;z-index:8;background:#081b17df;align-items:center;justify-content:center;padding:14px}#shopWindow{width:min(94vw,470px);max-height:90dvh;overflow:auto;background:#173d2d;border:4px solid #d6b36d;border-radius:18px;box-shadow:0 14px 50px #000b;padding:18px}#shop h2{color:#f6d58b;margin:0 0 8px;text-align:center}#shop .item{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#28533b;border:1px solid #77a768;border-radius:12px;padding:12px;margin:10px 0}#shop .item button{font-size:14px;padding:9px 13px;white-space:nowrap}#shop .item small{display:block;color:#b8e2ac}#shopMsg{min-height:24px;color:#e6e59c;font-size:14px}#shopClose{width:100%;background:#5d4931;border-color:#e0c17b}
#teamBtn{position:fixed;top:59px;right:12px;z-index:4;font-size:13px;padding:8px 12px;background:#294c70;border-color:#acd6fa}
#creatureUI{display:none;position:fixed;inset:0;z-index:12;background:#061913eb;align-items:center;justify-content:center;padding:12px;overflow:auto}
#creatureBox{width:min(96vw,680px);max-height:94dvh;overflow:auto;background:#17392d;border:3px solid #e8c16e;border-radius:18px;padding:17px;box-shadow:0 18px 70px #000a}
#creatureBox h2{margin:0 0 7px;color:#ffe1a0}#creatureBox p{margin:5px 0 12px;font-size:14px;color:#d9e7d5}
.monGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}.monCard{border:2px solid #6e9770;background:#274c38;border-radius:12px;text-align:center;padding:9px;min-width:0}.monCard img{height:92px;width:92px;object-fit:contain;image-rendering:pixelated}.monCard b{display:block;font-size:14px}.monCard small{display:block;color:#d2e6ca;font-size:12px;min-height:32px}.monCard button{font-size:12px;padding:7px 9px;margin-top:6px}.monCard.selected{border-color:#ffdb6c;background:#3e5935}.creatureClose{margin-top:12px;width:100%;background:#62503b;border-color:#efcf82;font-size:15px}
#battleLog{background:#0e291f;padding:12px;border-radius:10px;margin:12px 0;min-height:45px}#battleActions{display:flex;flex-wrap:wrap;gap:7px}#battleActions button{font-size:13px;flex:1;min-width:115px;padding:10px}

#missionOverlay{display:none;position:fixed;inset:0;z-index:9999;background:#06150fe8;align-items:center;justify-content:center;padding:18px;touch-action:auto}#missionOverlay.open{display:flex}#missionPanel{width:min(100%,1100px);height:94dvh;max-height:94dvh;overflow:auto;border:3px solid #c4dd78;border-radius:18px;background:linear-gradient(145deg,#1b4235,#10281f);box-shadow:0 22px 65px #000c;padding:23px;color:#fff}#missionPanel h2{margin:0;color:#e6f5a4;font-size:26px}#missionPanel .missionIntro{color:#bcd8c3;margin:5px 0 18px}#missionPanel .missionEntry{display:block;width:100%;text-align:left;background:#295343;border:1px solid #83ad78;border-radius:12px;padding:16px;margin:12px 0;color:white;cursor:pointer;font-size:17px}#missionPanel .missionEntry strong{display:block}#missionPanel .missionEntry small{display:block;color:#d3e7d2;font-size:13px;margin-top:6px}#missionPanel .missionEntry.selected{border:2px solid #e6d47d;background:#366b4d}#missionDetail{min-height:65px;background:#0b2b24;border-radius:12px;padding:13px;margin-top:15px;font-size:14px;line-height:1.5}#missionClose{width:100%;margin-top:16px;font-size:16px}#missionTabs{display:flex;gap:12px;margin:20px 0}#missionTabs button{flex:1;padding:17px 8px;background:#16372e;color:#e4f2d9;border:2px solid #547e61;border-radius:12px;font-size:17px;font-weight:800;cursor:pointer}#missionTabs button.selected{background:#8bb75c;color:#112c22;border-color:#e2f3a6}.missionEmpty{padding:28px;text-align:center;color:#bcd8c3}

/* V148: animate the VISIBLE wooden artwork, not only the transparent hit target. */
#menuButtons .menuHit{isolation:isolate;overflow:visible;transition:transform .19s cubic-bezier(.2,.8,.25,1),filter .19s ease!important;transform:scale(1)!important;box-shadow:none!important;background:transparent!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;filter:none!important;}
#menuButtons .menuHit::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background-image:var(--menu-sign-art);background-repeat:no-repeat;background-size:363.6363636% 943.3962264%;background-position-x:51.44827586%;background-position-y:47.42729306%;opacity:0;transition:opacity .12s ease;border-radius:12px;}
#menuButtons #menuSaves::before{background-position-y:59.61968680%;}
#menuButtons #menuSettings::before{background-position-y:71.92393736%;}
#menuButtons .menuHit::after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;border-radius:12px;opacity:0;background:rgba(97,205,38,.40);mix-blend-mode:color;box-shadow:inset 0 0 0 2px rgba(219,255,150,.65),0 0 14px 5px rgba(92,245,50,.77),0 0 29px 8px rgba(59,202,25,.42);transition:opacity .16s ease;}
#menuButtons .menuHit:hover,#menuButtons .menuHit:focus-visible{transform:scale(1.09)!important;background:transparent!important;filter:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;box-shadow:none!important;outline:none!important;z-index:20;}
#menuButtons .menuHit:hover::before,#menuButtons .menuHit:focus-visible::before,#menuButtons .menuHit:hover::after,#menuButtons .menuHit:focus-visible::after{opacity:1!important;}
#menuButtons .menuHit:active{transform:scale(1.04)!important;}

/* V174: extra admin menu choice, separate from the original artwork-backed buttons. */
#menuAdmin{position:absolute!important;left:39%!important;top:79%!important;width:22%!important;min-height:52px!important;display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:center!important;gap:1px!important;z-index:25!important;cursor:pointer!important;border:3px solid #c6a46b!important;border-radius:12px!important;color:#fff1be!important;font:bold clamp(13px,1.6vw,23px) Georgia,serif!important;letter-spacing:1px!important;background:linear-gradient(#996339,#613a20 48%,#422616)!important;box-shadow:inset 0 3px 0 #e3be78,inset 0 -4px 0 #2e190c,0 6px 0 #2d2218,0 9px 19px #100e09a0!important;text-shadow:1px 2px 2px #231509!important;transition:transform .19s ease,filter .19s ease,box-shadow .19s ease!important;transform-origin:center!important}
#menuAdmin small{font:bold clamp(8px,.8vw,11px) system-ui,sans-serif!important;letter-spacing:1px!important;color:#e6dbad!important}
#menuAdmin:hover,#menuAdmin:focus-visible{transform:scale(1.09)!important;filter:brightness(1.2) saturate(1.3)!important;border-color:#caff8c!important;box-shadow:inset 0 3px 0 #e2ffd2,inset 0 -4px 0 #1c451c,0 0 15px 5px #73ed43,0 0 31px 9px #5bcc3c66!important;outline:none!important}
#menuAdmin:active{transform:scale(1.035)!important}
@media(max-width:650px){#menuAdmin{left:34%!important;width:32%!important;min-height:45px!important;top:78%!important}}
