:root{--night:#090812;--ink:#11101e;--gold:#ffd46a;--amber:#e8a938;--cream:#fff6d7;--muted:#b5aac2;--line:rgba(255,212,106,.23);--danger:#ff6b72}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#07060c;color:var(--cream);font-family:Tahoma,Vazirmatn,sans-serif;touch-action:none}body{display:grid;place-items:center}button{font:inherit;color:inherit;border:0;cursor:pointer;-webkit-tap-highlight-color:transparent}button:focus-visible{outline:2px solid #fff;outline-offset:3px}.hidden{display:none!important}#game-root{position:relative;width:min(100vw,calc(100dvh * .4612676));height:min(100dvh,calc(100vw * 2.1679389));max-width:520px;overflow:hidden;background:var(--night);isolation:isolate;box-shadow:0 0 80px #000}#game,#game canvas{position:absolute;inset:0;width:100%!important;height:100%!important;display:block}.screen{position:absolute;inset:0;z-index:10;padding:max(22px,env(safe-area-inset-top)) 20px max(22px,env(safe-area-inset-bottom));overflow:hidden}.menu-screen{background:linear-gradient(180deg,rgba(8,7,15,.12),rgba(8,7,15,.28) 42%,#090812 88%),url('./assets/menu_bg.webp') center/cover;display:flex;flex-direction:column;align-items:center}.top-coins{display:flex;align-items:center;gap:5px;min-height:36px;padding:4px 10px;background:rgba(12,10,23,.72);border:1px solid var(--line);border-radius:30px;color:var(--gold);font-weight:bold;font-size:14px;white-space:nowrap}.top-coins img{width:25px;height:25px;object-fit:contain}.menu-screen>.top-coins{position:absolute;top:max(20px,env(safe-area-inset-top));inset-inline-end:18px}.small-round{position:absolute;top:max(20px,env(safe-area-inset-top));inset-inline-start:18px;min-width:48px;height:36px;border:1px solid var(--line);border-radius:24px;background:rgba(12,10,23,.72);font-size:11px;color:var(--gold)}.brand{margin-top:13%;text-align:center;display:flex;flex-direction:column;align-items:center}.logo-art{width:min(66vw,300px);height:auto;filter:drop-shadow(0 0 26px rgba(255,190,70,.18));animation:float 4s ease-in-out infinite}h1{font-size:40px;line-height:1.35;margin:-32px 0 2px;color:var(--cream);text-shadow:0 3px 20px #000,0 0 24px rgba(255,206,96,.22)}.brand p{margin:0;color:var(--gold);font-size:15px;line-height:1.8}.menu-actions{margin-top:auto;width:100%;display:grid;gap:10px}.primary-btn{position:relative;min-height:64px;width:100%;background:linear-gradient(180deg,#ffe292,#d8982d);color:#251706;border:1px solid #ffe8aa;border-radius:18px;box-shadow:0 5px 0 #81521b,0 10px 26px rgba(236,168,48,.2);display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:20px;font-weight:900;transition:transform .12s}.primary-btn:active{transform:translateY(3px) scale(.98);box-shadow:0 2px 0 #81521b}.primary-btn small{font-size:10px;font-weight:normal;opacity:.7;line-height:1.5}.secondary-btn{min-height:50px;background:rgba(23,20,36,.9);border:1px solid var(--line);border-radius:15px;color:var(--cream);font-size:15px;font-weight:bold;display:flex;align-items:center;justify-content:center;gap:8px}.secondary-btn img{width:25px;height:25px}.secondary-btn:active,.text-btn:active{background:rgba(255,212,106,.15)}.menu-hint{font-size:11px;color:var(--muted);line-height:1.8;margin:18px 0 0}.screen-head{display:flex;align-items:center;gap:10px;padding-bottom:22px}.screen-head>div:nth-child(2){flex:1;min-width:0}.screen-head h2{font-size:20px;margin:0;line-height:1.7}.screen-head p{font-size:10px;margin:0;color:var(--muted);line-height:1.7}.back-btn{width:44px;height:44px;border-radius:50%;background:#181425;border:1px solid var(--line);font-size:32px;line-height:1}.level-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;overflow:auto;max-height:calc(100% - 120px);padding:3px 2px 20px;scrollbar-width:none}.level-card{position:relative;min-height:184px;border-radius:24px;background:linear-gradient(150deg,rgba(39,30,55,.96),rgba(14,12,25,.98));border:1px solid rgba(255,212,106,.17);padding:14px 10px 10px;text-align:center;overflow:hidden}.level-card:not(.locked):active{transform:scale(.97)}.level-card.current{border-color:var(--gold);box-shadow:inset 0 0 24px rgba(255,199,86,.08)}.level-art{height:91px;display:grid;place-items:center}.level-art img{width:102px;height:102px;object-fit:contain}.level-num{position:absolute;top:17px;inset-inline-start:18px;color:var(--gold);font-size:26px;font-weight:900;text-shadow:0 2px 10px #000}.level-card h3{font-size:14px;margin:0 0 5px;line-height:1.7}.level-card p{font-size:10px;color:var(--muted);margin:0}.level-stars{height:27px;display:flex;align-items:center;justify-content:center;gap:1px;margin-top:3px}.level-stars img{width:23px;height:23px}.lock-art{position:absolute;width:38px;height:38px;top:40px;inset-inline-start:calc(50% - 19px);filter:drop-shadow(0 3px 8px #000)}.locked{filter:saturate(.45);opacity:.7}.map-footer{position:absolute;bottom:max(20px,env(safe-area-inset-bottom));inset-inline:20px;height:52px;border-top:1px solid var(--line);display:flex;align-items:flex-end;justify-content:space-between;font-size:13px;color:var(--muted)}.map-footer b{color:var(--gold)}.shop-items{display:grid;gap:14px}.shop-card{padding:17px;border-radius:22px;border:1px solid var(--line);background:linear-gradient(135deg,#20182c,#100e1b);display:grid;grid-template-columns:58px 1fr;gap:10px 12px}.shop-icon{grid-row:span 2;width:58px;height:58px;border-radius:17px;display:grid;place-items:center;background:rgba(255,204,92,.08);border:1px solid var(--line)}.shop-icon img{width:42px;height:42px;object-fit:contain}.shop-card h3{font-size:15px;margin:0;line-height:1.7}.shop-card p{font-size:10px;color:var(--muted);line-height:1.8;margin:3px 0}.buy-btn{grid-column:2;min-height:40px;border-radius:12px;background:#dca33e;color:#201407;font-size:13px;font-weight:bold}.buy-btn:disabled{background:#2d2735;color:#92889d;cursor:default}.upgrade-dots{display:flex;gap:5px;margin-top:6px}.upgrade-dots i{width:18px;height:4px;background:#393040;border-radius:4px}.upgrade-dots i.on{background:var(--gold);box-shadow:0 0 8px #d99936}.shop-note{text-align:center;color:var(--muted);font-size:11px;line-height:1.8;margin-top:22px}.overlay{background:rgba(5,4,11,.78);backdrop-filter:blur(7px);display:flex;align-items:center;justify-content:center}.modal{width:100%;max-width:350px;padding:25px 22px;border:1px solid rgba(255,213,111,.35);border-radius:28px;background:linear-gradient(155deg,#22192e,#100d1b 68%);box-shadow:0 24px 70px #000;text-align:center;animation:pop .35s cubic-bezier(.2,1.3,.4,1)}.modal h2{font-size:28px;margin:2px 0 20px;line-height:1.7}.mini-label{color:var(--gold);font-size:11px;line-height:1.8}.modal>.primary-btn,.modal>.secondary-btn{margin-top:12px}.text-btn{min-height:44px;background:transparent;color:var(--muted);font-size:12px;margin-top:7px}.tutorial-card p{font-size:13px;color:var(--muted);line-height:2;margin:15px 0}.tutorial-wires{height:95px;position:relative;display:flex;flex-direction:column;justify-content:space-around}.tutorial-wires i{height:2px;background:var(--gold);box-shadow:0 0 9px var(--gold)}.tap-dot{position:absolute;width:35px;height:35px;border:2px solid var(--cream);border-radius:50%;top:3px;inset-inline-start:50%;animation:tap 1.4s infinite}.tutorial-goal{display:grid;grid-template-columns:42px 1fr 42px 1fr;align-items:center;font-size:10px;color:var(--cream);gap:5px}.tutorial-goal img{width:38px;height:38px;object-fit:contain}.result-card{position:relative;padding-top:44px}.result-art{position:absolute;width:240px;height:240px;top:-108px;inset-inline-start:calc(50% - 120px);opacity:.3;pointer-events:none}.result-card h2{margin-bottom:0}.result-stars{display:flex;justify-content:center;gap:3px;height:72px;align-items:center}.result-stars img{width:58px;height:58px;animation:starIn .45s backwards}.result-stars img:nth-child(2){animation-delay:.12s;transform:translateY(-8px)}.result-stars img:nth-child(3){animation-delay:.24s}.result-numbers{display:grid;grid-template-columns:1fr 1fr;background:rgba(0,0,0,.22);border-radius:16px;margin:15px 0 10px;padding:10px}.result-numbers div{display:flex;flex-direction:column;gap:4px}.result-numbers div+div{border-inline-start:1px solid var(--line)}.result-numbers span{font-size:10px;color:var(--muted)}.result-numbers b{font-size:22px;color:var(--gold)}#resultMessage{font-size:11px;line-height:1.8;color:var(--muted);min-height:20px}.result-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.result-actions .secondary-btn{font-size:13px}#hud{position:absolute;z-index:8;top:max(12px,env(safe-area-inset-top));inset-inline:12px;pointer-events:none}.hud-main{height:62px;display:flex;align-items:center;gap:12px;padding:6px 12px;background:linear-gradient(90deg,rgba(17,13,28,.85),rgba(36,26,43,.86));border:1px solid var(--line);border-radius:18px;box-shadow:0 7px 20px rgba(0,0,0,.25)}.icon-btn{pointer-events:auto;background:transparent;padding:0;width:45px;height:45px;flex:none}.icon-btn img{width:100%;height:100%;object-fit:contain}.hud-stat{display:flex;flex-direction:column;align-items:flex-start;line-height:1.3}.eyebrow{font-size:9px;color:var(--muted)}#scoreText{font-size:22px;color:var(--cream)}.lives{margin-inline-start:auto;display:flex;direction:ltr;gap:2px}.lives img{width:25px;height:25px}.lives img.lost{filter:grayscale(1);opacity:.2}.progress-track{height:4px;background:#2b2135;margin:7px 10px 0;border-radius:5px;overflow:hidden}.progress-track div{height:100%;width:0;background:var(--gold);box-shadow:0 0 8px var(--gold);transition:width .2s}.hud-sub{display:flex;justify-content:space-between;align-items:center;padding:5px 10px;font-size:9px;color:var(--muted)}.run-coins{display:flex;align-items:center;gap:3px;color:var(--gold)}.run-coins img{width:16px;height:16px}.toast{position:absolute;z-index:9;top:24%;left:50%;transform:translateX(-50%);background:rgba(15,12,25,.85);border:1px solid var(--line);border-radius:30px;padding:8px 17px;color:var(--gold);font-size:12px;white-space:nowrap;pointer-events:none;animation:toast .9s both}#rotateHint{display:none}@keyframes float{50%{transform:translateY(-8px)}}@keyframes pop{from{opacity:0;transform:scale(.88) translateY(20px)}}@keyframes tap{0%,100%{transform:translateY(0);opacity:1}50%{transform:translateY(58px);opacity:.4}}@keyframes starIn{from{opacity:0;scale:.2}}@keyframes toast{0%{opacity:0;transform:translate(-50%,10px)}20%,75%{opacity:1;transform:translate(-50%,0)}100%{opacity:0;transform:translate(-50%,-12px)}}@media(min-width:700px){#game-root{border:1px solid #302437;border-radius:24px}}@media(max-height:620px){.logo-art{width:190px}.brand{margin-top:6%}h1{font-size:32px}.level-card{min-height:150px}.level-art{height:70px}.level-art img{width:78px;height:78px}.modal{padding:18px}.modal h2{margin-bottom:10px}}
