:root{--bg-page:#eaf7ff;--bg-panel:#fff8e7;--primary:#4a90e2;--primary-deep:#3f7fcb;--positive:#64c27b;--reward:#ffd166;--text:#20304a;--text-muted:#52657a;--border:#b9d8ea;--font-ar:"Tajawal", "Segoe UI", Tahoma, Arial, sans-serif;--w-regular:500;--w-medium:700;--w-bold:800;--stage-h:60dvh;--pad-body:min(16px, 2dvh);--pad-panel:min(20px, 2.4dvh);--gap-titles:min(10px, 1.4dvh);--radius-panel:min(26px, 3.4dvh);--radius-stage:min(18px, 2.4dvh)}*{box-sizing:border-box}html{height:100%;overflow:hidden}body{width:100%;height:100dvh;padding:var(--pad-body) 12px;background-color:var(--bg-page);color:var(--text);font-family:var(--font-ar);font-weight:var(--w-regular);-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;justify-content:center;align-items:center;margin:0;line-height:1.45;display:flex;overflow:hidden}.page{text-align:center;flex-direction:column;justify-content:center;width:100%;max-width:720px;min-height:0;max-height:100%;display:flex}.titles{margin-bottom:var(--gap-titles);flex:none}.title-ar{font-size:min(clamp(20px,4.6vw,38px),5.4dvh);font-weight:var(--w-bold);letter-spacing:0;color:var(--text);margin:0 0 min(7px,1dvh);line-height:1.25}.title-en{font-size:min(clamp(11px,2.3vw,15px),2.3dvh);font-weight:var(--w-medium);letter-spacing:.16em;color:var(--text-muted);text-transform:uppercase;margin:0;line-height:1.3}.panel{background-color:var(--bg-panel);border:2px solid var(--border);border-radius:var(--radius-panel);min-height:0;padding:var(--pad-panel) min(24px, 3vw);flex-direction:column;flex:0 auto;justify-content:center;display:flex;box-shadow:0 2px 10px #20304a0f}.stage{height:min(var(--stage-h), calc((100vw - 52px) * 4 / 3));aspect-ratio:3/4;border-radius:var(--radius-stage);flex:0 auto;width:auto;max-width:100%;min-height:0;margin:0 auto;line-height:0;overflow:hidden}.stage canvas{display:block}.hero-caption{border-top:2px dashed var(--border);flex:none;padding-top:min(14px,1.8dvh)}.hero-name{font-size:min(clamp(17px,3.6vw,26px),4.2dvh);font-weight:var(--w-medium);letter-spacing:0;color:var(--text);margin:0 0 min(5px,.8dvh);line-height:1.3}.hero-name span{letter-spacing:.06em}.hero-role{font-size:min(clamp(13px,2.8vw,17px),3dvh);font-weight:var(--w-regular);color:var(--text-muted);margin:0;line-height:1.5}.btn-start{background-color:var(--primary);color:#fff;width:100%;max-width:340px;min-height:min(60px,11dvh);font-family:inherit;font-size:min(clamp(16px,3.6vw,22px),4dvh);font-weight:var(--w-medium);cursor:pointer;box-shadow:0 3px 0 var(--primary-deep);border:none;border-radius:999px;flex:none;margin:min(16px,2dvh) auto 0;padding:min(14px,1.6dvh) 24px;line-height:1.2;transition:background-color .15s,transform .1s,box-shadow .1s;display:block}.btn-start:hover{background-color:var(--primary-deep)}.btn-start:active{box-shadow:0 0 0 var(--primary-deep);transform:translateY(3px)}.btn-start:focus-visible{outline:3px solid var(--positive);outline-offset:3px}.intro-extras{flex-direction:column;flex:none;align-items:center;gap:min(8px,1.2dvh);margin-top:min(12px,1.8dvh);display:flex}.btn-howto{font-family:inherit;font-size:min(clamp(12px,2.8vw,15px),2.6dvh);font-weight:var(--w-medium);color:var(--primary-deep);border:2px solid var(--border);cursor:pointer;background-color:#0000;border-radius:999px;padding:min(8px,1.2dvh) 18px;transition:background-color .15s}.btn-howto:hover{background-color:#4a90e214}.btn-howto:focus-visible{outline:3px solid var(--positive);outline-offset:3px}.coin-balance{font-size:min(clamp(12px,2.8vw,15px),2.6dvh);font-weight:var(--w-medium);color:var(--text-muted);align-items:center;gap:6px;margin:0;display:flex}.coin-icon{background-color:var(--reward);border:2px solid #e0b44a;border-radius:50%;width:15px;height:15px}.coin-amount{color:var(--text);font-variant-numeric:tabular-nums}body.mode-game .panel>.intro-extras{display:none}@media (height<=500px){.page{max-width:400px}:root{--stage-h:52dvh;--pad-panel:min(12px, 2.6dvh);--gap-titles:min(6px, 1.4dvh)}.panel{border-radius:min(18px,4dvh)}.hero-caption{padding-top:min(8px,1.8dvh)}.btn-start{margin-top:min(10px,2.2dvh)}}@media (height<=420px){:root{--stage-h:48dvh;--pad-body:min(8px, 1.6dvh)}.btn-start{box-shadow:0 2px 0 var(--primary-deep)}}@media (width<=480px){body{padding-left:10px;padding-right:10px}.btn-start{max-width:none;padding-left:16px;padding-right:16px}}@media (width>=700px) and (orientation:landscape){:root{--stage-h:60dvh;--pad-panel:min(22px, 3dvh)}.page{width:min(1050px,94%);max-width:100%}.panel{grid-template-rows:auto auto auto;grid-template-columns:minmax(0,1fr) auto;justify-content:center;align-items:center;column-gap:clamp(18px,3.5vw,48px);display:grid}.titles{grid-area:1/1;margin-bottom:0}.hero-caption{grid-area:2/1}.btn-start{grid-area:3/1}.stage{grid-area:1/2/-1;align-self:center}.hero-caption{margin-top:min(14px,2dvh);padding-top:min(14px,2dvh)}.btn-start{margin-top:min(18px,2.6dvh)}.titles,.hero-caption,.btn-start{max-width:440px;margin-inline:auto}}@media (width>=700px) and (orientation:landscape) and (height<=520px){.page{width:fit-content}.panel{grid-template-columns:auto auto}}.hud,body.mode-game .panel>.titles,body.mode-game .panel>.hero-caption,body.mode-game .panel>.btn-start{display:none}body.mode-game .page{width:min(1240px,97%);max-width:100%}body.mode-game .panel{flex-direction:column;gap:min(12px,1.8dvh);padding:min(14px,2dvh) min(16px,2vw);display:flex}body.mode-game .hud{flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:min(16px,2.5vw);width:100%;display:flex}.hud-player,.hud-stats,.hud-energy{align-items:center;gap:8px;min-width:0;display:flex}.hud-label{font-size:min(clamp(11px,1.6vw,14px),2.6dvh);font-weight:var(--w-regular);color:var(--text-muted);white-space:nowrap}.hud-name{font-size:min(clamp(15px,2.2vw,21px),3.6dvh);font-weight:var(--w-medium);color:var(--text);white-space:nowrap}.hud-score{font-size:min(clamp(15px,2.2vw,21px),3.6dvh);font-weight:var(--w-medium);color:var(--primary-deep);white-space:nowrap;font-variant-numeric:tabular-nums}.hud-wave{font-size:min(clamp(11px,1.6vw,14px),2.6dvh);font-weight:var(--w-medium);color:var(--positive);white-space:nowrap;opacity:0;transition:opacity .3s}.hud-wave.is-visible{opacity:1}.hud-energy{flex:auto;justify-content:center}.energy-track{border:2px solid var(--border);background-color:#fff;border-radius:999px;flex:0 min(240px,34vw);min-width:70px;height:min(14px,2.4dvh);overflow:hidden}.energy-fill{background-color:var(--positive);border-radius:999px;width:100%;height:100%;transition:width .35s,background-color .35s}.energy-value{transition:color .35s}@media (prefers-reduced-motion:reduce){.energy-fill,.energy-value{transition:none}}.energy-value{font-size:min(clamp(12px,1.8vw,15px),2.8dvh);font-weight:var(--w-medium);color:var(--positive);font-variant-numeric:tabular-nums;white-space:nowrap}.btn-pause{border:2px solid var(--border);cursor:pointer;background-color:#0000;border-radius:50%;flex:none;justify-content:center;align-items:center;width:min(42px,7.5dvh);height:min(42px,7.5dvh);padding:0;transition:background-color .15s;display:flex}.btn-pause:hover{background-color:#4a90e21a}.btn-pause:focus-visible{outline:3px solid var(--positive);outline-offset:3px}.pause-icon{width:40%;height:46%;position:relative}.pause-icon:before,.pause-icon:after{content:"";background-color:var(--primary);border-radius:2px;width:32%;height:100%;position:absolute;top:0}.pause-icon:before{left:8%}.pause-icon:after{right:8%}.btn-back{background-color:var(--primary);color:#fff;min-height:min(44px,8dvh);font-family:inherit;font-size:min(clamp(14px,2vw,17px),3dvh);font-weight:var(--w-medium);cursor:pointer;white-space:nowrap;box-shadow:0 2px 0 var(--primary-deep);border:none;border-radius:999px;flex:none;padding:min(10px,1.6dvh) min(20px,2.4vw);line-height:1.2;transition:background-color .15s,transform .1s,box-shadow .1s}.btn-back:hover{background-color:var(--primary-deep)}.btn-back:active{box-shadow:0 0 0 var(--primary-deep);transform:translateY(2px)}.btn-back:focus-visible{outline:3px solid var(--positive);outline-offset:3px}body.mode-game .stage{aspect-ratio:16/9;border-radius:min(16px,2.4dvh);width:auto;max-width:100%;height:min(100dvh - min(150px,26dvh),56.25vw - min(70px,9vw)/1.77778);margin:0 auto}@media (orientation:landscape) and (height<=520px){body.mode-game{padding:0}body.mode-game .page{width:100%;max-width:none}body.mode-game .panel{box-shadow:none;background:0 0;border:0;border-radius:0;padding:0;position:relative}body.mode-game .hud,body.mode-game .boss-bar{z-index:6;pointer-events:none;width:auto;position:absolute;inset-inline:min(14px,2vw)}body.mode-game .hud{background-color:#ffffffc7;border-radius:999px;padding:4px min(10px,1.6vw);inset-block-start:min(8px,2dvh)}body.mode-game .boss-bar{inset-block-start:calc(min(8px,2dvh) + 42px)}body.mode-game .stage{border-radius:0;height:min(100dvh,56.25vw)}}@media (prefers-reduced-motion:reduce){.btn-back{transition:none}}.joystick{z-index:20;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;background-color:#ffffff57;border:2px solid #4a90e266;border-radius:50%;width:min(132px,30vh);height:min(132px,30vh);transition:background-color .15s;position:fixed;bottom:max(16px,3vh);left:max(16px,3vw)}.joystick-thumb{pointer-events:none;background-color:#4a90e2b8;border:2px solid #ffffffbf;border-radius:50%;width:42%;height:42%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}body:not(.mode-game) .joystick{display:none}@media (prefers-reduced-motion:reduce){.joystick{transition:none}}.game-overlay{z-index:40;background-color:#eaf7ffe0;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.game-overlay[hidden]{display:none}.overlay-card{text-align:center;background-color:var(--bg-panel);border:2px solid var(--border);border-radius:min(26px,5dvh);width:100%;max-width:430px;max-height:100%;padding:min(24px,3.6dvh) min(22px,5vw);overflow:auto;box-shadow:0 4px 18px #20304a1a}.overlay-title{font-size:min(clamp(19px,4.6vw,26px),4.4dvh);font-weight:var(--w-bold);color:var(--text);margin:0 0 min(8px,1.4dvh);line-height:1.4}.overlay-text{font-size:min(clamp(13px,3.2vw,16px),2.8dvh);font-weight:var(--w-regular);color:var(--text-muted);margin:0 0 min(18px,2.6dvh);line-height:1.6}.overlay-actions{flex-direction:column;align-items:center;gap:min(9px,1.4dvh);display:flex}.btn-primary,.btn-secondary{width:100%;max-width:300px;font-family:inherit;font-weight:var(--w-medium);cursor:pointer;border:none;border-radius:999px;line-height:1.2;transition:background-color .15s,transform 80ms}.btn-primary{background-color:var(--primary);color:#fff;min-height:min(52px,9dvh);box-shadow:0 3px 0 var(--primary-deep);padding:min(13px,1.8dvh) 22px;font-size:min(clamp(15px,3.6vw,19px),3.4dvh)}.btn-primary:hover{background-color:var(--primary-deep)}.btn-primary:active{box-shadow:0 0 0 var(--primary-deep);transform:translateY(3px)}.btn-secondary{min-height:min(44px,8dvh);color:var(--primary-deep);border:2px solid var(--border);background-color:#0000;padding:min(10px,1.5dvh) 20px;font-size:min(clamp(13px,3vw,16px),3dvh)}.btn-secondary:hover{background-color:#4a90e214}.btn-secondary:active{transform:translateY(2px)}.btn-primary:focus-visible,.btn-secondary:focus-visible{outline:3px solid var(--positive);outline-offset:3px}.overlay-mark{width:min(44px,7dvh);height:min(44px,7dvh);margin:0 auto min(10px,1.8dvh)}.drop-mark{background-color:#9be3fa;border:2px solid #4fbfe8;border-radius:50% 4px 50% 50%/60% 4px 40% 40%;transform:rotate(45deg)}.pause-mark{border:2px solid var(--primary);background-color:#4a90e229;border-radius:50%;position:relative}.pause-mark:before,.pause-mark:after{content:"";background-color:var(--primary);border-radius:3px;width:13%;height:48%;position:absolute;top:26%}.pause-mark:before{left:33%}.pause-mark:after{right:33%}.victory-mark{background-color:var(--positive);border-radius:50%;position:relative}.victory-mark:after{content:"";border:4px solid #fff;border-width:0 4px 4px 0;width:28%;height:48%;position:absolute;top:22%;left:30%;transform:rotate(45deg)}.gift-mark{background-color:var(--reward);border-radius:8px;position:relative}.gift-mark:after{content:"";opacity:.85;background-color:#fff;width:12%;height:100%;position:absolute;top:0;left:44%}.victory-stats{flex-direction:column;gap:min(7px,1.2dvh);margin:0 0 min(18px,2.6dvh);padding:0;list-style:none;display:flex}.victory-stats li{border:2px solid var(--border);color:var(--text-muted);border-radius:14px;justify-content:space-between;gap:12px;padding:min(9px,1.4dvh) 14px;font-size:min(clamp(13px,3vw,16px),2.6dvh);display:flex}.victory-stats strong{color:var(--text);font-weight:var(--w-bold)}.welcome-badge{background-color:var(--reward);color:var(--text);font-size:min(clamp(12px,2.8vw,14px),2.4dvh);font-weight:var(--w-medium);border-radius:999px;margin-bottom:min(8px,1.2dvh);padding:5px 14px;display:inline-block}.welcome-amount{color:var(--text);margin:0 0 min(18px,2.6dvh);font-size:min(clamp(17px,4.2vw,23px),3.6dvh)}.welcome-amount strong{font-weight:var(--w-bold);color:var(--primary-deep)}.howto-list{text-align:start;flex-direction:column;gap:min(9px,1.4dvh);margin:0 0 min(18px,2.6dvh);padding:0;list-style:none;display:flex}.howto-list li{border:2px solid var(--border);color:var(--text);border-radius:14px;align-items:center;gap:11px;padding:min(9px,1.4dvh) 13px;font-size:min(clamp(13px,3vw,15px),2.6dvh);line-height:1.5;display:flex}.howto-icon{border:2px solid var(--primary);background-color:#4a90e224;border-radius:8px;flex:none;width:26px;height:26px}.icon-fire{background-color:#9fe3fa99;border-color:#4fbfe8}.icon-touch{border-radius:50%}.icon-gift{background-color:#ffd16659;border-color:#d9a52f}.icon-combo{border-color:var(--reward);background-color:#ffd16633;border-radius:999px}.howto-icon.icon-dash,.howto-icon.icon-power{clip-path:none;border:2px solid var(--primary);background-color:#4a90e224}.howto-icon.icon-power{background-color:#3aa7d42e;border-color:#3aa7d4}body.mode-overlay .joystick,body.mode-overlay .fire-button{display:none}.fire-button{z-index:20;cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;background-color:#9fe3fa8c;border:2px solid #4a90e280;border-radius:50%;justify-content:center;align-items:center;width:min(84px,19vh);height:min(84px,19vh);padding:0;transition:background-color .12s,transform 80ms;display:flex;position:fixed;bottom:max(16px,3vh);right:max(16px,3vw)}.fire-button.is-active{background-color:#9fe3fad9;transform:scale(.94)}.fire-drop{background-color:#4fbfe8;border:2px solid #fffc;border-radius:50% 4px 50% 50%/60% 4px 40% 40%;width:46%;height:46%;transform:rotate(45deg)}body:not(.mode-game) .fire-button{display:none}@media (prefers-reduced-motion:reduce){.fire-button{transition:none}}.rotate-note{display:none}@media (orientation:portrait){body.mode-game.is-touch .panel,body.mode-game.is-touch .joystick,body.mode-game.is-touch .fire-button,body.mode-game.is-touch .game-overlay{display:none}body.mode-game.is-touch .rotate-note{z-index:30;background-color:var(--bg-page);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:26px;padding:24px;display:flex;position:fixed;inset:0}}.rotate-phone{border:3px solid var(--primary);background-color:#fff;border-radius:12px;flex:none;width:58px;height:98px;animation:2.6s ease-in-out infinite rotate-hint;position:relative}.rotate-phone:before{content:"";background-color:var(--bg-page);border-radius:4px;position:absolute;inset:9px 7px 14px}.rotate-phone:after{content:"";background-color:var(--border);border-radius:2px;width:22px;height:3px;position:absolute;bottom:5px;left:50%;transform:translate(-50%)}@keyframes rotate-hint{0%,22%{transform:rotate(0)}50%,78%{transform:rotate(-90deg)}to{transform:rotate(0)}}.rotate-text{max-width:19ch;font-size:min(clamp(17px,5vw,24px),4dvh);font-weight:var(--w-medium);color:var(--text);margin:0;line-height:1.6}@media (prefers-reduced-motion:reduce){.rotate-phone{animation:none;transform:rotate(-90deg)}.btn-start{transition:none}}.hud-combo{border:2px solid var(--reward);white-space:nowrap;background-color:#ffd16647;border-radius:999px;align-items:center;gap:5px;padding:2px 9px;display:inline-flex}.hud-combo-label{font-size:min(clamp(10px,1.4vw,13px),2.3dvh);font-weight:var(--w-regular);color:var(--text-muted)}.hud-combo-value{font-size:min(clamp(13px,1.9vw,18px),3dvh);font-weight:var(--w-bold);color:#b77b12;font-variant-numeric:tabular-nums}.hud-combo[hidden]{display:none}.hud-combo.is-pulsing{animation:.55s ease-out combo-pulse}@keyframes combo-pulse{0%{transform:scale(1)}35%{transform:scale(1.16)}to{transform:scale(1)}}.hud-abilities{flex:none;align-items:center;gap:7px;display:flex}.ability{border:2px solid var(--border);opacity:.45;background-color:#fff;border-radius:12px;flex-direction:column;align-items:center;gap:2px;padding:3px 8px 4px;transition:opacity .18s,border-color .18s,background-color .18s;display:inline-flex;position:relative}.ability.is-ready{opacity:1;border-color:var(--primary);background-color:#9fe3fa38}.ability-key{font-size:min(clamp(8px,1.1vw,10px),1.9dvh);font-weight:var(--w-medium);color:var(--text-muted);letter-spacing:.02em}.ability-icon{width:min(17px,2.9dvh);height:min(17px,2.9dvh);display:block}.icon-dash{background-color:var(--primary-deep);clip-path:polygon(0% 38%,55% 38%,55% 12%,100% 50%,55% 88%,55% 62%,0% 62%)}.icon-power{clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);background-color:#3aa7d4}.ability-power-track{inset-inline:5px;background-color:var(--border);border-radius:999px;height:3px;position:absolute;bottom:-1px;overflow:hidden}.ability-power-fill{background-color:#3aa7d4;border-radius:999px;width:0;height:100%;transition:width .18s;display:block}.boss-bar{background-color:#8fd6c838;border:2px solid #5fb8a6;border-radius:999px;align-items:center;gap:10px;width:100%;max-width:560px;margin:0 auto 6px;padding:4px 12px;display:flex}.boss-bar[hidden]{display:none}.boss-bar-label{font-size:min(clamp(11px,1.6vw,14px),2.6dvh);font-weight:var(--w-bold);color:#2f7d6d;white-space:nowrap}.boss-bar-track{background-color:#fff;border:2px solid #5fb8a6;border-radius:999px;flex:auto;height:min(12px,2.1dvh);overflow:hidden}.boss-bar-fill{background-color:#5fb8a6;border-radius:999px;width:100%;height:100%;transition:width .25s;display:block}.btn-icon{border:2px solid var(--border);cursor:pointer;background-color:#fff;border-radius:10px;flex:none;justify-content:center;align-items:center;width:min(30px,5dvh);height:min(30px,5dvh);padding:0;transition:background-color .15s,border-color .15s;display:flex}.btn-icon:hover{background-color:#4a90e21a}.btn-icon:focus-visible{outline:3px solid var(--primary);outline-offset:2px}.btn-icon .icon-sound,.btn-icon .icon-motion{background-color:var(--primary-deep);width:58%;height:58%;display:block}.icon-sound{clip-path:polygon(0% 32%,28% 32%,55% 6%,55% 94%,28% 68%,0% 68%)}.btn-mute.is-off:after{content:"";background-color:var(--text-muted);border-radius:2px;width:74%;height:2.5px;position:absolute;transform:rotate(-45deg)}.btn-mute{position:relative}.icon-motion{clip-path:polygon(0% 12%,100% 12%,100% 30%,0% 30%,0% 41%,72% 41%,72% 59%,0% 59%,0% 70%,100% 70%,100% 88%,0% 88%)}.btn-motion.is-on{border-color:var(--positive);background-color:#64c27b2e}.intro-settings{align-items:center;gap:8px;display:inline-flex}.action-button{z-index:20;cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;background-color:#ffffffb8;border:2px solid #4a90e280;border-radius:50%;justify-content:center;align-items:center;width:min(58px,13vh);height:min(58px,13vh);padding:0;transition:background-color .12s,transform 80ms,opacity .15s;display:flex;position:fixed}.action-dash{bottom:calc(max(16px,3vh) + min(84px,19vh) + 10px);right:max(16px,3vw)}.action-power{bottom:max(16px,3vh);right:calc(max(16px,3vw) + min(84px,19vh) + 10px)}.action-button .icon-dash,.action-button .icon-power{width:46%;height:46%;display:block}.action-button.is-active{background-color:#9fe3fae6;transform:scale(.93)}.action-button.is-locked{opacity:.4;cursor:default}body:not(.mode-game) .action-button,body.mode-overlay .action-button{display:none}.victory-newbest{background-color:var(--reward);color:#6b4a05;font-size:clamp(12px,1.7vw,15px);font-weight:var(--w-bold);border:2px solid #d9a52f;border-radius:999px;margin-bottom:4px;padding:3px 14px;display:inline-block}.victory-newbest[hidden]{display:none}body.reduced-motion *,body.reduced-motion :before,body.reduced-motion :after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.hud-stats{flex:none}.hud-energy{min-width:0}.hud-player{flex:auto;min-width:0;overflow:hidden}@media (width<=720px){.hud-player{display:none}}@media (width<=600px){.hud-abilities,.hud-stats .hud-label,.hud-energy .hud-label{display:none}}@media (width<=460px){.hud .btn-motion{display:none}body.mode-game .hud{gap:8px}.hud-combo{padding:1px 6px}}@media (width<=380px){.hud-combo-label,.energy-value,.hud-wave{display:none}.energy-track{min-width:44px}.hud-name,.hud-score{font-size:14px}}.mode-buttons{gap:10px;width:100%;display:flex}.mode-buttons>button{flex:1 1 0;min-width:0}.btn-coop{font-family:inherit;font-size:min(clamp(15px,2vw,19px),3.2dvh);font-weight:var(--w-bold);color:var(--primary-deep);border:3px solid var(--primary);cursor:pointer;background-color:#fff;border-radius:16px;padding:clamp(11px,1.7vh,16px) clamp(14px,2vw,22px);transition:background-color .15s,transform 80ms}.btn-coop:hover{background-color:#4a90e21a}.btn-coop:active{transform:scale(.97)}.btn-coop:focus-visible{outline:3px solid var(--primary);outline-offset:3px}body.mode-game .mode-buttons{display:none}.coop-field{text-align:start;flex-direction:column;gap:6px;width:100%;margin-bottom:4px;display:flex}.coop-label{font-size:clamp(12px,1.6vw,14px);font-weight:var(--w-medium);color:var(--text-muted)}.coop-nick{width:100%;font-family:inherit;font-size:clamp(14px,1.9vw,17px);font-weight:var(--w-medium);color:var(--text);border:2px solid var(--border);cursor:pointer;background-color:#fff;border-radius:12px;padding:10px 12px}.coop-nick:focus-visible{outline:3px solid var(--primary);outline-offset:2px}.coop-offline{color:#8a4e12;background-color:#e8944a24;border:2px solid #e8944a;border-radius:12px;margin:0 0 6px;padding:10px 12px;font-size:clamp(12px,1.6vw,14px);line-height:1.6}.coop-offline[hidden]{display:none}.coop-offline code{background-color:#fff;border-radius:6px;padding:1px 6px;font-family:ui-monospace,Consolas,monospace}.coop-code-input{letter-spacing:.22em;text-align:center;text-transform:uppercase;width:100%;color:var(--text);border:3px solid var(--border);background-color:#fff;border-radius:14px;padding:12px;font-family:ui-monospace,Consolas,monospace;font-size:clamp(24px,4.4vw,34px);font-weight:700}.coop-code-input:focus-visible{border-color:var(--primary);outline:none}.coop-error{color:#a8501a;font-size:clamp(12px,1.7vw,15px);font-weight:var(--w-medium);margin:8px 0 0}.coop-error[hidden]{display:none}.lobby-card{max-width:min(560px,92vw)}.lobby-code-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;margin-bottom:4px;display:flex}.lobby-code-label{color:var(--text-muted);font-size:clamp(12px,1.6vw,14px)}.lobby-code{letter-spacing:.18em;color:var(--primary-deep);border:3px dashed var(--primary);-webkit-user-select:all;user-select:all;background-color:#fff;border-radius:12px;padding:4px 14px;font-family:ui-monospace,Consolas,monospace;font-size:clamp(22px,3.6vw,30px);font-weight:700}.lobby-copy{padding-inline:14px}.lobby-copied{color:var(--positive);font-size:clamp(12px,1.6vw,14px);font-weight:var(--w-medium);margin:0 0 8px}.lobby-copied[hidden]{display:none}.lobby-players{flex-direction:column;gap:7px;width:100%;margin:8px 0;padding:0;list-style:none;display:flex}.lobby-player{border:2px solid var(--border);background-color:#fff;border-radius:12px;align-items:center;gap:9px;padding:8px 12px;display:flex}.lobby-dot{border:2px solid #ffffffd9;border-radius:50%;flex:none;width:14px;height:14px;box-shadow:0 0 0 1.5px #20304a2e}.lobby-name{text-align:start;font-size:clamp(13px,1.8vw,16px);font-weight:var(--w-medium);color:var(--text);text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.lobby-tag{font-size:clamp(10px,1.3vw,12px);font-weight:var(--w-bold);color:#b77b12;background-color:#ffd1664d;border-radius:999px;flex:none;padding:2px 9px}.lobby-status{font-size:clamp(11px,1.5vw,13px);font-weight:var(--w-medium);color:var(--text-muted);flex:none}.lobby-status.is-ready{color:var(--positive);font-weight:var(--w-bold)}.lobby-kick{font-family:inherit;font-size:clamp(11px,1.4vw,13px);font-weight:var(--w-medium);color:#8a4e12;cursor:pointer;background-color:#e8944a24;border:2px solid #e8944a;border-radius:999px;flex:none;padding:3px 10px}.lobby-hint{color:var(--text-muted);margin:4px 0 10px;font-size:clamp(12px,1.7vw,15px);line-height:1.6}.lobby-ready.is-on{background-color:var(--positive);border-color:#4bb466}.lobby-host-tools{text-align:start;width:100%;margin-top:10px}.lobby-host-tools[hidden]{display:none}.lobby-host-tools summary{cursor:pointer;font-size:clamp(12px,1.6vw,14px);font-weight:var(--w-medium);color:var(--text-muted);padding:4px 0}.lobby-host-buttons{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.lobby-host-buttons>button{flex:auto;padding-inline:12px;font-size:clamp(12px,1.6vw,14px)}.emote-bar{inset-inline:0;z-index:18;pointer-events:none;flex-wrap:wrap;justify-content:center;gap:7px;padding-inline:12px;display:flex;position:fixed;bottom:max(10px,1.6vh)}.emote-bar[hidden]{display:none}.emote-btn{pointer-events:auto;font-family:inherit;font-size:clamp(12px,1.6vw,15px);font-weight:var(--w-medium);color:var(--text);border:2px solid var(--border);cursor:pointer;background-color:#fff8e7f0;border-radius:999px;padding:6px 14px;transition:transform 80ms,background-color .15s}.emote-btn:hover{background-color:#fff}.emote-btn:active{transform:scale(.94)}.host-bar{inset-inline-end:max(10px,1.6vw);z-index:18;flex-direction:column;gap:6px;display:flex;position:fixed;top:max(64px,9vh)}.host-bar[hidden]{display:none}.host-bar>button{padding:5px 12px;font-size:clamp(11px,1.5vw,13px)}.coop-toast{inset-inline:0;z-index:60;color:#fff;width:max-content;max-width:88vw;font-size:clamp(12px,1.7vw,15px);font-weight:var(--w-medium);opacity:0;pointer-events:none;background-color:#20304aeb;border-radius:999px;margin-inline:auto;padding:9px 18px;transition:opacity .22s,transform .22s;position:fixed;top:max(10px,1.6vh);transform:translateY(-8px)}.coop-toast.is-visible{opacity:1;transform:translateY(0)}body.mode-coop .hud-score,body.mode-coop .hud-combo,body.mode-coop .btn-pause,body.mode-coop .hud-abilities,body.mode-coop-panel .joystick,body.mode-coop-panel .fire-button,body.mode-coop-panel .action-button,body.mode-coop-panel .emote-bar,body.mode-coop-panel .host-bar{display:none}@media (width<=600px){.host-bar{top:max(56px,8vh)}.emote-btn{padding:4px 10px}.emote-bar{bottom:max(6px,1vh)}}@media (width<=460px){.mode-buttons{flex-direction:column}}:root{--bg-page:#0b1430;--bg-panel:#141e48;--primary:#22e1ff;--primary-deep:#0096ff;--positive:#3dff7a;--reward:#ffc62b;--text:#e6ecff;--text-muted:#9aa8d6;--border:#2e3f80;--bg-deep:#070d22;--bg-base:#0b1430;--bg-surface:#141e48;--bg-raised:#1c2a5e;--violet-deep:#2a1b5c;--violet:#7b3bff;--line:#3a4e9a;--neon-hi:#5cff8f;--neon:#3dff7a;--neon-lo:#00d95f;--neon-edge:#00843a;--on-neon:#04210f;--orange-hi:#ffa53d;--orange:#ff8a1f;--orange-lo:#ff6a00;--orange-edge:#a33f00;--on-orange:#1a0b00;--cyan-hi:#5cebff;--cyan:#22e1ff;--cyan-lo:#0096ff;--cyan-edge:#0057a8;--on-cyan:#001a2e;--gold-hi:#ffe066;--gold:#ffc62b;--gold-lo:#ffb800;--gold-edge:#a36a00;--on-gold:#2a1a00;--purple-soft:#b78cff;--font-display:"Tajawal", "Segoe UI", Tahoma, Arial, sans-serif;--glow-neon:0 0 22px #3dff7a73;--glow-orange:0 0 22px #ff8a1f73;--glow-cyan:0 0 20px #22e1ff73;--glow-gold:0 0 24px #ffc62b80;--glow-violet:0 0 40px #7b3bff4d;--shadow-deep:0 18px 50px #0000008c;--sheen:linear-gradient(115deg, #ffffff12 0 28%, #fff0 28%);--tap-min:48px;--tap-primary:58px;--tap-hero:64px;--tap-hud:44px;--ease-snap:cubic-bezier(.34, 1.4, .64, 1);--t-fast:.15s;--t-med:.22s}body{color:var(--text);background-color:var(--bg-base);background-image:radial-gradient(ellipse 70% 60% at 12% 0%, #7b3bff6b, transparent 70%), radial-gradient(ellipse 60% 50% at 95% 100%, #22e1ff29, transparent 70%), radial-gradient(ellipse 50% 40% at 85% 10%, #3a1f7a8c, transparent 70%), linear-gradient(180deg, var(--bg-base) 0%, var(--bg-deep) 100%);background-attachment:fixed}.btn-start,.btn-primary{font-family:var(--font-display);color:var(--on-neon);background-color:var(--neon);background-image:linear-gradient(180deg, var(--neon-hi) 0%, var(--neon-lo) 100%);box-shadow:0 5px 0 var(--neon-edge), var(--glow-neon), inset 0 2px 0 #ffffff8c;transition:transform var(--t-fast) var(--ease-snap), box-shadow var(--t-fast) ease, filter var(--t-fast) ease;touch-action:manipulation;border:0;font-weight:800}.btn-start:hover,.btn-primary:hover{background-color:var(--neon);filter:brightness(1.08)}.btn-start:active,.btn-primary:active{box-shadow:0 1px 0 var(--neon-edge), 0 0 32px #3dff7ab3, inset 0 2px 0 #ffffff8c;transform:translateY(4px)}.btn-coop{font-family:var(--font-display);color:var(--on-orange);background-color:var(--orange);background-image:linear-gradient(180deg, var(--orange-hi) 0%, var(--orange-lo) 100%);box-shadow:0 5px 0 var(--orange-edge), var(--glow-orange), inset 0 2px 0 #ffffff80;transition:transform var(--t-fast) var(--ease-snap), box-shadow var(--t-fast) ease, filter var(--t-fast) ease;touch-action:manipulation;border:0;font-weight:800}.btn-coop:hover{background-color:var(--orange);filter:brightness(1.08)}.btn-coop:active{box-shadow:0 1px 0 var(--orange-edge), 0 0 32px #ff8a1fb3, inset 0 2px 0 #ffffff80;transform:translateY(4px)}.btn-secondary,.btn-howto,.btn-back{font-family:var(--font-display);color:var(--text);background-color:var(--bg-raised);background-image:linear-gradient(180deg, #24346e 0%, var(--bg-raised) 100%);border:2px solid var(--line);box-shadow:0 4px 0 var(--bg-deep), inset 0 1px 0 #ffffff14;transition:transform var(--t-fast) var(--ease-snap), box-shadow var(--t-fast) ease, border-color var(--t-fast) ease;touch-action:manipulation;font-weight:800}.btn-secondary:hover,.btn-howto:hover,.btn-back:hover{background-color:var(--bg-raised);border-color:var(--cyan);box-shadow:0 4px 0 var(--bg-deep), var(--glow-cyan)}.btn-secondary:active,.btn-howto:active,.btn-back:active{box-shadow:0 1px 0 var(--bg-deep), var(--glow-cyan);transform:translateY(3px)}.btn-primary:focus-visible,.btn-secondary:focus-visible,.btn-start:focus-visible,.btn-coop:focus-visible,.btn-howto:focus-visible,.btn-back:focus-visible,.btn-icon:focus-visible,.btn-pause:focus-visible{outline:3px solid var(--cyan-hi);outline-offset:3px}.btn-icon,.btn-pause{background-color:var(--bg-raised);border:2px solid var(--line);box-shadow:0 3px 0 var(--bg-deep);touch-action:manipulation}.btn-icon:hover,.btn-pause:hover{background-color:var(--bg-raised);border-color:var(--cyan);box-shadow:0 3px 0 var(--bg-deep), var(--glow-cyan)}.btn-icon .icon-sound,.btn-icon .icon-motion,.pause-icon:before,.pause-icon:after{background-color:var(--cyan-hi)}.btn-mute.is-off{background-color:var(--bg-deep)}.btn-mute.is-off .icon-sound,.btn-mute.is-off:after{background-color:var(--text-muted)}.btn-motion.is-on{border-color:var(--neon);box-shadow:0 3px 0 var(--bg-deep), var(--glow-neon);background-color:#3dff7a24}.btn-motion.is-on .icon-motion{background-color:var(--neon)}.panel{background-color:var(--bg-surface);box-shadow:inset 0 0 0 1px #22e1ff1f, var(--glow-violet), var(--shadow-deep);border:2px solid #7b3bff99;position:relative}.title-ar{font-family:var(--font-display);color:#fff;text-shadow:0 3px 0 var(--bg-deep), 0 6px 0 #7b3bff8c, 0 0 22px #22e1ff73;font-size:min(clamp(28px,6.2vw,52px),6.8dvh);font-weight:800;line-height:1.2}.title-ar .title-zombie{color:var(--neon);text-shadow:0 3px 0 var(--bg-deep), 0 6px 0 #00843ab3, 0 0 24px #3dff7a99}.title-en{font-family:var(--font-display);letter-spacing:.24em;color:var(--orange);text-shadow:0 0 12px #ff8a1f73;font-weight:800}.hero-caption{border-top-color:var(--line)}.hero-name{font-family:var(--font-display);color:#fff;font-weight:800}.hero-role{color:var(--text-muted)}.deco-zombie{inset-inline-end:-14px;z-index:2;pointer-events:none;transform-origin:50% 100%;filter:drop-shadow(0 0 12px #3dff7a73)drop-shadow(0 4px #00000059);width:clamp(58px,12dvh,104px);height:clamp(58px,12dvh,104px);animation:3.2s ease-in-out infinite zombie-bob;position:absolute;bottom:-16px;transform:rotate(-10deg)}.deco-zombie svg{width:100%;height:100%;display:block}@keyframes zombie-bob{0%,to{transform:rotate(-10deg)translateY(0)}50%{transform:rotate(-4deg)translateY(-6px)}}body.mode-game .deco-zombie{display:none}.mode-buttons{gap:12px}.btn-start,.btn-coop{min-height:var(--tap-hero);border-radius:18px}.btn-start{font-size:min(clamp(20px,4vw,28px),5.4dvh)}.btn-coop{font-size:min(clamp(18px,3.4vw,24px),5dvh)}.btn-howto{min-height:var(--tap-min);border-radius:14px;padding-inline:22px;font-size:min(clamp(15px,3vw,18px),3.4dvh)}.intro-settings{gap:12px}.intro-settings .btn-icon{width:var(--tap-min);height:var(--tap-min);border-radius:14px}.coin-balance{background-color:var(--bg-deep);border:2px solid var(--gold);box-shadow:var(--glow-gold);font-family:var(--font-display);color:var(--gold-hi);border-radius:999px;gap:8px;padding:4px 14px 4px 10px;font-weight:800}.coin-balance[hidden]{display:none}.coin-icon{background-color:var(--gold);border:3px solid var(--gold-edge);background-image:radial-gradient(circle at 35% 30%,#ffffffbf 0 4px,#0000 5px);width:24px;height:24px}.coin-amount{color:#fff;font-size:1.15em}@media (orientation:landscape){.intro-extras{flex-flow:wrap;justify-content:center;gap:10px 12px}}.game-overlay{background-color:#070d22cc}.overlay-card{color:var(--text);background-color:var(--bg-surface);background-image:var(--sheen), linear-gradient(180deg, #1a2556 0%, var(--bg-surface) 60%);box-shadow:inset 0 0 0 1px #22e1ff1f, var(--glow-violet), var(--shadow-deep);animation:card-pop var(--t-med) var(--ease-snap);border:2px solid #7b3bffa6;border-radius:24px;position:relative}@keyframes card-pop{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.overlay-title{font-family:var(--font-display);color:#fff;text-shadow:0 3px 0 var(--bg-deep), 0 0 18px #22e1ff66;font-size:min(clamp(22px,5vw,32px),5.4dvh);font-weight:800;line-height:1.3}.overlay-text{color:var(--text-muted);font-size:min(clamp(15px,3.4vw,18px),3.4dvh)}.overlay-actions{gap:12px}.btn-primary,.btn-secondary{border-radius:16px;max-width:320px}.btn-primary{min-height:var(--tap-primary);font-size:min(clamp(18px,4vw,23px),4.4dvh)}.btn-secondary{min-height:var(--tap-min);font-size:min(clamp(16px,3.4vw,19px),3.8dvh)}.overlay-mark{width:min(76px,15dvh);height:min(76px,15dvh)}.overlay-mark svg{width:100%;height:100%;display:block}.victory-mark{filter:drop-shadow(0 0 16px #ffc62b99);background:0 0;border-radius:0}.victory-mark:after{content:none}.victory-mark svg{animation:trophy-pop .5s var(--ease-snap)}@keyframes trophy-pop{0%{transform:scale(.4)rotate(-12deg)}70%{transform:scale(1.1)rotate(4deg)}to{transform:scale(1)rotate(0)}}.pause-mark{border:3px solid var(--cyan);box-shadow:var(--glow-cyan);background-color:#22e1ff1f}.pause-mark:before,.pause-mark:after{background-color:var(--cyan-hi)}.gift-mark{background-image:linear-gradient(180deg, var(--gold-hi), var(--gold-lo));border:3px solid var(--gold-edge);box-shadow:var(--glow-gold);border-radius:14px}.welcome-badge{background-image:linear-gradient(180deg, var(--gold-hi), var(--gold-lo));color:var(--on-gold);box-shadow:var(--glow-gold);font-weight:800}.welcome-amount{color:var(--text)}.welcome-amount strong{font-family:var(--font-display);color:var(--gold-hi);text-shadow:0 0 16px #ffc62b8c;font-size:1.4em}.howto-list li{color:var(--text);background-color:var(--bg-raised);border:2px solid var(--border);border-radius:14px;gap:12px;font-size:min(clamp(14px,3.2vw,17px),3.2dvh)}.howto-list b{color:var(--cyan-hi)}.howto-icon{border-width:2px;border-color:var(--cyan);background-color:#22e1ff24;border-radius:10px;width:34px;height:34px}.icon-fire{border-color:var(--cyan-hi);background-color:#22e1ff38}.icon-goal{border-color:var(--neon);background-color:#3dff7a29}.icon-gift{border-color:var(--gold);background-color:#ffc62b33}.icon-combo{border-color:var(--orange);background-color:#ff8a1f33}.icon-settings{border-color:var(--text-muted);background-color:#9aa8d624}.howto-icon.icon-dash,.howto-icon.icon-power{border-color:var(--purple-soft);background-color:#7b3bff33}.victory-card>:not(.confetti){position:relative}.victory-card .overlay-title{color:var(--gold-hi);text-shadow:0 3px 0 var(--bg-deep), 0 0 22px #ffc62b8c}.victory-stats{gap:8px}.victory-stats li{color:var(--text);background-color:var(--bg-raised);border:2px solid var(--border);border-inline-start-width:5px;border-radius:12px;align-items:center;font-size:min(clamp(14px,3.2vw,17px),3.2dvh)}.victory-stats li>span{text-align:start;flex:auto}.victory-stats strong{font-family:var(--font-display);color:#fff;font-variant-numeric:tabular-nums;font-size:1.35em;font-weight:800;line-height:1}.victory-stats li:first-child{border-inline-start-color:var(--cyan);box-shadow:2px 0 14px -6px var(--cyan)}.victory-stats li:nth-child(2){border-inline-start-color:var(--gold);box-shadow:2px 0 14px -6px var(--gold)}.victory-stats li:nth-child(3){border-inline-start-color:var(--neon);box-shadow:2px 0 14px -6px var(--neon)}.victory-stats li:nth-child(4){border-inline-start-color:var(--orange);box-shadow:2px 0 14px -6px var(--orange)}.victory-stats li:nth-child(5){border-inline-start-color:var(--purple-soft);box-shadow:2px 0 14px -6px var(--purple-soft)}.victory-newbest{background-image:linear-gradient(180deg, var(--gold-hi), var(--gold-lo));color:var(--on-gold);font-family:var(--font-display);box-shadow:0 3px 0 var(--gold-edge), var(--glow-gold);border:0;padding:4px 16px;font-size:clamp(14px,2vw,17px);font-weight:800;animation:.7s ease-in-out .3s badge-wiggle}@keyframes badge-wiggle{0%,to{transform:rotate(0)}25%{transform:rotate(-6deg)scale(1.08)}60%{transform:rotate(5deg)scale(1.08)}}.confetti{pointer-events:none;border-radius:inherit;position:absolute;inset:0;overflow:hidden}.confetti i{opacity:0;border-radius:2px;width:8px;height:16px;animation:1.9s ease-in forwards confetti-fall;position:absolute;top:-16px}.confetti i:nth-child(odd){border-radius:50%;width:10px;height:10px}.confetti i:first-child{background:var(--neon);animation-delay:50ms;left:6%}.confetti i:nth-child(2){background:var(--gold);animation-delay:.25s;left:14%}.confetti i:nth-child(3){background:var(--cyan);animation-delay:.1s;left:23%}.confetti i:nth-child(4){background:var(--orange);animation-delay:.35s;left:31%}.confetti i:nth-child(5){background:var(--purple-soft);animation-delay:0s;left:40%}.confetti i:nth-child(6){background:var(--neon);animation-delay:.3s;left:49%}.confetti i:nth-child(7){background:var(--cyan);animation-delay:.15s;left:57%}.confetti i:nth-child(8){background:var(--gold);animation-delay:.4s;left:65%}.confetti i:nth-child(9){background:var(--orange);animation-delay:50ms;left:73%}.confetti i:nth-child(10){background:var(--purple-soft);animation-delay:.28s;left:81%}.confetti i:nth-child(11){background:var(--neon);animation-delay:.12s;left:88%}.confetti i:nth-child(12){background:var(--cyan);animation-delay:.38s;left:94%}@keyframes confetti-fall{0%{opacity:1;transform:translateY(0)rotate(0)}80%{opacity:1}to{opacity:0;transform:translateY(340px)rotate(420deg)}}.victory-combo,.coop-combo,.hud-combo-value{direction:ltr;unicode-bidi:isolate}.rest-mark{transform-origin:50% 90%;filter:drop-shadow(0 0 12px #3dff7a66);animation:1.6s ease-in-out infinite zombie-wave}@keyframes zombie-wave{0%,to{transform:rotate(-6deg)}50%{transform:rotate(6deg)}}body.mode-game .hud{background-color:#0b1430f0;background-image:var(--sheen);border:2px solid #7b3bff8c;border-radius:18px;padding:6px 12px;box-shadow:inset 0 0 0 1px #22e1ff1a,0 8px 24px #0006}.hud-label{color:var(--text-muted)}.hud-name,.hud-score,.energy-value,.hud-combo-value{font-family:var(--font-display);font-weight:800}.hud-name{color:#fff}.hud-icon{flex:none;width:min(26px,5dvh);height:min(26px,5dvh);display:block}.hud-score{background-color:var(--bg-deep);border:2px solid var(--cyan);min-width:2.6em;box-shadow:var(--glow-cyan);color:#fff;text-shadow:0 0 10px #22e1ffb3;text-align:center;border-radius:10px;padding:0 12px;font-size:min(clamp(18px,2.6vw,26px),5dvh);line-height:1.35}.hud-wave{font-family:var(--font-display);color:var(--neon);text-shadow:0 0 10px #3dff7a8c;font-weight:800}.energy-track{background-color:var(--bg-deep);border:2px solid var(--line);border-radius:6px;height:min(20px,4dvh);box-shadow:inset 0 2px 4px #00000080}.energy-fill{background-image:linear-gradient(#ffffff8c 0%,#fff0 55%);border-radius:3px;box-shadow:0 0 12px #ffffff59}.energy-value{font-size:min(clamp(15px,2vw,19px),3.6dvh);color:#fff!important}.hud-combo{background-image:linear-gradient(180deg, var(--orange-hi), var(--orange-lo));box-shadow:0 3px 0 var(--orange-edge), var(--glow-orange);border:0;border-radius:10px;padding:2px 11px}.hud-combo-label{color:var(--on-orange);font-weight:700}.hud-combo-value{color:var(--on-orange);font-size:min(clamp(16px,2.2vw,22px),4dvh)}.hud .btn-icon,.btn-pause{width:var(--tap-hud);height:var(--tap-hud);border-radius:12px}.btn-pause{border-radius:50%}.btn-back{min-height:var(--tap-hud);border-radius:12px}.ability{background-color:var(--bg-raised);border:2px solid var(--line);border-radius:12px;padding:4px 9px 5px}.ability.is-ready{border-color:var(--cyan);box-shadow:var(--glow-cyan);background-color:#22e1ff1f}.ability-key{color:var(--text-muted)}.icon-dash{background-color:var(--cyan-hi)}.icon-power{background-color:var(--orange)}.ability-power-track{background-color:var(--bg-deep)}.ability-power-fill{background-color:var(--cyan)}.ability-power.is-ready .ability-power-fill{background-color:var(--neon)}.boss-bar{border:2px solid var(--neon-lo);box-shadow:var(--glow-neon);background-color:#0b1430f0;border-radius:14px;padding:4px 14px 4px 8px}.boss-bar-face{flex:none;width:min(30px,6dvh);height:min(30px,6dvh);display:block}.boss-bar-label{font-family:var(--font-display);color:var(--neon);font-weight:800}.boss-bar-track{background-color:var(--bg-deep);border:2px solid var(--line);border-radius:6px;height:min(16px,3dvh)}.boss-bar-fill{background-color:var(--neon);background-image:linear-gradient(180deg, var(--neon-hi) 0%, var(--neon-lo) 100%);border-radius:3px;box-shadow:0 0 12px #3dff7a99}.joystick{background-color:#0b143073;border:2px solid #22e1ff8c;box-shadow:0 0 18px #22e1ff40}.joystick.is-active{background-color:#0b143099}.joystick-thumb{background-image:linear-gradient(180deg, var(--cyan-hi), var(--cyan-lo));box-shadow:var(--glow-cyan);border:2px solid #fffc}.fire-button{box-shadow:0 4px 0 var(--cyan-edge), var(--glow-cyan);background-image:linear-gradient(#5cebffd9,#0096ffd9);border:3px solid #ffffffb3}.fire-button.is-active{background-image:linear-gradient(180deg, var(--cyan-hi), var(--cyan-lo));box-shadow:0 1px 0 var(--cyan-edge), 0 0 30px #22e1ffbf}.fire-drop{border-color:var(--cyan-hi);background-color:#fff}.action-button{box-shadow:var(--glow-cyan);background-color:#0b1430b8;border:2px solid #22e1ff99}.action-button.is-active{background-color:#22e1ff59}.action-button .icon-dash{background-color:var(--cyan-hi)}.action-button .icon-power{background-color:var(--orange)}.rotate-note{color:var(--text)}@media (orientation:portrait){body.mode-game.is-touch .rotate-note{background-color:var(--bg-base)}}.rotate-phone{border-color:var(--cyan);background-color:var(--bg-surface);box-shadow:var(--glow-cyan)}.rotate-phone:before{background-color:var(--bg-base)}.rotate-phone:after{background-color:var(--line)}.rotate-text{font-family:var(--font-display);color:#fff;font-weight:800}@media (orientation:landscape) and (height<=520px){body.mode-game .hud{background-color:#0b1430d1;padding:3px 8px}body.mode-game .hud-player,body.mode-game .hud-energy .hud-label,body.mode-game .hud-stats .hud-label,body.is-touch.mode-game .hud-abilities{display:none}body.mode-game .hud{gap:10px}body.mode-game .hud button{pointer-events:auto}body.mode-game .boss-bar{inset-block-start:calc(min(8px, 2dvh) + var(--tap-hud) + 14px)}.overlay-card{max-width:min(640px,94vw);padding:12px 18px}.overlay-mark{width:min(56px,13dvh);height:min(56px,13dvh);margin-bottom:4px}.overlay-actions{flex-flow:wrap;justify-content:center}.overlay-actions>button{flex:1 1 0;min-width:150px;max-width:240px}.btn-primary{min-height:52px}.btn-secondary{min-height:var(--tap-min)}.victory-stats{grid-template-columns:1fr 1fr;display:grid}.victory-stats li{padding-block:6px}.btn-start,.btn-coop{min-height:54px}}.coop-label{font-family:var(--font-display);color:var(--text-muted);font-size:clamp(14px,1.8vw,16px);font-weight:700}.coop-nick{min-height:52px;font-family:var(--font-display);color:var(--text);background-color:var(--bg-raised);border:2px solid var(--line);border-radius:14px;font-size:clamp(16px,2.2vw,19px);font-weight:700}.coop-nick option{color:var(--text);background-color:var(--bg-surface)}.coop-offline{color:#ffc48a;border-color:var(--orange);background-color:#ff8a1f1f}.coop-offline code{color:var(--text);background-color:var(--bg-deep)}.coop-code-input{color:#fff;background-color:var(--bg-deep);border:2px solid var(--line);border-radius:14px;min-height:60px;box-shadow:inset 0 2px 6px #00000080}.coop-code-input::placeholder{color:#4a5a8f}.coop-code-input:focus-visible{border-color:var(--orange);box-shadow:inset 0 2px 6px #00000080, var(--glow-orange)}.coop-error{color:#ffc48a}.lobby-code-label{color:var(--text-muted)}.lobby-code{color:var(--orange-hi);background-color:var(--bg-deep);border:2px dashed var(--orange);box-shadow:var(--glow-orange);text-shadow:0 0 10px #ff8a1f99}.lobby-copied{color:var(--neon)}.lobby-player{background-color:var(--bg-raised);border:2px solid var(--border);border-radius:12px;min-height:52px}.lobby-name{font-family:var(--font-display);color:#fff;font-weight:800}.lobby-dot{border-color:#ffffffe6;width:18px;height:18px;box-shadow:0 0 10px #ffffff59}.lobby-tag{color:var(--on-gold);background-image:linear-gradient(180deg, var(--gold-hi), var(--gold-lo))}.lobby-status{color:var(--text-muted)}.lobby-status.is-ready{color:var(--neon);text-shadow:0 0 8px #3dff7a80}.lobby-kick{color:#ffc48a;border-color:var(--orange);background-color:#ff8a1f1f;min-height:40px;padding-inline:14px}.lobby-kick:hover{background-color:#ff8a1f3d}.lobby-hint{color:var(--text-muted)}.lobby-ready.is-on{background-color:var(--neon);background-image:linear-gradient(180deg, var(--neon-hi), var(--neon-lo));box-shadow:0 5px 0 var(--neon-edge), 0 0 30px #3dff7ab3}.lobby-host-tools summary{min-height:44px;color:var(--text-muted);align-items:center;display:flex}.emote-btn{min-height:44px;font-family:var(--font-display);color:#fff;border:2px solid var(--line);box-shadow:0 3px 0 var(--bg-deep);touch-action:manipulation;background-color:#0b1430e0;padding-inline:16px;font-weight:800}.emote-btn:hover{border-color:var(--cyan);box-shadow:0 3px 0 var(--bg-deep), var(--glow-cyan);background-color:#0b1430f2}.host-bar>button{min-height:44px}.coop-toast{color:#fff;border:2px solid var(--cyan);box-shadow:var(--glow-cyan);background-color:#070d22f2}@media (prefers-reduced-motion:reduce){.deco-zombie,.rest-mark,.overlay-card,.victory-mark svg,.victory-newbest{animation:none}.confetti{display:none}}body.reduced-motion .confetti{display:none}@font-face{font-family:Tajawal;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/tajawal-arabic-500-normal-BZ8ojJNu.woff2)format("woff2"),url(/assets/tajawal-arabic-500-normal-CbVEaYEW.woff)format("woff");unicode-range:U+6??,U+750-77F,U+870-88E,U+890-891,U+897-8E1,U+8E3-8FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1}@font-face{font-family:Tajawal;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/tajawal-latin-500-normal-CoYeBiSI.woff2)format("woff2"),url(/assets/tajawal-latin-500-normal-DU9v6xgj.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Tajawal;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/tajawal-arabic-700-normal-D2-eand5.woff2)format("woff2"),url(/assets/tajawal-arabic-700-normal-9L7Zusdl.woff)format("woff");unicode-range:U+6??,U+750-77F,U+870-88E,U+890-891,U+897-8E1,U+8E3-8FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1}@font-face{font-family:Tajawal;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/tajawal-latin-700-normal-BypgxfGb.woff2)format("woff2"),url(/assets/tajawal-latin-700-normal-CV3bxpHe.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Tajawal;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/tajawal-arabic-800-normal-TQp-UTiE.woff2)format("woff2"),url(/assets/tajawal-arabic-800-normal-Bp_4IW2m.woff)format("woff");unicode-range:U+6??,U+750-77F,U+870-88E,U+890-891,U+897-8E1,U+8E3-8FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1}@font-face{font-family:Tajawal;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/tajawal-latin-800-normal-CmI34b-g.woff2)format("woff2"),url(/assets/tajawal-latin-800-normal-Dm5jVIIh.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.pg-overlay{z-index:9999;color:#eaf2ff;background:radial-gradient(110% 80% at 85% 5%,#2e9bff38 0%,#0000 58%),linear-gradient(170deg,#0b1430 0%,#070e22 100%);justify-content:center;align-items:center;padding:16px;font-family:Tajawal,Segoe UI,Tahoma,Arial,sans-serif;display:flex;position:fixed;inset:0;overflow-y:auto}.pg-overlay[hidden]{display:none}body.pg-open{overflow:hidden}.pg-card{text-align:center;background:linear-gradient(150deg,#1b2e5cd9,#122145c7);border:1.5px solid #6fe3ff47;border-radius:20px;width:100%;max-width:420px;padding:clamp(22px,5vw,36px);box-shadow:0 18px 50px #00000073}.pg-icon{margin-bottom:10px;font-size:52px;line-height:1}.pg-title{margin:0 0 8px;font-size:clamp(24px,6vw,30px);font-weight:800}.pg-text{color:#c9d8f5;margin:0 0 20px;font-size:clamp(17px,4.4vw,20px);font-weight:700;line-height:1.7}.pg-form{flex-direction:column;gap:12px;display:flex}.pg-input{letter-spacing:.4em;text-align:center;color:#ffd166;background:#070e22d9;border:2px solid #6fe3ff59;border-radius:14px;width:100%;min-height:64px;font-family:ui-monospace,Consolas,monospace;font-size:34px;font-weight:700}.pg-input:focus-visible{border-color:#6fe3ff;outline:none}.pg-btn{color:#04210f;cursor:pointer;background:linear-gradient(95deg,#5cff8f,#00d95f);border:none;border-radius:14px;width:100%;min-height:56px;font-family:inherit;font-size:20px;font-weight:800}.pg-btn:disabled{opacity:.6;cursor:default}.pg-btn:focus-visible{outline-offset:3px;outline:3px solid #6fe3ff}.pg-msg{color:#ffc48a;min-height:1.6em;margin:14px 0 0;font-size:16px;font-weight:700;line-height:1.6}.pg-msg:empty{display:none}.pg-retry{color:#6fe3ff;background:0 0;border:2px solid #6fe3ff73;margin-top:4px}.pg-overlay[data-mode=code] .pg-retry,.pg-overlay[data-mode=maintenance] .pg-form{display:none}@media (height<=480px){.pg-card{max-width:460px;padding:14px 20px}.pg-icon{margin-bottom:4px;font-size:30px}.pg-title{margin-bottom:4px;font-size:22px}.pg-text{margin-bottom:10px;font-size:16px}.pg-form{flex-direction:row;gap:8px}.pg-input{flex:auto;min-height:52px;font-size:28px}.pg-btn{min-height:52px;font-size:18px}.pg-form .pg-btn{flex:0 0 120px;width:auto}.pg-msg{margin-top:8px;font-size:15px}}.pg-gift{z-index:10000;background:#070e22db}.pg-gift .pg-card{border-color:#ffd1668c}.pg-amount{color:#ffd166;direction:rtl;margin:0 0 6px;font-size:clamp(34px,9vw,46px);font-weight:800}.pg-gift .pg-btn{color:#2a1a00;background:linear-gradient(95deg,#ffd166,#f2b420)}@media (height<=480px){.pg-amount{margin-bottom:2px;font-size:30px}}.pg-en{color:#a9bddf;margin:-8px 0 18px;font-family:Segoe UI,Roboto,Arial,sans-serif;font-size:15px;line-height:1.6}.pg-banner{inset-inline:0;z-index:10001;color:#04210f;pointer-events:none;background:linear-gradient(95deg,#5cff8f,#00d95f);border-radius:999px;width:max-content;max-width:92vw;margin-inline:auto;padding:12px 20px;font-family:Tajawal,Segoe UI,Tahoma,Arial,sans-serif;font-size:17px;font-weight:800;position:fixed;top:14px;box-shadow:0 10px 30px #00000059}.pg-banner-warn{color:#2a1a00;white-space:normal;text-align:center;background:linear-gradient(95deg,#ffd166,#ff8a1f);line-height:1.6}.pg-replay{color:#2a1a00;background:linear-gradient(95deg,#ffd166,#f2b420);margin-top:4px;margin-bottom:8px}.pg-overlay[data-mode=code] .pg-replay{display:none}.pg-banner-warn{pointer-events:auto;border-radius:18px;flex-direction:column;align-items:center;gap:8px;display:flex}.pg-banner-warn p{margin:0}.pg-banner-btn{color:#ffd166;cursor:pointer;background:#0b1430;border:none;border-radius:999px;min-height:48px;padding:0 22px;font-family:inherit;font-size:17px;font-weight:800}.pg-banner-row{justify-content:center;gap:8px;display:flex}.pg-banner-close{min-width:48px;padding:0;font-size:20px}.pg-banner-en{opacity:.85;font-family:Segoe UI,Roboto,Arial,sans-serif;font-size:15px;font-weight:700}
