:root{--hud-toolbar-h: 52px}html,body{width:100%;height:100%;overflow:hidden;background:#000;font-family:Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;touch-action:none;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}#game-container{position:fixed;top:0;left:0;width:100vw;height:100vh;display:flex;align-items:center;justify-content:center;background:#000}canvas{display:block;image-rendering:auto;cursor:none;max-width:100vw;max-height:100vh;touch-action:manipulation}#ui-overlay{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:10}#ui-overlay>*{pointer-events:auto}#hud{position:absolute;inset:0;display:none;pointer-events:none;font-size:13px;color:#fff;text-shadow:0 0 4px rgba(0,0,0,.8)}#hud>*{pointer-events:auto}.hud-top{position:absolute;left:8px;right:8px;top:calc(8px + env(safe-area-inset-top,0px));display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.hud-top-left{display:flex;flex-direction:column;gap:2px;background:#00000080;border-radius:6px;padding:4px 8px}.hud-top-center{position:absolute;left:50%;transform:translate(-50%);top:0;text-align:center}.hud-top-right{display:flex;flex-direction:column;align-items:flex-end;gap:2px;background:#00000080;border-radius:6px;padding:4px 8px}.hud-level{font-size:14px;font-weight:700;color:#fd0}.hud-xp-bar{width:100px;height:4px;background:#ffffff26;border-radius:2px;overflow:hidden}.hud-xp-fill{height:100%;background:linear-gradient(90deg,#48f,#4df);transition:width .3s}.hud-wave{font-size:20px;font-weight:700;color:#fff;text-shadow:0 0 4px rgba(0,0,0,.8);opacity:0;transition:opacity .5s;background:#00000080;border-radius:8px;padding:4px 16px}.hud-wave.active{opacity:1}.hud-wave-progress{position:absolute;top:42px;left:50%;transform:translate(-50%);width:200px;height:6px;background:#ffffff26;border-radius:3px;overflow:hidden;background:#00000080;padding:2px}.hud-wave-progress-fill{height:100%;background:linear-gradient(90deg,#4af,#4fa);border-radius:2px;transition:width .3s}.game-timer-hud{font-size:14px;color:#fff;text-shadow:0 0 4px rgba(0,0,0,.8);background:#00000080;padding:2px 10px;border-radius:4px}.hud-coins{font-size:14px}.hud-kills{font-size:12px;color:#ccc}.hud-hp-container{position:absolute;left:50%;transform:translate(-50%);bottom:calc(80px + env(safe-area-inset-bottom,0px));width:min(300px,60vw);display:flex;align-items:center;gap:6px;background:#00000080;border-radius:6px;padding:4px 8px}.hud-hp-bar{flex:1;height:10px;background:#fff3;border-radius:5px;overflow:hidden;border:1px solid rgba(255,255,255,.3)}.hud-hp-fill{height:100%;border-radius:4px;transition:width .3s;background:#4f4}.hud-hp-fill.hp-yellow{background:linear-gradient(90deg,#fd0,#fa0)}.hud-hp-fill.hp-red{background:linear-gradient(90deg,#f44,red);animation:hpFlash .5s infinite}.hud-hp-text{font-size:11px;min-width:60px;text-align:right}@keyframes hpFlash{0%,to{opacity:1}50%{opacity:.5}}.hud-boss-bar{position:absolute;top:0;left:0;right:0;display:none;flex-direction:column;align-items:center;background:#000000b3;padding:3px 8px;border-bottom:1px solid rgba(255,68,68,.5)}.hud-boss-name{font-size:11px;font-weight:700;color:#f66;margin-bottom:2px}.hud-boss-hp-bar{width:100%;height:20px;background:#ffffff26;border-radius:3px;overflow:hidden;position:relative}.hud-boss-hp-fill{height:100%;border-radius:2px;transition:width .2s;background:#4f4}.hud-boss-hp-fill.boss-yellow{background:linear-gradient(90deg,#fd0,#cc0)}.hud-boss-hp-fill.boss-orange{background:linear-gradient(90deg,#f80,#f60)}.hud-boss-hp-fill.boss-red{background:linear-gradient(90deg,#f44,red);animation:hpFlash .4s infinite}.hud-boss-hp-pct{position:absolute;right:6px;top:50%;transform:translateY(-50%);font-size:10px;font-weight:700;color:#fff;text-shadow:0 0 3px rgba(0,0,0,.8)}.combo-text{position:absolute;top:40%;left:50%;transform:translate(-50%,-50%);font-size:28px;font-weight:700;color:#fd0;text-shadow:0 0 15px rgba(255,221,0,.8),0 2px 4px rgba(0,0,0,.5);opacity:0;transition:opacity .4s;pointer-events:none}.combo-text.active{opacity:1}.combo-text.combo-decay{opacity:.5;transition:opacity .8s}.hud-skill-bar{position:absolute;inset:50% 8px auto auto;transform:translateY(-50%);display:none;flex-direction:column;align-items:flex-end;gap:4px;pointer-events:none;z-index:5}.hud-skill-row{display:flex;flex-direction:column;gap:4px;align-items:center}.hud-skill-slot{width:44px;height:44px;background:#0000008c;border:1px solid rgba(255,255,255,.25);border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:20px;position:relative;overflow:hidden;pointer-events:auto;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.hud-skill-slot .skill-cooldown-overlay{position:absolute;bottom:0;left:0;right:0;background:#000000b3;transition:height .08s linear;pointer-events:none}.hud-skill-slot .skill-level-badge{position:absolute;bottom:1px;right:2px;font-size:8px;font-weight:700;color:#fd0;text-shadow:0 0 2px #000}.hud-skill-label{font-size:9px;color:#888;text-align:center;width:44px}.hud-weapon-bar{position:absolute;inset:50% auto auto 8px;transform:translateY(-50%);display:none;flex-direction:column;align-items:center;gap:4px;background:#0000008c;border-radius:8px;padding:6px 4px;pointer-events:auto;z-index:5;border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.hud-weapon-bar-label{font-size:9px;color:#888;text-align:center;width:44px;line-height:1.1}.hud-weapon-grid{display:flex;flex-direction:column;gap:4px;align-items:center}.hud-weapon-slot{width:48px;min-height:52px;background:#0006;border:2px solid rgba(255,255,255,.28);border-radius:6px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:18px;position:relative;overflow:hidden;cursor:pointer;flex-shrink:0;padding:2px 1px 1px}.hud-weapon-slot .weapon-name{font-size:8px;color:#acf;line-height:1.1;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;pointer-events:none}.hud-skill-slot .skill-name-label{font-size:7px;color:#cdf;line-height:1;margin-top:1px;pointer-events:none}.hud-weapon-slot:hover{border-color:#ffffff8c}.hud-weapon-slot.active-weapon{border-color:#4df;box-shadow:0 0 4px #44ddff59}.hud-weapon-slot.active-weapon:hover{border-color:#6ef}.hud-weapon-slot.empty{border:2px dashed rgba(255,255,255,.12);background:#ffffff05;opacity:.45;cursor:default}.hud-weapon-slot .weapon-level-badge{position:absolute;bottom:1px;right:2px;font-size:8px;font-weight:700;color:#4fa;text-shadow:0 0 2px #000;pointer-events:none}.hud-weapon-slot .weapon-cooldown-overlay{position:absolute;bottom:0;left:0;right:0;background:#000000a6;transition:height .08s linear;pointer-events:none}.hud-weapon-slot.fusion-glow{border-color:#fa0;box-shadow:0 0 6px #ffaa0073}.hud-weapon-passive-row{display:none;flex-direction:column;gap:4px;align-items:center;margin-top:2px}.hud-weapon-slot.passive{width:36px;height:36px;font-size:16px;border-color:#fff3;background:#ffffff0d;cursor:default}.menu-screen{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#05051eeb;color:#fff;z-index:20;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);overflow-y:auto}.menu-screen h1{font-size:36px;font-weight:700;margin-bottom:8px;background:linear-gradient(180deg,#fd0,#f80);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-shadow:none}.menu-screen .subtitle{font-size:14px;color:#88c;margin-bottom:40px;letter-spacing:4px}.menu-btn{width:220px;padding:14px 0;margin:6px 0;border:2px solid rgba(255,255,255,.3);border-radius:8px;background:#ffffff14;color:#fff;font-size:16px;cursor:pointer;text-align:center;transition:all .2s;letter-spacing:2px}.menu-btn:hover,.menu-btn:active{background:#ffdd0026;border-color:#fd0;transform:scale(1.03)}.menu-btn.highlight{border-color:#fd0;background:#ffdd001a}#character-select{display:none;flex-wrap:wrap;gap:12px;justify-content:center;max-width:440px;padding:20px}.character-card{width:130px;padding:14px 10px;border:2px solid rgba(255,255,255,.2);border-radius:10px;background:#ffffff0d;cursor:pointer;text-align:center;transition:all .2s}.character-card:hover,.character-card:active{border-color:#fd0;background:#ffdd001a;transform:scale(1.05)}.character-card.locked{opacity:.5;cursor:not-allowed;border-color:#ffffff1a}.character-card.locked:hover{transform:none;border-color:#ffffff1a;background:#ffffff0d}.character-card .char-icon{font-size:32px;margin-bottom:6px}.character-card .char-name{font-size:14px;font-weight:700;margin-bottom:4px}.character-card .char-desc{font-size:10px;color:#aaa;margin-bottom:6px}.character-card .char-unlock{font-size:9px;color:#f88}#char-select-screen{justify-content:flex-start;padding-top:16px;padding-bottom:16px}#char-select-screen .subtitle{margin-bottom:12px}#char-select{display:flex;flex-direction:column;align-items:stretch;gap:10px;width:min(96vw,720px);max-width:720px;max-height:calc(100vh - 130px);overflow-y:auto;padding:4px 8px 12px;-webkit-overflow-scrolling:touch}.char-card{width:auto;min-width:0;padding:8px 6px;border:2px solid rgba(255,255,255,.2);border-radius:10px;background:#ffffff0d;cursor:pointer;text-align:center;transition:all .2s}.char-card:hover,.char-card:active{border-color:#fd0;background:#ffdd001a;transform:scale(1.05)}.char-card .icon{font-size:24px;margin-bottom:4px}.char-card .name{font-size:11px;font-weight:700;line-height:1.2}.char-card .desc{font-size:9px;color:#aaa;margin-top:2px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.25}.faction-char-section{width:100%;margin-bottom:16px}.faction-char-label{font-size:16px;font-weight:700;color:#fd0;text-align:center;margin-bottom:10px;text-shadow:0 0 8px rgba(255,221,0,.4)}.faction-char-row{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.faction-char-card{width:120px;padding:10px;border:2px solid rgba(255,255,255,.2);border-radius:10px;background:#ffffff0d;cursor:pointer;text-align:center;transition:all .2s}.faction-char-card:hover,.faction-char-card:active{border-color:#fd0;background:#ffdd001a;transform:scale(1.05)}.faction-char-card.selected{border-color:#fd0;background:#ffdd0026;box-shadow:0 0 12px #fd06}.faction-char-card.locked{opacity:.5;cursor:not-allowed;border-color:#ffffff1a}.faction-char-card.locked:hover{transform:none;border-color:#ffffff1a;background:#ffffff0d}.faction-char-card .fc-icon{font-size:28px;margin-bottom:4px}.faction-char-card .fc-name{font-size:12px;font-weight:700}.faction-char-card .fc-desc{font-size:10px;color:#aaa;margin-top:2px}.faction-char-card .fc-unlock{font-size:9px;color:#f88;margin-top:4px}@media(min-width:1024px){#char-select-screen{justify-content:flex-start;padding:28px 24px 32px}#char-select-screen h1{font-size:42px;margin-bottom:6px}#char-select-screen .subtitle{font-size:15px;margin-bottom:20px;letter-spacing:6px}#char-select{width:min(960px,92vw);max-height:calc(100vh - 160px);gap:20px;padding:8px 12px 16px}.faction-char-section{margin-bottom:20px}.faction-char-label{font-size:18px;margin-bottom:14px}.faction-char-row{gap:16px}.faction-char-card{width:160px;padding:14px 12px;min-height:120px}.faction-char-card .fc-icon{font-size:32px}.faction-char-card .fc-name{font-size:14px}.faction-char-card .fc-desc{font-size:11px;line-height:1.35}.faction-row{grid-template-columns:repeat(5,1fr);gap:12px}.char-card{min-height:108px;padding:12px 10px;border-radius:12px}.char-card .icon{font-size:28px}.char-card .name{font-size:13px}.char-card .desc{font-size:11px;-webkit-line-clamp:3;line-height:1.35}}.faction-section{width:100%}.faction-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px;width:100%}#level-up{display:none;position:absolute;top:0;left:0;width:100%;height:100%;background:#000c;z-index:30;flex-direction:column;align-items:center;justify-content:center;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}#level-up h2{font-size:28px;color:#fd0;margin-bottom:20px;text-shadow:0 0 20px rgba(255,221,0,.5)}#level-up .skill-choices{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;max-width:440px}.skill-card{width:130px;padding:14px 10px;border:2px solid rgba(255,255,255,.3);border-radius:10px;background:#141432e6;cursor:pointer;text-align:center;transition:all .2s}.skill-card:hover,.skill-card:active{border-color:#fd0;transform:scale(1.05)}.skill-card .skill-name{font-size:13px;font-weight:700;color:#fff;margin-bottom:4px}.skill-card .skill-desc{font-size:10px;color:#ccc}.skill-card .skill-rarity{font-size:10px;margin-top:4px}.rarity-common .skill-rarity{color:#aaa}.rarity-uncommon .skill-rarity{color:#4d4}.rarity-rare .skill-rarity{color:#48f}.rarity-epic .skill-rarity{color:#a4f}.rarity-legendary .skill-rarity{color:#fa0}.rarity-common{border-color:#aaaaaa80}.rarity-uncommon{border-color:#44dd4480}.rarity-rare{border-color:#4488ff80}.rarity-epic{border-color:#aa44ff80}.rarity-legendary{border-color:#ffaa0080}.weapon-card{background:#141e3cf2;box-shadow:inset 0 0 15px #6496ff1a}.weapon-card:hover,.weapon-card:active{transform:scale(1.08);box-shadow:inset 0 0 20px #6496ff33,0 0 12px #ffffff26}.weapon-card .skill-icon{filter:drop-shadow(0 0 4px currentColor)}.fusion-card{background:linear-gradient(135deg,#643296e6,#326496e6)!important;border:2px solid #ff44ff!important;box-shadow:0 0 20px #ff44ff4d,inset 0 0 15px #ff44ff1a;animation:fusionPulse 1.5s ease-in-out infinite}.fusion-card:hover,.fusion-card:active{border-color:#f8f!important;box-shadow:0 0 30px #ff44ff80,inset 0 0 20px #f4f3}@keyframes fusionPulse{0%,to{box-shadow:0 0 20px #ff44ff4d,inset 0 0 15px #ff44ff1a}50%{box-shadow:0 0 30px #ff44ff80,inset 0 0 20px #f4f3}}.fusion-card .fusion-ingredients{font-size:9px;color:#d8f;margin-top:4px}.fusion-card .skill-type{color:#f8f!important}#fusion-notification{display:none;position:absolute;top:60px;left:50%;transform:translate(-50%);background:linear-gradient(135deg,#643296f2,#326496f2);border:2px solid #ff44ff;border-radius:12px;padding:12px 20px;z-index:25;text-align:center;box-shadow:0 0 30px #f4f6;animation:fusionSlideIn .5s ease-out;cursor:pointer;pointer-events:auto}#fusion-notification .fusion-title{font-size:16px;font-weight:700;color:#f8f;text-shadow:0 0 10px rgba(255,136,255,.6)}#fusion-notification .fusion-desc{font-size:11px;color:#caf;margin-top:4px}@keyframes fusionSlideIn{0%{transform:translate(-50%) translateY(-20px);opacity:0}to{transform:translate(-50%) translateY(0);opacity:1}}#game-over{display:none;padding:20px 16px}#game-over .settlement-title{font-size:32px;font-weight:700;color:#f44;text-shadow:0 0 20px rgba(255,68,68,.6);margin-bottom:4px;animation:settlementPulse 2s ease-in-out infinite}@keyframes settlementPulse{0%,to{text-shadow:0 0 20px rgba(255,68,68,.6)}50%{text-shadow:0 0 30px rgba(255,68,68,.9),0 0 50px rgba(255,68,68,.3)}}#game-over .settlement-subtitle{font-size:12px;color:#888;margin-bottom:20px;letter-spacing:4px}#game-over .final-score{font-size:48px;font-weight:700;color:#fd0;text-shadow:0 0 30px rgba(255,221,0,.6);margin-bottom:8px}#game-over .star-coin-earned{font-size:16px;color:#fd0;margin-bottom:16px}#game-over .settlement-stats{width:min(320px,85vw);display:flex;flex-direction:column;gap:8px;margin-bottom:24px}#game-over .stat-row{display:flex;justify-content:space-between;align-items:center;padding:8px 14px;background:#ffffff0a;border-radius:6px;border-left:3px solid rgba(255,255,255,.15);opacity:0;transform:translate(-20px);transition:opacity .4s,transform .4s}#game-over .stat-row.visible{opacity:1;transform:translate(0)}#game-over .stat-row.is-record{border-left-color:#fd0;background:#ffdd0014}#game-over .stat-row .stat-label{font-size:13px;color:#aaa;display:flex;align-items:center;gap:6px}#game-over .stat-row .stat-value{font-size:16px;font-weight:700;color:#fff}#game-over .stat-row.is-record .stat-label,#game-over .stat-row.is-record .stat-value{color:#fd0}#game-over .stat-row .record-badge{font-size:10px;color:#fd0;background:#fd03;padding:1px 6px;border-radius:8px;margin-left:6px}#game-over .settlement-buttons{display:flex;flex-direction:column;gap:10px;align-items:center}#game-over .settlement-buttons .menu-btn{width:min(240px,70vw)}#game-over .settlement-buttons .btn-row{display:flex;gap:10px}#game-over .settlement-buttons .btn-row .menu-btn{width:min(115px,33vw);font-size:13px;padding:10px 0}#game-over .stats{font-size:14px;color:#aaa;margin-bottom:30px;text-align:center;line-height:1.8}#leaderboard{display:none}#leaderboard .lb-list{width:280px;max-height:300px;overflow-y:auto;margin:20px 0}.lb-entry{display:flex;justify-content:space-between;padding:8px 12px;border-bottom:1px solid rgba(255,255,255,.1);font-size:14px}.lb-entry .rank{color:#fd0;width:30px}.lb-entry .score{color:#4df}.toast{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:20px;font-weight:700;color:#fd0;text-shadow:0 0 10px rgba(255,221,0,.8);pointer-events:none;opacity:0;transition:opacity .3s;z-index:35}.toast.show{opacity:1}.hud-toolbar{position:absolute;z-index:55;display:flex;gap:4px;box-sizing:border-box;pointer-events:auto}.hud-toolbar .toolbar-btn{pointer-events:auto;touch-action:manipulation}@media(min-width:769px){.hud-toolbar{top:50%;right:4px;transform:translateY(-50%);flex-direction:column;align-items:center;padding:6px 4px;background:#00000080;border:1px solid rgba(255,255,255,.1);border-radius:10px}}@media(max-width:768px){.hud-toolbar{bottom:0;left:0;right:0;width:100%;flex-direction:row;align-items:center;justify-content:space-around;padding:4px 4px calc(4px + env(safe-area-inset-bottom,0px));background:#000000d9;border-top:1px solid rgba(255,255,255,.15);z-index:100;min-height:var(--hud-toolbar-h)}.toolbar-btn{flex:1;min-width:0;max-width:72px;min-height:44px;padding:4px 2px}.toolbar-btn .tb-label{font-size:9px}.fs-toggle{top:calc(6px + env(safe-area-inset-top,0px));bottom:auto;right:6px;left:auto;z-index:90}#backpack-screen,#fusion-screen,#status-panel{z-index:9000!important;justify-content:flex-start;padding-top:calc(12px + env(safe-area-inset-top,0px));padding-bottom:calc(12px + env(safe-area-inset-bottom,0px))}}.toolbar-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;padding:6px 8px;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-radius:6px;color:#ddd;font-size:18px;cursor:pointer;transition:all .15s;-webkit-tap-highlight-color:transparent}@media(min-width:769px){.toolbar-btn{width:44px;padding:8px 4px}}.toolbar-btn:active{background:#ffffff26;transform:scale(.95)}.toolbar-btn .tb-label{font-size:9px;color:#999;line-height:1}.toolbar-btn:hover{border-color:#ffffff4d;color:#fff}.hud-fab-btn,.hud-pause-btn{width:40px;height:40px;background:#0009;border:1px solid rgba(255,255,255,.25);border-radius:8px;color:#fff;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.hud-fab-btn:active,.hud-pause-btn:active{background:#fff3;transform:scale(.95)}@media(hover:none)and (pointer:coarse),(max-width:480px){.menu-screen h1{font-size:28px}.menu-btn{width:180px;padding:12px 0;font-size:14px;min-height:44px}.char-card{width:100px;padding:8px;min-height:44px}.skill-card{width:110px;padding:10px 8px;min-height:44px}.toolbar-btn{min-height:44px;padding:6px 4px}.toolbar-btn .tb-label{font-size:10px}#hud{font-size:13px}.hud-hp-container{position:absolute;top:calc(8px + env(safe-area-inset-top,0px));left:50%;transform:translate(-50%);bottom:auto;width:min(280px,55vw);background:#0009;border-radius:8px;padding:6px 10px;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);border:1px solid rgba(255,255,255,.1)}.hud-hp-bar{height:12px;border-radius:6px}.hud-hp-fill{border-radius:5px}.hud-hp-text{font-size:12px;min-width:50px}.hud-top{position:absolute;top:calc(52px + env(safe-area-inset-top,0px));left:8px;right:8px;flex-direction:column;align-items:center;gap:4px}.hud-top-left,.hud-top-right{flex-direction:row;gap:8px;background:#0009;border-radius:8px;padding:4px 10px;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);border:1px solid rgba(255,255,255,.1)}.hud-wave{font-size:16px;padding:3px 12px;background:#0009;border-radius:8px;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);border:1px solid rgba(255,255,255,.1)}.hud-wave-progress{width:160px;height:5px;top:36px;background:#0009;border-radius:8px;padding:2px}.hud-level{font-size:13px}.hud-xp-bar{width:80px;height:4px}.hud-coins{font-size:13px}.hud-kills{font-size:12px}.game-timer-hud{font-size:12px;background:#0009;border-radius:8px;padding:2px 8px;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);border:1px solid rgba(255,255,255,.1)}.hud-boss-bar{background:#000000b3;border-radius:8px;margin:0 8px;padding:4px 10px;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);border:1px solid rgba(255,68,68,.3)}.hud-boss-name,.hud-boss-hp-pct{font-size:12px}.hud-skill-bar{position:absolute;left:auto;right:8px;transform:none;bottom:calc(var(--hud-toolbar-h) + env(safe-area-inset-bottom,0px) + 6px);align-items:flex-end;z-index:50}.hud-skill-row{display:grid;grid-template-columns:repeat(4,60px);gap:4px}.hud-skill-slot{width:60px;height:60px;background:#0009;border-radius:8px;font-size:24px;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);border:1px solid rgba(255,255,255,.2)}.hud-skill-slot .skill-level-badge{font-size:10px}.hud-skill-label{font-size:10px;text-align:right}.hud-weapon-bar{bottom:calc(var(--hud-toolbar-h) + 76px + env(safe-area-inset-bottom,0px));left:8px;right:auto;z-index:50;background:#0009;border-radius:8px;padding:4px 8px;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);border:1px solid rgba(255,255,255,.1)}.hud-weapon-grid{grid-template-columns:repeat(3,44px)}.hud-weapon-slot{width:44px;height:44px;font-size:20px;background:#00000080;border-radius:8px}.hud-weapon-slot.passive{width:30px;height:30px;font-size:15px}.fs-toggle{position:absolute;z-index:30;bottom:calc(8px + env(safe-area-inset-bottom,0px));left:8px;right:auto;width:44px;height:44px;background:#0009;border:1px solid rgba(255,255,255,.3);border-radius:8px;color:#fff;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.fs-toggle:active{background:#fff3}.pause-btn{min-height:44px;min-width:44px;font-size:14px}.character-card{min-height:44px}.codex-tab,.shop-item-btn{min-height:44px;font-size:14px}.setting-item label{font-size:14px}.toggle{width:50px;height:28px}.toggle-slider:before{height:22px;width:22px}.toggle input:checked+.toggle-slider:before{transform:translate(22px)}.combo-text{font-size:22px}}@media(max-width:768px)and (orientation:landscape){.hud-hp-container{top:calc(4px + env(safe-area-inset-top,0px));left:8px;bottom:auto;transform:none;width:min(180px,25vw);padding:3px 8px;gap:4px}.hud-hp-bar{height:8px}.hud-hp-text{font-size:10px;min-width:40px}.hud-top{top:calc(4px + env(safe-area-inset-top,0px));left:208px;right:8px;flex-direction:row;align-items:flex-start;gap:4px}.hud-top-left,.hud-top-right{flex-direction:row;gap:6px;padding:2px 8px}.hud-level{font-size:12px}.hud-xp-bar{width:70px;height:3px}.hud-coins{font-size:12px}.hud-kills{font-size:10px}.game-timer-hud{font-size:11px;padding:1px 6px}.hud-wave{font-size:14px;padding:2px 10px}.hud-wave-progress{width:120px;height:4px;top:30px}.hud-skill-bar{left:auto;right:6px;bottom:calc(var(--hud-toolbar-h) + env(safe-area-inset-bottom,0px) + 4px);transform:none;align-items:flex-end;z-index:50}.hud-skill-label{font-size:9px;text-align:right}.hud-skill-row{display:flex;flex-direction:column;gap:3px}.hud-skill-slot{width:36px;height:36px;font-size:16px;border-radius:6px}.hud-skill-slot .skill-level-badge{font-size:8px}.hud-weapon-bar{bottom:calc(var(--hud-toolbar-h) + env(safe-area-inset-bottom,0px) + 4px);left:6px;right:auto;z-index:50;padding:3px 6px}.hud-weapon-grid{grid-template-columns:repeat(6,38px);gap:3px}.hud-weapon-slot{width:38px;height:38px;font-size:17px;border-radius:5px}.hud-boss-bar{padding:2px 8px}.hud-boss-name{font-size:10px}.hud-boss-hp-bar{height:14px}.hud-boss-hp-pct{font-size:9px}.fs-toggle{width:36px;height:36px;font-size:14px;top:calc(4px + env(safe-area-inset-top,0px));bottom:auto;right:6px;left:auto}.hud-toolbar{inset:50% 0 auto auto;width:auto;transform:translateY(-50%);flex-direction:column;padding:6px 4px calc(6px + env(safe-area-inset-right,0px));border-top:none;border-left:1px solid rgba(255,255,255,.15);min-height:0}.hud-toolbar .toolbar-btn{flex:none;width:44px;max-width:none}.hud-skill-bar{right:calc(52px + env(safe-area-inset-right,0px));bottom:calc(6px + env(safe-area-inset-bottom,0px))}.hud-weapon-bar{left:6px;bottom:calc(6px + env(safe-area-inset-bottom,0px))}.menu-screen h1{font-size:22px}.menu-btn{width:160px;padding:10px 0;font-size:13px;min-height:38px}.skill-card{width:100px;padding:8px 6px}}@media(min-width:481px)and (max-width:768px){:root{--hud-toolbar-h: 56px}.hud-skill-bar{bottom:calc(var(--hud-toolbar-h) + env(safe-area-inset-bottom,0px) + 8px)}.hud-weapon-bar{bottom:calc(var(--hud-toolbar-h) + 80px + env(safe-area-inset-bottom,0px))}.toolbar-btn{min-height:48px}.toolbar-btn .tb-label{font-size:11px}.hud-weapon-slot,.hud-skill-slot{width:48px;height:48px;font-size:22px}.menu-btn{min-height:48px;font-size:15px;padding:14px 0}.char-card{min-height:48px;width:130px;padding:12px}.character-card{min-height:48px}.skill-card{min-height:48px;width:130px;padding:12px 10px}.codex-tab{min-height:48px;font-size:15px;padding:8px 16px}.shop-item-btn,.wave-shop-item-btn,.meta-shop-buy{min-height:48px;font-size:14px}.upgrade-btn,.faction-char-card{min-height:48px}.codex-content{grid-template-columns:repeat(2,1fr);max-width:600px}.codex-card-boss{grid-column:span 2}.meta-shop-items{grid-template-columns:1fr!important}.meta-shop-tab{flex:1 1 calc(50% - 8px);min-width:120px;font-size:12px;padding:10px 8px}#settlement-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;width:min(450px,85vw)}#wave-shop-items{display:grid!important;grid-template-columns:repeat(2,1fr);gap:10px}.hud-hp-container{width:min(350px,50vw);padding:6px 12px}.hud-hp-bar{height:12px}.hud-hp-text{font-size:13px;min-width:70px}.hud-top{gap:12px}.hud-level{font-size:15px}.hud-xp-bar{width:120px;height:5px}.hud-coins{font-size:14px}.hud-kills{font-size:13px}.hud-weapon-grid{grid-template-columns:repeat(6,48px);gap:6px}.hud-skill-row{gap:6px}.hud-boss-bar{padding:4px 12px}.hud-boss-name{font-size:12px}.hud-boss-hp-bar{height:22px}.hud-boss-hp-pct{font-size:11px}#game-over .final-score{font-size:52px}.stat-row{font-size:14px}}@media(min-width:769px){#hud{font-size:14px}.hud-top{top:calc(16px + env(safe-area-inset-top,0px));left:16px;right:16px;gap:16px}.hud-top-left,.hud-top-right{padding:8px 16px;border-radius:10px;gap:6px}.hud-level{font-size:16px}.hud-xp-bar{width:160px;height:6px;border-radius:3px}.hud-coins{font-size:15px}.hud-kills{font-size:13px}.hud-wave{font-size:28px;padding:6px 24px}.hud-wave-progress{width:280px;height:8px;top:50px}.hud-hp-container{width:min(400px,35vw);padding:6px 14px;gap:8px}.hud-hp-bar{height:14px;border-radius:7px}.hud-hp-text{font-size:14px;min-width:80px}.hud-skill-slot{width:44px;height:44px;font-size:22px;border-radius:6px}.hud-weapon-grid{grid-template-columns:repeat(6,50px);gap:6px}.hud-weapon-slot{width:50px;height:50px;font-size:24px;border-radius:8px}.hud-weapon-slot.passive{width:32px;height:32px;font-size:16px}.game-timer-hud{font-size:15px;padding:4px 14px}.hud-boss-bar{padding:6px 20px}.hud-boss-name{font-size:14px}.hud-boss-hp-bar{height:26px}.hud-boss-hp-pct{font-size:13px}.combo-text{font-size:36px}.menu-screen h1{font-size:42px}.menu-btn{width:260px;padding:16px 0;font-size:17px;letter-spacing:3px;margin:8px 0}.char-card{width:140px;padding:14px}.skill-card,.character-card{width:150px;padding:16px 12px}.faction-char-card{width:140px;padding:12px}.codex-content{grid-template-columns:repeat(3,1fr);max-width:750px;max-height:50vh;gap:12px}.codex-card-boss{grid-column:span 3}#settlement-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;width:min(500px,40vw)}#game-over .final-score{font-size:64px}.stat-row{padding:10px 18px;font-size:14px}.meta-shop-items{grid-template-columns:repeat(2,1fr)!important}#wave-shop-items{display:grid!important;grid-template-columns:repeat(2,1fr);gap:12px}.fs-toggle{width:36px;height:36px;font-size:16px}.hud-weapon-bar{border-radius:10px;padding:6px 14px}.pause-title{font-size:42px}.pause-btn{min-width:240px;padding:16px 50px;font-size:17px}}@media(display-mode:fullscreen){body,#game-container{background:#000}}@media(min-width:481px){.fs-toggle{position:absolute;z-index:30;bottom:calc(8px + env(safe-area-inset-bottom,0px));right:calc(8px + env(safe-area-inset-right,0px));width:32px;height:32px;background:#0000004d;border:1px solid rgba(255,255,255,.2);border-radius:6px;color:#888;font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:.5;transition:opacity .2s}.fs-toggle:hover{opacity:1;color:#fff}}#low-hp-warning{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:9;opacity:0;transition:opacity .3s}#low-hp-warning.active{opacity:.3;background:radial-gradient(ellipse at center,transparent 40%,rgba(255,0,0,.3) 70%,rgba(255,0,0,.6) 100%);animation:lowHpPulse .5s ease-in-out infinite}#low-hp-warning.active.critical{animation:lowHpPulseFast .3s ease-in-out infinite}@keyframes lowHpPulse{0%,to{background:radial-gradient(ellipse at center,transparent 40%,rgba(255,0,0,.2) 70%,rgba(255,0,0,.5) 100%)}50%{background:radial-gradient(ellipse at center,transparent 40%,rgba(255,0,0,.35) 70%,rgba(255,0,0,.8) 100%)}}@keyframes lowHpPulseFast{0%,to{background:radial-gradient(ellipse at center,transparent 40%,rgba(255,0,0,.3) 70%,rgba(255,0,0,.6) 100%)}50%{background:radial-gradient(ellipse at center,transparent 40%,rgba(255,0,0,.5) 70%,rgba(255,0,0,.9) 100%)}}.hud-buff-bar{position:absolute;left:50%;transform:translate(-50%);bottom:calc(104px + env(safe-area-inset-bottom,0px));display:flex;gap:4px;flex-wrap:wrap;justify-content:center;max-width:min(320px,65vw);pointer-events:auto}.buff-icon{width:32px;height:32px;position:relative;border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:16px;cursor:default;background:#00000080;border:2px solid rgba(68,255,68,.6);box-shadow:0 0 4px #4f43}.buff-icon.debuff{border-color:#f449;box-shadow:0 0 4px #f443}.buff-icon canvas{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}@media(max-width:768px)and (orientation:landscape){.hud-buff-bar{bottom:calc(80px + env(safe-area-inset-bottom,0px))}}@media(min-width:769px){.hud-buff-bar{bottom:calc(120px + env(safe-area-inset-bottom,0px))}}.dps-bar-row{display:flex;align-items:center;gap:8px;padding:6px 10px;margin:4px 0;border-radius:4px;background:#ffffff0a;font-size:11px}.dps-bar-icon{font-size:16px;width:24px;text-align:center;flex-shrink:0}.dps-bar-label{width:80px;color:#fff;font-weight:700;text-align:left;flex-shrink:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dps-bar-track{flex:1;height:12px;background:#ffffff1a;border-radius:3px;overflow:hidden;min-width:40px}.dps-bar-fill{height:100%;border-radius:3px;transition:width .3s}.dps-bar-value{width:70px;text-align:right;color:#ccc;font-size:10px;flex-shrink:0}.dps-bar-pct{width:40px;text-align:right;color:#888;font-size:10px;flex-shrink:0}.fs-ios-fallback #game-container{position:fixed!important;top:0!important;left:0!important;width:100%!important;height:100%!important;z-index:9999!important}.fs-ios-fallback canvas{max-width:100%!important;max-height:100%!important}#upgrade-shop{display:none}#upgrade-shop .shop-header{display:flex;align-items:center;justify-content:space-between;width:100%;max-width:400px;margin-bottom:16px}#upgrade-shop .star-coins-display{font-size:18px;color:#fd0;text-shadow:0 0 10px rgba(255,221,0,.5)}#upgrade-shop .upgrade-list{display:flex;flex-direction:column;gap:10px;width:100%;max-width:400px;max-height:60vh;overflow-y:auto;padding:0 10px}.upgrade-item{display:flex;align-items:center;gap:12px;padding:12px 16px;border:2px solid rgba(255,255,255,.15);border-radius:10px;background:#ffffff0d;transition:all .2s}.upgrade-item:hover{border-color:#ffdd004d;background:#ffffff14}.upgrade-icon{font-size:28px;flex-shrink:0}.upgrade-info{flex:1;text-align:left}.upgrade-name{font-size:14px;font-weight:700;color:#fff}.upgrade-level{font-size:11px;color:#888;margin-top:2px}.upgrade-effect{font-size:11px;color:#4df;margin-top:2px}.upgrade-btn{padding:8px 16px;border:2px solid #ffdd00;border-radius:6px;background:#ffdd0026;color:#fd0;font-size:13px;cursor:pointer;transition:all .2s;flex-shrink:0;min-width:90px;text-align:center}.upgrade-btn:hover:not(:disabled){background:#ffdd004d;transform:scale(1.05)}.upgrade-btn:disabled{border-color:#fff3;color:#ffffff4d;background:#ffffff0d;cursor:not-allowed}.upgrade-btn.max-level{border-color:#4d4;color:#4d4;background:#44dd441a;cursor:default}.star-coin-earned{font-size:20px;color:#fd0;margin-top:8px;text-shadow:0 0 15px rgba(255,221,0,.6)}#countdown-overlay{display:none;position:absolute;top:0;left:0;width:100%;height:100%;z-index:55;flex-direction:column;align-items:center;justify-content:center;pointer-events:none}.countdown-number{font-size:120px;font-weight:700;color:#fd0;text-shadow:0 0 40px rgba(255,221,0,.8),0 0 80px rgba(255,136,0,.4);animation:countdownPop .8s ease-out forwards}.countdown-go{font-size:80px;font-weight:700;color:#4f4;text-shadow:0 0 40px rgba(68,255,68,.8),0 0 80px rgba(68,255,68,.4);animation:countdownPop .6s ease-out forwards}@keyframes countdownPop{0%{transform:scale(2.5);opacity:0}30%{transform:scale(.9);opacity:1}50%{transform:scale(1.05)}to{transform:scale(1);opacity:1}}#pause-overlay{display:none;position:absolute;top:0;left:0;width:100%;height:100%;background:#00000080;z-index:50;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}.pause-title{font-size:36px;color:#fd0;font-weight:700;text-shadow:0 0 20px rgba(255,221,0,.5)}.pause-buttons{display:flex;flex-direction:column;gap:12px;margin-top:20px}.pause-btn{padding:14px 40px;border:2px solid rgba(255,255,255,.3);border-radius:8px;background:#ffffff14;color:#fff;font-size:16px;cursor:pointer;transition:all .2s;min-width:200px;text-align:center}.pause-btn:hover{border-color:#fd0;background:#ffdd0026;color:#fd0;transform:scale(1.05)}.pause-sub-content{max-width:340px;max-height:50vh;overflow-y:auto;padding:10px;text-align:center}.pause-sub-content h3{font-size:20px;color:#fd0;margin-bottom:12px;text-shadow:0 0 10px rgba(255,221,0,.4)}.pause-sub-item{display:flex;align-items:center;gap:10px;padding:10px 14px;margin:6px 0;border:1px solid rgba(255,255,255,.15);border-radius:8px;background:#ffffff0d;text-align:left}.pause-sub-item .item-icon{font-size:24px;flex-shrink:0}.pause-sub-item .item-name{font-size:13px;font-weight:700;color:#fff}.pause-sub-item .item-desc{font-size:11px;color:#aaa;margin-top:2px}.pause-sub-empty{font-size:14px;color:#888;padding:20px}#in-run-shop{position:absolute;top:0;left:0;width:100%;height:100%;background:#05051ef2;z-index:60;flex-direction:column;align-items:center;overflow-y:auto;padding:calc(20px + env(safe-area-inset-top,0px)) calc(20px + env(safe-area-inset-right,0px)) calc(20px + env(safe-area-inset-bottom,0px)) calc(20px + env(safe-area-inset-left,0px))}.shop-header{text-align:center;margin-bottom:20px}.shop-title{font-size:28px;color:#fd0;font-weight:700;text-shadow:0 0 15px rgba(255,221,0,.5)}.shop-gold{font-size:20px;color:#fd0;margin-top:8px}.shop-items{display:flex;flex-direction:column;gap:12px;width:100%;max-width:400px;margin-bottom:20px}.shop-item{display:flex;align-items:center;gap:12px;padding:12px 16px;border:2px solid rgba(255,255,255,.15);border-radius:10px;background:#ffffff0d;transition:all .2s}.shop-item:hover{border-color:#ffdd004d;background:#ffffff14}.shop-item-icon{font-size:28px;flex-shrink:0}.shop-item-info{flex:1;text-align:left}.shop-item-name{font-size:14px;font-weight:700;color:#fff}.shop-item-level{font-size:11px;color:#888;margin-top:2px}.shop-item-desc{font-size:11px;color:#4df;margin-top:2px}.shop-item-btn{padding:8px 16px;border:2px solid #ffdd00;border-radius:6px;background:#ffdd0026;color:#fd0;font-size:13px;cursor:pointer;transition:all .2s;flex-shrink:0;min-width:90px;text-align:center}.shop-item-btn:hover:not(:disabled){background:#ffdd004d;transform:scale(1.05)}.shop-item-btn:disabled{border-color:#fff3;color:#ffffff4d;background:#ffffff0d;cursor:not-allowed}.shop-item-btn.max-level{border-color:#4d4;color:#4d4;background:#44dd441a;cursor:default}.wave-shop-item{display:flex;align-items:center;gap:12px;padding:12px 16px;border:2px solid rgba(255,255,255,.15);border-radius:10px;background:#ffffff0d;transition:all .2s}.wave-shop-item:hover:not(.disabled){border-color:#ffdd004d;background:#ffffff14}.wave-shop-item.disabled{opacity:.5}.wave-shop-item-icon{font-size:28px;flex-shrink:0}.wave-shop-item-info{flex:1;text-align:left}.wave-shop-item-name{font-size:14px;font-weight:700;color:#fff}.wave-shop-item-desc{font-size:11px;color:#4df;margin-top:2px}.wave-shop-item-btn{padding:8px 16px;border:2px solid #ffdd00;border-radius:6px;background:#ffdd0026;color:#fd0;font-size:13px;cursor:pointer;transition:all .2s;flex-shrink:0;min-width:90px;text-align:center}.wave-shop-item-btn:hover:not(:disabled){background:#ffdd004d;transform:scale(1.05)}.wave-shop-item-btn.cant-afford{border-color:#fff3;color:#ffffff4d;background:#ffffff0d;cursor:not-allowed}.wave-shop-btn{padding:14px 24px;border:2px solid;border-radius:8px;font-size:16px;cursor:pointer;transition:all .2s;min-width:140px;text-align:center}.wave-shop-btn:hover{transform:scale(1.05)}.codex-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:15px 0;justify-content:center}.codex-tab{padding:6px 14px;border:2px solid rgba(255,255,255,.3);border-radius:6px;background:#ffffff0d;color:#fff;cursor:pointer;transition:all .2s;font-size:13px}.codex-tab:hover{border-color:#fd0}.codex-tab.active{border-color:#fd0;background:#fd03;color:#fd0}.codex-content{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;max-width:500px;max-height:45vh;overflow-y:auto;padding:10px}.codex-card{padding:10px;border:2px solid rgba(255,255,255,.2);border-radius:8px;background:#ffffff0d;text-align:center;transition:all .2s}.codex-card:hover{border-color:#fd0;transform:scale(1.05)}.codex-card-icon{font-size:24px;margin-bottom:5px}.codex-card-name{font-size:12px;font-weight:700;color:#fff}.codex-card-desc{font-size:10px;color:#aaa;margin-top:4px}.codex-card.codex-locked{opacity:.55;border-color:#333!important}.codex-card.codex-locked:hover{transform:none;border-color:#444!important}.codex-card-badge{font-size:9px;padding:2px 6px;border-radius:4px;margin-bottom:4px;display:inline-block}.codex-card-badge.discovered{color:#6fa;background:#44ffaa1f}.codex-card-badge.undiscovered{color:#fa6;background:#ffaa661f}.codex-card-fusion{font-size:9px;color:#fd0;margin-top:3px}.codex-card-stats{font-size:9px;color:#8ac;margin-top:3px}.codex-card-boss{grid-column:span 2}.codex-card-phases{margin-top:6px;text-align:left}.codex-phase{font-size:9px;color:#aaa;padding:2px 0;display:flex;gap:6px;align-items:center}.codex-phase-hp{color:#f66;font-weight:700;min-width:42px}.codex-phase-name{color:#caf}.settings-divider{width:200px;height:1px;background:#ffffff26;margin:20px 0}.settings-content{max-width:300px;width:100%}.setting-item{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.1)}.setting-item label{font-size:14px;color:#fff}.setting-item input[type=range]{width:120px;accent-color:#ffdd00}.toggle{position:relative;display:inline-block;width:50px;height:24px}.toggle input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;inset:0;background-color:#fff3;transition:.3s;border-radius:24px}.toggle-slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:#fff;transition:.3s;border-radius:50%}.toggle input:checked+.toggle-slider{background-color:#4d4}.toggle input:checked+.toggle-slider:before{transform:translate(26px)}.setting-select{padding:4px 10px;border:1px solid rgba(255,255,255,.3);border-radius:6px;background:#ffffff14;color:#fff;font-size:13px;cursor:pointer;outline:none;accent-color:#ffdd00}.setting-select option{background:#1a1a3a;color:#fff}.meta-shop-layout{justify-content:flex-start;padding:max(16px,env(safe-area-inset-top)) 16px max(16px,env(safe-area-inset-bottom));overflow:hidden}.meta-shop-panel{width:min(1100px,100%);flex:1;min-height:0;display:flex;flex-direction:column;align-items:stretch;gap:12px}.meta-shop-header{text-align:center;flex-shrink:0}.meta-shop-balance{font-size:20px;color:#fd0;margin:12px 0 4px;text-shadow:0 0 12px rgba(255,221,0,.5)}.meta-shop-tabs{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;flex-shrink:0}.meta-shop-tab{padding:10px 18px;border:2px solid rgba(255,255,255,.3);border-radius:8px;background:#ffffff0d;color:#fff;cursor:pointer;transition:all .2s;font-size:13px;min-height:44px}.meta-shop-tab:hover{border-color:#fd0}.meta-shop-tab.active{border-color:#fd0;background:#fd03;color:#fd0}.meta-shop-items{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;width:100%;flex:1;min-height:0;max-height:none;overflow-y:auto;padding:4px 4px 12px;margin-bottom:0;-webkit-overflow-scrolling:touch}.meta-shop-back{flex-shrink:0;width:min(280px,100%);margin:0 auto 8px}.meta-shop-card{display:flex;align-items:center;gap:12px;padding:14px 16px;border:2px solid rgba(255,255,255,.12);border-radius:10px;background:#ffffff0a;transition:all .25s;min-height:88px}.meta-shop-card:hover{border-color:#ffdd0059;background:#ffffff14;transform:translateY(-1px)}.meta-shop-card.owned{border-color:#4d46;background:#44dd440f}.meta-shop-icon{font-size:30px;flex-shrink:0;width:40px;text-align:center}.meta-shop-info{flex:1;text-align:left}.meta-shop-name{font-size:14px;font-weight:700;color:#fff}.meta-shop-desc{font-size:11px;color:#8cf;margin-top:3px;line-height:1.3}.meta-shop-category{font-size:10px;color:#666;margin-top:2px}.meta-shop-buy{padding:8px 14px;border:2px solid #ffdd00;border-radius:6px;background:#ffdd001f;color:#fd0;font-size:13px;cursor:pointer;transition:all .2s;flex-shrink:0;min-width:80px;text-align:center;white-space:nowrap}.meta-shop-buy:hover:not(:disabled){background:#ffdd004d;transform:scale(1.05)}.meta-shop-buy:disabled{border-color:#fff3;color:#ffffff4d;background:#ffffff0d;cursor:not-allowed}.meta-shop-buy.owned-btn{border-color:#4d4;color:#4d4;background:#44dd441a;cursor:default}@media(min-width:1100px){.meta-shop-items{grid-template-columns:repeat(3,1fr)!important}}#loading-screen{position:fixed;top:0;left:0;width:100%;height:100%;background:#050515;z-index:1000;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:opacity .5s}#loading-screen.fade-out{opacity:0;pointer-events:none}#loading-canvas{position:absolute;top:0;left:0;width:100%;height:100%}.loading-content{position:relative;z-index:1;text-align:center}.loading-title{font-size:32px;font-weight:700;margin-bottom:8px;background:linear-gradient(180deg,#fd0,#f80);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.loading-subtitle{font-size:14px;color:#666;margin-bottom:30px}.loading-bar-container{width:200px;height:4px;background:#ffffff1a;border-radius:2px;overflow:hidden;margin:0 auto}.loading-bar{height:100%;width:0%;background:linear-gradient(90deg,#fd0,#f80);border-radius:2px;transition:width .3s}.loading-text{font-size:12px;color:#555;margin-top:12px}#error-screen{position:fixed;top:0;left:0;width:100%;height:100%;background:#0a0a1a;z-index:2000;display:none;flex-direction:column;align-items:center;justify-content:center;color:#fff;text-align:center;padding:20px}#error-screen .error-icon{font-size:48px;margin-bottom:16px}#error-screen .error-msg{font-size:16px;color:#ccc;margin-bottom:24px;max-width:300px}#error-screen .error-btn{padding:12px 32px;border:2px solid #ffdd00;border-radius:8px;background:#ffdd0026;color:#fd0;font-size:15px;cursor:pointer}.version-info{font-size:11px;color:#555;margin-top:16px;text-align:center}.welcome-back{position:absolute;top:60px;left:50%;transform:translate(-50%);background:linear-gradient(135deg,#fd03,#f803);border:1px solid rgba(255,221,0,.4);border-radius:10px;padding:12px 24px;z-index:25;text-align:center;animation:welcomeFadeIn .5s ease-out,welcomeFadeOut .5s ease-in 4.5s forwards}.welcome-back .wb-title{font-size:18px;color:#fd0;font-weight:700}.welcome-back .wb-desc{font-size:12px;color:#aaa;margin-top:4px}@keyframes welcomeFadeIn{0%{opacity:0;transform:translate(-50%) translateY(-10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@keyframes welcomeFadeOut{0%{opacity:1}to{opacity:0}}#talent-screen{flex-direction:column;align-items:center;gap:12px;max-height:100vh;overflow-y:auto;padding:20px 10px;-webkit-overflow-scrolling:touch}.talent-points-display{font-size:16px;color:#fd0;font-weight:700;background:#ffdd001a;border:1px solid rgba(255,221,0,.3);border-radius:8px;padding:6px 16px}.talent-branches{display:flex;gap:6px;flex-wrap:wrap;justify-content:center}.talent-branch-tab{padding:6px 14px;border-radius:6px;font-size:13px;cursor:pointer;border:2px solid transparent;background:#ffffff14;color:#ccc;transition:all .2s}.talent-branch-tab.active{border-color:var(--branch-color, #ffdd00);background:#ffffff26;color:#fff;font-weight:700}.talent-tree{width:100%;max-width:500px;display:flex;flex-direction:column;gap:8px}.talent-layer{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.talent-layer-label{font-size:11px;color:#666;width:100%;text-align:center;margin-bottom:2px}.talent-node{width:90px;padding:8px 4px;border-radius:8px;text-align:center;background:#ffffff0f;border:2px solid rgba(255,255,255,.12);cursor:pointer;transition:all .2s;font-size:11px;color:#bbb;display:flex;flex-direction:column;align-items:center;gap:2px}.talent-node:hover:not(.locked):not(.selected){background:#ffffff1f;border-color:#ffffff40}.talent-node.selected{border-color:var(--branch-color, #ffdd00);background:#ffdd0026;color:#fff;font-weight:700;box-shadow:0 0 8px #ffdd004d}.talent-node.locked{opacity:.35;cursor:not-allowed}.talent-node-icon{font-size:20px}.talent-node-name{font-size:12px;line-height:1.2}.talent-node-desc{font-size:10px;color:#888;line-height:1.2;display:none}.talent-node.selected .talent-node-desc,.talent-node:hover .talent-node-desc{display:block}.talent-footer{display:flex;gap:12px;margin-top:8px}#tutorial-overlay{display:none;position:absolute;top:0;left:0;width:100%;height:100%;z-index:55;pointer-events:auto}.tutorial-backdrop{position:absolute;top:0;left:0;width:100%;height:100%;background:#0009}.tutorial-skip-btn{position:absolute;top:12px;right:12px;padding:6px 16px;border:1px solid rgba(255,255,255,.4);border-radius:6px;background:#ffffff1a;color:#ffffffb3;font-size:13px;cursor:pointer;transition:all .2s;z-index:2}.tutorial-skip-btn:hover{background:#fff3;color:#fff}.tutorial-content{position:absolute;left:50%;bottom:25%;transform:translate(-50%);text-align:center;z-index:2;width:90%;max-width:320px;animation:tutorialFadeIn .4s ease-out}@keyframes tutorialFadeIn{0%{opacity:0;transform:translate(-50%) translateY(10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.tutorial-step-indicator{font-size:12px;color:#ffffff80;margin-bottom:6px}.tutorial-icon{font-size:48px;margin-bottom:8px;filter:drop-shadow(0 0 12px rgba(255,255,255,.3))}.tutorial-text{font-size:18px;font-weight:700;color:#fff;text-shadow:0 0 10px rgba(255,255,255,.3);margin-bottom:4px}.tutorial-hint{font-size:13px;color:#aaa}.tutorial-highlight{position:absolute;z-index:1;border:2px solid rgba(255,221,0,.8);border-radius:8px;box-shadow:0 0 15px #fd06,inset 0 0 15px #ffdd001a;pointer-events:none;animation:tutorialPulse 1.5s ease-in-out infinite}@keyframes tutorialPulse{0%,to{box-shadow:0 0 15px #fd06,inset 0 0 15px #ffdd001a}50%{box-shadow:0 0 25px #ffdd00b3,inset 0 0 20px #fd03}}@media(hover:none)and (pointer:coarse),(max-width:768px){.hud-skill-slot,.hud-weapon-bar,.hud-hp-container,.hud-top-left,.hud-top-right,.hud-wave,.hud-wave-progress,.game-timer-hud,.hud-boss-bar,.fs-toggle{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}}#season-pass-screen{display:none;flex-direction:column;align-items:center;padding:20px;overflow-y:auto}.season-pass-header{text-align:center;margin-bottom:16px}.season-pass-header h1{font-size:28px;color:#fd0;margin-bottom:4px}.season-pass-free-badge{display:inline-block;font-size:12px;color:#4f8;border:1px solid rgba(68,255,136,.5);border-radius:12px;padding:2px 10px;margin-bottom:8px}.season-pass-timer{font-size:12px;color:#acf;margin:6px 0 10px;text-align:center}.season-pass-progress{width:min(400px,90vw);margin-bottom:16px}.season-pass-progress-bar{height:8px;background:#ffffff26;border-radius:4px;overflow:hidden}.season-pass-progress-fill{height:100%;background:linear-gradient(90deg,#fd0,#f80);width:0%;transition:width .3s}.season-pass-stats{display:flex;justify-content:space-between;font-size:13px;color:#aaa;margin-top:6px}#season-pass-list{width:min(440px,95vw);max-height:55vh;overflow-y:auto;display:flex;flex-direction:column;gap:8px}.season-reward-row{display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid rgba(255,255,255,.12);border-radius:8px;background:#ffffff0a;font-size:13px}.season-reward-row.unlocked{border-color:#ffdd0059}.season-reward-row.claimed{opacity:.55}.season-reward-lv{width:42px;color:#fd0;font-weight:700}.season-reward-icon{font-size:20px;width:28px;text-align:center}.season-reward-label{flex:1;color:#fff}.season-reward-xp{font-size:11px;color:#888;width:56px;text-align:right}.season-claim-btn{padding:4px 10px;border:1px solid #ffdd00;border-radius:6px;background:#ffdd001f;color:#fd0;font-size:11px;cursor:pointer}.season-claim-btn:disabled{opacity:.45;cursor:default;border-color:#fff3;color:#888}
