*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;height:100%;overflow:hidden;background:#3b6b1f;font-family:'Vazirmatn',sans-serif;color:#4a2a08;user-select:none;-webkit-user-select:none}
#game-root{position:fixed!important;inset:0!important;width:100%!important;max-width:none!important;margin:0!important;overflow:hidden}
#stage,#cv{position:absolute;inset:0;width:100%;height:100%;touch-action:none}
#retryBtn,#dpad,#dpad-action{display:none!important}
#hud{display:none!important}
.scr{position:absolute;inset:0;z-index:30;display:flex;flex-direction:column;align-items:center;overflow:hidden}
.bgimg{background-size:cover;background-position:center}
.fa{font-family:'Lalezar','Vazirmatn',sans-serif;font-weight:400}
#startBtn{top:auto!important;bottom:calc(16% + env(safe-area-inset-bottom))!important;z-index:35!important;background:url(./assets/menu_button_primary.webp) center/100% 100% no-repeat!important;box-shadow:none!important;color:#5a2d00!important;width:240px;height:84px;font-family:'Lalezar','Vazirmatn',sans-serif!important;font-size:30px!important;font-weight:400!important;text-shadow:0 2px 0 #ffe9a0;animation:pulse 1.4s ease-in-out infinite}
@keyframes pulse{50%{transform:translate(-50%,-50%) scale(1.06)}}
@keyframes bob{50%{transform:translateY(-10px) rotate(-2deg)}}
@keyframes pop{from{transform:scale(.4);opacity:0}to{transform:scale(1);opacity:1}}
.btn{border:none;cursor:pointer;font-family:'Lalezar','Vazirmatn',sans-serif;font-size:22px;color:#5a2d00;background:url(./assets/menu_button_primary.webp) center/100% 100% no-repeat;min-width:170px;height:62px;padding:0 18px;text-shadow:0 2px 0 #ffe9a0;transition:transform .1s}
.btn:active{transform:scale(.93)}
.btn.sm{min-width:120px;height:50px;font-size:18px}
.chip{display:flex;align-items:center;gap:4px;background:rgba(255,248,220,.92);border:3px solid #8a4b0f;border-radius:999px;padding:2px 12px 2px 8px;font-weight:900;font-size:17px;color:#6b3a06;box-shadow:0 3px 0 #8a4b0f}
.chip img{width:28px;height:28px}
#menu .logo{width:min(78vw,380px);margin-top:calc(10vh + env(safe-area-inset-top));animation:bob 3s ease-in-out infinite;filter:drop-shadow(0 8px 10px rgba(0,0,0,.3))}
#menu h1{margin:-14px 0 0;font-size:54px;color:#fff3b0;-webkit-text-stroke:2px #7a3e00;text-shadow:0 5px 0 #7a3e00,0 8px 14px rgba(0,0,0,.35);line-height:1.7}
#menu .row{position:absolute;bottom:calc(4% + env(safe-area-inset-bottom));display:flex;gap:12px}
.topbar{position:absolute;top:calc(10px + env(safe-area-inset-top));inset-inline:10px;display:flex;justify-content:space-between;align-items:center;z-index:5;gap:8px}
#mapScroll{position:absolute;inset:0;overflow-y:auto;overflow-x:hidden}
#mapInner{position:relative;width:100%;max-width:520px;margin:0 auto;height:1500px}
#mapInner svg{position:absolute;inset:0;width:100%;height:100%}
.node{position:absolute;width:86px;height:86px;transform:translate(50%,-50%);border:none;background:none;cursor:pointer;padding:0}
.node img.n{width:100%;height:100%;filter:drop-shadow(0 5px 3px rgba(0,0,0,.35))}
.node span{position:absolute;inset:0;display:grid;place-items:center;font-family:'Lalezar';font-size:30px;color:#fff;-webkit-text-stroke:1px #6b3200;text-shadow:0 3px 0 #6b3200;padding-bottom:6px}
.node .st{position:absolute;bottom:-20px;inset-inline:0;display:flex;justify-content:center}
.node .st img{width:24px;height:24px}
.node.cur{animation:bob 1.4s ease-in-out infinite}
.modal{position:absolute;inset:0;z-index:50;display:grid;place-items:center;background:rgba(40,20,0,.55)}
.panel{position:relative;width:min(92vw,400px);aspect-ratio:1;background-size:100% 100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:14% 12%;animation:pop .35s cubic-bezier(.3,1.6,.5,1)}
.panel h2{margin:0;font-size:34px;color:#fff3b0;-webkit-text-stroke:1.5px #7a3e00;text-shadow:0 4px 0 #7a3e00;line-height:1.7;text-align:center}
.panel p{margin:0;font-weight:700;text-align:center;line-height:1.8}
.stars{display:flex;gap:4px;align-items:flex-end}
.stars img{width:64px;height:64px;animation:pop .4s cubic-bezier(.3,1.6,.5,1) both}
.stars img:nth-child(2){width:80px;height:80px;margin-bottom:12px}
.shopList{display:flex;flex-direction:column;gap:7px;width:100%}
.item{display:flex;align-items:center;gap:8px;background:rgba(255,250,225,.95);border:3px solid #a8641a;border-radius:16px;padding:5px 9px}
.item .ic{width:40px;height:40px;flex:none;display:grid;place-items:center}
.item .ic img{width:38px}
.item div{flex:1;min-width:0;font-weight:700;font-size:14px;line-height:1.6;overflow-wrap:anywhere}
.item button{border:none;border-radius:12px;background:#ffb52e;box-shadow:0 3px 0 #a35a00;font-family:Vazirmatn;font-weight:900;font-size:14px;padding:5px 10px;cursor:pointer;color:#5a2d00;display:flex;align-items:center;gap:3px}
.item button img{width:18px}
.item button:disabled{filter:grayscale(1);opacity:.6}
#ghud{position:absolute;top:calc(8px + env(safe-area-inset-top));inset-inline:8px;z-index:20;display:flex;align-items:center;gap:6px;pointer-events:none}
#ghud>*{pointer-events:auto}
#ghud .pb{width:50px;height:50px;border:none;background:url(./assets/btn_pause.webp) center/contain no-repeat;cursor:pointer;flex:none}
#ghud .lv{flex:1;text-align:center;font-family:'Lalezar';font-size:22px;color:#fff;text-shadow:0 2px 0 #6b3200,0 0 6px #6b3200}
#ghud .chip{font-size:15px;padding:1px 9px 1px 6px}
#ghud .chip img{width:24px;height:24px}
#prog{position:absolute;top:calc(64px + env(safe-area-inset-top));inset-inline:20%;height:18px;z-index:20;background:rgba(255,248,220,.9);border:3px solid #8a4b0f;border-radius:99px;overflow:hidden}
#prog i{position:absolute;inset-block:0;inset-inline-start:0;width:0;background:linear-gradient(#ffd34d,#f59a00);transition:width .2s}
#prog b{position:absolute;inset-block:0;width:3px;background:#7a3e00}
#tut{position:absolute;inset-inline:6%;bottom:calc(3% + env(safe-area-inset-bottom));z-index:20;text-align:center;background:rgba(255,248,220,.95);border:3px solid #8a4b0f;border-radius:18px;padding:6px 12px;font-weight:900;font-size:17px;line-height:1.8;box-shadow:0 4px 0 #8a4b0f;pointer-events:none;animation:pop .4s}
#toast{position:absolute;top:30%;inset-inline:0;text-align:center;z-index:60;font-family:'Lalezar';font-size:30px;color:#fff3b0;-webkit-text-stroke:1.5px #7a3e00;text-shadow:0 4px 0 #7a3e00;pointer-events:none;transition:opacity .4s}
#loading{background:#ffcf4a;justify-content:center;z-index:80}
#loading .bar{width:220px;height:22px;border:4px solid #7a3e00;border-radius:99px;background:#fff6d0;overflow:hidden;margin-top:18px}
#loading .bar i{display:block;height:100%;width:0;background:#e88a00;transition:width .2s}
#loading .drop{width:70px;animation:bob 1s ease-in-out infinite}
.hide{display:none!important}
