:root{
  color-scheme:dark;
  --bg:#090d1b;--panel:#0b1024;--panel2:#11182c;--line:#ffffff16;--muted:#9ba7c2;--purple:#ae87ff;--cyan:#67e5eb;--gold:#ffdc7b;--accent:#ff2d95;
  --sat:env(safe-area-inset-top,0px);--sar:env(safe-area-inset-right,0px);--sab:env(safe-area-inset-bottom,0px);--sal:env(safe-area-inset-left,0px);
  --t-title:clamp(30px,12vmin,60px);
  --t-sub:clamp(10px,2.6vmin,14px);
  --t-eyebrow:clamp(9px,2.2vmin,11px);
  --t-btn:clamp(12px,3.2vmin,16px);
  --t-btn-dim:clamp(10px,2.6vmin,13px);
  --t-stat-val:clamp(15px,4.4vmin,17px);
  --t-stat-label:clamp(9px,2.3vmin,11px);
  --pad-panel:clamp(14px,2.5vmin,26px);
  --pad-btn-y:clamp(8px,2.3vmin,14px);
  --gap-slot:clamp(4px,1.2vmin,7px);
  --panel-w:min(470px,92vw,86vmin);
}
*{margin:0;padding:0;box-sizing:border-box}
html,body{width:100%;height:100%;overflow:hidden;background:var(--bg);font-family:Vazirmatn,Vazir,IRANSans,Tahoma,sans-serif;color:#f1f3ff;touch-action:none;user-select:none;-webkit-user-select:none;overscroll-behavior:none;-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%;position:fixed;inset:0}
canvas{display:block;position:absolute;top:0;left:0;width:100%;height:100%}
#ui-layer{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:10}
#ui-layer *{pointer-events:auto}
#ui-layer .hidden,#ui-layer .hidden *{pointer-events:none!important}
.hidden{opacity:0!important;pointer-events:none!important}

.arcade-nav{position:absolute;top:0;left:0;right:0;z-index:40;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:calc(12px + var(--sat)) 4% 12px;background:linear-gradient(180deg,rgba(9,13,27,.92),rgba(9,13,27,0));pointer-events:none}
.arcade-nav>*{pointer-events:auto}
.arcade-nav .brand{display:flex;gap:10px;align-items:center;font-weight:800;font-size:17px;color:#fff;text-decoration:none}
.arcade-nav .brand small{display:block;font-size:9px;letter-spacing:2px;color:var(--muted);margin-top:3px}
.arcade-nav .brand-mark{display:grid;place-items:center;color:#d4b5ff;border:1px solid #9e6cfb80;border-radius:12px;font:28px monospace;width:38px;height:38px;background:#9e6cfb15}
.arcade-nav nav{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.arcade-nav nav a{padding:8px 12px;font-size:12px;color:#c1c9df;text-decoration:none;border-radius:8px}
.arcade-nav nav a:hover{background:#ffffff12;color:#fff}
.arcade-nav .whoami{font-size:11px;color:var(--gold);border:1px solid #ffdc7b33;background:#ffdc7b12;border-radius:8px;padding:7px 11px;white-space:nowrap;max-width:40vw;overflow:hidden;text-overflow:ellipsis}
.arcade-footer{position:absolute;bottom:0;left:0;right:0;z-index:5;display:flex;justify-content:space-between;padding:8px 4% calc(10px + var(--sab));font-size:9px;letter-spacing:1px;color:#77809b;pointer-events:none}

.fps-counter{position:absolute;top:calc(60px + var(--sat));right:14px;font-size:10px;color:rgba(255,255,255,0.35);font-family:monospace;z-index:30;pointer-events:none}
.hud{position:absolute;top:calc(58px + var(--sat));left:0;right:0;padding:6px 16px;display:flex;justify-content:space-between;align-items:flex-start;font-size:14px;pointer-events:none;z-index:25}
.hud-left,.hud-right,.hud-center{display:flex;flex-direction:column;align-items:flex-start;gap:3px}
.hud-center{align-items:center;position:absolute;left:50%;transform:translateX(-50%);top:8px}
.hud-right{align-items:flex-end}
.hud-score{font-size:26px;font-weight:900;letter-spacing:1px;color:var(--gold);text-shadow:0 0 18px #ffdc7b55;font-family:Tahoma,sans-serif}
.hud-combo{font-size:16px;font-weight:700;color:var(--gold);transition:all 0.1s}
.hud-stage{font-size:11px;color:var(--muted);letter-spacing:1px}
.hud-lives{font-size:15px;letter-spacing:3px;color:var(--cyan);text-shadow:0 0 14px #67e5eb66}
.hud-shield{color:var(--cyan);font-size:13px;letter-spacing:3px}
.hud>div>div{background:#0b1024c9;border:1px solid #ffffff20;border-radius:10px;padding:7px 11px;backdrop-filter:blur(8px)}

.boss-hp-wrap{position:absolute;bottom:calc(54px + var(--sab));left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;opacity:0;transition:opacity 0.3s;pointer-events:none;z-index:20}
.boss-hp-wrap.active{opacity:1}
.boss-shield-bar{height:5px!important;margin-bottom:3px;background:rgba(255,45,80,0.12)!important}
.boss-shield-fill{height:100%;background:linear-gradient(90deg,#ff9d5c,#ff2d5f);border-radius:4px;transition:width 0.15s;box-shadow:0 0 10px rgba(255,80,110,0.7)}
.boss-hp-bar{width:min(400px,70vw);height:8px;background:rgba(255,255,255,0.1);border-radius:4px;overflow:hidden}
.boss-hp-fill{height:100%;background:linear-gradient(90deg,#ff2d95,#ff6b35);border-radius:4px;transition:width 0.2s;box-shadow:0 0 12px #ff2d9566}
.boss-name{font-size:12px;color:var(--cyan);letter-spacing:2px;margin-bottom:4px;white-space:nowrap;text-shadow:0 0 12px #67e5eb66}
.boss-phase{font-size:10px;letter-spacing:2px;color:#ff6b35;margin-top:3px}

.menu-screen,.game-over-screen,.pause-overlay,.boss-intro,.settings-panel,.upgrade-screen{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:rgba(9,13,27,0.86);backdrop-filter:blur(10px);opacity:1;transition:opacity 0.25s;z-index:15;text-align:center;direction:rtl;padding:calc(var(--pad-panel) + var(--sat)) calc(var(--pad-panel) + var(--sar)) calc(var(--pad-panel) + var(--sab)) calc(var(--pad-panel) + var(--sal));overflow:hidden}
.game-over-screen{z-index:20}
.settings-panel{z-index:25}
.upgrade-screen{z-index:22}
.ready-panel{max-width:var(--panel-w);width:100%;max-height:calc(100% - 2*var(--pad-panel));overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:var(--pad-panel);border:1px solid #ac8afc33;border-radius:20px;background:#0b1024b8;box-shadow:0 0 60px #6f42de22;backdrop-filter:blur(6px)}
.ready-panel::-webkit-scrollbar{width:5px}
.ready-panel::-webkit-scrollbar-thumb{background:#ffffff22;border-radius:3px}
.menu-title{font-size:var(--t-title);font-weight:900;letter-spacing:-2px;background:linear-gradient(135deg,#67e5eb,#ae87ff,#ffdc7b);-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:6px}
.menu-subtitle{font-size:var(--t-sub);color:var(--muted);letter-spacing:2px;margin-bottom:calc(var(--pad-panel) - 2px)}
.eyebrow{font-size:var(--t-eyebrow);letter-spacing:1px;color:var(--purple);display:block;margin-bottom:calc(var(--pad-panel)/2 - 4px)}
.eyebrow i{display:inline-block;width:6px;height:6px;background:var(--cyan);border-radius:50%;margin-left:6px}
.menu-primary,.menu-actions{display:flex;flex-direction:column;align-items:center;width:100%}
.menu-slot{margin:var(--gap-slot) 0}
.menu-slot.small{margin:calc(var(--gap-slot)/2) 0}
.menu-btn{display:block;width:min(280px,80vw,64vmin);margin:0 auto;padding:var(--pad-btn-y) 0;font-size:var(--t-btn);font-weight:700;letter-spacing:1px;border:1px solid #ffffff26;background:rgba(255,255,255,0.06);color:#e7eaff;border-radius:12px;cursor:pointer;transition:all 0.15s;font-family:inherit;appearance:none;-webkit-appearance:none}
.menu-btn:hover{background:#ffffff12;border-color:#ffffff55}
.menu-btn.gold{background:linear-gradient(90deg,#ffdc7b,#ffc75f);color:#111427;border:0;font-weight:800;box-shadow:0 0 24px #ffdc7b44}
.menu-btn.gold:hover{background:linear-gradient(90deg,#ffdd89,#ffcf74);box-shadow:0 0 34px #ffdc7b66}
.menu-btn.dim{border-color:#ffffff1a;color:var(--muted);font-size:var(--t-btn-dim)}
.menu-btn.dim:hover{background:#ffffff10;color:#fff}
.menu-btn:disabled{opacity:.4;cursor:default}
.menu-hint{margin-top:var(--gap-slot);font-size:11px;color:rgba(155,167,194,0.5);letter-spacing:1px}

.go-panel{max-width:min(600px,94vw)}
.go-title{font-size:clamp(20px,7vmin,32px);font-weight:900;letter-spacing:1px;margin-bottom:2px}
.go-score{font-size:clamp(34px,15vmin,64px);font-weight:900;letter-spacing:1px;color:var(--gold);text-shadow:0 0 24px #ffdc7b55;font-family:Tahoma,sans-serif;line-height:1.15;margin-bottom:calc(var(--pad-panel)/2)}
.go-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(6px,1.4vmin,10px);margin-bottom:calc(var(--pad-panel)/2)}
.go-stat{background:#11182c;border:1px solid #ffffff16;border-radius:12px;padding:clamp(6px,1.4vmin,9px) 6px;display:flex;flex-direction:column;gap:3px;align-items:center}
.go-stat-label{font-size:var(--t-stat-label);color:var(--muted);letter-spacing:.5px}
.go-stat-val{font-size:var(--t-stat-val);font-weight:800;direction:ltr}
.go-actions{margin-top:2px}

.boss-intro-warn{font-size:13px;color:#ff2d95;letter-spacing:5px;margin-bottom:12px;animation:bossWarn 0.8s infinite}
@keyframes bossWarn{0%,100%{opacity:1}50%{opacity:0.3}}
.boss-intro-name{font-size:clamp(22px,8vmin,44px);font-weight:900;letter-spacing:1px;color:#fff;text-shadow:0 0 30px rgba(255,45,149,0.5);margin-bottom:12px}
.boss-intro-sub{font-size:clamp(11px,2.6vmin,12px);color:var(--muted);letter-spacing:2px}

.pause-text{font-size:clamp(24px,7vmin,32px);font-weight:900;letter-spacing:3px;color:#fff;margin-bottom:var(--gap-slot)}
.upgrade-title{font-size:clamp(22px,6vmin,36px);font-weight:900;letter-spacing:1px;color:var(--gold);text-shadow:0 0 26px rgba(255,220,123,0.35);margin-bottom:6px}
.upgrade-sub{font-size:clamp(11px,2.6vmin,12px);color:var(--muted);letter-spacing:2px;margin-top:6px}
.upgrade-cards{display:flex;gap:clamp(8px,1.6vmin,14px);flex-wrap:wrap;justify-content:center;align-items:stretch;margin-top:var(--pad-panel);padding:0 0.5em}
.upgrade-card{appearance:none;-webkit-appearance:none;width:min(180px,26vw);min-width:132px;min-height:160px;padding:clamp(10px,2.2vmin,15px) clamp(9px,1.9vmin,13px);background:#11182c;border:1px solid #a084ee44;border-radius:14px;color:#fff;cursor:pointer;font-family:inherit;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(6px,1.4vmin,9px);transition:all 0.15s;text-align:center}
.upgrade-card:hover{transform:translateY(-4px);box-shadow:0 0 24px rgba(174,135,255,0.25)}
.upgrade-idx{font-size:clamp(9px,2.2vmin,11px);color:var(--muted);letter-spacing:2px}
.upgrade-name{font-size:clamp(12px,3.2vmin,14px);font-weight:800;letter-spacing:1px}
.upgrade-desc{font-size:clamp(10px,2.4vmin,11px);color:#c3d3e0;line-height:1.5}

.settings-row{display:flex;align-items:center;gap:clamp(8px,2vmin,14px);margin:clamp(4px,1vmin,6px) auto;width:min(320px,80vw)}
.settings-label{font-size:clamp(11px,2.8vmin,13px);color:var(--muted);min-width:96px;text-align:right}
.settings-slider{flex:1;-webkit-appearance:none;appearance:none;height:4px;background:rgba(255,255,255,0.15);border-radius:2px;outline:none}
.settings-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;background:var(--cyan);border-radius:50%;cursor:pointer;box-shadow:0 0 10px #67e5eb88}
.settings-val{font-size:clamp(11px,2.8vmin,13px);min-width:30px;color:var(--cyan)}

.arcade-toast{position:fixed;top:calc(10px + var(--sat));left:50%;transform:translateX(-50%);z-index:60;background:rgba(17,24,44,0.94);border:1px solid #ffdc7b55;color:var(--gold);font-size:13px;font-weight:700;padding:11px 18px;border-radius:12px;box-shadow:0 0 24px #ffdc7b33;pointer-events:none;direction:rtl;max-width:calc(100vw - 32px);text-align:center}

.wallet-inner{max-width:min(520px,94vw)}
.wallet-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(8px,1.5vmin,10px);margin:calc(var(--pad-panel)/2) 0}
.wallet-cell{background:#11182c;border:1px solid #ffffff1f;border-radius:14px;padding:clamp(8px,1.8vmin,12px) clamp(6px,1.2vmin,8px);display:flex;flex-direction:column;gap:4px;text-align:center}
.wallet-cell-label{font-size:clamp(9px,2.1vmin,10px);color:var(--muted);letter-spacing:1px}
.wallet-cell-value{font-size:clamp(14px,3.8vmin,19px);font-weight:900}
.wallet-cell-value.neon{color:var(--pink,var(--accent));text-shadow:0 0 16px #ff2d9555}
.wallet-cell-value.green{color:#7dffa8;text-shadow:0 0 16px #7dffa866}
.wallet-cell-value.amber{color:var(--gold);text-shadow:0 0 16px #ffdc7b55}
.wallet-exchange{border:1px solid #ac8afc33;border-radius:14px;padding:clamp(10px,2vmin,14px);background:rgba(174,135,255,0.05);margin-bottom:calc(var(--pad-panel)/2)}
.wallet-ex-label{display:block;font-size:12px;color:var(--cyan);margin-bottom:clamp(8px,1.6vmin,10px);letter-spacing:1px}
.wallet-ex-row{display:flex;gap:clamp(8px,1.6vmin,10px);align-items:center}
.wallet-ex-input{flex:1;min-width:0;padding:clamp(9px,2vmin,12px) 14px;font-size:16px;font-weight:800;color:#fff;background:#0b1024;border:1px solid #ffffff2e;border-radius:12px;font-family:inherit;text-align:center}
.wallet-ex-input:focus{outline:none;border-color:var(--gold)}
.wallet-ex-hint{display:block;margin-top:10px;font-size:11px;color:var(--muted)}
.wallet-ex-msg{margin-top:10px;font-size:12px;font-weight:700;min-height:16px}
.wallet-ex-msg.ok{color:var(--gold)}
.wallet-ex-msg.no{color:#ff6b6b}
.wallet-history{max-height:clamp(90px,24vmin,150px);overflow-y:auto;background:#0b1024b8;border:1px solid #ffffff14;border-radius:12px;padding:6px 12px;margin-bottom:clamp(8px,1.5vmin,10px);direction:rtl}
.wallet-history-row{display:flex;justify-content:space-between;gap:10px;font-size:12px;color:#cdd6ea;padding:7px 2px;border-bottom:1px solid #ffffff0d}
.wallet-history-row:last-child{border-bottom:0}
.wallet-history-date{color:var(--muted);font-size:11px}
.wallet-guest{font-size:13px;color:#c1c9df;margin:16px 0 18px;line-height:1.8}

.hud-lives,.hud-shield{display:flex;align-items:center;gap:3px}
.hud-ico{display:inline-block;width:15px;height:15px;fill:currentColor;vertical-align:middle;flex-shrink:0}
.hud-lives .hud-ico,.hud-shield .hud-ico{filter:drop-shadow(0 0 5px currentColor)}

.fullscreen-slot{display:none}
body.mobile .fullscreen-slot{display:block}

.rotate-overlay{position:fixed;inset:0;z-index:80;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;background:rgba(9,13,27,.97);backdrop-filter:blur(12px);color:#f1f3ff;direction:rtl;text-align:center;padding:calc(24px + var(--sat)) calc(24px + var(--sar)) calc(24px + var(--sab)) calc(24px + var(--sal))}
.rotate-phone{width:52px;height:94px;border:3px solid #67e5eb;border-radius:14px;position:relative;box-shadow:0 0 26px rgba(103,229,235,.35);animation:rotatePhone 1.9s ease-in-out infinite;flex-shrink:0}
.rotate-phone::before{content:'';position:absolute;top:28px;left:-2px;width:3px;height:28px;background:#67e5eb;border-radius:2px}
.rotate-title{font-size:clamp(18px,5vmin,20px);font-weight:900;letter-spacing:1px}
.rotate-sub{font-size:clamp(11px,3vmin,12px);color:#9ba7c2;max-width:280px;line-height:1.9}
@keyframes rotatePhone{0%,18%{transform:rotate(0deg)}58%,82%{transform:rotate(90deg)}100%{transform:rotate(90deg)}}

body.mobile .arcade-nav,body.mobile .arcade-footer,body.mobile .fps-counter{display:none}
body.mobile .hud{top:calc(10px + var(--sat));left:calc(10px + var(--sal));right:calc(10px + var(--sar));padding:0}
body.mobile .hud-score{font-size:21px}
body.mobile .hud-stage,body.mobile .hud-combo{display:none}
body.mobile .hud>div>div{background:rgba(9,13,27,.62);border-color:rgba(255,255,255,.16);padding:5px 9px;border-radius:10px}
body.mobile .hud-ico{width:13px;height:13px}
body.mobile #boss-hp{bottom:calc(10px + var(--sab))}
body.mobile .boss-hp-bar{width:min(320px,60vw)}

body.mobile .ready-panel{padding:clamp(10px,2vmin,14px)}
body.mobile .menu-primary{display:grid;grid-template-columns:1fr 1fr;gap:clamp(8px,1.8vmin,12px);width:100%}
body.mobile .menu-actions{display:grid;grid-template-columns:1fr 1fr;gap:clamp(8px,1.8vmin,12px);width:100%;margin-top:clamp(4px,1vmin,6px)}
body.mobile .menu-actions .menu-slot,body.mobile .menu-primary .menu-slot{margin:0}
body.mobile .menu-btn{width:100%;min-height:0;border-radius:10px}
body.mobile .menu-hint{margin-top:clamp(6px,1.4vmin,10px);font-size:10px}

body.mobile .go-stats{grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:clamp(8px,1.8vmin,12px)}
body.mobile .go-score{font-size:clamp(30px,13vmin,52px)}

body.mobile .upgrade-cards{flex-wrap:nowrap;gap:8px;margin-top:clamp(10px,2.2vmin,16px)}
body.mobile .upgrade-card{flex:1 1 0;min-width:0;width:auto;min-height:clamp(84px,24vmin,120px);padding:clamp(8px,1.8vmin,12px) clamp(6px,1.2vmin,10px)}
body.mobile .upgrade-desc{line-height:1.4}

body.mobile .settings-row{min-width:0;max-width:100%}
body.mobile .settings-label{min-width:84px}
body.mobile #highscores-list{max-height:clamp(150px,34vmin,300px);margin:10px 0}

body.mobile .wallet-grid{grid-template-columns:repeat(3,1fr);gap:8px;margin:10px 0}
body.mobile .wallet-cell{padding:8px 5px}
body.mobile .arcade-toast{font-size:12px;padding:9px 14px}

@media(max-width:560px){
  .wallet-grid{grid-template-columns:1fr;gap:8px}.wallet-cell{flex-direction:row;justify-content:space-between;align-items:center;padding:10px 12px}.wallet-cell-label{font-size:11px}.wallet-cell-value{font-size:16px}
  .go-stats{grid-template-columns:repeat(2,1fr)}
  .menu-primary{grid-template-columns:1fr}
  body.mobile .menu-primary,body.mobile .menu-actions{grid-template-columns:1fr}
}
@media(max-width:760px){
  .arcade-nav{padding:10px 4%}.arcade-nav nav{display:none}.arcade-nav .whoami{font-size:10px}.hud{top:54px;padding:4px 10px}.hud>div>div{padding:5px 8px}.hud-score{font-size:22px}.fps-counter{top:52px}.arcade-footer{font-size:8px}.menu-subtitle{letter-spacing:1px}.menu-btn{width:min(260px,84vw)}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}