html,body{margin:0;height:100%;overflow:hidden;background:#2a140c;font-family:'Vazirmatn',sans-serif;color:#fff;touch-action:none;user-select:none;-webkit-user-select:none}
#game-root{position:fixed!important;inset:0;margin:0 auto!important;width:100%!important;max-width:540px!important;height:100%;overflow:hidden;background:#3a1c12}
#game,#game canvas{position:absolute;inset:0;width:100%!important;height:100%!important}
#dpad,#dpad-action,#retryBtn{display:none!important}
.scr{position:absolute;inset:0;z-index:30;display:flex;flex-direction:column;align-items:center;background-size:cover;background-position:center}
.scr.hidden{display:none}
.btnP{border:none;background:url(./assets/btn_primary.webp) center/100% 100% no-repeat;width:240px;height:80px;color:#fff;font-family:'Lalezar','Vazirmatn',sans-serif;font-size:26px;cursor:pointer;text-shadow:0 2px 0 #7a2c4a;filter:drop-shadow(0 6px 8px rgba(0,0,0,.35));transition:transform .12s}
.btnP:active{transform:scale(.94)}
.btnS{border:none;background:url(./assets/btn_secondary.webp) center/contain no-repeat;width:64px;height:64px;cursor:pointer;color:#5a2a18;font-weight:900;font-size:13px;font-family:'Vazirmatn'}
.btnS:active{transform:scale(.92)}
#startBtn{position:relative!important;left:auto!important;top:auto!important;transform:none!important;min-width:0!important;padding:0!important;border-radius:0!important;background:url(./assets/btn_primary.webp) center/100% 100% no-repeat!important;width:250px;height:84px;color:#fff;font-family:'Lalezar','Vazirmatn',sans-serif!important;font-size:30px!important;font-weight:400!important;text-shadow:0 2px 0 #7a2c4a;filter:drop-shadow(0 6px 8px rgba(0,0,0,.35));animation:pulse 1.4s ease-in-out infinite}
@keyframes pulse{50%{transform:scale(1.06)!important}}
@keyframes bob{50%{transform:translateY(-10px) rotate(-2deg)}}
.logo{width:min(78%,360px);margin-top:9vh;animation:bob 3s ease-in-out infinite;filter:drop-shadow(0 10px 18px rgba(0,0,0,.4))}
.title{font-family:'Lalezar','Vazirmatn';font-size:52px;line-height:1.3;color:#ffd6e8;text-shadow:0 4px 0 #6b2f1a,0 8px 18px rgba(0,0,0,.5);margin:-10px 0 18px}
.chip{display:flex;align-items:center;gap:6px;background:rgba(58,28,18,.8);border:2px solid #f7a8c8;border-radius:999px;padding:4px 14px 4px 8px;font-weight:900;font-size:17px}
.chip img{width:28px;height:28px}
.topbar{position:absolute;top:max(12px,env(safe-area-inset-top));inset-inline:12px;display:flex;justify-content:space-between;align-items:center;gap:8px;z-index:3}
#hud{top:max(10px,env(safe-area-inset-top))!important;inset-inline:10px!important;align-items:center!important;pointer-events:auto!important}
#hud .grp{display:flex;gap:6px;align-items:center}
#hud .goal{background:rgba(58,28,18,.8);border:2px solid #f7a8c8;border-radius:14px;padding:2px 12px;font-size:14px;text-align:center;line-height:1.6}
#hud .bar{width:90px;height:8px;background:#5a2a18;border-radius:6px;overflow:hidden;margin:2px auto 4px}
#hud .bar i{display:block;height:100%;background:linear-gradient(90deg,#ff7eb6,#ffd1e6);width:0;transition:width .3s}
#pauseBtn{width:52px;height:52px;border:none;background:url(./assets/icon_pause.webp) center/contain no-repeat;cursor:pointer}
.panel{position:relative;width:min(92%,420px);aspect-ratio:1/1.12;background:url(./assets/panel_frame.webp) center/100% 100% no-repeat;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:40px 30px;box-sizing:border-box;color:#5a2a18;text-align:center}
.panel h2{font-family:'Lalezar','Vazirmatn';font-weight:400;font-size:34px;margin:0;color:#c2366e;line-height:1.5}
.dim{background:rgba(30,10,6,.65);justify-content:center;backdrop-filter:blur(3px)}
.stars{display:flex;gap:6px;align-items:flex-end}
.stars img{width:64px;height:64px;transform:scale(0);transition:transform .35s cubic-bezier(.3,1.8,.5,1)}
.stars img.on{transform:scale(1)}
.stars img:nth-child(2){width:80px;height:80px}
.map{position:absolute;inset:0;overflow-y:auto;overflow-x:hidden;touch-action:pan-y}
.mapIn{position:relative;width:100%;height:1500px}
.node{position:absolute;width:96px;height:96px;border:none;background:center/contain no-repeat;cursor:pointer;color:#fff;font-family:'Lalezar','Vazirmatn';font-size:30px;text-shadow:0 2px 0 #7a2c4a}
.node .st{position:absolute;bottom:-18px;inset-inline:0;display:flex;justify-content:center}
.node .st img{width:24px;height:24px}
.node.lock{color:transparent;text-shadow:none}
.shopList{width:100%;display:flex;flex-direction:column;gap:6px;overflow-y:auto;max-height:62%}
.item{display:flex;align-items:center;gap:8px;background:#ffe3ef;border-radius:14px;padding:6px 10px;font-size:14px;text-align:start}
.item .sw{width:36px;height:36px;flex:none;background:url(./assets/cotton_candy_block.webp) center/contain no-repeat}
.item .nm{flex:1;min-width:0;font-weight:700;line-height:1.5}
.item button{border:none;background:#c2366e;color:#fff;border-radius:10px;padding:6px 10px;font-family:'Vazirmatn';font-weight:700;font-size:13px;cursor:pointer;display:flex;align-items:center;gap:3px}
.item button img{width:18px}
.item button.sel{background:#7a4a2a}
#pop{position:absolute;inset-inline:0;top:30%;text-align:center;z-index:20;pointer-events:none;font-family:'Lalezar','Vazirmatn';font-size:44px;color:#fff;text-shadow:0 3px 0 #c2366e,0 6px 14px rgba(0,0,0,.4);opacity:0}
#pop.go{animation:popA .9s ease-out}
@keyframes popA{0%{opacity:0;transform:scale(.4)}20%{opacity:1;transform:scale(1.15)}40%{transform:scale(1)}100%{opacity:0;transform:translateY(-50px)}}
#tut{position:absolute;bottom:14%;inset-inline:8%;z-index:20;background:rgba(58,28,18,.85);border:2px solid #f7a8c8;border-radius:18px;padding:10px 14px;text-align:center;font-size:16px;line-height:1.8;pointer-events:none;transition:opacity .4s}
#tut .hand{width:46px;height:46px;margin:0 auto;border-radius:50%;background:radial-gradient(#fff,#ffb3d4);animation:tap 1s infinite}
@keyframes tap{50%{transform:scale(.7);opacity:.6}}
#windTag{position:absolute;top:84px;inset-inline:0;margin:auto;width:max-content;z-index:16;font-size:14px;background:rgba(58,28,18,.75);border-radius:999px;padding:2px 12px;pointer-events:none}
.row{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.small{font-size:15px;line-height:1.8}
