*{box-sizing:border-box;margin:0;padding:0}html,body{color:#e8e0ff;-webkit-user-select:none;user-select:none;background:#0a0a12;width:100%;height:100%;font-family:Segoe UI,system-ui,sans-serif;overflow:hidden}#game-container{width:100%;height:100%;position:relative}.paypal-donate-slot{pointer-events:auto;width:100%;min-width:300px;min-height:110px;margin:16px 0 8px;display:block;overflow:visible}.paypal-donate-slot>div{max-width:100%;width:100%!important}.paypal-donate-slot iframe{min-width:300px;max-width:100%;width:100%!important}.paypal-donate-slot.paypal-donate-loading,.paypal-donate-slot.paypal-donate-error{color:#999;text-align:center;justify-content:center;align-items:center;font-size:13px;display:flex}.paypal-donate-slot.paypal-donate-error{color:#f87171}#game-canvas{touch-action:none;cursor:default;width:100%;height:100%;display:block}#game-canvas.camera-look{cursor:none}#ui-layer{pointer-events:none;position:absolute;inset:0}#ui-layer>*{pointer-events:none}#ui-layer .screen,#ui-layer button,#ui-layer .btn,#ui-layer .hud-mobile-tab,#ui-layer .char-card,#ui-layer .skill-node,#ui-layer .upgrade-card,#ui-layer .paypal-donate-slot,#tutorial-overlay,#tutorial-overlay *,#levelup-overlay,#levelup-overlay .upgrade-card{pointer-events:auto}#levelup-overlay{z-index:1000}.hud{pointer-events:none;justify-content:space-between;align-items:flex-start;padding:16px 20px;display:flex;position:absolute;top:0;left:0;right:0}.hud-left,.hud-right{flex-direction:column;gap:8px;display:flex}.stat-bar{background:#0009;border:2px solid #6b4fd4;border-radius:8px;min-width:200px;padding:8px 14px}.stat-bar label{text-transform:uppercase;letter-spacing:1px;color:#a89fd4;margin-bottom:4px;font-size:11px;display:block}.ability-bar{gap:8px;display:flex}.ability-slot{background:#0a0818e6;border:2px solid #4a3a8a;border-radius:8px;justify-content:center;align-items:center;width:48px;height:48px;transition:border-color .15s,box-shadow .15s;display:flex;position:relative;overflow:hidden}.ability-slot.ability-ready{border-color:#8ca;box-shadow:0 0 10px #64dca059}.ability-slot.ability-cooldown{border-color:#3a3058}.ability-slot.ability-cooldown .ability-icon{opacity:.5}.ability-icon{z-index:1;font-size:20px;line-height:1;transition:opacity .12s}.ability-key{color:#c8b8ff;z-index:3;text-shadow:0 1px 2px #000000e6;font-size:9px;font-weight:700;position:absolute;bottom:2px;right:3px}.cooldown-radar{pointer-events:none;z-index:2;border-radius:6px;position:absolute;inset:0}.cooldown-radar.hidden{display:none}.cooldown-sweep{border-radius:inherit;background:conic-gradient(from -90deg, #080612d1 0deg, #080612d1 var(--cd-deg,360deg), transparent var(--cd-deg,360deg), transparent 360deg);position:absolute;inset:0}.cooldown-hand{transform-origin:50% 100%;background:linear-gradient(#8cbeff59,#d2ebfff2);border-radius:1px;width:2px;height:46%;margin-top:-46%;margin-left:-1px;position:absolute;top:50%;left:50%;transform:rotate(0);box-shadow:0 0 4px #a0d2ffa6}.cooldown-hand:after{content:"";background:#d2ebfff2;border-radius:50%;width:5px;height:5px;margin-bottom:-2.5px;margin-left:-2.5px;position:absolute;bottom:0;left:50%;box-shadow:0 0 5px #a0d2ffcc}.bar-track{background:#1a1030;border-radius:6px;height:12px;overflow:hidden}.bar-fill{border-radius:6px;height:100%;transition:width .2s}.bar-fill.hp{background:linear-gradient(90deg,#c0392b,#e74c3c)}.bar-fill.xp{background:linear-gradient(90deg,#2980b9,#6dd5fa)}.bar-fill.combo{background:linear-gradient(90deg,#f39c12,#f1c40f)}.enemy-hp-bar{pointer-events:none;background:#000000b3;border:1px solid #000000d9;border-radius:2px;height:5px;position:absolute;overflow:hidden;transform:translate(-50%,-100%)}.enemy-hp-fill{background:linear-gradient(#6ee86e,#2a9e2a);width:100%;height:100%;transition:width 80ms linear}.enemy-hp-bar.boss{border-color:#f7c948;height:8px;box-shadow:0 0 6px #f7c94880}.enemy-hp-bar.boss .enemy-hp-fill{background:linear-gradient(#ff7b7b,#c22)}.hud-stat{font-size:14px;font-weight:600}.hud-right-stack{pointer-events:none;z-index:12;flex-direction:column;gap:8px;width:260px;display:flex;position:absolute;top:16px;right:16px}.hud-mobile-tabs{display:none}.hud-panel-body{flex-direction:column;gap:8px;width:100%;display:flex}.hud-right-stack .game-metrics,.game-metrics-in-hud{box-sizing:border-box;flex-shrink:0;width:100%;min-width:0;position:static;top:auto;right:auto}.buff-bar{background:#0a0818d9;border:2px solid #4a3a8a;border-radius:10px;width:100%;padding:10px 12px}.buff-bar h3{color:#b8a8ff;text-transform:uppercase;letter-spacing:1px;margin-bottom:8px;font-size:13px}.buff-bar-track{flex-wrap:wrap;align-content:flex-start;align-items:flex-start;gap:6px;min-height:44px;display:flex}.buff-empty{color:#666;font-size:11px;font-style:italic}.buff-chip{pointer-events:auto;cursor:help;background:#1e143cf2;border:1px solid #6b4fd4;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:2px;min-width:42px;padding:5px 6px 4px;display:flex}.buff-tooltip{z-index:1200;color:#e8e0ff;pointer-events:none;background:#0c081cf5;border:1px solid #6b4fd4;border-radius:8px;max-width:240px;padding:8px 10px;font-size:12px;line-height:1.35;position:fixed;transform:translate(-50%);box-shadow:0 4px 16px #00000073}.buff-tooltip.hidden{display:none}.buff-chip-meta{background:#28200cf2;border-color:#f7c948}.buff-chip-meta .buff-chip-amount{color:#f7c948}.buff-chip-icon{font-size:17px;line-height:1}.buff-chip-amount{color:#6ee86e;font-variant-numeric:tabular-nums;font-size:10px;font-weight:800;line-height:1.1}.buff-chip-debuff{background:#280c0cf2;border-color:#e74c3c}.buff-chip-debuff .buff-chip-amount{color:#ff6b6b}.buff-chip-highlight{border-color:#6ee86e;animation:.45s buff-chip-pulse;box-shadow:0 0 14px #6ee86e8c}@keyframes buff-chip-pulse{0%,to{transform:scale(1)}45%{transform:scale(1.18)}}.quest-panel{pointer-events:none;background:#0a0818d9;border:2px solid #4a3a8a;border-radius:10px;width:100%;padding:12px;position:relative}.quest-panel h3{color:#b8a8ff;text-transform:uppercase;letter-spacing:1px;margin-bottom:8px;font-size:13px}.quest-item{color:#ccc;border-bottom:1px solid #6b4fd44d;padding:6px 0;font-size:12px}.quest-item.done{color:#4ade80;text-decoration:line-through}.quest-item .progress{color:#fbbf24;font-weight:600}.quest-item--active{color:#f0e8ff;background:#6b4fd426;border-left:3px solid #f7c948;border-radius:4px;margin:0 -8px;padding:6px 8px}.title-daily{color:#a89fd4;margin-top:8px;font-size:13px}.run-summary-screen{max-width:520px;margin:0 auto;padding:24px}.run-summary-title{color:#f7c948;margin-bottom:8px;font-size:36px}.run-summary-cause{color:#f89;margin:0 0 10px;font-size:1.05rem}.run-summary-cause strong{color:#ffccd5}.run-summary-sub{color:#aaa;margin-bottom:20px}.run-summary-grid{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:20px;display:grid}.run-summary-stat{background:#6b4fd41f;border:1px solid #6b4fd44d;border-radius:6px;flex-direction:column;gap:4px;padding:10px 12px;display:flex}.run-summary-stat span{color:#888;text-transform:uppercase;font-size:11px}.run-summary-stat strong{color:#f0e8ff;font-size:16px}.run-summary-build h3,.run-summary-new h3{color:#a89fd4;margin-bottom:8px;font-size:14px}.run-summary-buffs{flex-wrap:wrap;gap:6px;margin-bottom:16px;display:flex}.run-summary-buff{background:#f7c94826;border:1px solid #f7c94866;border-radius:4px;padding:4px 8px;font-size:12px}.run-summary-muted{color:#666;font-size:12px}.run-summary-achievement{color:#4ade80;padding:6px 0;font-size:13px}.run-summary-daily{color:#f7c948;margin:12px 0;font-weight:600}.run-summary-hint{margin:16px 0}.run-summary-actions{flex-direction:column;align-items:center;width:100%;display:flex}#ui-layer.run-summary-open #hud,#ui-layer.run-summary-open .hud-right-stack,#ui-layer.run-summary-open .synergy-bar,#ui-layer.run-summary-open .controls-hint,#ui-layer.run-summary-open .game-metrics,#ui-layer.run-summary-open #interact-prompt,#ui-layer.run-summary-open .reward-strip,#ui-layer.run-summary-open #damage-flash,#ui-layer.run-summary-open #low-hp-vignette,#ui-layer.run-summary-open #boss-intro,#ui-layer.run-summary-open #boss-defeat,#ui-layer.run-summary-open #boss-victory-flash,#ui-layer.run-summary-open #run-alert{display:none!important}.tutorial-overlay{z-index:200;width:calc(100% - 32px);max-width:360px;position:fixed;bottom:120px;left:50%;transform:translate(-50%)}.tutorial-overlay.hidden{display:none}.tutorial-card{background:#181224f2;border:2px solid #6b4fd4;border-radius:8px;padding:16px 20px;box-shadow:0 8px 32px #00000080}.tutorial-card h3{color:#f7c948;margin-bottom:8px;font-size:18px}.tutorial-progress{color:#888;letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px;font-size:11px}.tutorial-card p{color:#ccc;margin-bottom:12px;font-size:14px;line-height:1.4}.tutorial-action-hint{color:#f7c948;letter-spacing:.04em;margin:0;font-size:13px;font-weight:600}.touch-controls{pointer-events:none;z-index:50;position:fixed;inset:0}.touch-controls.hidden{display:none}.touch-stick{pointer-events:auto;touch-action:none;background:#6b4fd440;border:2px solid #f7c94880;border-radius:50%;width:120px;height:120px;position:absolute;bottom:24px;left:24px}.touch-stick-knob{background:#f7c94899;border-radius:50%;width:48px;height:48px;margin:-24px 0 0 -24px;position:absolute;top:50%;left:50%}.touch-actions{pointer-events:auto;flex-direction:column;gap:8px;display:flex;position:absolute;bottom:24px;right:24px}.touch-btn{color:#f0e8ff;cursor:pointer;touch-action:manipulation;background:#181224d9;border:2px solid #6b4fd4;border-radius:8px;min-width:72px;padding:10px 16px;font-size:13px;font-weight:600;position:relative;overflow:hidden}.touch-btn.on-cooldown{opacity:.85;border-color:#3a3058}.touch-btn-label{z-index:1;position:relative}.touch-btn.on-cooldown .touch-btn-label{opacity:.55}.touch-btn .cooldown-hand{height:42%;margin-top:-42%}.touch-btn:active{background:#6b4fd466}.screen{z-index:100;background:#05030feb;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.screen h1{background:linear-gradient(135deg,#ff6b35,#f7c948,#6b4fd4);-webkit-text-fill-color:transparent;text-shadow:none;letter-spacing:-2px;-webkit-background-clip:text;background-clip:text;margin-bottom:8px;font-size:64px;font-weight:900}.screen .subtitle{color:#888;margin-bottom:40px;font-size:16px}.screen .title-version{text-align:center;color:#888;letter-spacing:.06em;margin-top:20px;font-size:11px;position:static}.title-screen{background:0 0;justify-content:flex-end;padding:0 0 40px;overflow:hidden}.title-hero{z-index:0;pointer-events:none;position:absolute;inset:0}.title-hero-img{object-fit:cover;object-position:center 42%;width:100%;height:100%}.title-hero-scrim{background:linear-gradient(#05030f33 0%,#05030f73 38%,#05030fe0 72%,#05030ff5 100%);position:absolute;inset:0}.title-content{z-index:1;flex-direction:column;align-items:center;width:100%;max-width:560px;padding:0 20px;display:flex;position:relative}.title-screen h1{text-shadow:0 4px 24px #000000a6}.title-screen .subtitle{color:#c8bddf;text-shadow:0 2px 12px #000000b3;margin-bottom:28px}.title-stats{color:#9a8fc4;text-align:center;text-shadow:0 1px 8px #000c;margin-top:20px;font-size:12px}.title-actions{flex-direction:column;align-items:center;width:100%;display:flex}.char-select-screen{gap:12px}.char-select-header{text-align:center;width:min(600px,100%)}.char-select-heading{color:#f7c948;margin:0 0 6px;font-size:22px}.char-select-coins{color:#888;margin:0 0 8px;font-size:13px}.char-select-hint{margin-bottom:0!important}.char-select-actions{flex-direction:column;align-items:center;width:min(600px,100%);display:flex}.btn{cursor:pointer;text-transform:uppercase;letter-spacing:1px;border:none;border-radius:10px;margin:8px;padding:14px 36px;font-size:18px;font-weight:700;transition:transform .15s,box-shadow .15s}.btn:hover,.btn.focused{transform:translateY(-2px)}.btn-primary:hover,.btn-primary.focused{box-shadow:0 6px 28px #6b4fd4a6}.btn-secondary.focused{border-color:#f7c948}.btn-primary{color:#fff;background:linear-gradient(135deg,#6b4fd4,#9b59f5);box-shadow:0 4px 20px #6b4fd480}.btn-secondary{color:#e8e0ff;background:#ffffff1a;border:2px solid #6b4fd4}.btn-danger{color:#fff;background:linear-gradient(135deg,#c0392b,#e74c3c)}.game-scroll,.levelup-layout,.levelup-buff-panel,.menu-panel,.quest-board-scroll{scrollbar-width:thin;scrollbar-color:#6b4fd4e6 #0c081c73}.game-scroll::-webkit-scrollbar{width:7px;height:7px}.levelup-layout::-webkit-scrollbar{width:7px;height:7px}.levelup-buff-panel::-webkit-scrollbar{width:7px;height:7px}.menu-panel::-webkit-scrollbar{width:7px;height:7px}.quest-board-scroll::-webkit-scrollbar{width:7px;height:7px}.game-scroll::-webkit-scrollbar-track{background:#0c081c73;border-radius:4px}.levelup-layout::-webkit-scrollbar-track{background:#0c081c73;border-radius:4px}.levelup-buff-panel::-webkit-scrollbar-track{background:#0c081c73;border-radius:4px}.menu-panel::-webkit-scrollbar-track{background:#0c081c73;border-radius:4px}.quest-board-scroll::-webkit-scrollbar-track{background:#0c081c73;border-radius:4px}.game-scroll::-webkit-scrollbar-thumb{background:#6b4fd4e0;border:1px solid #0c081c80;border-radius:4px}.levelup-layout::-webkit-scrollbar-thumb{background:#6b4fd4e0;border:1px solid #0c081c80;border-radius:4px}.levelup-buff-panel::-webkit-scrollbar-thumb{background:#6b4fd4e0;border:1px solid #0c081c80;border-radius:4px}.menu-panel::-webkit-scrollbar-thumb{background:#6b4fd4e0;border:1px solid #0c081c80;border-radius:4px}.quest-board-scroll::-webkit-scrollbar-thumb{background:#6b4fd4e0;border:1px solid #0c081c80;border-radius:4px}.game-scroll::-webkit-scrollbar-thumb:hover{background:#9b7dfff2}.levelup-layout::-webkit-scrollbar-thumb:hover{background:#9b7dfff2}.levelup-buff-panel::-webkit-scrollbar-thumb:hover{background:#9b7dfff2}.menu-panel::-webkit-scrollbar-thumb:hover{background:#9b7dfff2}.quest-board-scroll::-webkit-scrollbar-thumb:hover{background:#9b7dfff2}.levelup-screen{padding:12px max(24px, calc(env(safe-area-inset-right) + 10px)) 12px max(24px, calc(env(safe-area-inset-left) + 10px));justify-content:center;align-items:center;overflow:hidden auto}.levelup-layout{scrollbar-gutter:stable;grid-template:"header buffs""cards buffs""footer buffs"/minmax(0,1fr) min(280px,32vw);gap:12px 16px;width:min(960px,100%);max-height:min(92vh,100%);display:grid;overflow:visible}.levelup-header{text-align:center;grid-area:header}.levelup-title{color:#f7c948;margin:0 0 4px;font-size:clamp(28px,5vw,36px)}.levelup-subtitle{color:#888;margin:0;font-size:14px}.levelup-grid{grid-area:cards;grid-template-columns:repeat(3,minmax(0,1fr));align-content:start;align-items:stretch;gap:12px;padding:12px 10px 4px;display:grid;overflow:visible}.levelup-buff-panel{grid-area:buffs;align-self:start;max-height:100%;overflow-y:auto}.levelup-footer{text-align:center;grid-area:footer}.levelup-nav-hint{margin:8px 0 0}.levelup-touch-hint{color:#f7c948;margin:8px 0 0;font-size:13px;font-weight:600;display:none}.levelup-buff-bar{pointer-events:auto}.levelup-buff-hint{color:#8f84c8;margin:-2px 0 8px;font-size:10px;line-height:1.35}.buff-chip-affected{z-index:1;border-color:#f7c948;transform:scale(1.06);box-shadow:0 0 14px #f7c94880}.buff-chip-dimmed{opacity:.28}.buff-chip-preview{border-style:dashed;animation:.75s infinite buff-chip-pulse}.upgrade-card{cursor:pointer;text-align:center;background:#1e143ce6;border:2px solid #6b4fd4;border-radius:12px;min-height:0;padding:20px;transition:transform .15s,border-color .15s,box-shadow .15s;position:relative;overflow:hidden}.upgrade-card.rarity-common{border-color:#8a919e}.upgrade-card.rarity-rare{border-color:#4da6ff;box-shadow:0 0 12px #4da6ff40}.upgrade-card.rarity-epic{border-color:#b56cff;box-shadow:0 0 16px #b56cff4d}.upgrade-card.rarity-legendary{border-color:#f7c948;box-shadow:0 0 20px #f7c94859}.rarity-badge{letter-spacing:.1em;text-transform:uppercase;margin-bottom:8px;font-size:10px;font-weight:800}.upgrade-card .rarity-badge{margin-bottom:6px}.upgrade-tags{flex-wrap:wrap;justify-content:center;gap:4px;margin-bottom:8px;display:flex}.upgrade-tag{letter-spacing:.06em;text-transform:uppercase;color:#c4b8e8;background:#140a28a6;border:1px solid #6b4fd48c;border-radius:4px;padding:2px 6px;font-size:9px;font-weight:700}.levelup-synergy{justify-content:center;align-items:center;gap:10px;margin:12px 0 4px;font-size:12px;display:flex}.levelup-synergy-label{color:#a89fd4;font-weight:600}.levelup-synergy-slots{gap:6px;display:flex}.levelup-synergy-slot{opacity:.35;filter:grayscale(.8)}.levelup-synergy-slot.active{opacity:1;filter:none}.levelup-synergy-hint{color:#888;font-size:11px}.levelup-synergy-note{color:#777;max-width:420px;margin:6px 0 0;font-size:11px;line-height:1.35}.reward-tile .rarity-badge{margin-bottom:2px;font-size:8px}.reward-tile.rarity-rare{border-color:#4da6ff8c}.reward-tile.rarity-epic{border-color:#b56cff99}.reward-tile.rarity-legendary{border-color:#f7c948bf}.upgrade-card:hover,.upgrade-card.focused{border-color:#f7c948;transform:scale(1.05);box-shadow:0 0 30px #f7c9484d}#ui-layer.keyboard-nav-active .upgrade-card:hover:not(.focused){box-shadow:none;border-color:#6b4fd4;transform:none}#ui-layer.keyboard-nav-active .skill-node:hover:not(.focused){border-color:#4a3a8a}#ui-layer.keyboard-nav-active .char-card:hover:not(.focused),#ui-layer.keyboard-nav-active .menu-item:hover:not(.focused){box-shadow:none;border-color:#4a3a8a;transform:none}.upgrade-card .icon{margin-bottom:8px;font-size:36px}.upgrade-card h4{color:#f7c948;margin-bottom:6px;font-size:16px}.upgrade-card p{color:#aaa;margin-bottom:10px;font-size:12px;line-height:1.4}.upgrade-stats{text-align:left;border-top:1px solid #6b4fd473;flex-direction:column;gap:6px;margin-top:4px;padding-top:10px;display:flex}.upgrade-stat{justify-content:space-between;align-items:center;gap:8px;font-size:11px;display:flex}.upgrade-stat-label{color:#8a82b0;text-transform:uppercase;letter-spacing:.4px;flex-shrink:0;font-size:10px}.upgrade-stat-values{font-variant-numeric:tabular-nums;align-items:center;gap:4px;font-weight:600;display:flex}.upgrade-stat-values .before{color:#999}.upgrade-stat-values .arrow{color:#6b4fd4;font-size:10px}.upgrade-stat-values .after{color:#6ee86e}.skill-tree{grid-template-columns:repeat(3,1fr);gap:16px;max-width:960px;max-height:55vh;margin:16px 0;display:grid;overflow-y:auto}.skill-branch{border:2px solid color-mix(in srgb, var(--branch-color) 40%, #4a3a8a);background:#0c0a1cd9;border-radius:12px;padding:12px}.skill-branch-header{border-bottom:1px solid color-mix(in srgb, var(--branch-color) 30%, transparent);align-items:center;gap:8px;margin-bottom:12px;padding-bottom:8px;display:flex}.skill-branch-icon{font-size:20px}.skill-branch-name{color:var(--branch-color);font-size:15px;font-weight:700}.skill-branch-tree{flex-direction:column;gap:8px;display:flex}.skill-node{cursor:default;background:#140f28e6;border:2px solid #4a3a8a;border-radius:8px;grid-template-rows:auto auto;grid-template-columns:32px 1fr auto;align-items:center;gap:2px 8px;padding:8px 10px;transition:border-color .15s,box-shadow .15s;display:grid}.skill-node--available{cursor:pointer;border-color:color-mix(in srgb, var(--branch-color) 55%, #4a3a8a)}.skill-node--available:hover:not(.focused),.skill-node--available.focused{border-color:var(--branch-color);box-shadow:0 0 12px color-mix(in srgb, var(--branch-color) 35%, transparent)}.skill-node--maxed{opacity:.6;border-color:#3a5a3a}.skill-node--locked{opacity:.45}.skill-node-icon{text-align:center;grid-row:1/3;font-size:22px}.skill-node-name{color:#f0e6d3;font-size:12px;font-weight:700}.skill-node-level{color:#aaa;font-size:10px}.skill-node-cost{color:#4ade80;text-align:right;grid-row:1/3;min-width:48px;font-size:11px;font-weight:700}.skill-node--locked .skill-node-cost,.skill-node--maxed .skill-node-cost{color:#888}.shop-grid{grid-template-columns:repeat(3,1fr);gap:12px;max-width:800px;max-height:50vh;margin:20px 0;display:grid;overflow-y:auto}.shop-item{cursor:pointer;background:#140f28e6;border:2px solid #4a3a8a;border-radius:10px;padding:14px;transition:border-color .15s}.shop-item:hover:not(.maxed),.shop-item.focused:not(.maxed){border-color:#f7c948}.shop-item.maxed{opacity:.55;cursor:default}.shop-item h4{color:#f7c948;margin-bottom:4px;font-size:14px}.shop-item p{color:#999;font-size:11px}.shop-level{color:#b8a8ff;margin-top:4px;font-size:11px;font-weight:600}.shop-item .cost{color:#4ade80;margin-top:4px;font-weight:700}.currency-display{color:#f7c948;margin-bottom:16px;font-size:20px}.interact-prompt{color:#f7c948;pointer-events:none;background:#000000bf;border:2px solid #f7c948;border-radius:8px;padding:10px 20px;font-size:14px;font-weight:600;animation:1.5s infinite pulse;position:absolute;bottom:120px;left:50%;transform:translate(-50%)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.run-alert{letter-spacing:.12em;color:#f34;text-shadow:0 0 24px #ff2846f2,0 4px #601,0 0 60px #ff506473;pointer-events:none;z-index:50;font-size:clamp(3rem,12vw,5.5rem);font-weight:900;animation:.42s ease-in-out infinite alternate runAlertPulse;position:absolute;top:38%;left:50%;transform:translate(-50%,-50%)}.run-alert.hidden{display:none}.damage-flash{pointer-events:none;z-index:45;background:rgba(255, 45, 65, var(--flash-alpha,.35));opacity:0;position:fixed;inset:0}.damage-flash.active{animation:.34s ease-out forwards damageFlash}@keyframes damageFlash{0%{opacity:1}to{opacity:0}}.low-hp-vignette{pointer-events:none;z-index:44;opacity:0;background:radial-gradient(#0000 42%,#6e0a1e8c 100%);transition:opacity .35s;position:fixed;inset:0}.low-hp-vignette.active{opacity:1}.low-hp-vignette.critical{background:radial-gradient(#0000 38%,#a01428b8 100%);animation:1.1s ease-in-out infinite lowHpPulse}@keyframes lowHpPulse{0%,to{opacity:.85}50%{opacity:1}}.boss-intro{text-align:center;pointer-events:none;z-index:48;animation:.5s ease-in-out infinite alternate bossIntroPulse;position:absolute;top:32%;left:50%;transform:translate(-50%,-50%)}.boss-intro.hidden{display:none}.boss-intro-title{letter-spacing:.14em;color:#f46;text-shadow:0 0 28px #ff3250d9;font-size:clamp(2.2rem,8vw,3.8rem);font-weight:900;display:block}.boss-intro-sub{color:#f7c948;letter-spacing:.2em;margin-top:6px;font-size:1.1rem;font-weight:700;display:block}@keyframes bossIntroPulse{0%{transform:translate(-50%,-50%)scale(1)}to{transform:translate(-50%,-50%)scale(1.06)}}.boss-defeat{text-align:center;pointer-events:none;z-index:300;animation:.5s ease-out bossDefeatPop,.55s ease-in-out .5s infinite alternate bossDefeatPulse;position:absolute;top:28%;left:50%;transform:translate(-50%,-50%)}.boss-defeat.hidden{display:none}.boss-defeat-title{letter-spacing:.12em;color:#f7c948;text-shadow:0 0 32px #ffd250f2,0 0 64px #78ffa059,0 3px #640;font-size:clamp(2rem,7.5vw,3.6rem);font-weight:900;display:block}.boss-defeat-sub{color:#a8ffcc;letter-spacing:.18em;text-transform:uppercase;margin-top:10px;font-size:1rem;font-weight:700;display:block}@keyframes bossDefeatPop{0%{opacity:0;transform:translate(-50%,-50%)scale(.72)}70%{opacity:1;transform:translate(-50%,-50%)scale(1.08)}to{transform:translate(-50%,-50%)scale(1)}}@keyframes bossDefeatPulse{0%{transform:translate(-50%,-50%)scale(1)}to{transform:translate(-50%,-50%)scale(1.05)}}.boss-victory-flash{pointer-events:none;z-index:47;opacity:0;background:radial-gradient(#ffdc5a8c 0%,#0000 62%),radial-gradient(#50ff8c33 0%,#0000 75%);position:fixed;inset:0}.boss-victory-flash.active{animation:.7s ease-out forwards bossVictoryFlash}@keyframes bossVictoryFlash{0%{opacity:0}18%{opacity:1}to{opacity:0}}@keyframes runAlertPulse{0%{opacity:1;transform:translate(-50%,-50%)scale(1)}to{opacity:.82;transform:translate(-50%,-50%)scale(1.1)}}.toast-container{pointer-events:none;flex-direction:column;align-items:center;gap:8px;display:flex;position:absolute;bottom:108px;left:50%;transform:translate(-50%)}.toast{background:#140a28e6;border:1px solid #6b4fd4;border-radius:8px;padding:10px 20px;font-size:13px;animation:.3s slideUp}.toast.synergy{color:#f7c948;border-color:#f7c948;font-weight:700}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.controls-hint{color:#fff6;pointer-events:none;font-size:11px;line-height:1.6;position:absolute;bottom:100px;left:16px}.game-metrics{color:#ffffffd1;pointer-events:none;z-index:12;background:#080612b8;border:1px solid #6b4fd473;border-radius:8px;min-width:118px;padding:8px 10px;font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:11px;line-height:1.45;position:absolute;top:12px;bottom:auto;right:16px}.game-metrics.hidden{display:none}.game-metrics-row[data-tier=good]{color:#7dffb2}.game-metrics-row[data-tier=ok]{color:#f7c948}.game-metrics-row[data-tier=low]{color:#ff7b7b}.game-metrics-combat{color:#a89fd4f2;font-size:10px}:root{--reward-tile-size:76px;--reward-strip-pad-left:16px;--reward-strip-pad-right:16px;--reward-showcase-scale:2.35;--reward-showcase-bottom:118px}.reward-strip{padding:10px var(--reward-strip-pad-right) 12px var(--reward-strip-pad-left);pointer-events:none;background:linear-gradient(#0000 0%,#0806128c 30%,#080612eb 100%);position:absolute;bottom:0;left:0;right:0}.reward-strip-track{min-height:calc(var(--reward-tile-size) + 14px);scrollbar-width:none;justify-content:flex-end;align-items:flex-end;gap:8px;max-width:100%;padding:12px 4px 4px;scroll-padding-inline:4px;display:flex;overflow:auto visible}.reward-strip-track::-webkit-scrollbar{display:none}.reward-tile{--tile-scale:1;--tile-opacity:1;width:var(--reward-tile-size);height:var(--reward-tile-size);opacity:var(--tile-opacity);transform:scale(var(--tile-scale));transform-origin:bottom;margin:0 calc((var(--reward-tile-size) * (var(--tile-scale) - 1)) / -2);text-align:center;will-change:transform;pointer-events:auto;cursor:help;background:#181030eb;border:2px solid #6b4fd4;border-radius:10px;flex-direction:column;flex:none;align-items:center;padding:6px 5px 5px;transition:opacity .35s,margin .35s,transform .15s,filter .15s;display:flex;overflow:hidden}.reward-tile:hover{z-index:4;transform:scale(calc(var(--tile-scale) * 1.08)) translateY(-4px);filter:brightness(1.06)}.reward-tile-hidden{visibility:hidden}.reward-flyer{pointer-events:none;transform-origin:50%;border-color:#f7c948;box-shadow:0 0 36px #f7c94880,0 8px 32px #00000073;opacity:1!important}.reward-tile-large .reward-tile-icon{margin-bottom:6px;font-size:34px}.reward-tile-large .reward-tile-name{margin-bottom:6px;font-size:12px}.reward-tile-large .reward-stat-label{font-size:8px}.reward-tile-large .reward-stat-values{font-size:10px}.reward-tile-large .reward-tile-stats{gap:4px;padding-top:6px}.reward-tile-icon{margin-bottom:2px;font-size:18px;line-height:1}.reward-tile-name{color:#f7c948;text-overflow:ellipsis;white-space:nowrap;max-width:100%;margin-bottom:3px;font-size:8px;font-weight:700;line-height:1.15;overflow:hidden}.reward-tile-stats{border-top:1px solid #6b4fd459;flex-direction:column;gap:2px;width:100%;margin-top:auto;padding-top:3px;display:flex}.reward-tile-stat{flex-direction:column;gap:0;line-height:1.1;display:flex}.reward-stat-label{text-transform:uppercase;letter-spacing:.3px;color:#8a82b0;font-size:6px}.reward-stat-values{font-variant-numeric:tabular-nums;justify-content:center;align-items:center;gap:2px;font-size:7px;font-weight:700;display:flex}.reward-stat-values .before{color:#888}.reward-stat-values .arrow{color:#6b4fd4;font-size:6px}.reward-stat-values .after{color:#6ee86e}.synergy-bar{gap:8px;display:flex;position:absolute;bottom:96px;left:50%;transform:translate(-50%)}.synergy-slot{background:#00000080;border:2px solid #333;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:16px;transition:border-color .3s,box-shadow .3s;display:flex}.synergy-slot.active{border-color:#f7c948;box-shadow:0 0 12px #f7c94899}.hidden{display:none!important}#ui-layer .menu-item,#ui-layer .menu-back{pointer-events:auto}.menu-screen{z-index:200}.menu-panel{background:#140c2df2;border:2px solid #6b4fd4;border-radius:16px;flex-shrink:0;width:92%;max-width:440px;max-height:90vh;padding:28px 32px;overflow-y:auto}.menu-panel-wide{max-width:520px}.menu-panel-donate{width:min(92vw,400px);min-width:320px;max-height:none;padding:16px 24px 20px;overflow:visible}.menu-panel-donate .paypal-donate-slot{margin:0 0 10px}.menu-title{color:#f7c948;text-align:center;margin-bottom:8px;font-size:28px}.menu-hint{color:#666;text-align:center;margin-bottom:16px;font-size:11px}.menu-list{grid-template-columns:1fr;gap:8px;width:100%;margin-bottom:16px;display:grid}.menu-list-cols-2{grid-template-columns:repeat(2,1fr);gap:10px}.menu-item{color:#e8e0ff;cursor:pointer;text-align:left;background:#1e143ce6;border:2px solid #4a3a8a;border-radius:10px;flex-direction:column;align-items:flex-start;width:100%;padding:12px 16px;font-family:inherit;transition:border-color .15s,transform .1s;display:flex}.menu-item:hover,.menu-item.focused{border-color:#f7c948;transform:translateY(-2px)}.menu-list-cols-2 .menu-item:hover,.menu-list-cols-2 .menu-item.focused{transform:translateY(-2px)}.menu-item-label{font-size:15px;font-weight:700}.menu-item-desc{color:#888;margin-top:2px;font-size:11px}.menu-back{grid-column:1/-1;width:100%;margin-top:8px}.menu-settings{flex-direction:column;gap:16px;width:100%;margin:20px 0;display:flex}.menu-setting{color:#ccc;border:2px solid #0000;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:8px 10px;font-size:14px;transition:border-color .15s,color .15s;display:flex}.menu-setting.focused{color:#f7c948;border-color:#f7c948}.menu-setting input[type=range]{accent-color:#6b4fd4;flex:1}.menu-controls{color:#bbb;white-space:pre-wrap;text-align:left;background:#00000059;border-radius:8px;margin:16px 0;padding:16px;font-size:13px;line-height:1.8}.menu-about{color:#aaa;text-align:left;margin:16px 0;font-size:14px;line-height:1.7}.menu-about p{margin-bottom:12px}.char-grid{grid-template-columns:repeat(2,1fr);gap:14px;max-width:600px;display:grid}.char-card{cursor:pointer;text-align:center;background:#140f28e6;border:2px solid #4a3a8a;border-radius:12px;padding:18px;transition:border-color .15s,transform .15s}.char-card:hover:not(.locked):not(.disabled),.char-card.focused:not(.disabled){border-color:#f7c948;transform:translateY(-2px)}.char-card.selected{background:#3e306ef2;border-color:#9b7dff;box-shadow:0 0 22px #9b7dff73}.char-card.selected .char-status{color:#c4b0ff}.char-card.locked,.char-card.disabled{opacity:.6;cursor:not-allowed}.char-card.disabled .char-status{color:#888}.char-icon{margin-bottom:8px;font-size:40px}.char-card h4{color:#f7c948;margin-bottom:6px}.char-card p{color:#999;margin-bottom:8px;font-size:11px;line-height:1.4}.char-status{color:#6b4fd4;font-size:11px;font-weight:700}.quest-board{text-align:left;background:#0a0818e6;border:2px solid #4a3a8a;border-radius:10px;max-width:500px;max-height:40vh;padding:16px;overflow-y:auto}.quest-board-screen{flex-direction:column;align-items:stretch;gap:10px;width:min(920px,94vw);max-height:92vh;display:flex}.quest-board-heading{color:#b8a8ff;text-align:center;margin:0}.quest-board-summary{color:#888;text-align:center;margin:0;font-size:14px}.quest-board-scroll{scrollbar-gutter:stable;flex:1;min-height:0;max-height:min(58vh,520px);margin:0 -4px;padding:4px 8px 8px;overflow-y:auto}.quest-board-section+.quest-board-section{margin-top:16px}.quest-board-section-title{color:#b8a8ff;text-transform:uppercase;letter-spacing:1px;align-items:center;gap:8px;margin:0 0 10px;font-size:12px;display:flex}.quest-board-section-count{color:#d8ccff;letter-spacing:0;background:#6b4fd440;border-radius:999px;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 6px;font-size:11px;display:inline-flex}.quest-tile-grid{grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:10px;display:grid}.quest-tile{text-align:left;background:#0e0a1ef2;border:2px solid #4a3a8a;border-radius:12px;flex-direction:column;gap:8px;min-height:108px;padding:12px;display:flex}.quest-tile-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.quest-tile-badge{text-transform:uppercase;letter-spacing:.6px;color:#d8ccff;font-size:10px;font-weight:800}.quest-tile-reward{color:#4ade80;white-space:nowrap;font-size:11px;font-weight:800}.quest-tile-desc{color:#e8e0ff;flex:1;font-size:13px;line-height:1.35}.quest-tile-progress{color:#f7c948;font-variant-numeric:tabular-nums;font-size:12px;font-weight:800}.quest-tile-progress-muted{color:#8f84c8;font-weight:600}.quest-tile-current{border-color:#f7c948;box-shadow:0 0 0 1px #f7c94826,0 8px 20px #00000047}.quest-tile-current .quest-tile-badge{color:#f7c948}.quest-tile-next{background:#140e2ae0;border-style:dashed;border-color:#6b4fd4}.quest-tile-next .quest-tile-badge{color:#9d8cff}.quest-tile-completed{opacity:.82;background:#0a1610e0;border-color:#355c45}.quest-tile-completed .quest-tile-desc{color:#9fd0ad;-webkit-text-decoration:line-through #9fd0ad73;text-decoration:line-through #9fd0ad73}.quest-tile-completed .quest-tile-badge,.quest-tile-completed .quest-tile-progress{color:#4ade80}.quest-tile-locked{background:#080612eb;border-color:#2f2850;justify-content:center;align-items:center;min-height:88px}.quest-tile-lock{opacity:.55;filter:grayscale(.2);font-size:28px;line-height:1}.quest-board-hint{text-align:center;margin:0}.quest-board-screen .btn{align-self:center;margin-top:4px}#dev-panel{z-index:9999;pointer-events:auto;flex-direction:column;align-items:stretch;max-height:calc(100dvh - 24px);font-family:Segoe UI,system-ui,sans-serif;font-size:12px;display:flex;position:fixed;bottom:12px;right:12px}.dev-panel-toggle{color:#f7c948;cursor:pointer;background:#241c36;border:1px solid #3d3058;flex-shrink:0;padding:6px 10px;font-size:11px;font-weight:700}.dev-panel-toggle.open{color:#1a1428;background:#f7c948}.dev-panel-body{color:#f0e8ff;background:#181224f0;border:1px solid #3d3058;flex-direction:column;max-width:280px;min-height:0;max-height:min(70vh,100dvh - 80px);margin-bottom:6px;padding:0;display:none;overflow:hidden}#dev-panel.dev-panel-open .dev-panel-body{display:flex}.dev-panel-body[hidden]{display:none!important}.dev-panel-header{background:#181224fa;border-bottom:1px solid #3d3058;flex-shrink:0;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;display:flex}.dev-panel-title{text-transform:uppercase;letter-spacing:.06em;color:#f7c948;font-size:11px;font-weight:700}.dev-panel-close{color:#f0e8ff;cursor:pointer;touch-action:manipulation;background:#2a2040;border:1px solid #3d3058;border-radius:6px;min-width:32px;min-height:32px;padding:0;font-size:20px;line-height:1}.dev-panel-close:hover{color:#f7c948;border-color:#f7c948}.dev-panel-scroll{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;min-height:0;padding:10px;overflow-y:auto}.dev-panel-row{color:#a898c8;align-items:center;gap:8px;margin-bottom:8px;display:flex}.dev-panel-row code{color:#f7c948;font-size:11px}.dev-panel-actions,.dev-panel-biomes{flex-wrap:wrap;gap:6px;margin-bottom:8px;display:flex}.dev-panel-actions button,.dev-panel-biomes button{color:#f0e8ff;cursor:pointer;background:#2a2040;border:1px solid #3d3058;padding:4px 8px;font-size:11px}.dev-panel-actions button:hover,.dev-panel-biomes button:hover{color:#f7c948;border-color:#f7c948}.dev-panel-actions button.dev-active{color:#4ade80;background:#4ade801f;border-color:#4ade80}.dev-panel-section-label{text-transform:uppercase;letter-spacing:.06em;color:#888;flex-basis:100%;margin:4px 0 2px;font-size:10px}.dev-panel-light{color:#c8bddf;flex-basis:100%;grid-template-columns:92px 1fr 36px;align-items:center;gap:8px;font-size:11px;display:grid}.dev-panel-light input[type=range]{accent-color:#f7c948;width:100%}.dev-panel-light code{color:#f7c948;text-align:right;font-size:10px}body.mobile-touch #dev-panel{top:auto;bottom:max(8px, env(safe-area-inset-bottom));right:max(8px, env(safe-area-inset-right));max-width:min(280px,44vw)}body.mobile-touch #dev-panel.dev-panel-open{top:max(8px, env(safe-area-inset-top));bottom:max(8px, env(safe-area-inset-bottom));max-height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 16px)}body.mobile-touch #dev-panel.dev-panel-open .dev-panel-body{flex:1;min-height:0;max-height:none}body.mobile-touch #dev-panel.dev-panel-open .dev-panel-scroll{max-height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 120px)}body.mobile-touch .dev-panel-toggle{padding:8px 12px;font-size:12px}body.mobile-touch .dev-panel-actions button,body.mobile-touch .dev-panel-biomes button{padding:6px 8px;font-size:10px}.rotate-hint{z-index:10000;padding:max(16px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));pointer-events:auto;background:#05030ff0;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.rotate-hint.hidden{display:none}.rotate-hint-card{text-align:center;background:#140e28f2;border:2px solid #6b4fd4;border-radius:16px;max-width:320px;padding:28px 24px}.rotate-hint-icon{margin-bottom:12px;font-size:48px}.rotate-hint-card h2{color:#f7c948;margin-bottom:10px;font-size:22px}.rotate-hint-card p{color:#ccc;font-size:14px;line-height:1.45}.mobile-pause-btn{top:max(10px, env(safe-area-inset-top));right:max(10px, env(safe-area-inset-right));z-index:60;color:#f7c948;cursor:pointer;touch-action:manipulation;pointer-events:auto;background:#181224e6;border:2px solid #6b4fd4;border-radius:10px;width:44px;height:44px;font-size:20px;line-height:1;display:none;position:absolute}body.mobile-touch .mobile-pause-btn{display:block}body.mobile-touch .controls-hint,body.mobile-touch .village-hint-desktop{display:none}.village-hint-touch{color:#bbb;margin-top:8px;font-size:13px;line-height:1.45;display:none}body.mobile-touch .village-hint-touch{display:block}body.mobile-touch .touch-stick{left:max(12px, env(safe-area-inset-left));bottom:max(20px, calc(env(safe-area-inset-bottom) + 8px));width:108px;height:108px}body.mobile-touch .touch-actions{right:max(12px, env(safe-area-inset-right));bottom:max(20px, calc(env(safe-area-inset-bottom) + 8px));width:auto;max-width:calc(100vw - env(safe-area-inset-left) - env(safe-area-inset-right) - 140px);left:auto}body.mobile-touch .hud{padding-top:max(8px, env(safe-area-inset-top));padding-left:max(10px, env(safe-area-inset-left));padding-right:max(48px, env(safe-area-inset-right) + 36px)}body.mobile-touch .hud-right-stack{top:max(50px, calc(env(safe-area-inset-top) + 42px));right:max(8px, env(safe-area-inset-right));gap:4px;width:min(224px,48vw)}body.mobile-touch .hud-mobile-tabs{pointer-events:auto;gap:4px;display:flex}body.mobile-touch .hud-mobile-tab{color:#8a82b0;text-transform:uppercase;letter-spacing:.04em;cursor:pointer;touch-action:manipulation;background:#0a0818bf;border:1px solid #4a3a8a;border-radius:7px 7px 0 0;flex:1;min-width:0;padding:5px 6px;font-size:10px;font-weight:700}body.mobile-touch .hud-mobile-tab.active{color:#f7c948;background:#181030f2;border-color:#6b4fd4 #6b4fd4 #0000}body.mobile-touch .hud-panel-body.tab-buffs .quest-panel,body.mobile-touch .hud-panel-body.tab-quests .buff-bar{display:none}body.mobile-touch .hud-panel-body.tab-quests .quest-panel{display:block}body.mobile-touch .quest-panel h3{display:none}body.mobile-touch .quest-item{padding:4px 6px;font-size:10px}body.mobile-touch .quest-item--active{margin:0 -4px;padding:4px 6px}body.mobile-touch .hud-right-stack .game-metrics,body.mobile-touch .game-metrics-in-hud{padding:4px 6px;font-size:9px;line-height:1.25}body.mobile-touch .game-metrics-in-hud #metrics-frame,body.mobile-touch .game-metrics-in-hud #metrics-projectiles,body.mobile-touch .game-metrics-in-hud #metrics-gems{display:none}body.mobile-touch .buff-bar{border-radius:0 0 10px 10px;padding:5px 6px}body.mobile-touch .hud-panel-body.tab-quests .quest-panel{border-radius:0 0 10px 10px;max-height:min(42vh,220px);padding:6px 8px;overflow-y:auto}body.mobile-touch .buff-bar h3{display:none}body.mobile-touch .buff-bar-track{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;min-height:0;display:grid}body.mobile-touch .buff-chip{border-radius:6px;gap:1px;min-width:0;max-width:100%;padding:2px 2px 1px}body.mobile-touch .buff-chip-icon{font-size:13px}body.mobile-touch .buff-chip-amount{font-size:8px;line-height:1}body.mobile-touch .stat-bar{min-width:0;padding:3px 8px}body.mobile-touch .stat-bar label{display:none}body.mobile-touch .bar-track{height:8px}body.mobile-touch .hud-left{gap:4px;max-width:min(200px,36vw)}body.mobile-touch .hud-stat{font-size:10px;line-height:1.25}body.mobile-touch #wave-stat,body.mobile-touch #enemy-stat,body.mobile-touch #biome-stat{display:none}body.mobile-touch .mobile-pause-btn{width:40px;height:40px;top:max(8px, env(safe-area-inset-top));right:max(8px, env(safe-area-inset-right));font-size:18px}body.mobile-touch .interact-prompt{bottom:max(68px, calc(env(safe-area-inset-bottom) + 58px));padding:7px 14px;font-size:12px}body.mobile-touch .synergy-bar{bottom:max(88px, calc(env(safe-area-inset-bottom) + 72px));left:50%;transform:translate(-50%)}body.mobile-touch{--reward-tile-size:54px;--reward-strip-pad-left:max(112px, calc(env(safe-area-inset-left) + 104px));--reward-strip-pad-right:max(176px, calc(env(safe-area-inset-right) + 168px));--reward-showcase-scale:1.18;--reward-showcase-bottom:68px}body.mobile-touch .reward-strip{padding-bottom:max(8px, env(safe-area-inset-bottom))}body.mobile-touch .reward-strip-track{min-height:calc(var(--reward-tile-size) + 8px);gap:5px;padding:8px 2px 2px}body.mobile-touch .reward-tile{border-radius:8px;padding:4px 3px 3px}body.mobile-touch .reward-tile-icon{margin-bottom:1px;font-size:14px}body.mobile-touch .reward-tile-name{margin-bottom:2px;font-size:7px}body.mobile-touch .reward-stat-label{font-size:5px}body.mobile-touch .reward-stat-values{font-size:6px}body.mobile-touch .reward-tile-large .reward-tile-icon{margin-bottom:3px;font-size:18px}body.mobile-touch .reward-tile-large .reward-tile-name{margin-bottom:3px;font-size:8px}body.mobile-touch .reward-tile-large .reward-stat-label{font-size:5px}body.mobile-touch .reward-tile-large .reward-stat-values{font-size:6px}body.mobile-touch .reward-flyer{box-shadow:0 0 16px #f7c94859,0 4px 16px #00000059}body.mobile-touch .reward-flyer .rarity-badge{padding:1px 4px;font-size:7px}body.mobile-touch .game-metrics:not(.game-metrics-in-hud){top:max(10px, env(safe-area-inset-top));right:max(12px, env(safe-area-inset-right))}@media (orientation:landscape) and (height<=500px){body.mobile-touch .touch-stick{width:96px;height:96px}body.mobile-touch .touch-stick-knob{width:40px;height:40px;margin:-20px 0 0 -20px}body.mobile-touch .touch-actions{grid-template-columns:1fr 1fr;grid-template-areas:"dodge jump""interact interact";gap:6px;width:min(164px,27vw);max-width:none;display:grid}body.mobile-touch #touch-btn-dodge{grid-area:dodge}body.mobile-touch #touch-btn-jump{grid-area:jump}body.mobile-touch #touch-btn-interact{grid-area:interact}body.mobile-touch .touch-btn{width:100%;min-width:0;padding:8px 4px;font-size:11px}body.mobile-touch .hud-left{gap:3px;max-width:min(180px,34vw)}body.mobile-touch .stat-bar{padding:2px 6px}body.mobile-touch .hud-stat{font-size:9px}body.mobile-touch .ability-bar{display:none}body.mobile-touch .hud-right-stack{width:min(212px,44vw)}body.mobile-touch .buff-bar,body.mobile-touch .quest-panel{padding:4px 5px}body.mobile-touch{--reward-tile-size:48px;--reward-strip-pad-left:max(104px, calc(env(safe-area-inset-left) + 96px));--reward-strip-pad-right:max(184px, calc(env(safe-area-inset-right) + 176px));--reward-showcase-scale:1.08;--reward-showcase-bottom:62px}body.mobile-touch .run-alert{font-size:clamp(2.2rem,14vw,4rem);top:34%}body.mobile-touch .interact-prompt{bottom:max(58px, calc(env(safe-area-inset-bottom) + 50px));padding:6px 12px;font-size:11px}}body.mobile-touch .levelup-screen{padding:max(8px, env(safe-area-inset-top)) max(10px, env(safe-area-inset-right)) max(8px, env(safe-area-inset-bottom)) max(10px, env(safe-area-inset-left));overflow-y:auto}body.mobile-touch .levelup-layout{grid-template:"header""cards"minmax(0,1fr)"buffs""footer"/1fr;gap:8px;width:100%;max-height:none}body.mobile-touch .levelup-title{font-size:22px}body.mobile-touch .levelup-subtitle{font-size:12px}body.mobile-touch .levelup-touch-hint{display:block}body.mobile-touch .levelup-synergy-note,body.mobile-touch .levelup-buff-hint{display:none}body.mobile-touch .levelup-buff-panel .buff-bar h3{margin-bottom:4px;font-size:11px}body.mobile-touch .levelup-buff-panel{max-height:none}body.mobile-touch .levelup-buff-panel .buff-bar-track{grid-template-columns:repeat(4,minmax(0,1fr))}body.level-up-open #touch-controls{display:none!important}#ui-layer.level-up-open #hud,#ui-layer.level-up-open .hud-right-stack,#ui-layer.level-up-open .synergy-bar,#ui-layer.level-up-open .mobile-pause-btn,#ui-layer.level-up-open .controls-hint,#ui-layer.level-up-open .reward-strip,#ui-layer.level-up-open #interact-prompt,#ui-layer.level-up-open #run-alert,#ui-layer.level-up-open .toast-container{visibility:hidden;pointer-events:none}@media (orientation:landscape) and (height<=500px){body.mobile-touch .levelup-layout{grid-template-rows:auto minmax(0,1fr) auto;grid-template-areas:"header""cards""footer"}body.mobile-touch .levelup-buff-panel{display:none}body.mobile-touch .levelup-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;overflow:visible}body.mobile-touch .levelup-title{font-size:18px}body.mobile-touch .levelup-subtitle{font-size:11px}body.mobile-touch .levelup-synergy{gap:4px;margin:0}body.mobile-touch .levelup-synergy-note{display:none}body.mobile-touch .upgrade-card{padding:8px 6px}body.mobile-touch .upgrade-card .icon{margin-bottom:4px;font-size:22px}body.mobile-touch .upgrade-card h4{margin-bottom:4px;font-size:11px}body.mobile-touch .upgrade-card .upgrade-desc{display:none}body.mobile-touch .upgrade-stats{gap:3px;padding-top:4px}body.mobile-touch .upgrade-stat{font-size:9px}body.mobile-touch .upgrade-stat-label{font-size:8px}body.mobile-touch .upgrade-tag{padding:1px 4px;font-size:8px}body.mobile-touch .rarity-badge{margin-bottom:4px;font-size:8px}}body.mobile-touch .menu-hint-desktop{display:none}body.mobile-touch .screen{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:max(8px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) max(10px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));box-sizing:border-box;justify-content:flex-start;min-height:100dvh;max-height:100dvh;overflow:hidden auto}body.mobile-touch .screen h1{letter-spacing:-1px;margin-bottom:4px;font-size:clamp(28px,7vw,48px)}body.mobile-touch .screen .subtitle{margin-bottom:12px;font-size:13px}body.mobile-touch .btn{margin:4px;padding:10px 20px;font-size:14px}body.mobile-touch .title-screen{padding-bottom:max(10px, env(safe-area-inset-bottom));justify-content:flex-end;overflow:hidden auto}body.mobile-touch .title-content{max-width:100%;padding:0 8px 8px}body.mobile-touch .title-screen .subtitle{margin-bottom:10px}body.mobile-touch .title-stats,body.mobile-touch .title-daily{margin-top:6px;font-size:10px;line-height:1.35}body.mobile-touch .title-version{margin-top:4px}body.mobile-touch .title-actions{flex-flow:wrap;justify-content:center;gap:8px}body.mobile-touch .title-actions .btn{flex:130px;max-width:200px;margin:0}body.mobile-touch .char-select-screen{flex-direction:column;align-items:center;gap:8px;display:flex}body.mobile-touch .char-select-heading{font-size:18px}body.mobile-touch .char-select-coins{margin-bottom:4px;font-size:11px}body.mobile-touch .menu-panel{max-height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 16px);width:min(96vw,440px);padding:16px 18px}body.mobile-touch .menu-title{font-size:22px}@media (orientation:landscape) and (height<=500px){body.mobile-touch .title-screen h1{font-size:clamp(22px,5.5vh,32px)}body.mobile-touch .title-screen .subtitle{margin-bottom:6px;font-size:12px}body.mobile-touch .title-stats,body.mobile-touch .title-daily{margin-top:4px;font-size:9px}body.mobile-touch .title-version{margin-top:2px;font-size:9px}body.mobile-touch .title-actions .btn{padding:8px 14px;font-size:12px}body.mobile-touch .char-select-screen{padding-top:max(6px, env(safe-area-inset-top));padding-bottom:max(6px, env(safe-area-inset-bottom));grid-template-rows:auto minmax(0,1fr) auto;align-content:stretch;gap:6px;display:grid;overflow:hidden}body.mobile-touch .char-select-header{width:100%}body.mobile-touch .char-select-heading{margin-bottom:2px;font-size:15px}body.mobile-touch .char-select-coins{margin-bottom:0;font-size:10px}body.mobile-touch .char-grid{grid-template-columns:repeat(4,minmax(0,1fr));align-self:center;gap:6px;width:100%;max-width:100%;min-height:0}body.mobile-touch .char-card{border-radius:8px;padding:6px 4px}body.mobile-touch .char-icon{margin-bottom:2px;font-size:22px}body.mobile-touch .char-card h4{margin-bottom:2px;font-size:10px}body.mobile-touch .char-card p{-webkit-line-clamp:3;-webkit-box-orient:vertical;margin-bottom:3px;font-size:8px;line-height:1.2;display:-webkit-box;overflow:hidden}body.mobile-touch .char-status{font-size:8px}body.mobile-touch .char-select-actions{flex-direction:row;justify-content:center;gap:8px;width:100%}body.mobile-touch .char-select-actions .btn{flex:1;max-width:150px;margin:0;padding:8px 10px;font-size:11px}body.mobile-touch .menu-panel{padding:12px 14px}body.mobile-touch .menu-title{margin-bottom:4px;font-size:18px}body.mobile-touch .menu-hint{margin-bottom:8px;font-size:9px}body.mobile-touch .menu-item{padding:8px 10px}body.mobile-touch .menu-item-label{font-size:13px}body.mobile-touch .run-summary-screen{justify-content:flex-start;width:100%;max-width:100%;padding:8px 10px}body.mobile-touch .run-summary-title{margin-bottom:4px;font-size:22px}body.mobile-touch .run-summary-cause{margin-bottom:4px;font-size:12px}body.mobile-touch .run-summary-sub{margin-bottom:8px;font-size:11px}body.mobile-touch .run-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-bottom:8px}body.mobile-touch .run-summary-stat{gap:2px;padding:5px 6px}body.mobile-touch .run-summary-stat span{font-size:8px}body.mobile-touch .run-summary-stat strong{font-size:11px}body.mobile-touch .run-summary-build,body.mobile-touch .run-summary-new{display:none}body.mobile-touch .run-summary-daily{margin:6px 0;font-size:11px}body.mobile-touch .run-summary-actions{flex-direction:row;justify-content:center;gap:8px;margin-top:4px}body.mobile-touch .run-summary-actions .btn{flex:1;max-width:160px;margin:0;padding:8px 10px;font-size:11px}}
