@font-face{font-family:Vazirmatn;src:local('Vazirmatn')}
html,body{margin:0;height:100%;overflow:hidden;background:#06221f;font-family:Vazirmatn,Tahoma,sans-serif;color:#f3ead2;touch-action:none;user-select:none;-webkit-user-select:none}
#game-root,#startBtn,#retryBtn,#hud,#dpad,#dpad-action{display:none!important}
#app{position:fixed;inset:0;overflow:hidden}
#cv{position:absolute;inset:0;width:100%;height:100%;display:block}
.scr{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;z-index:5;padding:max(16px,env(safe-area-inset-top)) 16px max(16px,env(safe-area-inset-bottom));box-sizing:border-box;line-height:1.8}
.hide{display:none!important}
.bgimg{background:#06221f url(./assets/title_bg.webp) center/cover}
.bgimg::before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,30,28,.35),rgba(4,24,22,.85));z-index:-1}
.bgimg{isolation:isolate}
.logo{width:min(62vw,280px);margin-top:6vh;filter:drop-shadow(0 0 24px rgba(120,240,230,.5));animation:float 4s ease-in-out infinite}
@keyframes float{50%{transform:translateY(-8px) rotate(1deg)}}
h1{margin:4px 0 0;font-size:40px;font-weight:900;color:#fff4d6;text-shadow:0 0 18px #4fe0d0,0 3px 0 #0b3d39}
.tag{opacity:.85;margin:0 0 auto;font-size:16px}
.btn{position:relative;border:none;cursor:pointer;font-family:inherit;font-weight:800;font-size:20px;color:#2b1a05;min-width:220px;min-height:62px;padding:0 24px;background:url(./assets/ui_button_primary.webp) center/100% 100% no-repeat;filter:drop-shadow(0 6px 10px rgba(0,0,0,.4));transition:transform .12s}
.btn:active{transform:scale(.95)}
.btn.alt{background:linear-gradient(#1d6c66,#0d3f3b);color:#e9fbf7;border:2px solid #c9d6d6;border-radius:18px;font-size:17px;min-height:50px}
.col{display:flex;flex-direction:column;gap:12px;align-items:center;margin-bottom:6vh}
.row{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.coinbar{position:absolute;top:max(14px,env(safe-area-inset-top));inset-inline-start:14px;display:flex;align-items:center;gap:6px;background:rgba(3,25,23,.7);border:1px solid #9fd8d0;border-radius:20px;padding:2px 12px 2px 8px;font-weight:800}
.coinbar img,.hp img{width:26px;height:26px}
.top{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:52px}
.top h2{margin:0;font-size:22px}
.ib{width:48px;height:48px;border:none;background:url(./assets/ui_button_secondary.webp) center/cover;cursor:pointer;display:grid;place-items:center;font-family:inherit;font-size:22px;font-weight:900;color:#fff;flex:none}
.ib img{width:60%;height:60%}
.top{flex:none}.map,.shop{min-height:0}
.node.lock .ni{filter:grayscale(.8) brightness(.6)}
.map{flex:1;width:100%;max-width:420px;overflow-y:auto;touch-action:pan-y;display:grid;grid-template-columns:repeat(3,1fr);gap:14px 6px;padding:12px 0;align-content:start}
.node{position:relative;display:flex;flex-direction:column;align-items:center;cursor:pointer;background:none;border:none;color:inherit;font-family:inherit}
.node:nth-child(6n+4),.node:nth-child(6n+5),.node:nth-child(6n+6){transform:translateX(-14px)}
.node .ni{width:84px;height:84px;background:url(./assets/map_level_node_active.webp) center/contain no-repeat;display:grid;place-items:center;font-size:26px;font-weight:900;color:#fff;text-shadow:0 2px 4px #000}
.node.lock .ni{background-image:url(./assets/map_level_node_locked.webp);color:transparent}
.node.cur .ni{animation:pulse 1.4s infinite}
@keyframes pulse{50%{transform:scale(1.08);filter:drop-shadow(0 0 14px #7ff)}}
.stars{display:flex;gap:2px}.stars img{width:20px;height:20px}
.node small{font-size:12px;opacity:.8;max-width:100px;text-align:center;overflow-wrap:anywhere}
.hudtop{position:absolute;top:max(10px,env(safe-area-inset-top));inset-inline:10px;display:flex;align-items:center;gap:8px;z-index:6;pointer-events:none}
.hudtop>*{pointer-events:auto}
.pill{background:rgba(3,25,23,.72);border:1px solid #8fcfc6;border-radius:16px;padding:2px 10px;font-weight:800;font-size:15px;display:flex;align-items:center;gap:4px;white-space:nowrap}
.hp{display:flex}
.grow{flex:1;min-width:0;text-align:center;font-size:14px;opacity:.9;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hudbot{position:absolute;bottom:max(12px,env(safe-area-inset-bottom));inset-inline:12px;display:flex;justify-content:space-between;align-items:center;z-index:6}
.tut{position:absolute;inset-inline:16px;bottom:84px;z-index:7;background:rgba(3,30,28,.9);border:1px solid #e5c97a;border-radius:16px;padding:10px 14px;text-align:center;font-size:16px;pointer-events:none;animation:pop .35s}
@keyframes pop{from{transform:scale(.8);opacity:0}}
.modal{position:absolute;inset:0;z-index:20;background:rgba(2,16,15,.72);display:grid;place-items:center;backdrop-filter:blur(3px)}
.card{width:min(88vw,360px);aspect-ratio:1/1.15;background:url(./assets/panel_frame.webp) center/100% 100% no-repeat;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:22% 18% 14%;font-size:14px;box-sizing:border-box;text-align:center;animation:pop .35s}
.card h3{margin:0;font-size:26px;color:#fff4d6;text-shadow:0 0 12px #3fd}
.card .btn{min-width:190px;min-height:54px;font-size:18px}
.bigstars{display:flex;gap:6px}.bigstars img{width:58px;height:58px;transform:scale(0);animation:star .5s forwards}
.bigstars img:nth-child(2){width:72px;height:72px;animation-delay:.25s}.bigstars img:nth-child(3){animation-delay:.5s}
@keyframes star{70%{transform:scale(1.3) rotate(15deg)}to{transform:scale(1)}}
.shop{flex:1;width:100%;max-width:420px;overflow-y:auto;display:flex;flex-direction:column;gap:12px;padding-top:12px}
.item{display:flex;align-items:center;gap:12px;background:rgba(4,40,37,.85);border:1px solid #b7d9d4;border-radius:18px;padding:12px}
.item .sw{width:52px;height:52px;border-radius:14px;flex:none;display:grid;place-items:center}
.item .sw img{width:80%}
.item div{flex:1;min-width:0}
.item b{display:block}.item span{font-size:13px;opacity:.8}
.item button{font-family:inherit;font-weight:800;border:none;border-radius:12px;padding:8px 12px;background:#e8c35a;color:#2b1a05;cursor:pointer;min-height:44px;white-space:nowrap}
.item button:disabled{background:#4a6763;color:#bcd}
.toast{position:absolute;top:70px;left:50%;transform:translateX(-50%);z-index:30;background:#0d3f3b;border:1px solid #e8c35a;border-radius:14px;padding:6px 16px;animation:pop .3s}
