:root{--bg:#04070c;--panel:#080c14;--panel2:#0c1220;--card:#82c8ff0a;--card2:#82c8ff12;--border:#64b4ff1a;--border2:#64b4ff2e;--txt:#e0ecff;--txt2:#c0d4f0;--muted:#6b8aac;--accent:#3b82f6;--cyan:#00d4ff;--amber:#ffb700;--green:#0f8;--pink:#ff2d55;--purple:#a855f7;--panel-width:clamp(260px, 22vw, 340px);--panel-pad-y:clamp(14px, 1.5vw, 22px);--panel-pad-x:clamp(12px, 1.2vw, 18px);--panel-gap:clamp(7px, .8vw, 10px);--stat-value-size:clamp(22px, 1.65vw, 25px);--control-font-size:clamp(17px, 1.3vw, 19px);--unit-name-size:clamp(17px, 1.35vw, 20px);--unit-meta-size:clamp(19px, 1.5vw, 22px);--unit-desc-size:clamp(14px, 1.15vw, 16px)}@keyframes scanline{0%{transform:translateY(-100%)}to{transform:translateY(100vh)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes pulse-glow{0%,to{box-shadow:0 0 8px #00d4ff26,inset 0 0 8px #00d4ff0d}50%{box-shadow:0 0 20px #00d4ff4d,inset 0 0 14px #00d4ff14}}@keyframes breathe{0%,to{opacity:.04}50%{opacity:.08}}@keyframes float-in{0%{opacity:0;transform:translateY(12px)scale(.92)}to{opacity:1;transform:translateY(0)scale(1)}}.light-mode{--bg:#eef1f5;--panel:#fff;--panel2:#f4f6f9;--card:#001e3c0d;--card2:#001e3c14;--border:#001e3c1f;--border2:#001e3c38;--txt:#111820;--txt2:#2a3a50;--muted:#556675;--cyan:#0090bb;--amber:#c08800;--green:#00994d;--pink:#d4224a;--purple:#7c3aed}.light-mode .map-node{color:#1a2030;background:#ffffffd9;border-color:#001e3c26;box-shadow:0 2px 8px #00000014}.light-mode .map-node .node-label{color:#1a2030}.light-mode .map-node.cleared{border-color:rgba(var(--nc-rgb,0,144,187),.5);background:rgba(var(--nc-rgb,0,144,187),.07)}.light-mode .map-node.cleared .node-icon{filter:saturate(.5)brightness(.85)}.light-mode .map-node.available{border-color:var(--nc,#0090bb);background:#ffffffe6}.light-mode .map-node.locked{opacity:.38;filter:grayscale()brightness(.8);background:#c8d2dc33;border-color:#001e3c14}.light-mode .branch-label{color:var(--nc,#0090bb);opacity:.85}.light-mode .edge.cleared{stroke:#0090bb80}.light-mode .edge.available{stroke:#00994d66}.light-mode .edge.locked{stroke:#001e3c14}.light-mode .inventory-bar{color:#2a3a50;background:#005ab40f;border-color:#005ab426}.light-mode .title-btn{color:#2a3a50;background:#001e3c0a;border-color:#001e3c1f}.light-mode .m-hud{background:linear-gradient(#f0f2f5eb 0%,#f0f2f599 85%,#0000 100%)}.light-mode .m-dock{background:linear-gradient(#0000 0%,#f0f2f5b3 10%,#f0f2f5f2 100%)}.light-mode .m-lane,.light-mode .m-act{color:#2a3a50;background:#ffffffbf;border-color:#001e3c1f}.light-mode .hourly-banner{color:#2a3a50;background:#005ab40d;border-color:#005ab433}.light-mode .map-title{color:#111820;text-shadow:none}.light-mode .map-back{color:#2a3a50;background:#001e3c0f;border-color:#001e3c26}.light-mode .map-header h2{color:#111820}.light-mode .node-diff{color:#503c0073}.light-mode .map-node.available .node-diff{color:#503c00d9}.light-mode .node-cleared-stars{color:#c8920a;text-shadow:none}.light-mode .section-label{color:#2a3a50}.light-mode .equip-slot-label,.light-mode .talent-tier-label{color:#556675}.light-mode .equip-card{color:#1a2030;background:#001e3c08;border-color:#001e3c1a}.light-mode .equip-card__name{color:#111820}.light-mode .equip-card__desc{color:#556675}.light-mode .equip-card.owned{background:#0090bb0f;border-color:#0090bb4d}.light-mode .talent-node{color:#1a2030;background:#001e3c08;border-color:#001e3c1a}.light-mode .talent-node.owned{background:#0090bb14;border-color:#0090bb}.light-mode .upgrade-card{background:#001e3c08;border-color:#001e3c1a}.light-mode .upgrade-card.maxed{background:#b48c000f;border-color:#b48c004d}.light-mode .upgrade-card__nameEn{color:#556675}.light-mode .upgrade-card__stats{color:#2a3a50}.light-mode .upgrade-title{color:#960;text-shadow:none}.light-mode .equip-unit-block{background:#001e3c05}.light-mode .equip-unit-block__name{border-bottom-color:#001e3c0f}.light-mode .equip-select{color:#1a2030;background:#001e3c0a;border-color:#001e3c1f}.light-mode .equip-slot-card__label{color:#556675}.light-mode .equip-slot-card__effect{color:#00994d}.light-mode .equip-tab{color:#556675;background:#001e3c08;border-color:#001e3c14}.light-mode .equip-tab.active{color:#0090bb;background:#0090bb14;border-color:#0090bb4d}.light-mode .class-btn{color:var(--nc,#7c3aed)!important}.light-mode .achievement-btn{color:#960!important;border-color:#b48c0040!important}.light-mode .class-modal,.light-mode .settings-modal,.light-mode .ach-modal{background:#fff;border-color:#001e3c26;box-shadow:0 8px 32px #0000001f}.light-mode .class-card{color:#1a2030;background:#001e3c05;border-color:#001e3c1a}.light-mode .class-card__desc{color:#556675}.light-mode .class-buff.pos{color:#00994d;background:#00994d14}.light-mode .class-buff.neg{color:#c34;background:#cc33440f}.light-mode .setting-opt{color:#556675;background:#001e3c08;border-color:#001e3c14}.light-mode .setting-opt.active{color:#0090bb;background:#0090bb14;border-color:#0090bb4d}.light-mode .ach-card{background:#001e3c05;border-color:#001e3c14}.light-mode .ach-card.unlocked{background:#b48c000d;border-color:#b48c0040}.light-mode .ach-card__name{color:#111820}.light-mode .ach-card__desc{color:#556675}.light-mode .ach-tab{color:#556675;background:#001e3c08;border-color:#001e3c0f}.light-mode .ach-tab.active{color:#960;background:#b48c0014;border-color:#b48c0040}.light-mode .stats-section{background:#001e3c05;border-color:#001e3c0f}.light-mode .stats-row{border-bottom-color:#001e3c0d}.light-mode .stats-row span{color:#556675}.light-mode .stats-row b{color:#111820}.light-mode .hourly-banner .hourly-title{color:#960}.light-mode .hourly-banner .hourly-desc{color:#2a3a50}.light-mode .loadout-screen{background:var(--bg)}.light-mode .loadout-card{color:#1a2030;background:#001e3c08;border-color:#001e3c1a}.light-mode .loadout-card.selected{background:#00994d0f;border-color:#00994d}.light-mode .toast{color:#111820;background:#ffffffeb;border:1px solid #001e3c1f}*{box-sizing:border-box;margin:0}.hidden{display:none!important}html,body{background:var(--bg);height:100%;color:var(--txt);-webkit-font-smoothing:antialiased;touch-action:manipulation;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;font-family:ui-sans-serif,system-ui,-apple-system,Microsoft JhengHei,Segoe UI,Arial,sans-serif;overflow-x:hidden}canvas{touch-action:none}button,select,input{touch-action:manipulation}.app{grid-template-columns:minmax(0, var(--panel-width)) minmax(0, 1fr);width:100%;min-width:0;height:100dvh;min-height:100svh;display:grid;overflow:hidden}.panel{background:linear-gradient(175deg, var(--panel) 0%, var(--panel2) 100%);border-right:1px solid var(--border);min-width:0;padding:var(--panel-pad-y) var(--panel-pad-x);z-index:1;position:relative;overflow:hidden auto}.panel:before{content:"";pointer-events:none;z-index:0;background:linear-gradient(#0000 0%,#00d4ff08 50%,#0000 100%);height:120px;animation:6s linear infinite scanline;position:absolute;inset:0}.panel:after{content:"";pointer-events:none;z-index:0;background-image:linear-gradient(#64b4ff08 1px,#0000 1px),linear-gradient(90deg,#64b4ff08 1px,#0000 1px);background-size:32px 32px;animation:4s ease-in-out infinite breathe;position:absolute;inset:0}.panel>*{z-index:1;position:relative}.panel::-webkit-scrollbar{width:4px}.panel::-webkit-scrollbar-track{background:0 0}.panel::-webkit-scrollbar-thumb{background:#00d4ff33;border-radius:999px}.panel::-webkit-scrollbar-thumb:hover{background:#00d4ff59}.title{letter-spacing:1.5px;color:var(--cyan);text-shadow:0 0 22px #00d4ff73,0 0 44px #00d4ff2e;text-transform:uppercase;margin-bottom:6px;font-size:clamp(26px,2.1vw,30px);font-weight:900}.subtitle{color:var(--muted);letter-spacing:2.5px;text-transform:uppercase;border-bottom:1px solid var(--border);margin-bottom:18px;padding-bottom:14px;font-size:clamp(13px,1vw,15px)}.stats{gap:var(--panel-gap);grid-template-columns:1fr 1fr;margin-bottom:clamp(12px,1.1vw,16px);display:grid}.stat{--stat-color:var(--cyan);--sc:var(--stat-color);background:linear-gradient(135deg, color-mix(in srgb, var(--sc) 5%, transparent), #82c8ff08);border:1px solid color-mix(in srgb, var(--sc) 18%, var(--border));border-radius:10px;flex-direction:column;gap:2px;padding:7px 10px 7px 12px;transition:all .2s;display:flex;position:relative;overflow:hidden}.stat:hover{border-color:color-mix(in srgb, var(--sc) 40%, var(--border2));background:linear-gradient(135deg, color-mix(in srgb, var(--sc) 10%, transparent), #82c8ff0d)}.stat:before{content:"";background:var(--sc);width:3px;box-shadow:0 0 8px color-mix(in srgb, var(--sc) 50%, transparent);border-radius:0 3px 3px 0;position:absolute;top:15%;bottom:15%;left:0}.stat span{color:var(--muted);letter-spacing:1px;text-transform:uppercase;font-size:clamp(12px,.92vw,14px);font-weight:700}.stat b{font-family:ui-monospace,SF Mono,Cascadia Code,Consolas,monospace;font-size:var(--stat-value-size);color:var(--txt);text-shadow:0 0 10px color-mix(in srgb, var(--sc) 30%, transparent);font-weight:800;line-height:1.1}.stat[data-stat=energy]{--stat-color:var(--amber)}.stat[data-stat=energy] b{color:var(--amber);text-shadow:0 0 10px #ffb70033}.stat[data-stat=income]{--stat-color:var(--green)}.stat[data-stat=income] b{color:var(--green);text-shadow:0 0 10px #0f83}.stat[data-stat=baseL]{--stat-color:#6fb1ff}.stat[data-stat=baseL] b{color:#6fb1ff}.stat[data-stat=baseR]{--stat-color:var(--pink)}.stat[data-stat=baseR] b{color:#ff7b7b}.stat[data-stat=wave]{--stat-color:var(--purple)}.stat[data-stat=wave] b{color:#c084fc}.stat[data-stat=kills]{--stat-color:var(--pink)}.stat[data-stat=kills] b{color:#ff6b8a}.stat[data-stat=time]{--stat-color:var(--cyan)}.section-label{letter-spacing:2px;text-transform:uppercase;color:var(--muted);margin-bottom:10px;padding-left:2px;font-size:clamp(13px,1vw,15px);font-weight:700}.controls{gap:var(--panel-gap);flex-direction:column;display:flex}button{background:var(--card);width:100%;color:var(--txt);border:1px solid var(--border);cursor:pointer;font-weight:700;font-size:var(--control-font-size);text-align:left;border-radius:clamp(9px,.75vw,10px);padding:clamp(9px,.9vw,10px) clamp(12px,1vw,14px);transition:all .2s;position:relative;overflow:hidden}button:hover:not(:disabled){background:var(--card2);border-color:var(--border2);transform:translateY(-1px)}button:active:not(:disabled){transform:translateY(0)}button:disabled{opacity:.35;cursor:not-allowed;filter:grayscale(.3)}.btn-upgrade{align-items:center;gap:var(--panel-gap);background:linear-gradient(135deg,#3b82f61f,#00d4ff14);border-color:#3b82f640;display:flex}.btn-upgrade:hover:not(:disabled){background:linear-gradient(135deg,#3b82f633,#00d4ff24);border-color:#3b82f666;box-shadow:0 0 12px #3b82f61f}.btn-upgrade .btn-icon{text-align:center;flex-shrink:0;width:24px;font-size:clamp(14px,1.1vw,16px)}.btn-upgrade .btn-text{flex:1;min-width:0}.cannon{text-align:center;letter-spacing:1.5px;color:var(--muted);background:linear-gradient(135deg,#00d4ff14,#3b82f61f);border-color:#00d4ff33;padding:clamp(14px,1.3vw,18px);font-size:clamp(18px,1.45vw,21px);font-weight:900;transition:all .3s}.cannon:not(:disabled){color:var(--cyan);border-color:#00d4ff59;animation:2s ease-in-out infinite pulse-glow}.cannon:hover:not(:disabled){background:linear-gradient(135deg,#00d4ff2e,#3b82f638);transform:translateY(-1px);box-shadow:0 0 24px #00d4ff33}.cannon:not(:disabled):after{content:"";background:linear-gradient(105deg,#0000 40%,#00d4ff14 50%,#0000 60%) 0 0/200% 100%;animation:3s ease-in-out infinite shimmer;position:absolute;inset:0}.lane-row{grid-template-columns:1fr 1fr auto;gap:clamp(5px,.55vw,6px);display:grid}.btn-sound{text-align:center;min-width:36px;color:var(--muted);background:#ffffff08;border-color:#ffffff14;padding:0 10px;font-size:16px}.btn-sound:hover{color:var(--txt);background:#ffffff0f}.btn-pause,.btn-save,.btn-exit{text-align:center;color:var(--muted);background:#ffffff08;border-color:#ffffff14;padding:clamp(10px,1vw,13px) clamp(12px,1vw,14px);font-size:clamp(15px,1.2vw,17px)}.btn-pause:hover:not(:disabled),.btn-save:hover:not(:disabled),.btn-exit:hover:not(:disabled){color:var(--txt);background:#ffffff0f}.btn-exit{color:#ff9a88;border-color:#ff78642e}.btn-exit:hover:not(:disabled){color:#fc8;background:#ff78501f}.lane-indicator{gap:clamp(3px,.35vw,4px);margin-left:6px;display:inline-flex}.lane-dot{width:clamp(22px,1.75vw,26px);height:clamp(22px,1.75vw,26px);color:var(--muted);cursor:default;background:#ffffff0a;border:1px solid #ffffff14;border-radius:6px;justify-content:center;align-items:center;font-size:clamp(12px,.92vw,14px);font-weight:800;transition:all .15s;display:inline-flex}.lane-dot.active{color:#fff;text-shadow:0 0 6px #0ff9;background:#00ffff40;border-color:#0ff9;box-shadow:0 0 10px #00ffff59,0 0 3px #00ffff80}.unitBar{grid-template-columns:1fr;gap:clamp(5px,.55vw,6px);margin-top:4px;display:grid}.unitBtn{--unit-color:var(--cyan);--uc:var(--unit-color);--uaccent:var(--unit-accent,color-mix(in srgb, var(--uc) 55%, white));background:linear-gradient(135deg, color-mix(in srgb, var(--uc) 9%, transparent), #82c8ff08 48%, color-mix(in srgb, var(--uaccent) 7%, transparent));border:1px solid color-mix(in srgb, var(--uc) 20%, var(--border));cursor:pointer;text-align:left;border-radius:12px;grid-template-columns:auto 1fr;align-items:center;gap:12px;padding:12px 14px 14px;transition:transform .18s,border-color .18s,box-shadow .18s,background .18s;display:grid;position:relative;overflow:hidden}.unitBtn:before{content:"";background:var(--uc);width:3px;box-shadow:0 0 10px color-mix(in srgb, var(--uc) 50%, transparent);border-radius:0 3px 3px 0;transition:all .2s;position:absolute;top:10%;bottom:10%;left:0}.unitBtn:after{content:"";background:radial-gradient(circle at center, color-mix(in srgb, var(--uaccent) 30%, transparent) 0%, transparent 70%);opacity:.5;pointer-events:none;border-radius:50%;width:76px;height:76px;position:absolute;inset:auto -8% -35% auto}.unitBtn:hover:not(:disabled):not(.locked){border-color:color-mix(in srgb, var(--uc) 55%, var(--border2));box-shadow:0 6px 20px #00000059, 0 0 18px color-mix(in srgb, var(--uc) 25%, transparent);background:linear-gradient(135deg, color-mix(in srgb, var(--uc) 12%, transparent), #82c8ff0d);transform:translateY(-2px)}.unitBtn:hover:not(:disabled):not(.locked):before{width:4px;top:2%;bottom:2%}.unitBtn:disabled:not(.locked){opacity:.4;cursor:not-allowed}.unitBtn:disabled:not(.locked):before{opacity:.5}.unitBtn.locked{opacity:.28;filter:grayscale(.85)brightness(.7);cursor:not-allowed}.unitBtn__key{min-width:36px;height:36px;color:var(--uc);background:color-mix(in srgb, var(--uc) 14%, transparent);border:1px solid color-mix(in srgb, var(--uc) 35%, transparent);text-shadow:0 0 10px color-mix(in srgb, var(--uc) 65%, transparent);box-shadow:inset 0 0 8px color-mix(in srgb, var(--uc) 22%, transparent);border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;padding:0 9px;font-family:ui-monospace,SF Mono,Cascadia Code,Consolas,monospace;font-size:19px;font-weight:900;display:flex}.unitBtn__body{flex-direction:column;gap:4px;min-width:0;display:flex}.unitBtn__head{justify-content:space-between;align-items:center;gap:10px;display:flex}.unitBtn__main{align-items:center;gap:10px;min-width:0;display:flex}.unitBtn__iconWrap{background:radial-gradient(circle at 30% 28%, color-mix(in srgb, var(--uaccent) 18%, #ffffff08), #04070c38 72%);border:1px solid color-mix(in srgb, var(--uaccent) 28%, #ffffff0d);width:48px;height:48px;box-shadow:inset 0 0 12px color-mix(in srgb, var(--uaccent) 10%, transparent), 0 0 14px color-mix(in srgb, var(--uaccent) 12%, transparent);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.unitBtn__icon{image-rendering:auto;width:40px;height:40px;filter:drop-shadow(0 0 7px color-mix(in srgb, var(--uaccent) 25%, transparent))}.unitBtn__title{flex-direction:column;gap:3px;min-width:0;display:flex}.unitBtn__name{font-weight:800;font-size:var(--unit-name-size);letter-spacing:.3px;color:var(--txt);white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.unitBtn__role{letter-spacing:.65px;width:max-content;max-width:100%;color:var(--uaccent);background:color-mix(in srgb, var(--uaccent) 12%, transparent);border:1px solid color-mix(in srgb, var(--uaccent) 22%, #ffffff0a);box-shadow:inset 0 0 6px color-mix(in srgb, var(--uaccent) 12%, transparent);border-radius:999px;padding:2px 7px;font-family:ui-monospace,SF Mono,Consolas,monospace;font-size:10px;font-weight:900}.unitBtn__cost{color:var(--amber);font-family:ui-monospace,SF Mono,Consolas,monospace;font-size:var(--unit-meta-size);text-shadow:0 0 8px #ffb70040;flex-shrink:0;font-weight:800}.unitBtn__cost:before{content:"⚡";opacity:.8;margin-right:2px;font-size:.85em}.unitBtn__desc{color:var(--muted);font-size:var(--unit-desc-size);-webkit-line-clamp:1;text-overflow:ellipsis;-webkit-box-orient:vertical;line-height:1.35;display:-webkit-box;overflow:hidden}.unitBtn__lock{color:var(--amber);letter-spacing:.5px;background:#ffb7001a;border:1px solid #ffb70040;border-radius:999px;padding:3px 8px;font-family:ui-monospace,SF Mono,Consolas,monospace;font-size:12px;font-weight:900;position:absolute;top:8px;right:10px}.unitBtn__cd{background:#ffffff0d;grid-column:1/-1;height:3px;position:absolute;bottom:0;left:0;right:0;overflow:hidden}.unitBtn__cd>i{background:linear-gradient(90deg, var(--uc), color-mix(in srgb, var(--uc) 55%, white));width:0%;height:100%;box-shadow:0 0 6px color-mix(in srgb, var(--uc) 60%, transparent);transition:width .1s linear;display:block}.hint{color:var(--muted);letter-spacing:.3px;text-align:center;background:#ffffff05;border:1px solid #ffffff0d;border-radius:8px;margin-top:8px;padding:clamp(7px,.72vw,8px) clamp(8px,.8vw,10px);font-size:clamp(9px,.72vw,10px);line-height:1.6}.stage{background:var(--bg);min-width:0;min-height:0;position:relative;overflow:hidden}.stageWrap{background:var(--bg);min-width:0;position:absolute;inset:0}.stageWrap canvas{width:100%;height:100%;display:block}.hurt-overlay{z-index:25;pointer-events:none;opacity:0;mix-blend-mode:screen;background:radial-gradient(circle,#0000 35%,#ff3c5a6b 65%,#c81028c7 92%,#6e0414eb 100%);transition:opacity 40ms linear;position:absolute;inset:0}.damage-dir-indicator{z-index:26;pointer-events:none;opacity:0;width:200px;height:200px;transition:opacity 40ms linear,transform 40ms linear;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(0)scale(1)}.damage-dir-indicator:before{content:"";filter:drop-shadow(0 0 14px #ff1e32f2)drop-shadow(0 0 5px #ff5064b3);border-bottom:32px solid #ff485af2;border-left:14px solid #0000;border-right:14px solid #0000;position:absolute;top:-22px;left:50%;transform:translate(-50%)}.toast{opacity:0;pointer-events:none;z-index:10;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);letter-spacing:.3px;background:#080c14d9;border:1px solid #00d4ff33;border-radius:999px;padding:10px 20px;font-size:13px;font-weight:700;transition:all .25s cubic-bezier(.4,0,.2,1);position:absolute;bottom:24px;left:50%;transform:translate(-50%)translateY(8px);box-shadow:0 4px 20px #0006,0 0 15px #00d4ff14}.toast.show{opacity:1;transform:translate(-50%)translateY(0)}.gameOverlay{-webkit-backdrop-filter:blur(14px)saturate(120%);z-index:150;overscroll-behavior:contain;scrollbar-width:none;background:#04070cd1;justify-content:center;align-items:center;padding:24px 16px;transition:opacity .4s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;inset:0;overflow-y:auto}.gameOverlay::-webkit-scrollbar{display:none}.gameOverlay.hidden{opacity:0;pointer-events:none}.gameOverContent{--go-color:var(--cyan);--go-color-rgb:0, 212, 255;background:radial-gradient(ellipse at 50% 0%, color-mix(in srgb, var(--go-color) 14%, transparent), transparent 55%), radial-gradient(ellipse at 50% 100%, color-mix(in srgb, var(--go-color) 6%, transparent), transparent 50%), linear-gradient(170deg, var(--panel) 0%, var(--panel2) 100%);border:1px solid color-mix(in srgb, var(--go-color) 38%, var(--border2));text-align:center;width:100%;min-width:320px;max-width:540px;box-shadow:0 28px 90px #000000a6, 0 0 50px color-mix(in srgb, var(--go-color) 18%, transparent), inset 0 1px 0 #ffffff0d;border-radius:22px;padding:28px 32px 26px;animation:.5s cubic-bezier(.34,1.56,.64,1) both float-in;position:relative}.gameOverContent:has(.goTitle.victory){--go-color:var(--amber);--go-color-rgb:255, 183, 0}.gameOverContent:has(.goTitle.defeat){--go-color:var(--pink);--go-color-rgb:255, 45, 85}.gameOverContent:before{content:"";background:linear-gradient(90deg, transparent, var(--go-color), transparent);opacity:.7;width:70%;height:2px;box-shadow:0 0 18px var(--go-color);position:absolute;top:0;left:50%;transform:translate(-50%)}.gameOverContent:after{content:"";pointer-events:none;background:linear-gradient(var(--go-color), var(--go-color)) left top / 2px 28px no-repeat, linear-gradient(var(--go-color), var(--go-color)) left top / 28px 2px no-repeat, linear-gradient(var(--go-color), var(--go-color)) right bottom / 2px 28px no-repeat, linear-gradient(var(--go-color), var(--go-color)) right bottom / 28px 2px no-repeat;opacity:.32;border-radius:16px;position:absolute;inset:14px}.goHeader{margin-bottom:20px}.goTitle{letter-spacing:.12em;background:linear-gradient(180deg, color-mix(in srgb, var(--go-color) 100%, white 35%) 0%, var(--go-color) 50%, color-mix(in srgb, var(--go-color) 80%, black 20%) 100%);-webkit-text-fill-color:transparent;color:#0000;filter:drop-shadow(0 0 18px color-mix(in srgb, var(--go-color) 70%, transparent)) drop-shadow(0 0 40px color-mix(in srgb, var(--go-color) 30%, transparent));-webkit-background-clip:text;background-clip:text;margin:0;font-size:clamp(36px,6vw,48px);font-weight:900;line-height:1}.goSubtitle{letter-spacing:.35em;text-transform:uppercase;color:color-mix(in srgb, var(--go-color) 75%, var(--muted));opacity:.85;margin-top:8px;padding:0 14px;font-size:11px;font-weight:800;display:inline-block;position:relative}.goSubtitle:before,.goSubtitle:after{content:"";background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--go-color) 60%, transparent));width:16px;height:1px;position:absolute;top:50%}.goSubtitle:before{right:100%;transform:rotate(180deg)}.goSubtitle:after{left:100%}.goStats{grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px;display:grid}.goStat{border:1px solid var(--border);background:linear-gradient(#ffffff0a,#ffffff03),#0a101866;border-radius:14px;flex-direction:column;align-items:center;gap:6px;padding:14px 8px 12px;transition:all .2s;display:flex;position:relative;overflow:hidden}.goStat:before{content:"";background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--go-color) 50%, transparent), transparent);opacity:.5;height:2px;position:absolute;inset:0 0 auto}.goStat:hover{border-color:color-mix(in srgb, var(--go-color) 40%, var(--border2));background:linear-gradient(180deg, #ffffff0f, #ffffff05), color-mix(in srgb, var(--go-color) 4%, #0a101866);transform:translateY(-2px);box-shadow:0 6px 18px #0000004d}.goStat span{color:var(--muted);letter-spacing:.18em;text-transform:uppercase;opacity:.85;font-size:10px;font-weight:800}.goStat b{color:var(--txt);text-shadow:0 0 14px color-mix(in srgb, var(--go-color) 45%, transparent);font-family:ui-monospace,SF Mono,Consolas,monospace;font-size:clamp(22px,4.4vw,28px);font-weight:900;line-height:1}.goHpBar{border:1px solid var(--border);text-align:left;background:#0a101873;border-radius:12px;margin:4px 0 18px;padding:10px 14px 12px}.goHpBar.hidden{display:none}.goHpBar__head{justify-content:space-between;align-items:center;margin-bottom:7px;display:flex}.goHpBar__name{letter-spacing:.18em;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:700}.goHpBar__pct{color:var(--txt);font-family:ui-monospace,SF Mono,Consolas,monospace;font-size:14px;font-weight:900}.goHpBar__track{background:#ffffff0d;border-radius:999px;width:100%;height:8px;position:relative;overflow:hidden}.goHpBar__fill{border-radius:999px;height:100%;transition:width 1.2s cubic-bezier(.4,1.4,.5,1);position:relative;box-shadow:0 0 12px}.goHpBar__fill.perfect{color:#0f8;background:linear-gradient(90deg,#00d4ff,#0f8)}.goHpBar__fill.good{color:#ffb700;background:linear-gradient(90deg,#00d4ff,#ffb700)}.goHpBar__fill.low{color:#ff2d55;background:linear-gradient(90deg,#ff8a00,#ff2d55);animation:1.4s ease-in-out infinite hp-low-pulse}@keyframes hp-low-pulse{0%,to{filter:brightness()}50%{filter:brightness(1.4)drop-shadow(0 0 8px #ff2d55)}}.goReward{background:radial-gradient(ellipse at center top, color-mix(in srgb, var(--amber) 12%, transparent), transparent 70%), #0a101859;border:1px solid color-mix(in srgb, var(--amber) 28%, transparent);border-radius:14px;flex-direction:column;gap:1px;margin-bottom:16px;padding:8px 0;display:flex;overflow:hidden}.goReward.hidden{display:none}.goRewardLine{color:#ffe8a0;text-align:center;letter-spacing:.5px;background:0 0;padding:9px 14px 9px 22px;font-size:14px;font-weight:700;transition:background .15s;position:relative}.goRewardLine+.goRewardLine{border-top:1px solid #ffb7001a}.goRewardLine:hover{background:#ffb7000d}.goRewardLine:before{content:"";background:linear-gradient(180deg, transparent, var(--amber), transparent);opacity:.6;border-radius:0 2px 2px 0;width:3px;position:absolute;top:18%;bottom:18%;left:0}.goNextNodes{width:100%;margin-bottom:16px}.goNextLabel{letter-spacing:.25em;text-transform:uppercase;color:color-mix(in srgb, var(--go-color) 65%, var(--muted));text-align:center;opacity:.9;margin:0 0 10px;font-size:10px;font-weight:800}.goNextNode{border:1px solid var(--border2);border-left:3px solid color-mix(in srgb, var(--go-color) 55%, var(--border2));width:100%;color:var(--txt);cursor:pointer;text-align:left;background:linear-gradient(#ffffff08,#ffffff03),#0a101880;border-radius:12px;align-items:center;gap:10px;margin:0 0 8px;padding:11px 14px;font-size:14px;font-weight:700;transition:all .18s;display:flex}.goNextNode:hover{background:linear-gradient(180deg, #ffffff0d, #ffffff05), color-mix(in srgb, var(--go-color) 6%, #0a101880);border-color:color-mix(in srgb, var(--go-color) 50%, var(--border2));border-left-color:var(--go-color);box-shadow:0 6px 20px #0000004d, 0 0 16px color-mix(in srgb, var(--go-color) 18%, transparent);transform:translate(3px)}.goNextNode:active{transform:translate(0)}.goNextNode-icon{background:color-mix(in srgb, var(--go-color) 14%, #ffffff08);border-radius:10px;flex-shrink:0;place-items:center;width:36px;height:36px;font-size:22px;display:grid}.goNextNode-name{text-align:left;flex:1}.goNextNode-stars{color:color-mix(in srgb, var(--amber) 70%, var(--muted));letter-spacing:2px;flex-shrink:0;font-size:11px}.goNextBadge{letter-spacing:.8px;text-transform:uppercase;vertical-align:middle;border-radius:4px;margin-left:6px;padding:1px 6px;font-size:9px;font-weight:900;display:inline-block}.goNextBadge.boss{color:#f43f5e;background:#f43f5e2e;border:1px solid #f43f5e66}.goNextBadge.elite{color:#f59e0b;background:#f59e0b2e;border:1px solid #f59e0b66}.goButtons{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:4px;display:flex}.goBtn{border:1px solid var(--border2);letter-spacing:.12em;color:var(--txt);cursor:pointer;text-align:center;background:#ffffff0a;border-radius:12px;width:auto;min-width:110px;padding:11px 22px;font-size:13px;font-weight:800;transition:all .2s}.goBtn:hover{background:color-mix(in srgb, var(--go-color) 14%, #ffffff0d);border-color:color-mix(in srgb, var(--go-color) 50%, var(--border2));box-shadow:0 8px 22px #0006, 0 0 16px color-mix(in srgb, var(--go-color) 22%, transparent);transform:translateY(-2px)}.goBtn:active{transform:translateY(0)}#goNext{background:linear-gradient(135deg, color-mix(in srgb, var(--go-color) 22%, transparent), color-mix(in srgb, var(--go-color) 10%, transparent));border-color:color-mix(in srgb, var(--go-color) 55%, var(--border2));color:var(--go-color)}@media (width<=600px){.gameOverContent{border-radius:18px;padding:22px 18px 20px}.goTitle{font-size:clamp(32px,9vw,42px)}.goSubtitle{letter-spacing:.25em;font-size:10px}.goStat{gap:5px;padding:12px 6px 10px}.goStat span{font-size:9px}.goStat b{font-size:22px}.goRewardLine{padding:8px 12px 8px 18px;font-size:13px}.goNextNode{gap:8px;padding:10px 12px}.goNextNode-icon{width:32px;height:32px;font-size:18px}.goBtn{min-width:92px;padding:10px 16px;font-size:12px}}@media (width<=900px) and (orientation:landscape){.gameOverlay{padding:12px 16px}.gameOverContent{padding:18px 22px 16px}.goHeader{margin-bottom:12px}.goTitle{font-size:clamp(28px,5.5vw,38px)}.goStats{gap:8px;margin-bottom:10px}.goStat{padding:10px 6px 8px}.goHpBar{margin:2px 0 12px;padding:8px 12px 10px}.goReward{margin-bottom:10px}.goRewardLine{padding:7px 12px 7px 18px;font-size:13px}.goNextNodes{margin-bottom:10px}.goNextNode{margin-bottom:6px;padding:8px 12px}}@media (width<=1440px){:root{--panel-width:clamp(250px, 22vw, 320px)}.subtitle{margin-bottom:12px;padding-bottom:12px}}@media (width<=1220px){:root{--panel-width:clamp(240px, 23vw, 290px);--panel-pad-y:12px;--panel-pad-x:10px}.subtitle,.hint{display:none}.section-label{letter-spacing:1.5px}}@media (height<=920px){.subtitle,.hint{display:none}.stats{margin-bottom:10px}}@media (width<=1360px),(height<=900px){:root{--panel-width:clamp(240px, 22vw, 300px);--panel-pad-y:10px;--panel-pad-x:10px;--panel-gap:7px;--stat-value-size:21px;--control-font-size:16px;--unit-name-size:16px;--unit-meta-size:18px;--unit-desc-size:13px}.title{margin-bottom:3px;font-size:22px}.subtitle,.hint{display:none}.section-label{letter-spacing:1.5px;margin-bottom:7px;font-size:12px}.stats{grid-template-columns:1fr 1fr;gap:6px;margin-bottom:10px}.stat{border-radius:9px;padding:7px 9px 7px 11px}.stat span{font-size:11px}.btn-upgrade{padding:9px 11px}.cannon{padding:11px 12px;font-size:17px}.btn-pause,.btn-save,.btn-exit{padding:8px 10px;font-size:14px}.unitBar{gap:6px}.unitBtn{border-radius:10px;gap:10px;padding:10px 12px 12px}.unitBtn__key{min-width:32px;height:32px;font-size:17px}.unitBtn__lock{font-size:11px}}.fullscreen-ui{z-index:200;background:var(--bg);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.fullscreen-ui.hidden{display:none}.title-screen{background:radial-gradient(ellipse at 50% 40%, #00d4ff0f, var(--bg) 70%);flex-direction:column}.title-content{text-align:center}.title-logo{color:var(--cyan);text-shadow:0 0 40px #00d4ff59,0 0 80px #00d4ff1a;letter-spacing:3px;text-transform:uppercase;margin:0 0 8px;font-size:clamp(36px,6vw,64px);font-weight:900}.title-sub{color:var(--muted);letter-spacing:4px;text-transform:uppercase;margin:0 0 48px;font-size:clamp(12px,2vw,16px)}.title-buttons{flex-direction:column;align-items:center;gap:14px;display:flex}.title-btn{letter-spacing:2px;text-align:center;background:var(--card);border:1px solid var(--border);width:260px;color:var(--txt);cursor:pointer;border-radius:14px;padding:16px 32px;font-size:16px;font-weight:800;transition:all .25s}.title-btn:hover{background:var(--card2);border-color:var(--border2);transform:translateY(-2px);box-shadow:0 8px 30px #0000004d}.title-btn.primary{color:var(--cyan);background:linear-gradient(135deg,#00d4ff26,#3b82f61f);border-color:#00d4ff4d}.title-btn.primary:hover{background:linear-gradient(135deg,#00d4ff40,#3b82f633);box-shadow:0 0 30px #00d4ff26,0 8px 30px #0000004d}.title-settings-btn{width:44px;height:44px;color:var(--muted);cursor:pointer;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:50%;justify-content:center;align-items:center;margin-top:24px;font-size:18px;transition:all .15s;display:flex}.title-settings-btn:hover{color:var(--txt);background:#ffffff1f}.light-mode .title-settings-btn{color:#556675;background:#001e3c0d;border-color:#001e3c1f}.title-ver{color:#ffffff26;letter-spacing:2px;margin-top:16px;font-size:11px}.map-screen{background:radial-gradient(ellipse at 50% 20%, #00d4ff0f, transparent 50%), radial-gradient(ellipse at 20% 60%, #ff446608, transparent 40%), radial-gradient(ellipse at 80% 60%, #a855f708, transparent 40%), var(--bg);flex-direction:column;padding:24px 16px}.map-content{width:100%;max-width:100%}.map-header{background:radial-gradient(circle at 0 0,#00d4ff1f,#0000 42%),linear-gradient(135deg,#070c14eb,#080f18c2);border:1px solid #00d4ff24;border-radius:20px;grid-template-columns:auto 1fr;align-items:center;gap:14px;margin-bottom:18px;padding:14px 18px;display:grid;position:relative;overflow:hidden;box-shadow:0 18px 38px #0000002e,inset 0 1px #ffffff0d}.map-header:before{content:"";pointer-events:none;background:linear-gradient(90deg,#0000,#00d4ff14,#0000);animation:7s linear infinite map-header-scan;position:absolute;inset:0;transform:translate(-100%)}@keyframes map-header-scan{to{transform:translate(100%)}}.map-back{letter-spacing:1.2px;width:auto;color:var(--txt);cursor:pointer;z-index:1;background:#030810c7;border:1px solid #00d4ff2e;border-radius:999px;padding:10px 16px;font-size:12px;font-weight:800;transition:transform .2s,border-color .2s,background .2s,box-shadow .2s;position:relative}.map-back:hover{color:var(--txt);background:#00d4ff1f;border-color:#00d4ff59;transform:translateY(-1px);box-shadow:0 0 18px #00d4ff29}.map-title{color:var(--cyan);text-shadow:0 0 15px #00d4ff40;letter-spacing:2px;z-index:1;margin:0;font-size:22px;font-weight:900;position:relative}.map-title small{letter-spacing:4px;opacity:.56;margin-top:4px;font-size:10px;font-weight:700;display:block}.ch-title{color:var(--muted);letter-spacing:1px;margin-bottom:12px;font-size:14px;font-weight:700}.level-row{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;margin-bottom:20px;display:grid}.level-btn{background:var(--card);border:1px solid var(--border);cursor:pointer;text-align:left;border-radius:12px;flex-direction:column;gap:6px;padding:14px 12px;transition:all .2s;display:flex;position:relative;overflow:hidden}.level-btn:hover:not(:disabled){background:var(--card2);border-color:var(--border2);transform:translateY(-2px);box-shadow:0 6px 20px #0000004d}.level-btn.locked{opacity:.3;filter:grayscale(.8);cursor:not-allowed}.level-btn.cleared{border-color:#00ff8840}.level-btn.cleared:after{content:"";background:var(--green);border-radius:0 3px 3px 0;width:3px;position:absolute;top:0;bottom:0;left:0}.level-id{color:var(--cyan);text-shadow:0 0 8px #00d4ff33;font-family:ui-monospace,SF Mono,Consolas,monospace;font-size:20px;font-weight:900}.level-name{color:var(--txt);font-size:14px;font-weight:800}.level-desc{color:var(--muted);font-size:11px;line-height:1.4}.level-check{color:var(--green);letter-spacing:1px;font-size:10px;font-weight:800}.level-lock{color:var(--muted);letter-spacing:1px;font-size:10px;font-weight:800}.dialogue-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:pointer;background:#04070cd9}.dialogue-box{background:linear-gradient(170deg, var(--panel), var(--panel2));border:1px solid var(--border2);border-radius:16px;width:90%;max-width:600px;padding:32px 40px;box-shadow:0 16px 50px #00000080}.dialogue-speaker{color:var(--cyan);letter-spacing:1px;text-transform:uppercase;margin-bottom:12px;font-size:13px;font-weight:800}.dialogue-text{color:var(--txt);margin-bottom:20px;font-size:16px;font-weight:500;line-height:1.7}.dialogue-hint{color:var(--muted);text-align:right;letter-spacing:.5px;font-size:11px}.site-index{border-top:1px solid var(--border);background:radial-gradient(circle at top,#00d4ff0d,#0000 34%),linear-gradient(#04070cfa,#080c14fa);display:none;position:relative}.site-index:before{content:"";pointer-events:none;opacity:.7;background-image:linear-gradient(#64b4ff08 1px,#0000 1px),linear-gradient(90deg,#64b4ff08 1px,#0000 1px);background-size:32px 32px;position:absolute;inset:0}.site-index__inner{z-index:1;max-width:1180px;margin:0 auto;padding:32px 24px 48px;position:relative}.site-index__eyebrow{color:var(--cyan);letter-spacing:2px;text-transform:uppercase;margin-bottom:10px;font-size:11px;font-weight:800}.site-index__title{letter-spacing:2px;text-transform:uppercase;color:var(--txt);margin:0 0 12px;font-size:clamp(28px,5vw,42px);font-weight:900}.site-index__lead{max-width:820px;color:var(--txt2);margin:0 0 24px;font-size:15px;line-height:1.8}.site-index__grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.site-index__card{border:1px solid var(--border);background:#82c8ff0d;border-radius:14px;min-height:140px;padding:16px;box-shadow:inset 0 1px #ffffff08}.site-index__card h3{color:var(--cyan);letter-spacing:.5px;margin:0 0 8px;font-size:14px;font-weight:800}.site-index__card p{color:var(--txt2);margin:0;font-size:13px;line-height:1.7}#titleScreen:not(.hidden)~.site-index{display:block}.m-hud,.m-lanes,.m-dock,.m-actions{display:none}.speed-popup{-webkit-backdrop-filter:blur(12px);z-index:500;background:#0a1018f0;border:1px solid #00d4ff59;border-radius:12px;flex-direction:column;gap:8px;min-width:260px;padding:12px 16px 10px;animation:.18s ease-out speed-popup-in;display:flex;position:fixed;top:60px;right:20px;box-shadow:0 8px 24px #00000080,0 0 20px #00d4ff33}.speed-popup.hidden{display:none}@keyframes speed-popup-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.speed-popup__header{justify-content:space-between;align-items:baseline;display:flex}.speed-popup__label{letter-spacing:1.5px;color:#ffffff8c;text-transform:uppercase;font-size:10px;font-weight:900}.speed-popup__value{color:var(--cyan,#00d4ff);letter-spacing:.5px;font-size:14px;font-weight:900}.speed-popup__value b{font-size:18px}.speed-popup__slider{appearance:none;background:linear-gradient(to right, #00d4ff66 0%, #00d4ff66 var(--pct,0%), #ffffff1a var(--pct,0%), #ffffff1a 100%);cursor:pointer;border-radius:3px;outline:none;width:100%;height:6px}.speed-popup__slider::-webkit-slider-thumb{appearance:none;background:var(--cyan,#00d4ff);cursor:pointer;border:2px solid #0a1018;border-radius:50%;width:22px;height:22px;box-shadow:0 0 10px #00d4ffb3}.speed-popup__slider::-moz-range-thumb{background:var(--cyan,#00d4ff);cursor:pointer;border:2px solid #0a1018;border-radius:50%;width:22px;height:22px;box-shadow:0 0 10px #00d4ffb3}.speed-popup__ticks{color:#ffffff59;justify-content:space-between;padding:0 4px;font-size:9px;font-weight:700;display:flex}.speed-inline{z-index:30;pointer-events:auto;align-items:center;gap:6px;display:flex;position:absolute;top:8px;left:52px}.speed-inline__slider{appearance:none;background:linear-gradient(to right, #00d4ff8c 0%, #00d4ff8c var(--pct,0%), #ffffff1f var(--pct,0%), #ffffff1f 100%);cursor:pointer;border-radius:2px;outline:none;width:110px;height:4px}.speed-inline__slider::-webkit-slider-thumb{appearance:none;background:var(--cyan,#00d4ff);cursor:pointer;border:1.5px solid #0a1018;border-radius:50%;width:14px;height:14px;box-shadow:0 0 6px #00d4ff99}.speed-inline__slider::-moz-range-thumb{background:var(--cyan,#00d4ff);cursor:pointer;border:1.5px solid #0a1018;border-radius:50%;width:14px;height:14px;box-shadow:0 0 6px #00d4ff99}.speed-inline__value{color:var(--cyan,#00d4ff);letter-spacing:.3px;min-width:34px;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:11px;font-weight:800}.speed-inline__value b{font-size:12px}@media (width<=900px){.speed-inline{display:none}.app{grid-template-rows:1fr;grid-template-columns:1fr}.panel{display:none!important}.stage{height:100dvh}.m-hud{z-index:20;padding:calc(env(safe-area-inset-top,0px) + 4px) 12px 5px;-webkit-backdrop-filter:blur(14px);pointer-events:auto;background:linear-gradient(#04070cd9 0%,#04070c80 85%,#0000 100%);flex-wrap:nowrap;justify-content:center;align-items:center;gap:8px;display:flex;position:absolute;top:0;left:0;right:0}.m-hud__stat{letter-spacing:.5px;color:var(--muted);align-items:center;gap:4px;font-size:13px;font-weight:700;display:inline-flex}.m-hud__stat b{color:var(--txt);font-family:ui-monospace,SF Mono,Consolas,monospace;font-size:17px;font-weight:900}.m-hud--energy b{color:var(--amber)}.m-hud--income b{color:var(--green)}.m-hud--wave b{color:var(--cyan)}.m-hud--energy:before{content:"⚡";font-size:14px}.m-hud--income:before{content:"📈";font-size:12px}.m-hud--wave{color:var(--muted);font-size:14px;font-weight:800}.m-hud__btn{width:38px;height:34px;color:var(--muted);background:#ffffff0f;border:1px solid #ffffff1f;border-radius:8px;flex:none;justify-content:center;align-items:center;padding:0;font-size:17px;font-weight:800;display:inline-flex}.m-hud__btn:active{background:#00d4ff26}.m-hud__speed{width:auto;min-width:60px;height:34px;color:var(--muted);letter-spacing:.5px;background:#ffffff0f;border:1px solid #ffffff26;border-radius:17px;flex:none;justify-content:center;align-items:center;padding:0 14px;font-size:15px;font-weight:900;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.m-hud__speed:active{transform:scale(.93)}.m-hud__speed[data-fast="1"]{color:var(--cyan);background:#00d4ff26;border-color:#00d4ff59}.m-hud__speed[data-fast="2"]{color:var(--amber);background:#ff8c002e;border-color:#ff8c0066;animation:1.5s ease-in-out infinite pulse-glow}.m-lanes{z-index:20;flex-direction:column;gap:6px;display:flex;position:absolute;top:50%;left:6px;transform:translateY(-50%)}.m-lane{-webkit-backdrop-filter:blur(10px);width:30px;height:30px;color:var(--muted);background:#04070c99;border:1.5px solid #ffffff1a;border-radius:8px;justify-content:center;align-items:center;padding:0;font-size:12px;font-weight:900;transition:all .15s;display:flex}.m-lane.active{color:#fff;text-shadow:0 0 6px #00d4ff99;background:#00d4ff38;border-color:#00d4ff99;box-shadow:0 0 10px #00d4ff4d}.m-lane:active:not(.active){background:#00d4ff1a}.m-actions{z-index:20;flex-direction:column;gap:6px;display:flex;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.m-act{-webkit-backdrop-filter:blur(10px);width:40px;height:40px;color:var(--muted);background:#04070ca6;border:1.5px solid #ffffff1a;border-radius:10px;justify-content:center;align-items:center;padding:0;font-size:13px;font-weight:800;transition:all .15s;display:flex}.m-act:active:not(:disabled){background:#00d4ff26;transform:scale(.9)}.m-act:disabled{opacity:.3}.m-act--cannon{color:var(--cyan);background:#00d4ff1a;border-color:#00d4ff4d}.m-act--cannon:not(:disabled){animation:2.5s ease-in-out infinite pulse-glow}.m-item-bar{flex-direction:column;gap:4px;display:flex}.m-item-bar .item-btn{border-radius:10px;width:40px;height:40px;font-size:16px}.m-dock{z-index:20;padding:4px 6px calc(env(safe-area-inset-bottom,0px) + 6px);-webkit-backdrop-filter:blur(14px);background:linear-gradient(#0000 0%,#04070c99 10%,#04070ce6 100%);display:flex;position:absolute;bottom:0;left:0;right:0}.m-dock__units{justify-content:center;gap:4px;width:100%;padding:2px 0;display:flex}.m-unit{--uc:var(--cyan);--uaccent:color-mix(in srgb, var(--uc) 55%, white);background:linear-gradient(180deg, color-mix(in srgb, var(--uc) 10%, #04070cd1), #04070cb3 65%, color-mix(in srgb, var(--uaccent) 8%, transparent));border:1.5px solid color-mix(in srgb, var(--uc) 20%, #ffffff14);min-width:0;max-width:82px;color:var(--txt);text-align:center;border-radius:10px;flex-direction:column;flex:1 1 0;align-items:center;gap:1px;padding:6px 2px 8px;transition:border-color .12s,box-shadow .12s,transform .1s;display:flex;position:relative;overflow:hidden}.m-unit:active:not(:disabled){border-color:color-mix(in srgb, var(--uc) 65%, white);box-shadow:0 0 18px color-mix(in srgb, var(--uc) 35%, transparent);transform:scale(.92)}.m-unit:disabled{opacity:.3;filter:grayscale(.4)}.m-unit:before{content:"";background:var(--uc);height:2px;box-shadow:0 0 8px color-mix(in srgb, var(--uc) 50%, transparent);border-radius:0 0 2px 2px;position:absolute;top:0;left:15%;right:15%}.m-unit:after{content:"";background:radial-gradient(circle, color-mix(in srgb, var(--uaccent) 30%, transparent), transparent 72%);opacity:.5;pointer-events:none;border-radius:50%;width:34px;height:34px;position:absolute;bottom:-12px;right:-10px}.m-unit__key{min-width:16px;color:var(--txt);background:#00000059;border:1px solid #ffffff14;border-radius:999px;padding:1px 4px;font-family:ui-monospace,SF Mono,Consolas,monospace;font-size:9px;font-weight:900;line-height:1.2;position:absolute;top:4px;left:5px}.m-unit__role{letter-spacing:.4px;color:var(--uaccent);background:color-mix(in srgb, var(--uaccent) 12%, #00000047);border:1px solid color-mix(in srgb, var(--uaccent) 25%, #ffffff0d);border-radius:999px;padding:1px 4px;font-family:ui-monospace,SF Mono,Consolas,monospace;font-size:8px;font-weight:900;line-height:1.2;position:absolute;top:4px;right:4px}.m-unit__icon{image-rendering:auto;pointer-events:none;width:46px;height:46px;filter:drop-shadow(0 0 6px color-mix(in srgb, var(--uaccent) 24%, transparent))}.m-unit__cost{color:var(--amber);text-shadow:0 0 5px #ffb70033;font-family:ui-monospace,SF Mono,Consolas,monospace;font-size:11px;font-weight:900;line-height:1}.m-unit__cost:before{content:"⚡";opacity:.7;margin-right:1px;font-size:.75em}.m-unit__cd{pointer-events:none;position:absolute;inset:0;overflow:hidden}.m-unit__cd>i{background:linear-gradient(0deg, color-mix(in srgb, var(--uc) 25%, #04070cb3), color-mix(in srgb, var(--uc) 8%, transparent));height:0%;transition:height 80ms linear;display:block;position:absolute;bottom:0;left:0;right:0}.toast{bottom:100px}.site-index__grid{grid-template-columns:1fr 1fr}}@media (width<=900px) and (orientation:portrait){.stageWrap{aspect-ratio:16/9;width:100%;height:auto;position:absolute;inset:50% 0 auto;transform:translateY(-50%)}.m-hud__stat{font-size:14px}.m-hud__stat b{font-size:18px}.m-hud--energy:before{font-size:15px}.m-hud--income:before{font-size:13px}.m-hud--wave{font-size:15px}.m-hud__btn{border-radius:9px;width:40px;height:36px;font-size:18px}.m-hud__speed{border-radius:18px;min-width:64px;height:36px;padding:0 16px;font-size:16px}.m-lane{width:36px;height:36px;font-size:14px}.m-act{width:46px;height:46px;font-size:15px}.m-item-bar .item-btn{width:46px;height:46px;font-size:18px}.m-unit__icon{width:52px;height:52px}.m-unit__cost{font-size:13px}.m-unit__key{font-size:11px}.m-unit__role{font-size:10px}}@media (width<=900px) and (orientation:landscape){.title-screen{padding:14px 24px}.title-screen .title-content{text-align:left;grid-template-columns:auto auto;align-items:center;column-gap:54px;display:grid;position:relative}.title-screen .title-logo{letter-spacing:2.5px;grid-area:1/1;margin:0 0 4px;font-size:clamp(34px,6vw,56px)}.title-screen .title-sub{letter-spacing:3px;grid-area:2/1;margin:0;font-size:clamp(11px,1.6vw,14px)}.title-screen .title-buttons{grid-area:1/2/span 2;gap:10px}.title-screen .title-btn{letter-spacing:1.5px;border-radius:12px;width:240px;padding:11px 28px;font-size:14px}.title-screen .title-settings-btn{grid-area:3/2;justify-self:center;width:36px;height:36px;margin:10px 0 0;font-size:15px;position:static;top:auto;right:auto}.title-screen .title-ver{margin:0;font-size:10px;position:absolute;bottom:-22px;right:0}.m-hud{padding:calc(env(safe-area-inset-top,0px) + 4px) 12px 5px;gap:8px}.m-hud__stat{gap:4px;font-size:13px}.m-hud__stat b{font-size:16px}.m-hud--energy:before{font-size:14px}.m-hud--income:before{font-size:12px}.m-hud--wave{font-size:14px}.m-hud__btn{border-radius:8px;width:36px;height:30px;font-size:16px}.m-hud__speed{border-radius:15px;min-width:56px;height:30px;padding:0 14px;font-size:14px}.m-dock{padding:3px 8px calc(env(safe-area-inset-bottom,0px) + 5px)}.m-dock__units{gap:6px;padding:0}.m-unit{gap:1px;max-width:82px;padding:6px 4px 8px}.m-unit__icon{width:46px;height:46px}.m-unit__cost{font-size:12px}.m-unit__key{padding:1px 5px;font-size:10px}.m-unit__role{padding:1px 4px;font-size:9px}.m-lane{border-radius:9px;width:36px;height:36px;font-size:14px}.m-act{border-radius:11px;width:46px;height:46px;font-size:14px}.m-item-bar .item-btn{width:46px;height:46px;font-size:16px}.toast{bottom:80px}.settings-modal{max-width:640px;max-height:90dvh;padding:16px 18px}.settings-modal__title{margin:0 0 12px;font-size:17px}.settings-modal .setting-row{grid-template-columns:90px 1fr;align-items:center;gap:12px;margin-bottom:10px;display:grid}.settings-modal .setting-row--danger{grid-template-columns:1fr;margin-top:14px;padding-top:10px}.settings-modal .setting-label{letter-spacing:.8px;text-align:right;margin-bottom:0;font-size:11px}.settings-modal .setting-options{gap:5px}.settings-modal .setting-opt{padding:5px 10px;font-size:12px}.setting-btn--danger{padding:8px 14px;font-size:12px}.settings-modal__close{width:28px;height:28px;font-size:14px;top:8px;right:8px}}@media (width<=640px){.site-index__inner{padding:28px 16px 40px}.site-index__lead{font-size:14px}.site-index__grid{grid-template-columns:1fr}}.endless-btn{color:#c084fc!important;background:linear-gradient(135deg,#a855f71f,#00d4ff14)!important;border-color:#a855f74d!important}.endless-btn:hover{background:linear-gradient(135deg,#a855f738,#00d4ff24)!important;box-shadow:0 0 18px #a855f726!important}.endless-event{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:250;background:#04070cd9;justify-content:center;align-items:center;display:flex}.endless-event__box{background:linear-gradient(175deg, var(--panel) 0%, var(--panel2) 100%);text-align:center;border:1.5px solid #a855f740;border-radius:18px;width:90%;max-width:420px;padding:28px 24px;box-shadow:0 8px 40px #00000080,0 0 30px #a855f714}.endless-event__title{color:#c084fc;letter-spacing:1.5px;text-shadow:0 0 16px #a855f766;margin-bottom:10px;font-size:20px;font-weight:900}.endless-event__desc{color:var(--txt2);margin-bottom:18px;font-size:14px;line-height:1.5}.endless-event__choices{flex-direction:column;gap:8px;display:flex}.endless-event__choice{color:#bfe6ff;text-align:left;cursor:pointer;background:#a855f70f;border:1px solid #a855f72e;border-radius:12px;width:100%;padding:12px 16px;font-size:14px;font-weight:700;transition:all .15s}.endless-event__choice:hover{background:#a855f724;border-color:#a855f759;transform:translateY(-1px);box-shadow:0 4px 16px #a855f71f}.endless-event__choice small{color:var(--muted);margin-top:3px;font-size:11px;font-weight:400;display:block}.item-bar{flex-wrap:wrap;gap:5px;margin-bottom:6px;display:flex}.item-btn{width:auto;min-width:42px;height:36px;color:var(--amber);text-align:center;background:#ffb70014;border:1px solid #ffb70033;border-radius:9px;align-items:center;gap:4px;padding:0 8px;font-size:14px;font-weight:700;display:inline-flex}.item-btn:hover:not(:disabled){background:#ffb70029;border-color:#ffb70059}.item-btn__icon{font-size:16px}.item-btn__count{color:#fff;background:#ffffff1f;border-radius:6px;padding:1px 5px;font-family:ui-monospace,SF Mono,Consolas,monospace;font-size:12px;font-weight:900}.m-item-bar{flex-wrap:wrap;gap:4px;display:flex}.m-item-btn{width:auto;min-width:36px;height:28px;color:var(--amber);background:#ffb70014;border:1px solid #ffb7002e;border-radius:7px;flex-shrink:0;align-items:center;gap:3px;padding:0 7px;font-size:13px;font-weight:700;display:inline-flex}.m-item-btn span{color:#fff;background:#ffffff1f;border-radius:4px;padding:0 4px;font-size:10px;font-weight:900}.m-item-btn:active:not(:disabled){background:#ffb7002e}.equip-screen{background:#04070cf5;justify-content:center;align-items:flex-start;overflow-y:auto}.equip-content{max-width:960px;margin:0 auto;padding:24px 18px}.equip-header{z-index:5;-webkit-backdrop-filter:blur(10px);background:#04070cf2;flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:20px;padding-bottom:6px;display:flex;position:sticky;top:0}.equip-title{color:#bfe6ff;flex:1;margin:0;font-size:22px}.equip-sections{grid-template-columns:1fr 1fr;gap:24px;display:grid}.equip-slot-group{margin-bottom:22px}.equip-slot-label{color:#bfe6ff;letter-spacing:3px;border-bottom:1px solid #ffffff0f;align-items:center;gap:8px;margin-bottom:10px;padding-bottom:6px;font-size:13px;font-weight:700;display:flex}.equip-slot-label__icon{letter-spacing:0;font-size:16px}.equip-slot-cards{flex-wrap:wrap;gap:10px;display:flex}.equip-card--t1{--tc:#00d4ff;--tc-soft:#00d4ff1a;--tc-glow:#00d4ff40}.equip-card--t2{--tc:#0f8;--tc-soft:#00ff8814;--tc-glow:#00ff8838}.equip-card--t3{--tc:#c084fc;--tc-soft:#c084fc14;--tc-glow:#c084fc47}.equip-card--t4{--tc:#ffb700;--tc-soft:#ffb7001a;--tc-glow:#ffb70059}.equip-card{text-align:center;border:1px solid color-mix(in srgb, var(--tc,#3b82f6) 35%, #ffffff14);background:linear-gradient(180deg, var(--tc-soft,#3b82f60d) 0%, transparent 60%), #ffffff05;cursor:pointer;color:#bfe6ff;border-radius:12px;flex-direction:column;flex:180px;align-items:stretch;gap:4px;min-width:160px;max-width:240px;padding:12px 10px 10px;transition:transform .15s,border-color .15s,box-shadow .15s;display:flex;position:relative;overflow:hidden}.equip-card:before{content:"";background:linear-gradient(90deg, transparent, var(--tc,#3b82f6), transparent);opacity:.6;height:2px;position:absolute;top:0;left:0;right:0}.equip-card:hover:not([disabled]){border-color:var(--tc,#3b82f6);box-shadow:0 6px 20px var(--tc-glow,#3b82f62e);transform:translateY(-2px)}.equip-card.affordable{border-color:#00ff888c;animation:2.4s ease-in-out infinite equip-card-pulse;box-shadow:0 0 12px #00ff882e}.equip-card.owned{border-color:var(--tc,#00d4ff);background:linear-gradient(180deg, var(--tc-soft) 0%, #00ff880f 100%);box-shadow:0 0 14px var(--tc-glow);cursor:default}.equip-card.owned:after{content:"";pointer-events:none;background:linear-gradient(135deg,#0000 40%,#00ff880f 55%,#0000 70%);position:absolute;inset:0}@keyframes equip-card-pulse{0%,to{box-shadow:0 0 10px #00ff8824}50%{box-shadow:0 0 18px #00ff8857}}.equip-card__stars{color:var(--tc,#bfe6ff);letter-spacing:2px;text-shadow:0 0 6px var(--tc-glow,#00d4ff4d);margin-bottom:2px;font-size:11px;font-weight:900;line-height:1}.equip-card__icon{filter:drop-shadow(0 2px 8px var(--tc-glow,#00d4ff4d));margin:4px 0 2px;font-size:34px;line-height:1;transition:transform .2s}.equip-card:hover:not([disabled]) .equip-card__icon{transform:scale(1.1)}.equip-card__name{color:#fff;letter-spacing:.5px;font-size:13px;font-weight:800;line-height:1.25}.equip-card__desc{color:#bfe6ffb8;margin:2px 0 6px;font-size:11px;line-height:1.35}.equip-card__cost{flex-wrap:wrap;justify-content:center;gap:4px;margin-top:auto;display:flex}.equip-card__owned{color:#9dffb0;letter-spacing:2px;text-shadow:0 0 8px #0f86;font-size:13px;font-weight:800}.equip-chip{color:#bfe6ff;background:#ffffff0d;border:1px solid #ffffff14;border-radius:10px;align-items:center;gap:3px;padding:3px 7px;font-size:11px;display:inline-flex}.equip-chip__icon{font-size:11px;line-height:1}.equip-chip b{color:#fff;font-weight:700}.equip-chip--short{color:#ff9b9b;background:#ff6b6b14;border-color:#ff6b6b4d}.equip-chip--short b{color:#ff6b6b}.equip-tabs{gap:0;margin-bottom:14px;display:flex}.equip-tab{color:var(--muted);cursor:pointer;text-align:center;letter-spacing:1px;background:#ffffff08;border:1px solid #ffffff14;flex:1;padding:10px 0;font-size:14px;font-weight:800;transition:all .15s}.equip-tab:first-child{border-radius:8px 0 0 8px}.equip-tab:last-child{border-left:none;border-radius:0 8px 8px 0}.equip-tab.active{color:var(--cyan);background:#00d4ff14;border-color:#00d4ff4d;box-shadow:0 0 12px #00d4ff1a}.equip-tab:not(.active):hover{background:#ffffff0f}.equip-tab__count{color:var(--muted);margin-left:4px;font-size:11px;font-weight:600}.equip-tab.active .equip-tab__count{color:var(--cyan)}.equip-inv{z-index:4;-webkit-backdrop-filter:blur(8px);background:#04070ce6;margin-bottom:6px;padding-top:4px;padding-bottom:4px;position:sticky;top:46px}.equip-tabs{z-index:4;-webkit-backdrop-filter:blur(8px);background:#04070ce6;padding-top:4px;padding-bottom:4px;position:sticky;top:82px}.equip-unit-block{border:1.5px solid color-mix(in srgb, var(--uc,#00d4ff) 28%, #ffffff14);background:linear-gradient(135deg, color-mix(in srgb, var(--uc,#00d4ff) 8%, transparent), transparent 60%), #ffffff04;border-radius:14px;margin-bottom:10px;position:relative;overflow:hidden}.equip-unit-block:before{content:"";background:linear-gradient(180deg, var(--uc,#00d4ff), color-mix(in srgb, var(--uc,#00d4ff) 40%, transparent));width:3px;box-shadow:0 0 8px var(--uc,#00d4ff);z-index:1;position:absolute;top:0;bottom:0;left:0}.equip-unit-block__head{width:100%;color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:10px;padding:12px 14px 12px 18px;font-family:inherit;transition:background .15s;display:flex}.equip-unit-block__head:hover{background:color-mix(in srgb, var(--uc,#00d4ff) 5%, transparent)}.equip-unit-block__name{color:var(--uc,#bfe6ff);letter-spacing:1px;white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:15px;font-weight:800;overflow:hidden}.equip-unit-block__preview{align-items:center;gap:4px;display:flex}.equip-unit-block__chip{color:#ffffff40;background:#ffffff05;border:1px solid #ffffff0f;border-radius:7px;justify-content:center;align-items:center;width:26px;height:26px;font-size:14px;line-height:1;transition:all .15s;display:inline-flex}.equip-unit-block__chip.filled{background:color-mix(in srgb, var(--uc,#00d4ff) 10%, #ffffff05);border-color:color-mix(in srgb, var(--uc,#00d4ff) 35%, #ffffff14);color:#fff}.equip-unit-block__chip.filled[data-tier="1"]{box-shadow:0 0 6px #00d4ff33}.equip-unit-block__chip.filled[data-tier="2"]{box-shadow:0 0 6px #0f83}.equip-unit-block__chip.filled[data-tier="3"]{box-shadow:0 0 6px #c084fc40}.equip-unit-block__chip.filled[data-tier="4"]{box-shadow:0 0 8px #ffb70059}.equip-unit-block__meta{flex-shrink:0;align-items:center;gap:8px;display:flex}.equip-unit-block__count{color:var(--muted);letter-spacing:1px;background:#ffffff0a;border:1px solid #ffffff0f;border-radius:6px;padding:2px 7px;font-size:11px;font-weight:700}.equip-unit-block.expanded .equip-unit-block__count{color:var(--uc,#bfe6ff);background:color-mix(in srgb, var(--uc,#00d4ff) 12%, transparent);border-color:color-mix(in srgb, var(--uc,#00d4ff) 30%, #ffffff14)}.equip-unit-block__caret{color:var(--muted);font-size:12px;transition:transform .2s;display:inline-block}.equip-unit-block.expanded .equip-unit-block__caret{color:var(--uc,#bfe6ff);transform:rotate(180deg)}.equip-unit-block__slots{border-top:1px solid color-mix(in srgb, var(--uc,#00d4ff) 12%, #ffffff0d);border-top-color:#0000;flex-direction:column;gap:0;max-height:0;transition:max-height .3s;display:flex;overflow:hidden}.equip-unit-block.expanded .equip-unit-block__slots{border-top-color:color-mix(in srgb, var(--uc,#00d4ff) 12%, #ffffff0d);max-height:900px}.equip-slot-card[data-tier="1"]{--stc:#00d4ff}.equip-slot-card[data-tier="2"]{--stc:#0f8}.equip-slot-card[data-tier="3"]{--stc:#c084fc}.equip-slot-card[data-tier="4"]{--stc:#ffb700}.equip-slot-card{border-bottom:1px solid #ffffff0a;flex-direction:column;gap:6px;padding:10px 14px;transition:background .15s;display:flex}.equip-slot-card:last-child{border-bottom:none}.equip-slot-card.equipped{background:linear-gradient(90deg, color-mix(in srgb, var(--stc,#00d4ff) 8%, transparent), transparent 50%)}.equip-slot-card__head{justify-content:space-between;align-items:center;gap:8px;display:flex}.equip-slot-card__type{color:#bfe6ffa6;letter-spacing:1.5px;font-size:12px;font-weight:700}.equip-slot-card__gear-icon{filter:drop-shadow(0 0 6px color-mix(in srgb, var(--stc,transparent) 60%, transparent));text-align:center;color:#ffffff40;min-width:22px;font-size:20px;line-height:1}.equip-slot-card.equipped .equip-slot-card__gear-icon{color:#fff}.equip-slot-card__effect{color:var(--green);padding-left:2px;font-size:11px;font-weight:600;line-height:1.3}.equip-slot-card__effect--empty{color:#ffffff4d;font-weight:500}.equip-select{background:linear-gradient(90deg, color-mix(in srgb, var(--stc,#00d4ff) 6%, transparent), #ffffff0a);border:1px solid color-mix(in srgb, var(--stc,#3b82f6) 25%, #ffffff14);color:#bfe6ff;cursor:pointer;border-radius:8px;width:100%;padding:8px 10px;font-size:13px;transition:border-color .15s,background .15s}.equip-select:hover{border-color:color-mix(in srgb, var(--stc,#00d4ff) 50%, #ffffff26)}.equip-select:focus{border-color:var(--stc,#00d4ff);box-shadow:0 0 8px color-mix(in srgb, var(--stc,#00d4ff) 30%, transparent);outline:none}.equip-select option{color:#bfe6ff;background:#0a1220}.equip-row{border:1px solid color-mix(in srgb, var(--uc,#00d4ff) 18%, #ffffff14);background:color-mix(in srgb, var(--uc,#00d4ff) 5%, transparent);border-radius:10px;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:6px;padding:8px 10px;display:flex}.equip-row__name{min-width:90px;color:var(--uc,#bfe6ff);font-size:13px;font-weight:700}.equip-row__slots{flex-wrap:wrap;flex:1;gap:6px;display:flex}.equip-screen .equip-btn{color:#bfe6ff;cursor:pointer;background:#3b82f61a;border:1px solid #3b82f659;border-radius:8px;margin:10px auto;padding:8px 22px;font-size:15px;transition:all .15s;display:block}.equip-screen .equip-btn:hover{background:#3b82f638}.fortress-screen .fortress-btn{color:#d4b0ff;cursor:pointer;background:#9333ea1a;border:1px solid #9333ea59;border-radius:8px;margin:10px auto;padding:8px 22px;font-size:15px;transition:all .15s;display:block}.fortress-screen .fortress-btn:hover{background:#9333ea38}@media (width<=800px){.equip-screen .equip-content{width:100%;max-width:100%;padding:12px 10px}.equip-screen .equip-header{gap:8px;margin-bottom:8px}.equip-screen .equip-title{letter-spacing:1px;font-size:17px}.equip-screen .equip-inv{gap:8px;margin-bottom:8px;padding:6px 10px;font-size:11px;top:38px}.equip-screen .equip-tabs{margin-bottom:10px;top:70px}.equip-screen .equip-tab{padding:10px 0;font-size:13px}.equip-screen .equip-sections{grid-template-columns:1fr;gap:14px}.equip-screen .equip-slot-group{margin-bottom:16px}.equip-screen .equip-slot-label{letter-spacing:2px;margin-bottom:8px;font-size:12px}.equip-screen .equip-slot-label__icon{font-size:14px}.equip-screen .equip-slot-cards{grid-template-columns:1fr 1fr;gap:8px;display:grid}.equip-screen .equip-card{flex:initial;border-radius:10px;gap:2px;width:auto;min-width:0;max-width:none;min-height:140px;padding:10px 6px 8px}.equip-screen .equip-card__stars{letter-spacing:1.5px;font-size:10px}.equip-screen .equip-card__icon{margin:2px 0 0;font-size:28px}.equip-screen .equip-card__name{font-size:12px;line-height:1.2}.equip-screen .equip-card__desc{margin:2px 0 5px;font-size:10px}.equip-screen .equip-chip{gap:2px;padding:2px 5px;font-size:10px}.equip-screen .equip-card__owned{letter-spacing:1.5px;font-size:12px}.equip-screen .equip-unit-block{border-radius:12px;margin-bottom:8px}.equip-screen .equip-unit-block__head{gap:8px;padding:10px 12px 10px 16px}.equip-screen .equip-unit-block__name{font-size:14px}.equip-screen .equip-unit-block__chip{border-radius:6px;width:24px;height:24px;font-size:13px}.equip-screen .equip-unit-block__count{padding:2px 6px;font-size:10px}.equip-screen .equip-slot-card{gap:5px;padding:9px 12px 9px 16px}.equip-screen .equip-slot-card__type{letter-spacing:1px;font-size:11px}.equip-screen .equip-slot-card__gear-icon{font-size:18px}.equip-screen .equip-select{min-height:40px;padding:9px 10px;font-size:13px}.equip-screen .equip-slot-card__effect{font-size:10px}}.fortress-screen{box-sizing:border-box;width:100%;max-width:420px;margin:0 auto;padding:20px 16px 40px;display:block;position:fixed;inset:0;overflow:hidden auto}.fortress-screen.hidden{display:none}.fort-header{align-items:center;gap:12px;margin-bottom:12px;display:flex}.fort-header h2{color:var(--txt);letter-spacing:2px;margin:0;font-size:20px}.fort-header h2 small{color:var(--muted);letter-spacing:3px;margin-left:8px;font-size:11px}.fort-cards{grid-template-columns:repeat(2,1fr);gap:8px;margin:14px 0;display:grid}.fort-card{text-align:center;cursor:default;background:#ffffff0a;border:1px solid #ffffff1a;border-radius:10px;padding:10px 6px;transition:all .2s}.fort-card.unlocked{border-color:var(--wc,#9333ea59)}.fort-card.active{border-color:var(--wc,#9333ea80);background:#9333ea1f;box-shadow:0 0 12px #9333ea26}.fort-card__icon{margin-bottom:4px;font-size:24px}.fort-card__name{color:var(--txt);white-space:nowrap;margin-bottom:3px;font-size:12px;font-weight:700}.fort-card__stars{color:#fa0;letter-spacing:1px;margin-bottom:6px;font-size:9px}.fort-card__action{cursor:pointer;border:none;border-radius:6px;padding:4px 8px;font-size:10px;transition:all .15s;display:inline-block}.fort-card__action.equipped{color:#9dffb0;cursor:default;background:#64ff961a}.fort-card__action.equip-action{color:#d4b0ff;background:#9333ea26}.fort-card__action.equip-action:hover{background:#9333ea4d}.fort-card__action.affordable{color:#fd0;background:#ffc8001f}.fort-card__action.affordable:hover{background:#ffc80038}.fort-card__action.locked{color:var(--muted);cursor:not-allowed;background:#ffffff0a;font-size:9px}.fort-divider{color:#d4b0ff;word-break:keep-all;border-top:1px solid #9333ea33;flex-wrap:wrap;align-items:baseline;gap:6px 10px;padding:10px 0 6px;font-size:14px;font-weight:700;display:flex}.fort-divider small{color:var(--muted);letter-spacing:2px;font-size:10px}.fort-bio{color:var(--muted);background:#9333ea0d;border-left:3px solid #9333ea40;border-radius:8px;margin-bottom:12px;padding:6px 10px;font-size:11px;line-height:1.5}.fort-upgrades{flex-direction:column;gap:10px;display:flex}.fort-stat{background:#ffffff0a;border:1px solid #ffffff14;border-radius:10px;padding:10px 14px}.fort-stat.locked-stat{opacity:.5}.fort-stat__head{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.fort-stat__name{color:var(--txt);font-size:13px;font-weight:700}.fort-stat__stars{color:#fa0;letter-spacing:1px;font-size:10px}.fort-stat__values{align-items:center;gap:8px;margin-bottom:8px;font-size:14px;display:flex}.fort-stat__cur{color:var(--txt);font-weight:700}.fort-stat__arrow{color:var(--muted)}.fort-stat__next{color:#9dffb0;font-weight:700}.fort-stat__max{color:#fa0;font-size:12px;font-weight:800}.fort-stat__locked{color:var(--muted);font-size:11px}.fort-stat__upgrade{color:#d4b0ff;cursor:pointer;text-align:center;background:#9333ea1a;border:1px solid #9333ea40;border-radius:8px;width:100%;padding:6px 12px;font-size:12px;font-weight:700;transition:all .15s}.fort-stat__upgrade.affordable{color:#e0c0ff;border-color:#9333ea73}.fort-stat__upgrade.affordable:hover{background:#9333ea40;transform:translateY(-1px);box-shadow:0 0 12px #9333ea4d}.fort-stat__upgrade.affordable:active{transform:translateY(0)scale(.98)}.fort-stat__upgrade:disabled{opacity:.4;cursor:not-allowed}.cost-short{color:#f66!important}.fort-stat--just-upgraded{z-index:1;animation:1.2s ease-out fort-stat-pulse;position:relative}@keyframes fort-stat-pulse{0%{background:#ffffff0a;border-color:#ffffff14;box-shadow:0 0 #9333ea00,inset 0 0 #fff0}15%{background:#9333ea2e;border-color:#ffdd64d9;transform:scale(1.015);box-shadow:0 0 28px 4px #9333ea8c,inset 0 0 24px #ffdd6433}50%{border-color:#9333ea8c;transform:scale(1.005);box-shadow:0 0 18px 2px #9333ea4d}to{background:#ffffff0a;border-color:#ffffff14;transform:scale(1);box-shadow:0 0 #9333ea00}}.fort-stat--just-upgraded .fort-stat__cur{animation:1s ease-out fort-stat-cur-flash}@keyframes fort-stat-cur-flash{0%{color:#fd0;text-shadow:0 0 12px #fd0,0 0 4px #fff;transform:scale(1.35)}40%{color:#9dffb0;text-shadow:0 0 8px #9dffb0;transform:scale(1.1)}to{color:var(--txt);text-shadow:none;transform:scale(1)}}.fort-stat--just-upgraded .fort-stat__stars{animation:1.2s ease-out fort-stat-stars-glow}@keyframes fort-stat-stars-glow{0%{color:#fd0;text-shadow:0 0 12px #fd0,0 0 4px #fff;letter-spacing:3px;transform:scale(1.2)}50%{color:#fa0;text-shadow:0 0 6px #fa0;letter-spacing:2px;transform:scale(1.05)}to{color:#fa0;text-shadow:none;letter-spacing:1px;transform:scale(1)}}.fort-card--just-unlocked{z-index:2;animation:1.4s ease-out fort-card-unlock;position:relative}@keyframes fort-card-unlock{0%{background:#ffdd644d;border-color:#fd0;transform:scale(.85);box-shadow:0 0 #ffdd64b3,0 0 30px 6px #9333ea80}20%{transform:scale(1.06);box-shadow:0 0 0 12px #ffdd6400,0 0 40px 10px #9333ea99}50%{transform:scale(1.02);box-shadow:0 0 0 24px #9333ea00,0 0 20px 4px #9333ea4d}to{box-shadow:none;transform:scale(1)}}.fort-card--just-equipped{animation:.8s ease-out fort-card-equip;position:relative}@keyframes fort-card-equip{0%{transform:scale(1);box-shadow:inset 0 0 0 2px #9dffb000,0 0 #9dffb080}30%{transform:scale(1.04);box-shadow:inset 0 0 0 2px #9dffb0d9,0 0 18px 4px #9dffb073}to{transform:scale(1);box-shadow:inset 0 0 0 1px #9dffb000,0 0 #9dffb000}}.fort-slot--just-bought{animation:1.2s ease-out fort-slot-bought}@keyframes fort-slot-bought{0%{background:#9333ea4d;border-color:#fd0;transform:scale(.92);box-shadow:0 0 #9333eab3,0 0 25px 8px #ffdd6466}25%{transform:scale(1.04);box-shadow:0 0 0 16px #9333ea00,0 0 30px 6px #9333ea80}to{box-shadow:none;background:#ffffff0a;transform:scale(1)}}.fort-shop-btn--just-bought,.fort-shop-item--just-bought{animation:1s ease-out fort-shop-bought}@keyframes fort-shop-bought{0%{color:#fff;background:#ffdd6466;transform:scale(1);box-shadow:0 0 #ffdd64cc}20%{background:#9333ea4d;transform:scale(1.03);box-shadow:0 0 0 14px #ffdd6400}to{background:#9333ea1a;transform:scale(1)}}.fort-tab--just-active{animation:.4s ease-out fort-tab-pulse}@keyframes fort-tab-pulse{0%{background:#9333ea66}to{background:#9333ea2e}}.celebrate-ringwave{--ring-max-scale:6;pointer-events:none;opacity:.85;z-index:9998;border:2px solid;border-radius:50%;animation:.75s cubic-bezier(.18,.65,.34,1) forwards celebrate-ringwave;position:fixed;transform:translate(-50%,-50%)scale(0);box-shadow:0 0 14px,inset 0 0 8px}@keyframes celebrate-ringwave{0%{opacity:.85;transform:translate(-50%,-50%)scale(0)}55%{opacity:.5}to{transform:translate(-50%, -50%) scale(var(--ring-max-scale));opacity:0}}.celebrate-sparkle{pointer-events:none;z-index:9997;--sx:0;--sy:0;width:14px;height:14px;animation:.9s ease-out forwards celebrate-sparkle-fly;position:fixed;transform:translate(-50%,-50%)scale(0)}.celebrate-sparkle:before,.celebrate-sparkle:after{content:"";clip-path:polygon(50% 0,60% 40%,100% 50%,60% 60%,50% 100%,40% 60%,0 50%,40% 40%);background:currentColor;position:absolute;inset:0;box-shadow:0 0 8px,0 0 16px}.celebrate-sparkle:after{opacity:.7;transform:rotate(45deg)}@keyframes celebrate-sparkle-fly{0%{opacity:1;transform:translate(-50%,-50%)translate(0)scale(0)rotate(0)}25%{transform:translate(-50%, -50%) translate(calc(var(--sx) * .35), calc(var(--sy) * .35)) scale(1.4) rotate(60deg);opacity:1}to{transform:translate(-50%, -50%) translate(var(--sx), var(--sy)) scale(.2) rotate(180deg);opacity:0}}.celebrate-confetti{pointer-events:none;z-index:9996;--cx:0;--cy:0;--rot:0deg;border-radius:2px;width:8px;height:14px;animation:1.4s cubic-bezier(.32,.18,.62,.96) forwards celebrate-confetti-fall;position:fixed;transform:translate(-50%,-50%)translate(0)rotate(0);box-shadow:0 0 4px}@keyframes celebrate-confetti-fall{0%{opacity:1;transform:translate(-50%,-50%)translate(0)rotate(0)scale(.4)}20%{transform:translate(-50%, -50%) translate(calc(var(--cx) * .55), calc(var(--cy) * .15 - 60px)) rotate(calc(var(--rot) * .35)) scale(1);opacity:1}to{transform:translate(-50%, -50%) translate(var(--cx), var(--cy)) rotate(var(--rot)) scale(.7);opacity:0}}.celebrate-screen-flash{pointer-events:none;z-index:9995;opacity:0;animation:.65s ease-out forwards celebrate-screen-flash;position:fixed;inset:0}.celebrate-screen-flash--tier-4{background:radial-gradient(circle,#ffdd642e 0%,#00d4ff1a 40%,#0000 70%)}.celebrate-screen-flash--tier-5{background:radial-gradient(circle,#ffffff4d 0%,#ffdd6433 25%,#a855f729 55%,#ff6ab01a 75%,#0000 90%)}@keyframes celebrate-screen-flash{0%{opacity:0}18%{opacity:1}to{opacity:0}}.celebrate-target--tier-1{animation:1.1s ease-out celebrate-pulse-tier-1;position:relative}.celebrate-target--tier-2{animation:1.2s ease-out celebrate-pulse-tier-2;position:relative}.celebrate-target--tier-3{animation:1.3s ease-out celebrate-pulse-tier-3;position:relative}.celebrate-target--tier-4{animation:1.5s ease-out celebrate-pulse-tier-4;position:relative}.celebrate-target--tier-5{animation:1.7s ease-out celebrate-pulse-tier-5;position:relative}@keyframes celebrate-pulse-tier-1{0%{box-shadow:0 0 #a855f700}25%{box-shadow:0 0 10px 1px #a855f752}to{box-shadow:0 0 #a855f700}}@keyframes celebrate-pulse-tier-2{0%{box-shadow:none}22%{transform:scale(1.008);box-shadow:0 0 14px 2px #a855f76b,0 0 22px 4px #9dffb033}to{box-shadow:none;transform:scale(1)}}@keyframes celebrate-pulse-tier-3{0%{box-shadow:none}18%{border-color:#ffd700d9;transform:scale(1.03);box-shadow:0 0 26px 3px #a855f780,0 0 36px 8px #9dffb05c,0 0 48px 12px #ffd7004d,inset 0 0 18px #ffd70038}to{box-shadow:none;transform:scale(1)}}@keyframes celebrate-pulse-tier-4{0%{box-shadow:none}16%{filter:brightness(1.1)saturate(1.2);border-color:#ffd700f2;transform:scale(1.038);box-shadow:0 0 28px 4px #a855f78c,0 0 40px 8px #9dffb066,0 0 52px 14px #ffd7005c,0 0 64px 18px #00d4ff4d,inset 0 0 22px #ffd70042}to{box-shadow:none;filter:none;transform:scale(1)}}@keyframes celebrate-pulse-tier-5{0%{box-shadow:none}14%{filter:brightness(1.18)saturate(1.35)hue-rotate(8deg);border-color:#fff;transform:scale(1.05);box-shadow:0 0 30px 5px #a855f799,0 0 44px 10px #9dffb073,0 0 56px 14px #ffd7006b,0 0 70px 18px #00d4ff5c,0 0 84px 22px #ff6ab04d,inset 0 0 26px #ffffff38}35%{filter:brightness(1.1)saturate(1.2)hue-rotate(-8deg)}to{box-shadow:none;filter:none;transform:scale(1)}}.fortress-ringwave{pointer-events:none;color:#d4b0ff;opacity:.85;z-index:9998;border:2px solid;border-radius:50%;animation:.85s ease-out forwards celebrate-ringwave;position:fixed;transform:translate(-50%,-50%)scale(0)}.fortress-ringwave--gold{color:gold;border-width:3px}.fortress-ringwave--green{color:#9dffb0}.fortress-ringwave--double:after{content:"";opacity:.5;border:2px solid;border-radius:50%;animation:.85s ease-out .15s forwards celebrate-ringwave;position:absolute;inset:0;transform:scale(1)}.fort-stat__upgrade--just-clicked,.fort-shop-btn--just-clicked,.fort-buy-slot--just-clicked,.fort-card__action--just-clicked{animation:.25s ease-out fort-btn-click}@keyframes fort-btn-click{0%{filter:brightness(1.6);transform:scale(.94)}to{filter:brightness();transform:scale(1)}}.fort-tabs{gap:0;margin-bottom:12px;display:flex}.fort-tab{color:var(--muted);cursor:pointer;text-align:center;background:#9333ea0f;border:1px solid #9333ea33;flex:1;padding:10px 8px;font-size:13px;font-weight:700;transition:all .15s}.fort-tab:first-child{border-radius:10px 0 0 10px}.fort-tab:last-child{border-left:none;border-radius:0 10px 10px 0}.fort-tab.active{color:#d4b0ff;background:#9333ea2e;border-color:#9333ea73;box-shadow:0 0 10px #9333ea1f}.fort-tab small{opacity:.7;margin-left:4px;font-size:10px}.fort-slots{flex-direction:column;gap:10px;display:flex}.fort-slot{border:1px solid var(--tc,#ffffff1a);background:#ffffff0a;border-radius:10px;padding:12px 14px}.fort-slot.locked-slot{opacity:.35;text-align:center;padding:14px}.fort-slot__head{color:var(--txt);margin-bottom:8px;font-size:14px;font-weight:700}.fort-slot__bio{color:var(--muted);margin:6px 0 10px;font-size:11px;line-height:1.4}select,select option{font-family:Segoe UI Emoji,Apple Color Emoji,Noto Color Emoji,Twemoji Mozilla,system-ui,sans-serif}.tower-select{width:100%;color:var(--txt);cursor:pointer;background:#ffffff0f;border:1px solid #ffffff26;border-radius:8px;margin-bottom:10px;padding:8px 10px;font-size:13px}.tower-select option{color:#eee;background:#1a1a2e}.fort-slot--buyable{background:linear-gradient(135deg,#9333ea0f,#00d4ff0a);border-style:dashed;border-color:#9333ea59}.fort-slot--buyable .fort-slot__head{color:#d4b0ff;letter-spacing:2px;opacity:.85}.fort-buy-slot{color:#d4b0ff;cursor:pointer;background:#9333ea1a;border:1px solid #9333ea59;border-radius:10px;justify-content:center;align-items:center;gap:10px;width:100%;padding:10px 14px;font-family:inherit;font-size:13px;font-weight:700;transition:all .15s;display:flex}.fort-buy-slot__label{letter-spacing:2px;opacity:.9;border-right:1px solid;padding-right:8px;font-weight:800}.fort-buy-slot__cost{align-items:center;gap:6px;display:inline-flex}.fort-buy-slot.affordable{border-color:#9333ea99;animation:2.4s ease-in-out infinite buy-slot-pulse;box-shadow:0 0 10px #9333ea2e}.fort-buy-slot.affordable:hover{background:#9333ea3d;transform:translateY(-1px);box-shadow:0 0 16px #9333ea52}.fort-buy-slot:disabled{cursor:not-allowed;color:#bfe6ff8c;box-shadow:none;background:#ffffff08;border-color:#ffffff1a}@keyframes buy-slot-pulse{0%,to{box-shadow:0 0 8px #9333ea24}50%{box-shadow:0 0 18px #9333ea57}}.fort-shop-item{border:1px solid var(--tc,#ffffff1a);background:#ffffff0a;border-radius:10px;margin-top:8px;padding:12px 14px}.fort-shop-item.owned{opacity:.6;justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.fort-shop-icon{font-size:18px}.fort-shop-bio{color:var(--muted);margin:4px 0 8px;font-size:11px;line-height:1.4}.fort-shop-frags{color:#fa0;margin-bottom:8px;font-size:12px}.fort-shop-btn{color:#d4b0ff;cursor:pointer;text-align:center;background:#9333ea1a;border:1px solid #9333ea40;border-radius:8px;width:100%;padding:8px 12px;font-size:12px;font-weight:700;transition:all .15s}.fort-shop-btn.affordable{border-color:#9333ea73}.fort-shop-btn.affordable:hover{background:#9333ea40}.fort-shop-btn:disabled{opacity:.4;cursor:not-allowed}.fort-shop-tag{color:var(--muted);font-size:11px}.fort-shop-tag.locked{font-size:10px}.inv-bar{color:#bfe6ff;background:#00d4ff0a;border:1px solid #00d4ff1f;border-radius:8px;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 12px;margin-bottom:12px;padding:8px 14px;font-size:12px;display:flex}.inv-bar .inv-item{align-items:center;gap:4px;display:inline-flex}.inv-bar .inv-item b{color:#fff;font-weight:600}.fortress-screen .back-btn{background:var(--card);border:1px solid var(--border);width:auto;color:var(--muted);cursor:pointer;border-radius:8px;flex-shrink:0;align-self:center;padding:8px 16px;font-size:13px;font-weight:700;transition:all .2s}.fortress-screen .back-btn:hover{color:var(--txt);background:var(--card2)}@media (width<=600px){.fortress-screen{padding:14px 12px 40px}.fortress-screen .back-btn{padding:6px 12px;font-size:12px}.fort-header{gap:10px;margin-bottom:10px}.fort-header h2{letter-spacing:1px;font-size:17px;line-height:1.2}.fort-header h2 small{display:none}.fort-tabs{margin-bottom:10px}.fort-tab{padding:9px 6px;font-size:12px}.fort-tab small{margin-left:2px;font-size:10px}.fort-cards{gap:6px;margin:10px 0}.fort-card{flex-direction:column;justify-content:space-between;min-height:118px;padding:10px 5px;display:flex}.fort-card__icon{margin-bottom:3px;font-size:22px}.fort-card__name{white-space:normal;font-size:11px;line-height:1.2}.fort-card__action{padding:6px 8px;font-size:11px}.fort-card__action.locked{padding:5px 6px;font-size:9px;line-height:1.3}.fort-divider{gap:4px 8px;padding:8px 0 4px;font-size:13px}.fort-divider small{letter-spacing:1px;font-size:9px}.fort-bio{padding:6px 10px;font-size:11px}.fort-upgrades{gap:8px}.fort-stat{padding:9px 12px}.fort-stat__name{font-size:12px}.fort-stat__values{margin-bottom:6px;font-size:13px}.fort-stat__upgrade{min-height:38px;padding:8px 12px;font-size:12px}.fort-slot{padding:10px 12px}.fort-slot__head{font-size:13px}.tower-select{min-height:40px;padding:10px 12px;font-size:13px}.fort-buy-slot{min-height:40px;padding:10px 12px;font-size:12px}.fort-shop-item{padding:10px 12px}.fort-shop-btn{min-height:38px;padding:9px 12px;font-size:12px}.inv-bar{gap:6px 8px;margin-bottom:10px;padding:6px 10px;font-size:11px}}.inventory-bar{color:#bfe6ff;background:#00d4ff0a;border:1px solid #00d4ff2e;border-radius:10px;justify-content:center;align-items:center;gap:18px;width:fit-content;margin:0 auto 18px;padding:10px 18px;font-size:14px;display:flex}.inventory-bar .inv-item{align-items:center;gap:6px;display:inline-flex}.inventory-bar .inv-item b{color:#fff;text-align:right;min-width:18px;font-weight:600}.talent-screen{background:#04070cf5;overflow-y:auto}.talent-content{max-width:900px;margin:0 auto;padding:24px 18px}.talent-header{flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:24px;display:flex}.talent-title{color:#bfe6ff;flex:1;margin:0;font-size:22px}.talent-back{cursor:pointer}.talent-screen .talent-btn{color:#bfe6ff;cursor:pointer;background:#00d4ff1a;border:1px solid #00d4ff59;border-radius:8px;margin:10px auto;padding:8px 22px;font-size:15px;transition:all .15s;display:block}.talent-screen .talent-btn:hover{background:#00d4ff38}.talent-grid{flex-direction:column;gap:22px;display:flex}.talent-tier{background:#00d4ff05;border:1px solid #00d4ff1f;border-radius:12px;padding:14px}.talent-tier-label{color:#bfe6ff73;text-transform:uppercase;letter-spacing:2px;margin-bottom:10px;font-size:12px}.talent-tier-nodes{flex-wrap:wrap;gap:12px;display:flex}.talent-node{text-align:left;cursor:pointer;color:#bfe6ff;background:#ffffff05;border:1px solid #ffffff14;border-radius:10px;flex:200px;min-width:180px;max-width:280px;padding:12px 14px;transition:all .15s}.talent-node:hover:not([disabled]){background:#00d4ff14;border-color:#00d4ff4d}.talent-node.owned{background:#00d4ff1f;border-color:#00d4ff}.talent-node.owned .talent-node-cost{color:#00d4ff}.talent-node.available{border-color:#0f86}.talent-node.locked{opacity:.4;cursor:default}.talent-node-name{margin-bottom:4px;font-size:14px;font-weight:600}.talent-node-desc{color:#bfe6ffb3;margin-bottom:6px;font-size:12px}.talent-node-cost{flex-wrap:wrap;gap:8px;font-size:12px;display:flex}.talent-node-cost .cost-short{color:#ff6b6b}.talent-node-prereq{color:#bfe6ff59;margin-top:4px;font-size:11px}@media (width<=600px){.talent-content{padding:16px 10px}.talent-header{gap:8px;margin-bottom:16px}.talent-title{font-size:18px}.talent-tier{border-radius:10px;padding:10px}.talent-tier-nodes{gap:8px}.talent-node{border-radius:10px;flex:100%;min-width:0;max-width:none;padding:12px 14px}.talent-node-name{margin-bottom:5px;font-size:15px;font-weight:700}.talent-node-desc{margin-bottom:8px;font-size:13px}.talent-node-cost{font-size:13px}.talent-node.owned{box-shadow:0 0 12px #00d4ff1f}.talent-node.available{animation:2s ease-in-out infinite node-breathe}}.map-top-bar{flex-direction:column;gap:12px;max-width:1120px;margin-bottom:10px;margin-left:auto;margin-right:auto;padding:0 2px 8px;display:flex}.map-top-bar__row{flex-wrap:wrap;align-items:stretch;gap:10px;display:flex}.map-top-bar__row--primary{--map-action-basis:calc((100% - 50px) / 6);width:100%}.map-top-bar__row--status{align-items:center;gap:10px}.map-top-bar__row--secondary{justify-content:flex-start;width:100%}.map-top-bar__row--primary .daily-panel:not(.daily-panel--compact){flex:1 0 100%;max-width:none}.map-top-bar__row--status .inventory-bar{row-gap:8px;box-sizing:border-box!important;flex-wrap:wrap!important;justify-content:flex-start!important;width:100%!important;margin:0!important;overflow:visible!important}.map-top-bar__row--status .inventory-bar .inv-item{flex-shrink:1!important}.inv-sep{background:#00d4ff2e;align-self:stretch;width:1px;margin:0 4px;display:inline-block}.map-top-bar__row--status .inv-sep{background:#00d4ff38;border:none;flex:none;align-self:stretch;width:1px;min-width:0;margin:0 6px}.inventory-bar .inv-item--blueprint{color:#d4b0fff2}.map-top-bar__row--status .inventory-bar .inv-item{box-sizing:border-box;white-space:nowrap;background:#00d4ff0f;border:1px solid #00d4ff2e;border-radius:10px;justify-content:center;min-width:72px;height:32px;padding:4px 10px;flex-shrink:1!important}.map-top-bar__row--status .inventory-bar .inv-item--blueprint{background:#a855f714;border-color:#a855f747}.map-hero{background:radial-gradient(circle at 0 0,#00d4ff29,#0000 36%),radial-gradient(circle at 90% 10%,#a855f726,#0000 34%),linear-gradient(140deg,#070c14f0,#0a111cd1);border:1px solid #00d4ff24;border-radius:28px;grid-template-columns:minmax(0,1.7fr) minmax(260px,.95fr);gap:14px;padding:18px;display:grid;position:relative;overflow:hidden;box-shadow:0 22px 46px #0000002e,inset 0 1px #ffffff0a}.map-hero:after{content:"";pointer-events:none;background:radial-gradient(circle,#00d4ff2e,#0000 68%);border-radius:50%;width:240px;height:240px;position:absolute;inset:auto -12% -55% auto}.map-hero__main{z-index:1;flex-direction:column;gap:14px;display:flex;position:relative}.map-hero__eyebrow{letter-spacing:3px;color:#bfe6ffad;text-transform:uppercase;font-size:11px;font-weight:800}.map-hero__title-row{align-items:center;gap:14px;display:flex}.map-hero__glyph{flex:none;width:56px;height:56px;position:relative}.map-hero__glyph-core,.map-hero__glyph-ring{border-radius:50%;position:absolute;inset:0}.map-hero__glyph-core{background:radial-gradient(circle at 35% 35%,#ffffffd9,#00d4ff38 45%,#00d4ff0f 100%);inset:12px;box-shadow:0 0 24px #00d4ff52}.map-hero__glyph-ring{border:1.5px solid #00d4ff57;box-shadow:inset 0 0 28px #00d4ff1f}.map-hero__glyph-ring:before,.map-hero__glyph-ring:after{content:"";background:linear-gradient(90deg,#0000,#00d4ff85,#0000);width:78px;height:1px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(0)}.map-hero__glyph-ring:after{transform:translate(-50%,-50%)rotate(60deg)}.map-hero__heading{min-width:0}.map-hero__title{letter-spacing:1px;color:#f3fbff;margin:0;font-size:28px;line-height:1.05}.map-hero__subtitle{color:#bfe6ffc2;margin:6px 0 0;font-size:13px;line-height:1.55}.map-hero__progress{background:#ffffff08;border:1px solid #ffffff0f;border-radius:18px;padding:14px 16px;box-shadow:inset 0 1px #ffffff08}.map-hero__progress-label{color:#bfe6ffc7;letter-spacing:1.2px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;font-size:12px;font-weight:700;display:flex}.map-hero__progress-label b{color:#fff;font-family:ui-monospace,SF Mono,Consolas,monospace}.map-hero__progress-bar{background:#ffffff0f;border-radius:999px;height:12px;position:relative;overflow:hidden}.map-hero__progress-fill{border-radius:inherit;background:linear-gradient(90deg,#00d4ff 0%,#0f8 55%,#ffb700 100%);height:100%;display:block;position:relative;box-shadow:0 0 18px #00d4ff47}.map-hero__progress-fill:after{content:"";background:linear-gradient(90deg,#0000,#ffffff73,#0000);animation:2.8s linear infinite map-progress-shine;position:absolute;inset:0;transform:translate(-100%)}@keyframes map-progress-shine{to{transform:translate(100%)}}.map-hero__metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.map-hero__metric{background:#ffffff07;border:1px solid #ffffff0d;border-radius:16px;padding:12px 12px 10px;box-shadow:inset 0 1px #ffffff08}.map-hero__metric[data-tone=green]{--metric:#0f8}.map-hero__metric[data-tone=amber]{--metric:#ffb700}.map-hero__metric[data-tone=purple]{--metric:#a855f7}.map-hero__metric[data-tone=cyan]{--metric:#00d4ff}.map-hero__metric-label{letter-spacing:1.2px;color:#bfe6ff9e;margin-bottom:6px;font-size:11px;font-weight:700;display:block}.map-hero__metric-value{color:var(--metric,#00d4ff);text-shadow:0 0 14px color-mix(in srgb, var(--metric,#00d4ff) 28%, transparent);font-family:ui-monospace,SF Mono,Consolas,monospace;font-size:18px;display:block}.map-hero__side{z-index:1;position:relative}.map-hero__pulse{--hero-accent:#00d4ff;border:1px solid color-mix(in srgb, var(--hero-accent) 35%, #ffffff14);background:radial-gradient(circle at 50% 28%, color-mix(in srgb, var(--hero-accent) 22%, transparent), transparent 36%), linear-gradient(180deg, #ffffff0a, #ffffff05);text-align:center;border-radius:24px;flex-direction:column;justify-content:center;align-items:center;gap:10px;min-height:100%;padding:18px;display:flex;position:relative;overflow:hidden}.map-hero__pulse:before,.map-hero__pulse:after{content:"";border:1px solid color-mix(in srgb, var(--hero-accent) 30%, transparent);border-radius:50%;animation:3.6s ease-in-out infinite map-pulse-ring;position:absolute;inset:18px}.map-hero__pulse:after{animation-delay:.9s;inset:36px}@keyframes map-pulse-ring{0%,to{opacity:.28;transform:scale(1)}50%{opacity:.72;transform:scale(1.06)}}.map-hero__pulse-icon{border:1px solid color-mix(in srgb, var(--hero-accent) 36%, #ffffff14);width:76px;height:76px;box-shadow:0 0 24px color-mix(in srgb, var(--hero-accent) 24%, transparent);background:#050a1299;border-radius:50%;place-items:center;font-size:34px;display:grid}.map-hero__pulse-label{color:#fff;letter-spacing:1px;font-size:18px;font-weight:900}.map-hero__pulse-sub{color:#bfe6ffb3;max-width:20ch;font-size:12px;line-height:1.5}.map-action-btn{flex:0 0 var(--map-action-basis,calc((100% - 50px) / 6));width:auto;min-width:0;height:100%;min-height:72px;max-width:var(--map-action-basis,calc((100% - 50px) / 6));text-align:left;white-space:normal;border:1px solid color-mix(in srgb, var(--map-accent,#00d4ff) 24%, #ffffff0d);background:linear-gradient(#ffffff0a,#ffffff05),#0a1018b8;border-radius:18px;justify-content:flex-start;align-items:center;gap:12px;padding:12px 14px;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff08,0 10px 22px #0000001a}.map-top-bar__row--secondary .map-action-btn{flex:none;min-width:220px;max-width:280px}.map-action-btn:before{content:"";background:var(--map-accent,#00d4ff);width:3px;box-shadow:0 0 14px color-mix(in srgb, var(--map-accent,#00d4ff) 45%, transparent);position:absolute;inset:0 auto 0 0}.map-action-btn:hover{border-color:color-mix(in srgb, var(--map-accent,#00d4ff) 42%, #ffffff1f);box-shadow:inset 0 1px 0 #ffffff0d, 0 16px 26px #00000029, 0 0 18px color-mix(in srgb, var(--map-accent,#00d4ff) 14%, transparent);transform:translateY(-2px)}.map-action-btn__icon{background:color-mix(in srgb, var(--map-accent,#00d4ff) 16%, #ffffff08);border-radius:14px;flex:none;place-items:center;width:40px;height:40px;font-size:20px;display:grid;box-shadow:inset 0 1px #ffffff14}.map-action-btn__text{flex-direction:column;justify-content:center;min-width:0;display:flex}.map-action-btn__title{color:#fff;letter-spacing:.4px;font-size:14px;font-weight:900}.map-action-btn__subtitle{color:#bfe6ffb3;min-height:2.7em;margin-top:2px;font-size:11px;line-height:1.35}.daily-panel{background:linear-gradient(135deg,#a855f70f,#00d4ff0a),#0a10188c;border:1px solid #a855f747;border-radius:14px;width:100%;max-width:520px;padding:10px 12px;box-shadow:0 0 16px #a855f71f}.daily-panel--compact{color:#bfe6ffb3;width:auto;max-width:none;box-shadow:none;background:#a855f70f;border-color:#a855f72e;border-radius:999px;align-items:center;gap:8px;padding:6px 14px;font-size:12px;display:inline-flex}.daily-panel__compact-icon{font-size:15px}.daily-panel__compact-txt{letter-spacing:1px;color:#d4b0ff;font-weight:700}.daily-panel__compact-check{color:#9dffb0;letter-spacing:1px;font-size:11px;font-weight:700}.daily-panel__compact-reset{color:var(--muted);letter-spacing:1px;border-left:1px solid #ffffff14;margin-left:auto;padding-left:6px;font-size:10px}.daily-panel__header{letter-spacing:2px;color:#d4b0ff;justify-content:space-between;align-items:center;margin-bottom:8px;font-size:12px;font-weight:700;display:flex}.daily-panel__reset{color:var(--muted);letter-spacing:1px;background:#ffffff0a;border-radius:6px;padding:2px 7px;font-size:10px}.daily-row{text-align:left;color:#bfe6ff;background:#ffffff05;border:1px solid #ffffff0f;border-radius:10px;align-items:center;gap:10px;width:100%;margin-top:6px;padding:8px 10px;font-family:inherit;transition:background .15s,transform .1s;display:flex}button.daily-row{cursor:pointer}button.daily-row:hover{background:#a855f714;transform:translate(2px)}.daily-row.claimed{opacity:.5}.daily-row--elite{background:linear-gradient(90deg,#ff8c0014,#0000 80%);border-color:#ff8c0059}.daily-row--elite:not(.claimed){animation:2.6s ease-in-out infinite daily-elite-pulse}@keyframes daily-elite-pulse{0%,to{box-shadow:0 0 #ff8c0026}50%{box-shadow:0 0 12px 2px #ff8c0052}}.daily-row__icon{text-align:center;min-width:26px;font-size:22px;line-height:1}.daily-row__body{flex:1;min-width:0}.daily-row__title{justify-content:space-between;align-items:center;margin-bottom:2px;display:flex}.daily-row__name{color:#fff;letter-spacing:.5px;font-size:13px;font-weight:800}.daily-row__badge{color:#9dffb0;letter-spacing:1px;background:#00ff881f;border-radius:10px;padding:2px 7px;font-size:10px;font-weight:700}.daily-row.claimed .daily-row__badge{color:var(--muted);background:#ffffff0f}.daily-row--elite:not(.claimed) .daily-row__badge{color:#ffcc80;background:#ff8c002e}.daily-row__desc{color:#bfe6ffb3;font-size:11px;line-height:1.4}.map-node.elite-trial-target{position:relative}.map-node.elite-trial-target:after{content:"⚡";color:#0a1018;z-index:5;background:#ff8c00f2;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:12px;font-weight:900;animation:1.8s ease-in-out infinite streak-breathe;display:flex;position:absolute;top:-8px;right:-8px;box-shadow:0 0 10px #ff8c0099}.escalation-bar{z-index:150;pointer-events:none;flex-wrap:wrap;justify-content:center;gap:6px;max-width:min(92vw,640px);padding:0 12px;display:flex;position:fixed;top:12px;left:50%;transform:translate(-50%)}.escalation-chip{color:#ffd9a0;letter-spacing:1px;-webkit-backdrop-filter:blur(6px);pointer-events:auto;cursor:help;animation:.55s cubic-bezier(.3,1.6,.5,1) both escalation-pop;animation-delay:calc(var(--i,0) * 80ms);background:linear-gradient(135deg,#ff8c0033,#78003c26);border:1px solid #ff8c008c;border-radius:999px;align-items:center;gap:5px;padding:4px 10px;font-size:11px;font-weight:700;display:inline-flex;box-shadow:0 2px 12px #ff8c0040}.escalation-chip__icon{font-size:13px;line-height:1}.escalation-chip__name{white-space:nowrap}@keyframes escalation-pop{0%{opacity:0;transform:scale(.3)rotate(-10deg)}60%{opacity:1;transform:scale(1.15)rotate(3deg)}to{opacity:1;transform:scale(1)rotate(0)}}@media (width<=600px){.escalation-bar{gap:4px;top:60px}.escalation-chip{padding:3px 8px;font-size:10px}}@media (width<=900px) and (orientation:landscape){.escalation-bar{gap:4px;max-width:80vw;top:48px}.escalation-chip{padding:3px 9px;font-size:10px}.escalation-chip__icon{font-size:11px}}.streak-chip{color:#fc9;letter-spacing:1px;cursor:help;background:linear-gradient(135deg,#ff8c0024,#ff3c001a);border:1.5px solid #ff8c0073;border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:800;transition:transform .15s;animation:2.2s ease-in-out infinite streak-breathe;display:inline-flex;box-shadow:0 0 12px #ff8c002e}.streak-chip:hover{transform:translateY(-1px)scale(1.04)}.streak-chip__flame{font-size:15px;line-height:1}.streak-chip__count{color:#ffe8c0;text-align:center;background:#00000038;border-radius:999px;min-width:24px;padding:1px 8px;font-family:ui-monospace,SF Mono,Consolas,monospace;font-size:14px;font-weight:900}.streak-chip__name{opacity:.9;letter-spacing:2px;font-size:11px}.streak-chip--tier2{color:#ffb0a0;background:linear-gradient(135deg,#ff500033,#ff145024);border-color:#ff500099;box-shadow:0 0 16px #ff500047}.streak-chip--tier3{color:#ffd0d0;background:linear-gradient(135deg,#ff285040,#ff8c002e);border-color:#ff2850bf;animation:1.6s ease-in-out infinite streak-breathe-apex;box-shadow:0 0 22px #ff285066,0 0 44px #ff8c0033}.streak-chip--tier3 .streak-chip__flame{animation:.6s ease-in-out infinite streak-flicker}@keyframes streak-breathe{0%,to{box-shadow:0 0 10px #ff8c0026}50%{box-shadow:0 0 18px #ff8c0059}}@keyframes streak-breathe-apex{0%,to{box-shadow:0 0 18px #ff28504d,0 0 36px #ff8c0024}50%{box-shadow:0 0 30px #ff28508c,0 0 60px #ff8c004d}}@keyframes streak-flicker{0%,to{transform:scale(1)rotate(-2deg)}50%{transform:scale(1.15)rotate(3deg)}}.world-map-container{width:100%;position:relative;overflow:visible;-webkit-mask-image:linear-gradient(#000 92%,#0000 100%);mask-image:linear-gradient(#000 92%,#0000 100%)}.world-map-edges{pointer-events:none;width:100%;height:100%;position:absolute;top:0;left:0}.edge{fill:none;stroke-linecap:round}.edge.cleared{stroke:#00d4ff73;stroke-width:2.5px;filter:drop-shadow(0 0 4px #00d4ff40)}.edge.available{stroke:#00ff884d;stroke-width:2px;stroke-dasharray:8 5;animation:1.5s linear infinite edge-flow}.edge.locked{stroke:#ffffff0d;stroke-width:1.5px}@keyframes edge-flow{to{stroke-dashoffset:-26px}}.map-node{-webkit-backdrop-filter:blur(8px);color:#bfe6ff;text-align:center;cursor:pointer;z-index:2;background:#0a1018bf;border:1.5px solid #ffffff14;border-radius:16px;width:120px;padding:10px 12px;font-size:12px;line-height:1.3;transition:all .2s;position:absolute;transform:translate(-50%,-50%)}.map-node:hover:not(.locked){z-index:10;transform:translate(-50%,-50%)scale(1.08)}.map-node .node-icon{filter:saturate(1.2);margin-bottom:4px;font-size:28px;display:block}.map-node .node-label{white-space:nowrap;font-size:12px;font-weight:700;display:block}.map-node .node-check{color:#0f8;text-shadow:0 0 8px #0f89;font-size:16px;position:absolute;top:-6px;right:-6px}.map-node .node-lock{opacity:.5;font-size:12px;position:absolute;top:-6px;right:-6px}.node-cleared-stars{letter-spacing:2px;color:#ffd13d;text-shadow:0 0 6px #ffd13d8c;margin-top:3px;font-size:13px;display:block}.node-diff{letter-spacing:1.5px;color:#c8c8c88c;margin-top:3px;font-size:10px;display:block}.map-node.available .node-diff{color:#ffffffd9}.node-and-hint{letter-spacing:1px;color:var(--nc,#ff9800);text-shadow:0 0 6px rgba(var(--nc-rgb,255, 152, 0), .45);margin-top:4px;font-size:10px;font-weight:800;display:block}.map-node.available[data-unlock=and] .node-and-hint{color:#9dffb0;text-shadow:0 0 8px #0f89}.map-node[data-branch=hidden]{animation:.9s cubic-bezier(.3,1.4,.5,1) both hidden-reveal}@keyframes hidden-reveal{0%{opacity:0;filter:blur(8px)saturate(2);transform:translate(-50%,-50%)scale(.3)rotate(-20deg)}60%{opacity:1;filter:blur()saturate(1.4);transform:translate(-50%,-50%)scale(1.15)rotate(4deg)}to{opacity:1;filter:none;transform:translate(-50%,-50%)scale(1)rotate(0)}}.map-node[data-branch=root]{--nc:#00d4ff;--nc-rgb:0,212,255}.map-node[data-branch=blood]{--nc:#f46;--nc-rgb:255,68,102}.map-node[data-branch=neural]{--nc:#22d3ee;--nc-rgb:34,211,238}.map-node[data-branch=gene]{--nc:#a855f7;--nc-rgb:168,85,247}.map-node[data-branch=micro]{--nc:#22c55e;--nc-rgb:34,197,94}.map-node[data-branch=synth]{--nc:#f59e0b;--nc-rgb:245,158,11}.map-node[data-branch=autoimmune]{--nc:#f43f5e;--nc-rgb:244,63,94}.map-node[data-branch=bridge]{--nc:#ffb74d;--nc-rgb:255,183,77}.map-node[data-branch=hidden]{--nc:#c084fc;--nc-rgb:192,132,252}.map-node[data-branch=convergence]{--nc:#fb7185;--nc-rgb:251,113,133}.map-node[data-branch=mega]{--nc:#ffd166;--nc-rgb:255,209,102}.map-node.cleared{border-color:rgba(var(--nc-rgb,0,212,255),.5);background:rgba(var(--nc-rgb,0,212,255),.07)}.map-node.cleared .node-icon{filter:saturate(.6)brightness(.85)}.map-node.available{border-color:var(--nc,#00d4ff);background:rgba(var(--nc-rgb,0,212,255),.09);transform-origin:50%;z-index:1;border-style:dashed;border-width:2px;animation:2.5s ease-in-out infinite node-breathe}.map-node.available .node-icon{filter:saturate(1.3)brightness(1.1)}.map-node.locked{opacity:.38;cursor:default;pointer-events:none;filter:grayscale()brightness(.7);background:#ffffff05;border-color:#ffffff14}@keyframes node-breathe{0%,to{box-shadow:0 0 8px rgba(var(--nc-rgb,0,212,255),.15);transform:translate(-50%,-50%)scale(1)}50%{box-shadow:0 0 22px rgba(var(--nc-rgb,0,212,255),.38), 0 0 44px rgba(var(--nc-rgb,0,212,255),.1);transform:translate(-50%,-50%)scale(1.06)}}.map-node[data-type=boss]{z-index:3;border-width:2.5px;width:146px;padding:14px 16px}.map-node[data-type=boss] .node-icon{filter:drop-shadow(0 0 10px rgba(var(--nc-rgb,255,68,102),.7));font-size:36px}.map-node[data-type=boss] .node-label{letter-spacing:1.5px;font-size:13px;font-weight:900}.map-node[data-type=boss]:not([data-shape]):before{content:"";background:conic-gradient(from 0deg, rgba(var(--nc-rgb,255,68,102),.9) 0deg, rgba(var(--nc-rgb,255,68,102),.3) 120deg, rgba(var(--nc-rgb,255,68,102),.9) 240deg, rgba(var(--nc-rgb,255,68,102),.3) 360deg);clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);pointer-events:none;z-index:-1;opacity:.22;width:200px;height:200px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.map-node[data-type=boss]:not([data-shape]).available:before{opacity:.5;animation:18s linear infinite boss-star-spin,3s ease-in-out infinite boss-star-glow}.map-node[data-type=boss]:not([data-shape]).cleared:before{opacity:.18;animation:36s linear infinite boss-star-spin}.map-node[data-type=boss]:not([data-shape]).locked:before{opacity:.06}@keyframes boss-star-spin{to{transform:translate(-50%,-50%)rotate(360deg)}}@keyframes boss-star-glow{0%,to{filter:drop-shadow(0 0 6px rgba(var(--nc-rgb,255,68,102),.5))}50%{filter:drop-shadow(0 0 20px rgba(var(--nc-rgb,255,68,102),1)) drop-shadow(0 0 40px rgba(var(--nc-rgb,255,68,102),.4))}}.map-node[data-type=boss].available{animation:2s ease-in-out infinite node-breathe-boss}@keyframes node-breathe-boss{0%,to{box-shadow:0 0 14px rgba(var(--nc-rgb,255,68,102),.28);transform:translate(-50%,-50%)scale(1)}50%{box-shadow:0 0 40px rgba(var(--nc-rgb,255,68,102),.6), 0 0 80px rgba(var(--nc-rgb,255,68,102),.18);transform:translate(-50%,-50%)scale(1.08)}}.map-node[data-shape=hex]{width:164px;filter:drop-shadow(0 0 10px rgba(var(--nc-rgb,255,68,102),.28)) drop-shadow(0 0 22px rgba(var(--nc-rgb,255,68,102),.1));background:0 0;border-radius:0;padding:22px 22px 18px;border:none!important}.map-node[data-shape=hex]:before{content:"";background:conic-gradient(from 30deg, rgba(var(--nc-rgb,255,68,102),.85) 0deg, rgba(var(--nc-rgb,255,68,102),.35) 60deg, rgba(var(--nc-rgb,255,68,102),.85) 120deg, rgba(var(--nc-rgb,255,68,102),.35) 180deg, rgba(var(--nc-rgb,255,68,102),.85) 240deg, rgba(var(--nc-rgb,255,68,102),.35) 300deg, rgba(var(--nc-rgb,255,68,102),.85) 360deg);clip-path:polygon(50% 0%,100% 25%,100% 75%,50% 100%,0% 75%,0% 25%);opacity:.55;z-index:-2;pointer-events:none;position:absolute;inset:-3px}.map-node[data-shape=hex]:after{content:"";background:radial-gradient(ellipse at 50% 45%, rgba(var(--nc-rgb,255,68,102),.22) 0%, rgba(var(--nc-rgb,255,68,102),.08) 45%, #0a10188c 75%, #0a101859 100%);clip-path:polygon(50% 0%,100% 25%,100% 75%,50% 100%,0% 75%,0% 25%);z-index:-1;pointer-events:none;-webkit-backdrop-filter:blur(3px);position:absolute;inset:2px}.map-node[data-shape=hex].available:before{opacity:.7;animation:8s linear infinite hex-membrane-drift,2.6s ease-in-out infinite hex-danger-pulse}.map-node[data-shape=hex].locked:before{opacity:.18;filter:grayscale()}.map-node[data-shape=hex].locked:after{opacity:.45}.map-node[data-shape=hex].cleared:before{opacity:.4}@keyframes hex-membrane-drift{0%{background:conic-gradient(from 30deg, rgba(var(--nc-rgb),.85) 0deg, rgba(var(--nc-rgb),.35) 60deg, rgba(var(--nc-rgb),.85) 120deg, rgba(var(--nc-rgb),.35) 180deg, rgba(var(--nc-rgb),.85) 240deg, rgba(var(--nc-rgb),.35) 300deg, rgba(var(--nc-rgb),.85) 360deg)}to{background:conic-gradient(from 390deg, rgba(var(--nc-rgb),.85) 0deg, rgba(var(--nc-rgb),.35) 60deg, rgba(var(--nc-rgb),.85) 120deg, rgba(var(--nc-rgb),.35) 180deg, rgba(var(--nc-rgb),.85) 240deg, rgba(var(--nc-rgb),.35) 300deg, rgba(var(--nc-rgb),.85) 360deg)}}@keyframes hex-danger-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.015)}}.map-node[data-shape=skull]{border-width:2.5px;width:150px;padding:16px 18px;background:radial-gradient(#ff33662e 0%,#1e0812f0 70%)!important;border-color:#f36!important}.map-node[data-shape=skull]:before{content:"☠";color:#ff336614;pointer-events:none;z-index:-1;font-family:Apple Color Emoji,Segoe UI Emoji,Noto Color Emoji,sans-serif;font-size:170px;line-height:1;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.map-node[data-shape=skull].available:before{animation:3s ease-in-out infinite skull-breathe}@keyframes skull-breathe{0%,to{color:#ff33661f;transform:translate(-50%,-50%)scale(1)}50%{color:#ff336638;transform:translate(-50%,-50%)scale(1.12)}}.map-node[data-shape=skull]:after{content:"";pointer-events:none;background:radial-gradient(circle,#0000 35%,#ff33660f 60%,#0000 80%);position:absolute;inset:0}.map-node[data-shape=skull].available{animation:2.2s ease-in-out infinite skull-node-pulse;box-shadow:0 0 32px #f366,inset 0 0 24px #ff33661a}@keyframes skull-node-pulse{0%,to{transform:translate(-50%,-50%)scale(1);box-shadow:0 0 20px #ff336659,inset 0 0 20px #ff336614}50%{transform:translate(-50%,-50%)scale(1.06);box-shadow:0 0 50px #ff3366b3,0 0 90px #f363,inset 0 0 30px #ff336626}}.map-node[data-shape=skull].locked:before{color:#ff33660a}.map-node[data-shape=skull] .node-icon{filter:drop-shadow(0 0 14px #ff3366e6)}.map-node[data-shape=skull] .node-label{color:#ffb3b3;text-shadow:0 0 10px #ff3366b3;letter-spacing:2px;font-weight:900}.map-node[data-type=elite] .node-label{color:#ffd93d}.map-node[data-branch=mega]{background:radial-gradient(#ffd1662e 0%,#ff8c001a 45%,#0a1018d9 100%);border-width:3px;border-color:#ffd1668c;width:200px;padding:18px 20px;box-shadow:inset 0 0 0 1px #ffffff0d,0 0 12px #ffd16640}.map-node[data-branch=mega] .node-icon{filter:drop-shadow(0 0 8px #ffd166cc);margin-bottom:6px;font-size:44px}.map-node[data-branch=mega] .node-label{letter-spacing:1px;color:#ffe8a0;text-shadow:0 0 10px #ffd16699;font-size:14px}.map-node[data-branch=mega] .node-diff,.map-node[data-branch=mega] .node-cleared-stars{font-size:14px}.map-node[data-shape=rect]{background:linear-gradient(90deg,#ff8c000d 0%,#ffd16633 50%,#ff8c000d 100%),#0a1018d9;border-radius:6px;width:260px;padding:14px 22px}.map-node[data-shape=rect]:before{content:"";pointer-events:none;border:1.5px solid #ffd16659;border-radius:8px;position:absolute;inset:-8px}.map-node[data-shape=rect]:after{content:"";pointer-events:none;background:linear-gradient(90deg,#0000 0%,#ffd1668c 50%,#0000 100%);height:1px;position:absolute;top:50%;left:-18px;right:-18px;transform:translateY(-50%)}.map-node[data-shape=rect].available{border-color:#ffd166;animation:2.4s ease-in-out infinite mega-rect-pulse}@keyframes mega-rect-pulse{0%,to{transform:translate(-50%,-50%)scale(1);box-shadow:inset 0 0 0 1px #ffffff0d,0 0 18px #ffd16659,0 0 48px #ff8c002e}50%{transform:translate(-50%,-50%)scale(1.04);box-shadow:inset 0 0 0 1px #ffffff14,0 0 36px #ffd166a6,0 0 90px #ff8c0059}}.map-node[data-shape=star]{background:radial-gradient(circle,#ffd16638 0%,#f43f5e1a 60%,#0a1018e6 100%);border-radius:12px;width:160px;padding:18px 14px}.map-node[data-shape=star]:before{content:"";clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);opacity:.35;pointer-events:none;z-index:-1;filter:drop-shadow(0 0 12px #ffd16666);background:conic-gradient(#ffd166 0deg,#ff8c3a 60deg,#f43f5e 120deg,#a855f7 180deg,#22d3ee 240deg,#22c55e 300deg,#ffd166 360deg);width:260px;height:260px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.map-node[data-shape=star]:after{content:"";clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);pointer-events:none;z-index:-1;background:#0a1018;width:220px;height:220px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.map-node[data-shape=star].available:before{opacity:.7;animation:14s linear infinite mega-star-spin,2.4s ease-in-out infinite mega-star-glow}.map-node[data-shape=star].available{border-color:#ffd166;animation:2.4s ease-in-out infinite mega-star-pulse}.map-node[data-shape=star].locked:before,.map-node[data-shape=star].locked:after{opacity:.15}@keyframes mega-star-spin{to{transform:translate(-50%,-50%)rotate(360deg)}}@keyframes mega-star-glow{0%,to{filter:drop-shadow(0 0 12px #ffd16680)}50%{filter:drop-shadow(0 0 28px #ffd166)drop-shadow(0 0 60px #f43f5e99)}}@keyframes mega-star-pulse{0%,to{transform:translate(-50%,-50%)scale(1);box-shadow:0 0 22px #ffd16659,0 0 56px #f43f5e2e}50%{transform:translate(-50%,-50%)scale(1.06);box-shadow:0 0 44px #ffd166bf,0 0 110px #f43f5e59}}.map-node[data-branch=mega].cleared{background:radial-gradient(#ffd1661a 0%,#0a1018d9 70%);border-color:#ffd166a6}.map-node[data-shape=star].cleared:before{opacity:.55;animation:28s linear infinite mega-star-spin}.branch-label{letter-spacing:1px;color:var(--nc,#00d4ff);opacity:.6;white-space:nowrap;pointer-events:none;z-index:1;font-size:13px;font-weight:700;position:absolute;transform:translate(-50%)}.map-screen .map-content{max-height:100vh;padding-bottom:60px;overflow-y:auto}@media (width<=900px){.map-header{gap:10px;padding:12px 14px}.map-title{white-space:nowrap;text-shadow:0 0 12px #00d4ff4d;margin:0;font-size:17px}.map-back{flex-shrink:0;width:auto;padding:8px 12px;font-size:11px}.inventory-bar{-webkit-backdrop-filter:blur(10px);scrollbar-width:none;background:#00d4ff0d;border:1px solid #00d4ff2e;border-radius:10px;flex-wrap:nowrap;gap:8px;margin-bottom:8px;padding:6px 10px;font-size:12px;overflow-x:auto}.inventory-bar::-webkit-scrollbar{display:none}.inventory-bar .inv-item{flex-shrink:0;gap:3px}.inventory-bar .inv-item b{font-size:14px;font-weight:800}.map-top-bar__row--status .inventory-bar{box-sizing:border-box!important;flex-wrap:wrap!important;justify-content:center!important;gap:8px 10px!important;width:100%!important;overflow:visible!important}.map-top-bar__row--status .inventory-bar .inv-item{flex-shrink:1!important}.map-node .node-icon{margin-bottom:3px;font-size:24px}.map-node .node-label{font-size:12px;font-weight:800}.map-node.available{border-width:2px}.map-node.available .node-icon{animation:2s ease-in-out infinite icon-pulse}.map-node[data-type=boss]{width:120px;padding:12px 10px}.map-node[data-shape=star]:before,.map-node[data-shape=star]:after{width:220px;height:220px}.map-top-bar{gap:8px;max-width:100%;padding:0 0 4px}.map-hero{border-radius:24px;grid-template-columns:1fr;padding:16px}.map-hero__title{font-size:24px}.map-hero__metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.map-hero__side{min-height:190px}.map-top-bar__row--status{scrollbar-width:none;flex-wrap:nowrap;justify-content:flex-start;gap:5px;overflow-x:auto}.map-top-bar__row--status::-webkit-scrollbar{display:none}.map-top-bar__row--status>*{flex-shrink:0}.map-top-bar__row--primary,.map-top-bar__row--secondary{--map-action-basis:calc((100% - 12px) / 3);gap:6px}.map-action-btn{gap:10px;min-height:68px;padding:10px 11px}.map-action-btn__icon{border-radius:12px;width:34px;height:34px;font-size:17px}.map-action-btn__title{font-size:12px}.map-action-btn__subtitle{font-size:10px}.map-top-bar__row--primary .daily-panel:not(.daily-panel--compact){flex-basis:100%}.map-top-bar__row--secondary .map-action-btn{min-width:0}.map-screen .map-content{scroll-behavior:smooth;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;max-height:100dvh;padding-bottom:40px;overflow:hidden auto}.map-screen .map-content::-webkit-scrollbar{width:0;height:0;display:none}.world-map-container{width:100%;min-width:0;max-width:100vw}.map-node{border-radius:11px;width:78px;min-height:50px;padding:7px 5px;font-size:10px}.map-node .node-icon{filter:saturate(1.3) drop-shadow(0 0 6px var(--nc,#00d4ff59));margin-bottom:3px;font-size:22px;line-height:1}.map-node .node-label{letter-spacing:.5px;font-size:10px;font-weight:800}.map-node[data-type=boss]{width:88px;min-height:60px;padding:9px 6px}.map-node[data-type=boss] .node-icon{font-size:28px}.map-node[data-type=boss] .node-label{font-size:11px}.map-node[data-type=elite] .node-icon{font-size:24px}.map-node[data-shape=skull] .node-label{font-size:11px}.map-node[data-shape=rect]{width:170px;padding:10px 14px}.map-node[data-shape=rect] .node-icon{font-size:24px}.map-node[data-shape=rect] .node-label{font-size:11px}.map-node[data-shape=star]{width:108px;padding:12px 8px}.map-node[data-shape=star] .node-icon{font-size:24px}.map-node[data-shape=star] .node-label{font-size:11px}.map-node[data-shape=star]:before{width:170px;height:170px}.map-node[data-shape=star]:after{width:140px;height:140px}.map-node[data-shape=hex]{width:120px;padding:14px 12px 10px}.map-node[data-shape=hex] .node-icon{font-size:24px}.map-node[data-shape=hex] .node-label{font-size:11px}.map-node[data-shape=skull]{width:118px;padding:10px 12px}.map-node[data-shape=skull] .node-icon{font-size:24px}.map-node[data-shape=skull] .node-label{letter-spacing:1px;font-size:11px}.map-node[data-shape=skull]:before{font-size:110px}.node-diff{letter-spacing:1px;font-size:8px}.node-cleared-stars{letter-spacing:2px;font-size:11px}.map-node .node-lock{font-size:10px;top:-3px;right:-3px}.branch-label{opacity:.7;letter-spacing:1px;text-shadow:0 0 8px var(--nc,#00d4ff4d);font-size:10px;font-weight:800}}@media (width<=640px){.map-header{grid-template-columns:1fr;justify-items:start}.map-title{white-space:normal}.map-title small{letter-spacing:3px}.map-hero{gap:12px;padding:14px}.map-hero__title-row{align-items:flex-start}.map-hero__title{font-size:21px}.map-hero__subtitle{font-size:12px}.map-hero__glyph{width:48px;height:48px}.map-hero__metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.map-hero__metric{padding:10px}.map-hero__metric-value{font-size:16px}.map-hero__pulse{min-height:172px;padding:16px 14px}.map-hero__pulse-icon{width:64px;height:64px;font-size:28px}.map-top-bar__row--primary,.map-top-bar__row--secondary{--map-action-basis:calc((100% - 6px) / 2)}.map-action-btn{min-height:64px}.map-action-btn__subtitle{display:none}}@media (width<=900px) and (orientation:landscape){.map-header{gap:14px;padding:14px 18px}.map-title{font-size:20px}.map-back{padding:10px 16px;font-size:13px}.inventory-bar{border-radius:12px;gap:10px;padding:8px 14px;font-size:13.5px}.inventory-bar .inv-item b{font-size:15.5px}.map-top-bar__row--status .inventory-bar .inv-item--blueprint{font-size:13px}.map-action-btn{border-radius:20px;gap:12px;min-height:80px;padding:12px 14px}.map-action-btn__icon{border-radius:14px;width:40px;height:40px;font-size:20px}.map-action-btn__title{font-size:14px}.map-action-btn__subtitle{font-size:11px}.map-hero{border-radius:24px;padding:18px}.map-hero__title{font-size:24px}.map-hero__subtitle{font-size:13px}.map-node{border-radius:13px;width:108px;min-height:60px;padding:9px 8px;font-size:12px}.map-node .node-icon{margin-bottom:4px;font-size:28px}.map-node .node-label{letter-spacing:.5px;font-size:12px}.node-cleared-stars{font-size:13px}.node-diff{letter-spacing:1.2px;font-size:10px}.map-node[data-type=boss]{width:120px;min-height:70px;padding:11px 8px}.map-node[data-type=boss] .node-icon{font-size:32px}.map-node[data-type=boss] .node-label{font-size:13px}.map-node[data-type=elite] .node-icon{font-size:28px}.map-node[data-shape=rect]{width:200px;padding:12px 16px}.map-node[data-shape=rect] .node-icon{font-size:30px}.map-node[data-shape=rect] .node-label{font-size:13px}.map-node[data-shape=star]{width:130px;padding:14px 10px}.map-node[data-shape=star] .node-icon{font-size:30px}.map-node[data-shape=star] .node-label{font-size:13px}.map-node[data-shape=star]:before{width:200px;height:200px}.map-node[data-shape=star]:after{width:165px;height:165px}.map-node[data-shape=hex]{width:135px;padding:15px 12px 11px}.map-node[data-shape=hex] .node-icon{font-size:30px}.map-node[data-shape=hex] .node-label{font-size:13px}.map-node[data-shape=skull]{width:135px;padding:12px 14px}.map-node[data-shape=skull] .node-icon{font-size:30px}.map-node[data-shape=skull] .node-label{font-size:13px}.branch-label{letter-spacing:1.2px;font-size:12px}}@keyframes icon-pulse{0%,to{filter:saturate(1.2);transform:scale(1)}50%{filter:saturate(1.6)brightness(1.2);transform:scale(1.15)}}.loadout-screen{background:radial-gradient(ellipse at 50% 30%, #00d4ff12, transparent 50%), radial-gradient(ellipse at 30% 70%, #00ff880a, transparent 40%), var(--bg);flex-direction:column;justify-content:flex-start;align-items:center;padding:24px 16px;overflow-y:auto}.loadout-content{width:100%;max-width:1080px;margin:0 auto}.loadout-header{align-items:center;gap:16px;margin-bottom:16px;display:flex}.loadout-title{color:var(--green);text-shadow:0 0 15px #00ff8840;letter-spacing:2px;flex:1;margin:0;font-size:20px;font-weight:900}.loadout-title small{color:var(--muted);letter-spacing:3px;margin-left:6px;font-size:11px}.loadout-count{color:var(--cyan);background:var(--card);border:1px solid var(--border);border-radius:6px;padding:4px 10px;font-size:14px;font-weight:700}.loadout-hint{color:var(--muted);margin:0 0 12px;font-size:12px}.loadout-hint strong{color:var(--cyan)}.loadout-hint[hidden]{display:none}.loadout-hint--forced,.loadout-hint--restricted,.loadout-hint--preview{border:1px solid #0000;border-radius:8px;padding:10px 14px;font-size:13px;line-height:1.5}.loadout-hint--forced{color:#fbbf24;background:#fbbf241a;border-color:#fbbf2473}.loadout-hint--restricted{color:#f43f5e;background:#f43f5e1a;border-color:#f43f5e73}.loadout-hint--preview{color:var(--cyan);background:#00d4ff0f;border-color:#00d4ff4d}.loadout-hint--forced small,.loadout-hint--restricted small{color:var(--txt2);font-size:11.5px}.loadout-tabs{flex-wrap:wrap;gap:8px;margin:0 0 14px;padding:2px;display:flex}.loadout-tab{--tab-color:var(--muted);--tab-color-rgb:107,138,172;letter-spacing:1px;color:var(--muted);cursor:pointer;white-space:nowrap;isolation:isolate;background:#ffffff06;border:1.5px solid #ffffff0f;border-radius:999px;flex:none;align-items:center;gap:6px;width:auto;padding:7px 14px;font-family:inherit;font-size:12px;font-weight:800;transition:all .18s;display:inline-flex;position:relative}.loadout-tab__icon{font-size:14px;line-height:1;transition:transform .18s,filter .18s}.loadout-tab__label{line-height:1}.loadout-tab:hover{color:var(--txt);background:#ffffff0d;border-color:#fff3;transform:translateY(-1px)}.loadout-tab.active{background:linear-gradient(135deg, rgba(var(--tab-color-rgb), .22), rgba(var(--tab-color-rgb), .08));border-color:var(--tab-color);color:var(--tab-color);box-shadow:0 0 16px rgba(var(--tab-color-rgb), .32), inset 0 0 8px rgba(var(--tab-color-rgb), .14);text-shadow:0 0 10px rgba(var(--tab-color-rgb), .45)}.loadout-tab.active .loadout-tab__icon{filter:drop-shadow(0 0 6px rgba(var(--tab-color-rgb), .6));transform:scale(1.18)}.loadout-tab.active:before{content:"";border:1px solid var(--tab-color);opacity:.32;pointer-events:none;border-radius:999px;animation:2.4s ease-in-out infinite tabRingPulse;position:absolute;inset:-2px}@keyframes tabRingPulse{0%,to{opacity:.32;transform:scale(1)}50%{opacity:0;transform:scale(1.06)}}.loadout-tab[data-role=all]{--tab-color:#00d4ff;--tab-color-rgb:0,212,255}.loadout-tab[data-role=melee]{--tab-color:#f57;--tab-color-rgb:255,85,119}.loadout-tab[data-role=ranged]{--tab-color:#ffb347;--tab-color-rgb:255,179,71}.loadout-tab[data-role=support]{--tab-color:#0f8;--tab-color-rgb:0,255,136}.loadout-tab[data-role=control]{--tab-color:#b07aff;--tab-color-rgb:176,122,255}.light-mode .loadout-tab{color:#445;background:#001e3c08}.light-mode .loadout-tab.active{color:var(--tab-color)}.loadout-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px;display:grid}.loadout-card{background:var(--card);border:2px solid var(--border);cursor:pointer;text-align:center;color:var(--txt);border-radius:12px;flex-direction:column;align-items:center;gap:6px;padding:10px 8px 12px;font-family:inherit;transition:transform .15s,border-color .15s,background .15s,box-shadow .15s;display:flex;position:relative;overflow:visible}.loadout-card:hover{border-color:var(--border2);background:var(--card2);transform:translateY(-2px);box-shadow:0 4px 20px #0000004d}.loadout-card.equipped{border-color:var(--green);background:#00ff880f;box-shadow:0 0 12px #00ff881f}.loadout-card.popover-pinned{z-index:100}.loadout-card.forced-locked{cursor:default;background:#fbbf240f;border-color:#fbbf2499;box-shadow:0 0 12px #fbbf242e}.loadout-card.forced-locked:hover{transform:none}.loadout-card.forced-locked .loadout-card__check{opacity:1;color:#fbbf24}.loadout-card.forced-locked .loadout-card__check:before{content:"🔒 "}.loadout-card__check{color:var(--green);opacity:0;pointer-events:none;font-size:14px;font-weight:900;line-height:1;transition:opacity .15s;position:absolute;top:6px;right:8px}.loadout-card.equipped .loadout-card__check{opacity:1}.loadout-card__info-btn{width:18px;height:18px;color:var(--muted);cursor:pointer;z-index:2;background:#ffffff0f;border:1px solid #ffffff2e;border-radius:50%;justify-content:center;align-items:center;padding:0;font-family:Georgia,serif;font-size:11px;font-style:italic;font-weight:700;line-height:1;transition:all .15s;display:inline-flex;position:absolute;top:5px;left:6px}.loadout-card__info-btn:hover{background:var(--cyan);border-color:var(--cyan);color:#001;box-shadow:0 0 8px #00d4ff99}.loadout-card.popover-pinned .loadout-card__info-btn{background:var(--cyan);color:#001;border-color:var(--cyan)}.loadout-card__portrait{background:radial-gradient(ellipse at 50% 50%, var(--unit-color,#ffffff14) 0%, #ffffff05 80%);border:2px solid color-mix(in srgb, var(--unit-color,#00d4ff) 30%, #ffffff14);border-radius:14px;justify-content:center;align-items:center;width:88px;height:88px;margin-top:6px;display:flex;position:relative;overflow:visible}.loadout-card.equipped .loadout-card__portrait{border-color:var(--unit-color,var(--cyan));box-shadow:0 0 14px color-mix(in srgb, var(--unit-color,#00d4ff) 45%, transparent)}.loadout-card__portrait-img{object-fit:contain;border-radius:12px;width:100%;height:100%}.loadout-card__portrait-canvas{opacity:.35;width:88px;height:88px}.loadout-card__lv-badge{color:var(--amber);background:#0a0e16;border:1px solid #ffb70080;border-radius:4px;padding:1px 5px;font-size:10px;font-weight:800;line-height:1.3;position:absolute;bottom:-6px;left:-4px;box-shadow:0 0 6px #00000080}.loadout-card__cost-badge{color:var(--cyan);border:1px solid var(--cyan);background:#0a0e16;border-radius:6px;padding:1px 6px;font-size:11px;font-weight:800;line-height:1.3;position:absolute;bottom:-6px;right:-6px;box-shadow:0 0 6px #00000080}.loadout-card__cost-badge.stat--up{color:var(--green);border-color:var(--green)}.loadout-card__cost-badge.stat--down{color:#ff6b6b;border-color:#ff6b6b}.loadout-card__gear-overlay{flex-direction:column;gap:2px;display:flex;position:absolute;top:-4px;right:-4px}.loadout-gear-mini{background:#0a0e16;border:1px solid #00d4ff80;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;font-size:10px;line-height:1;display:inline-flex;box-shadow:0 0 4px #00d4ff66}.loadout-card__name{color:var(--unit-color,var(--cyan));word-break:break-word;overflow-wrap:break-word;margin-top:6px;font-size:13px;font-weight:800;line-height:1.2}.loadout-card__skill{color:var(--muted);letter-spacing:.5px;font-size:10px;line-height:1.2}.loadout-gear{background:#ffffff05;border:1px solid #ffffff14;border-radius:6px;justify-content:center;align-items:center;width:22px;height:22px;font-size:14px;line-height:1;display:inline-flex}.loadout-gear--filled{background:#00d4ff14;border-color:#00d4ff66}.loadout-gear--empty{opacity:.4}.loadout-gear--empty:before{content:"∅";color:var(--muted);font-size:10px}.loadout-card__popover{border:1.5px solid var(--cyan);z-index:999;isolation:isolate;text-align:left;opacity:0;visibility:hidden;pointer-events:none;background:#0a0e16;border-radius:8px;width:240px;max-width:calc(100vw - 32px);max-height:calc(100vh - 100px);padding:10px 12px;transition:opacity .15s,transform .15s,visibility .15s;position:absolute;top:calc(100% + 8px);left:50%;overflow-y:auto;transform:translate(-50%)translateY(-4px);box-shadow:0 8px 30px #0009,0 0 16px #00d4ff26}@media (hover:hover){.loadout-card:hover .loadout-card__popover{opacity:1;visibility:visible;transform:translate(-50%)translateY(0)}}.loadout-card.popover-pinned .loadout-card__popover{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%)translateY(0)}.loadout-card.popover-up .loadout-card__popover{top:auto;bottom:calc(100% + 8px);transform:translate(-50%)translateY(4px)}.loadout-card.popover-up.popover-pinned .loadout-card__popover,.loadout-card.popover-up:hover .loadout-card__popover{transform:translate(-50%)translateY(0)}.loadout-popover__head{border-bottom:1px solid #ffffff14;flex-direction:column;gap:1px;margin-bottom:6px;padding-bottom:6px;display:flex}.loadout-popover__name{color:var(--unit-color,var(--cyan));font-size:13px;font-weight:800}.loadout-popover__nameEn{color:var(--muted);letter-spacing:1.5px;text-transform:uppercase;font-size:9px}.loadout-popover__stats{flex-direction:column;gap:3px;margin-bottom:6px;font-size:11px;display:flex}.loadout-popover__stat{align-items:baseline;gap:6px;display:flex}.loadout-popover__stat span{color:var(--muted);min-width:38px}.loadout-popover__stat b{color:var(--txt);font-size:12px;font-weight:800}.loadout-popover__stat b.stat--up{color:var(--green)}.loadout-popover__stat b.stat--down{color:#ff6b6b}.loadout-popover__stat .popover-base{color:var(--muted);opacity:.7;font-size:9.5px}.loadout-popover__skill{color:var(--txt2);margin-bottom:6px;font-size:11px}.loadout-popover__skill b{color:var(--cyan);font-weight:700}.loadout-popover__gear{flex-wrap:wrap;align-items:center;gap:4px;margin-bottom:6px;display:flex}.loadout-popover__label{color:var(--muted);font-size:10px}.loadout-popover__desc{color:var(--muted);border-top:1px solid #ffffff14;margin:0;padding-top:6px;font-size:10.5px;line-height:1.45}.light-mode .loadout-card__popover{color:#1a2030;background:#fff;border-color:#09c;box-shadow:0 8px 30px #00000026}.light-mode .loadout-popover__nameEn,.light-mode .loadout-popover__label,.light-mode .loadout-popover__desc,.light-mode .loadout-popover__stat span{color:#556}.light-mode .loadout-popover__stat b{color:#1a2030}.loadout-go--preview{color:var(--cyan)!important;border-color:var(--cyan)!important;background:linear-gradient(135deg,#00d4ff24,#9333ea1a)!important}.loadout-go--preview:hover:not(:disabled){background:linear-gradient(135deg,#00d4ff3d,#9333ea2e)!important;box-shadow:0 0 20px #00d4ff33!important}.loadout-go{border:2px solid var(--green);width:auto;color:var(--green);cursor:pointer;letter-spacing:1.5px;white-space:nowrap;background:linear-gradient(135deg,#00ff8838,#00d4ff29);border-radius:8px;flex:none;padding:8px 22px;font-size:14px;font-weight:800;transition:all .2s}.loadout-go:hover:not(:disabled){background:linear-gradient(135deg,#00ff8852,#00d4ff3d);transform:translateY(-1px);box-shadow:0 0 22px #00ff8840}.loadout-go:disabled{opacity:.3;cursor:not-allowed}@media (width<=600px){.loadout-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px}.loadout-card{gap:5px;padding:8px 6px 10px}.loadout-card__portrait,.loadout-card__portrait-canvas{width:72px;height:72px}.loadout-card__name{font-size:12px}.loadout-card__skill{font-size:9.5px}.loadout-card__lv-badge{padding:1px 4px;font-size:9.5px}.loadout-card__cost-badge{padding:1px 5px;font-size:10.5px}.loadout-card__popover{width:220px}.loadout-tabs{gap:5px}.loadout-tab{letter-spacing:.5px;padding:6px 10px;font-size:11px}.loadout-tab__icon{font-size:12px}}.upgrade-screen{background:radial-gradient(ellipse at 50% 30%, #ffb7000f, transparent 50%), radial-gradient(ellipse at 70% 60%, #00d4ff0a, transparent 40%), var(--bg);flex-direction:column;justify-content:flex-start;align-items:center;padding:24px 16px;overflow-y:auto}.upgrade-content{width:100%;max-width:700px;margin:0 auto}.upgrade-header{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px;display:flex}.upgrade-title{color:var(--amber);text-shadow:0 0 15px #ffb70040;letter-spacing:2px;flex:1;margin:0;font-size:20px;font-weight:900}.upgrade-title small{color:var(--muted);letter-spacing:3px;margin-left:6px;font-size:11px}.upgrade-res{color:var(--txt2);gap:10px;font-size:13px;font-weight:700;display:flex}.res-gold{color:var(--amber)}.res-mat{color:var(--cyan)}.upgrade-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;display:grid}.upgrade-card{background:var(--card);border:2px solid var(--border);border-radius:10px;flex-direction:column;min-height:176px;padding:12px;transition:all .2s;display:flex}.upgrade-card:hover{border-color:var(--border2);background:var(--card2)}.upgrade-card.maxed{border-color:var(--amber);background:#ffb7000a}.upgrade-card__top{justify-content:space-between;align-items:center;gap:8px;margin-bottom:2px;display:flex}.upgrade-card__name{color:var(--unit-color,var(--cyan));font-size:14px;font-weight:800;line-height:1.2}.upgrade-card__lv{color:var(--amber);background:#ffb7001a;border-radius:4px;flex-shrink:0;padding:2px 6px;font-size:12px;font-weight:800}.upgrade-card.maxed .upgrade-card__lv{color:var(--green);background:#00ff881a}.upgrade-card__nameEn{color:var(--muted);letter-spacing:1px;text-transform:uppercase;min-height:13px;margin-bottom:8px;font-size:10px}.upgrade-card__bar{background:#ffffff0f;border-radius:2px;height:4px;margin-bottom:8px;overflow:hidden}.upgrade-card__fill{background:linear-gradient(90deg, var(--amber), var(--green));border-radius:2px;height:100%;transition:width .3s}.upgrade-card__stats{color:var(--txt2);flex:1;gap:12px;margin-bottom:10px;font-size:11px;display:flex}.upgrade-card__stats b{color:var(--green)}.upgrade-card__maxBadge{text-align:center;color:var(--amber);letter-spacing:2px;background:#ffb7000f;border:1px dashed #ffb70040;border-radius:6px;margin-top:auto;padding:6px 0;font-size:12px;font-weight:800}.upgrade-card__btn{cursor:pointer;width:100%;color:var(--amber);background:linear-gradient(135deg,#ffb7001f,#00d4ff14);border:1px solid #ffb7008c;border-radius:6px;justify-content:center;align-items:center;gap:8px;margin-top:auto;padding:8px 10px;font-family:inherit;font-size:12px;font-weight:700;transition:all .15s;display:flex}.upgrade-card__btn.affordable{border-color:var(--amber);box-shadow:0 0 10px #ffb70024}.upgrade-card__btn:hover:not(.disabled){background:linear-gradient(135deg,#ffb7003d,#00d4ff24);transform:translateY(-1px);box-shadow:0 0 14px #ffb70038}.upgrade-card__btn.disabled{cursor:not-allowed;color:#bfe6ff8c;box-shadow:none;background:#ffffff08;border-color:#ffffff1a}.upgrade-card__btn-label{letter-spacing:1px;opacity:.85;border-right:1px solid;padding-right:6px;font-weight:800}.upgrade-card__btn.disabled .upgrade-card__btn-label{border-right-color:#ffffff1f}.upgrade-card__btn-cost{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.upgrade-chip{color:inherit;align-items:center;gap:2px;font-size:11px;line-height:1;display:inline-flex}.upgrade-chip b{color:#fff;font-weight:700}.upgrade-card__btn.disabled .upgrade-chip b{color:#ffffffb3}.upgrade-card__btn .upgrade-chip--short,.upgrade-card__btn .upgrade-chip--short b,.upgrade-card__btn.disabled .upgrade-chip--short,.upgrade-card__btn.disabled .upgrade-chip--short b{color:#ff6b6b}.upgrade-btn{color:var(--amber)!important;border-color:#ffb70040!important}@media (width<=600px){.upgrade-screen{padding:16px 10px}.upgrade-header{gap:8px;margin-bottom:10px}.upgrade-title{letter-spacing:1px;font-size:17px}.upgrade-title small{display:none}.upgrade-res{gap:6px;font-size:12px}.upgrade-grid{grid-template-columns:1fr;gap:8px}.upgrade-card{border-radius:12px;padding:12px 14px}.upgrade-card__name{font-size:15px}.upgrade-card__lv{padding:3px 8px;font-size:13px}.upgrade-card__bar{border-radius:3px;height:6px;margin-bottom:10px}.upgrade-card__fill{box-shadow:0 0 8px #ffb70040}.upgrade-card__stats{gap:12px;margin-bottom:10px;font-size:12px}.upgrade-card__btn{border-radius:8px;gap:10px;min-height:44px;padding:10px 12px;font-size:13px;font-weight:800}.upgrade-chip{font-size:12px}.upgrade-card.maxed{border-color:#ffb70066;box-shadow:0 0 16px #ffb70014}.upgrade-card.maxed .upgrade-card__bar .upgrade-card__fill{box-shadow:0 0 12px #00ff884d}}.class-btn{color:var(--nc,var(--purple))!important;border-color:color-mix(in srgb, var(--nc,var(--purple)) 30%, #ffffff1a)!important;background:color-mix(in srgb, var(--nc,var(--purple)) 8%, transparent)!important}.confirm-modal-overlay{z-index:10000;-webkit-backdrop-filter:blur(10px);background:#000000b8;justify-content:center;align-items:center;padding:20px;animation:.18s confirm-modal-fade;display:flex;position:fixed;inset:0}.confirm-modal{background:linear-gradient(180deg, #00d4ff0a, transparent 60%), var(--panel,#0b1422);border:1.5px solid #00d4ff4d;border-radius:14px;width:100%;max-width:360px;padding:22px 22px 18px;animation:.22s cubic-bezier(.4,1.6,.5,1) confirm-modal-pop;box-shadow:0 20px 60px #0009,0 0 30px #00d4ff26}.confirm-modal--danger{background:linear-gradient(180deg, #ff6b6b0d, transparent 60%), var(--panel,#0b1422);border-color:#ff6b6b66;box-shadow:0 20px 60px #0009,0 0 30px #ff6b6b2e}.confirm-modal__title{color:var(--cyan);letter-spacing:2px;text-shadow:0 0 12px #00d4ff4d;margin-bottom:8px;font-size:18px;font-weight:900}.confirm-modal--danger .confirm-modal__title{color:#ff8080;text-shadow:0 0 12px #ff6b6b59}.confirm-modal__msg{color:var(--txt2,#bfe6ff);opacity:.85;margin-bottom:18px;font-size:13px;line-height:1.55}.confirm-modal__actions{justify-content:stretch;gap:10px;display:flex}.confirm-modal__btn{text-align:center;cursor:pointer;letter-spacing:1px;color:var(--muted);background:#ffffff0a;border:1px solid #ffffff1f;border-radius:8px;flex:1;padding:9px 18px;font-family:inherit;font-size:14px;font-weight:700;transition:all .15s}.confirm-modal__btn:hover{color:var(--txt);background:#ffffff14;border-color:#ffffff38}.confirm-modal__btn--confirm{color:var(--cyan);background:linear-gradient(135deg,#00d4ff2e,#00ff881f);border-color:#00d4ff80}.confirm-modal__btn--confirm:hover{background:linear-gradient(135deg,#00d4ff47,#0f83);box-shadow:0 0 14px #00d4ff40}.confirm-modal--danger .confirm-modal__btn--confirm{color:#ff9b9b;background:linear-gradient(135deg,#ff6b6b2e,#ff50501a);border-color:#ff6b6b8c}.confirm-modal--danger .confirm-modal__btn--confirm:hover{color:#ffb8b8;background:linear-gradient(135deg,#ff6b6b4d,#ff50502e);box-shadow:0 0 14px #ff6b6b4d}@keyframes confirm-modal-fade{0%{opacity:0}to{opacity:1}}@keyframes confirm-modal-pop{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.class-modal-overlay{z-index:9999;-webkit-backdrop-filter:blur(8px);background:#000000b3;justify-content:center;align-items:center;padding:16px;animation:.2s float-in;display:flex;position:fixed;inset:0}.class-modal{background:var(--panel);border:1.5px solid var(--border2);border-radius:16px;width:100%;max-width:720px;max-height:90vh;padding:24px 20px;position:relative;overflow-y:auto}.class-modal__title{color:var(--purple);text-shadow:0 0 15px #a855f740;letter-spacing:2px;margin:0 0 4px;font-size:22px;font-weight:900}.class-modal__title small{color:var(--muted);letter-spacing:3px;margin-left:8px;font-size:10px}.class-modal__desc{color:var(--muted);margin-bottom:16px;font-size:13px}.class-modal__close{width:32px;height:32px;color:var(--muted);cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:50%;justify-content:center;align-items:center;font-size:16px;display:flex;position:absolute;top:12px;right:12px}.class-modal__close:hover{background:#ffffff1f}.class-modal__grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}@media (width<=600px){.class-modal__grid{grid-template-columns:1fr;gap:8px}.class-modal{padding:16px 12px}.class-modal__title{font-size:18px}}.class-card{--cc:var(--cyan);background:linear-gradient(180deg, color-mix(in srgb, var(--cc) 6%, var(--panel)), var(--panel));border:2px solid color-mix(in srgb, var(--cc) 20%, #ffffff14);cursor:pointer;text-align:center;color:var(--txt);border-radius:12px;padding:16px 12px;transition:all .2s}.class-card:hover{border-color:var(--cc);box-shadow:0 0 20px color-mix(in srgb, var(--cc) 20%, transparent);transform:translateY(-2px)}.class-card.active{border-color:var(--cc);background:linear-gradient(180deg, color-mix(in srgb, var(--cc) 12%, var(--panel)), color-mix(in srgb, var(--cc) 4%, var(--panel)));box-shadow:0 0 24px color-mix(in srgb, var(--cc) 25%, transparent)}.class-card__icon{margin-bottom:4px;font-size:36px}.class-card__name{color:var(--cc);margin-bottom:2px;font-size:18px;font-weight:900}.class-card__nameEn{color:var(--muted);letter-spacing:2px;text-transform:uppercase;margin-bottom:8px;font-size:9px}.class-card__desc{color:var(--txt2);margin-bottom:10px;font-size:12px;line-height:1.5}.class-card__buffs{flex-direction:column;gap:3px;margin-bottom:8px;display:flex}.class-buff{border-radius:4px;padding:2px 6px;font-size:11px;font-weight:700}.class-buff.pos{color:var(--green);background:#00ff880f}.class-buff.neg{color:#ff6b6b;background:#ff6b6b0f}.class-card__philosophy{color:var(--cc);opacity:.7;letter-spacing:1px;margin-top:4px;font-size:11px;font-weight:800}.class-card__active{color:var(--green);text-shadow:0 0 8px #0f86;margin-top:8px;font-size:13px;font-weight:900}.achievement-btn{color:var(--amber)!important;border-color:#ffb70040!important}.ach-modal-overlay{z-index:9999;-webkit-backdrop-filter:blur(8px);background:#000000b3;justify-content:center;align-items:center;padding:16px;animation:.2s float-in;display:flex;position:fixed;inset:0}.ach-modal{background:var(--panel);border:1.5px solid var(--border2);border-radius:16px;width:100%;max-width:520px;max-height:85vh;padding:20px 16px;position:relative;overflow-y:auto}.ach-modal__title{color:var(--amber);text-shadow:0 0 12px #ffb70033;letter-spacing:2px;margin:0 0 12px;font-size:20px;font-weight:900}.ach-modal__title small{color:var(--muted);letter-spacing:2px;margin-left:8px;font-size:11px}.ach-modal__close{width:32px;height:32px;color:var(--muted);cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:50%;justify-content:center;align-items:center;font-size:16px;display:flex;position:absolute;top:12px;right:12px}.ach-tabs{flex-wrap:wrap;gap:3px;margin-bottom:12px;display:flex}.ach-tab{min-width:55px;color:var(--muted);cursor:pointer;text-align:center;background:#ffffff08;border:1px solid #ffffff0f;border-radius:7px;flex:1;padding:6px 4px;font-size:11px;font-weight:700;transition:all .15s}.ach-tab.active{color:var(--amber);background:#ffb70014;border-color:#ffb7004d}.ach-list{flex-direction:column;gap:6px;display:flex}.ach-card{background:#ffffff05;border:1px solid #ffffff0f;border-radius:10px;align-items:center;gap:10px;padding:10px 12px;display:flex;position:relative}.ach-card.unlocked{background:#ffb7000a;border-color:#ffb70059}.ach-card.hidden-ach{opacity:.5}.ach-card__icon{text-align:center;flex-shrink:0;width:32px;font-size:24px}.ach-card__body{flex:1;min-width:0}.ach-card__name{color:var(--txt);margin-bottom:2px;font-size:13px;font-weight:800}.ach-card.unlocked .ach-card__name{color:var(--amber)}.ach-card__desc{color:var(--muted);margin-bottom:4px;font-size:11px}.ach-card__bar{background:#ffffff0f;border-radius:2px;height:4px;margin-bottom:3px;overflow:hidden}.ach-card__fill{background:linear-gradient(90deg, var(--amber), var(--green));border-radius:2px;height:100%;transition:width .3s}.ach-card.unlocked .ach-card__fill{background:var(--green)}.ach-card__meta{justify-content:space-between;align-items:center;display:flex}.ach-card__progress{color:var(--muted);font-size:10px;font-weight:700}.ach-card__reward{color:var(--amber);font-size:10px;font-weight:700}.ach-card__check{color:var(--green);text-shadow:0 0 6px #0f86;font-size:14px;position:absolute;top:8px;right:10px}.stats-grid{flex-direction:column;gap:10px;display:flex}.stats-section{background:#ffffff05;border:1px solid #ffffff0f;border-radius:10px;padding:10px 12px}.stats-section__title{color:var(--amber);letter-spacing:1px;margin-bottom:8px;font-size:13px;font-weight:800}.stats-row{border-bottom:1px solid #ffffff08;justify-content:space-between;align-items:center;padding:4px 0;font-size:12px;display:flex}.stats-row:last-child{border-bottom:none}.stats-row span{color:var(--muted)}.stats-row b{color:var(--txt);font-family:ui-monospace,SF Mono,Consolas,monospace;font-size:13px;font-weight:800}.settings-btn{color:var(--muted)!important}.settings-modal-overlay{z-index:9999;-webkit-backdrop-filter:blur(8px);background:#000000b3;justify-content:center;align-items:center;padding:16px;animation:.2s float-in;display:flex;position:fixed;inset:0}.settings-modal{scrollbar-width:none;-ms-overflow-style:none;background:var(--panel);border:1.5px solid var(--border2);border-radius:16px;width:100%;max-width:420px;max-height:92dvh;padding:24px 20px;position:relative;overflow-y:auto}.settings-modal::-webkit-scrollbar{width:0;height:0;display:none}.setting-row--danger{border-top:1px dashed #ff505a4d;margin-top:18px;padding-top:14px}.setting-row--danger .setting-label{color:#ff6b75}.setting-btn--danger{color:#ff8090;letter-spacing:1px;cursor:pointer;background:linear-gradient(135deg,#ff1e321f,#8c0a1914);border:1.5px solid #ff505f73;border-radius:10px;width:100%;padding:10px 16px;font-size:13px;font-weight:800;transition:all .15s}.setting-btn--danger:hover{color:#ffaab2;background:linear-gradient(135deg,#ff1e3238,#8c0a1924);border-color:#ff505fbf;box-shadow:0 0 16px #ff283c40}.settings-modal__title{color:var(--txt);letter-spacing:2px;margin:0 0 16px;font-size:20px;font-weight:900}.settings-modal__title small{color:var(--muted);letter-spacing:3px;margin-left:8px;font-size:10px}.settings-modal__close{width:32px;height:32px;color:var(--muted);cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:50%;justify-content:center;align-items:center;font-size:16px;display:flex;position:absolute;top:12px;right:12px}.settings-modal__close:hover{background:#ffffff1f}.setting-row{margin-bottom:14px}.setting-label{color:var(--muted);letter-spacing:1px;text-transform:uppercase;margin-bottom:6px;font-size:12px;font-weight:700}.setting-options{flex-wrap:wrap;gap:4px;display:flex}.setting-opt{min-width:60px;color:var(--muted);cursor:pointer;text-align:center;background:#ffffff08;border:1.5px solid #ffffff14;border-radius:8px;flex:1;padding:8px 10px;font-size:13px;font-weight:700;transition:all .15s}.setting-opt:hover{background:#ffffff0f}.setting-opt.active{color:var(--cyan);background:#00d4ff14;border-color:#00d4ff59;box-shadow:0 0 10px #00d4ff1a}.hourly-banner{isolation:isolate;background:linear-gradient(135deg,#ffb70014,#00d4ff0d);border:2px solid #ffb70040;border-radius:12px;align-items:center;gap:12px;max-width:1120px;margin:0 auto 12px;padding:12px 16px;transition:all .3s;animation:3s ease-in-out infinite hourlyPulse;display:flex;position:relative;overflow:hidden}.hourly-banner:after{content:"";pointer-events:none;z-index:1;background:linear-gradient(105deg,#0000 0%,#ffffff0a 35%,#ffffff52 50%,#ffffff0a 65%,#0000 100%);width:35%;animation:7s ease-in-out infinite hourlySheen;position:absolute;top:-50%;bottom:-50%;left:-30%;transform:skew(-18deg)}.hourly-banner>*{z-index:2;position:relative}@keyframes hourlySheen{0%,80%,to{opacity:0;left:-30%}85%{opacity:1}97%{opacity:1;left:115%}to{opacity:0;left:115%}}.hourly-banner.bounty{background:linear-gradient(135deg,#ff2d5514,#ffb7000d);border-color:#ff2d554d}.hourly-banner.claimed{opacity:.55;border-color:var(--border);background:var(--card);animation:none}.hourly-banner.claimed:after{animation:none;display:none}.hourly-banner--compact{opacity:.75;width:auto;max-width:none;box-shadow:none;background:#ffb7000a;border:1px solid #ffb7002e;border-radius:999px;align-items:center;gap:8px;margin-bottom:0;padding:6px 14px;font-size:12px;animation:none;display:inline-flex}.hourly-banner--compact .hourly-banner__icon{filter:none;font-size:15px}.hourly-banner__compact-title{color:var(--amber);letter-spacing:1px;font-weight:700}.hourly-banner__compact-done{color:#9dffb0;letter-spacing:1px;font-size:11px;font-weight:700}.hourly-banner--compact .hourly-banner__timer{color:var(--muted);letter-spacing:1px;border-left:1px solid #ffffff14;margin-left:auto;padding-left:6px;font-size:10px}@keyframes hourlyPulse{0%,to{box-shadow:0 0 8px #ffb70014}50%{box-shadow:0 0 20px #ffb7002e}}.hourly-banner__icon{filter:drop-shadow(0 0 6px #ffb7004d);flex-shrink:0;font-size:28px}.hourly-banner__info{flex:1;min-width:0}.hourly-banner__title{color:var(--amber);margin-bottom:2px;font-size:14px;font-weight:800}.hourly-banner__title small{color:var(--muted);letter-spacing:1px;margin-left:4px;font-size:10px}.hourly-banner__desc{color:var(--txt2);font-size:11px;line-height:1.4}.hourly-banner__right{flex-direction:column;flex-shrink:0;align-items:center;gap:6px;display:flex}.hourly-banner__timer{color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px;font-weight:700}.hourly-banner__btn{cursor:pointer;letter-spacing:1px;border-radius:6px;padding:6px 16px;font-family:inherit;font-size:12px;font-weight:800;transition:all .2s}.hourly-banner__btn.claim-btn{border:1px solid var(--amber);color:var(--amber);background:linear-gradient(135deg,#ffb70033,#ffb7001a)}.hourly-banner__btn.claim-btn:hover{background:linear-gradient(135deg,#ffb70059,#ffb70033);box-shadow:0 0 12px #ffb70033}.hourly-banner__btn.bounty-btn{border:1px solid var(--pink);color:var(--pink);background:linear-gradient(135deg,#ff2d5533,#ffb7001a)}.hourly-banner__btn.bounty-btn:hover{background:linear-gradient(135deg,#ff2d5559,#ffb70026);box-shadow:0 0 12px #ff2d5533}.hourly-banner__done{color:var(--green);font-size:12px;font-weight:700}@media (width<=600px){.hourly-banner{flex-wrap:wrap;gap:8px;padding:10px 12px}.hourly-banner__icon{font-size:22px}.hourly-banner__title{font-size:13px}}.victory-flash{z-index:9999;pointer-events:none;background:radial-gradient(#ffd14d4d 0%,#ff8c0029 22%,#00000073 60%,#000000a6 100%);flex-direction:column;justify-content:center;align-items:center;animation:1.5s ease-out forwards victory-bg;display:flex;position:fixed;inset:0;overflow:hidden}.victory-flash.hidden{display:none}.victory-flash__rays{background:repeating-conic-gradient(#ffd14d2e 0deg 3deg,#0000 3deg 22deg);width:200vmax;height:200vmax;animation:6s linear infinite victory-rays-spin,1.5s ease-out forwards victory-rays-fade;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);-webkit-mask-image:radial-gradient(circle,#0000 8%,#000 18% 60%,#0000 88%);mask-image:radial-gradient(circle,#0000 8%,#000 18% 60%,#0000 88%)}.victory-flash__halo{filter:blur(8px);background:radial-gradient(circle,#ffffff38 0%,#ffd14d33 30%,#0000 65%);border-radius:50%;width:560px;height:560px;animation:1.5s ease-out forwards victory-halo-pulse;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(.4)}.victory-flash__title{letter-spacing:.18em;background:linear-gradient(#fff5b8 0%,#ffd166 45%,#ff8a00 100%);-webkit-text-fill-color:transparent;color:#0000;filter:drop-shadow(0 0 12px #ffeb96f2)drop-shadow(0 0 30px #ffb43cb3)drop-shadow(0 6px #8c500073);opacity:0;-webkit-background-clip:text;background-clip:text;margin:0;font-size:clamp(64px,14vw,160px);font-weight:900;line-height:1;animation:1.5s cubic-bezier(.2,1.5,.4,1) forwards victory-pop;position:relative;transform:scale(.25)rotate(-10deg)}.victory-flash__sub{letter-spacing:.6em;color:#ffecb4e6;text-shadow:0 0 12px #ffb43c99;opacity:0;margin-top:10px;font-size:clamp(14px,2.6vw,26px);font-weight:800;animation:1.5s ease-out forwards victory-sub;position:relative;transform:translateY(20px)}@keyframes victory-pop{0%{opacity:0;transform:scale(.25)rotate(-10deg)}28%{opacity:1;transform:scale(1.18)rotate(2deg)}44%{transform:scale(.94)rotate(-1deg)}58%{transform:scale(1.06)rotate(0)}74%{opacity:1;transform:scale(1)rotate(0)}to{opacity:.92;transform:scale(1)rotate(0)}}@keyframes victory-sub{0%,15%{opacity:0;letter-spacing:.2em;transform:translateY(20px)}38%{opacity:1;letter-spacing:.6em;transform:translateY(0)}to{opacity:.85;letter-spacing:.6em;transform:translateY(0)}}@keyframes victory-bg{0%{opacity:0}18%{opacity:1}78%{opacity:1}to{opacity:0}}@keyframes victory-halo-pulse{0%{opacity:0;transform:translate(-50%,-50%)scale(.4)}35%{opacity:1;transform:translate(-50%,-50%)scale(1.1)}65%{opacity:.8;transform:translate(-50%,-50%)scale(1)}to{opacity:0;transform:translate(-50%,-50%)scale(1.3)}}@keyframes victory-rays-fade{0%{opacity:0}25%{opacity:.85}to{opacity:0}}@keyframes victory-rays-spin{to{transform:translate(-50%,-50%)rotate(360deg)}}.light-mode .victory-flash{background:radial-gradient(#ffb42852 0%,#ff8c002e 22%,#141e324d 60%,#141e3273 100%)}@media (width<=600px){.victory-flash__title{letter-spacing:.14em;font-size:clamp(56px,18vw,120px)}.victory-flash__sub{letter-spacing:.4em;font-size:clamp(12px,3vw,20px)}.victory-flash__halo{width:320px;height:320px}}@media (width<=900px) and (orientation:landscape){.victory-flash__title{font-size:clamp(54px,11vw,110px)}.victory-flash__halo{width:380px;height:380px}}.victory-flash__white{opacity:0;pointer-events:none;background:#fff;position:absolute;inset:0}.victory-flash__confetti{pointer-events:none;opacity:0;background-image:radial-gradient(circle,#fff5b8 2px,#0000 2.5px),radial-gradient(circle,#ffd166 1.5px,#0000 2px),radial-gradient(circle,#ff8a00 1.8px,#0000 2.3px),radial-gradient(circle,#ffeec0 1.5px,#0000 2px),radial-gradient(circle,#fff 1.2px,#0000 1.7px);background-position:0 0,30px 60px,70px 20px,50px 90px,100px 40px;background-size:90px 90px,130px 130px,110px 110px,70px 70px,150px 150px;position:absolute;inset:0}.victory-flash[data-tier="1"] .victory-flash__halo{width:680px;height:680px}.victory-flash[data-tier="1"] .victory-flash__title{filter:drop-shadow(0 0 14px #ffeb96)drop-shadow(0 0 36px #ffb43ccc)drop-shadow(0 6px #8c500080)}.victory-flash[data-tier="2"] .victory-flash__white{animation:1.8s ease-out forwards victory-white-flash}.victory-flash[data-tier="2"] .victory-flash__confetti{animation:1.8s ease-out forwards victory-confetti}.victory-flash[data-tier="2"] .victory-flash__halo{width:760px;height:760px}.victory-flash[data-tier="2"] .victory-flash__title{filter:drop-shadow(0 0 18px #ffeb96)drop-shadow(0 0 50px #ffb43cf2)drop-shadow(0 0 100px #ff8c008c)drop-shadow(0 8px #783c008c);font-size:clamp(72px,16vw,180px)}.victory-flash[data-tier="3"] .victory-flash__white{animation:2s ease-out forwards victory-white-flash-strong}.victory-flash[data-tier="3"] .victory-flash__confetti{background-size:70px 70px,100px 100px,85px 85px,55px 55px,120px 120px;animation:2s ease-out forwards victory-confetti-rich}.victory-flash[data-tier="3"] .victory-flash__halo{width:880px;height:880px;animation:2s ease-out forwards victory-halo-double}.victory-flash[data-tier="3"] .victory-flash__rays{animation:5s linear infinite victory-rays-spin,2s ease-out forwards victory-rays-fade}.victory-flash[data-tier="3"] .victory-flash__title{letter-spacing:.2em;filter:drop-shadow(0 0 22px #fffac8)drop-shadow(0 0 60px #ffc850)drop-shadow(0 0 120px #ff8c00b3)drop-shadow(0 0 180px #ff5a0066)drop-shadow(0 10px #5a280099);font-size:clamp(80px,18vw,200px);animation:2s cubic-bezier(.2,1.5,.4,1) forwards victory-pop-epic}.victory-flash[data-tier="3"] .victory-flash__sub{letter-spacing:.7em;color:#fffad2f2;text-shadow:0 0 14px #ffc850d9;font-size:clamp(16px,3vw,32px)}@keyframes victory-white-flash{0%{opacity:0}6%{opacity:.55}18%{opacity:0}to{opacity:0}}@keyframes victory-white-flash-strong{0%{opacity:0}4%{opacity:.85}14%{opacity:0}55%{opacity:.18}65%{opacity:0}to{opacity:0}}@keyframes victory-confetti{0%{opacity:0;transform:translateY(-30px)scale(.95)}25%{opacity:.9}to{opacity:0;transform:translateY(60px)scale(1.05)}}@keyframes victory-confetti-rich{0%{opacity:0;transform:translateY(-50px)scale(.9)}20%{opacity:1}60%{opacity:.85}to{opacity:0;transform:translateY(120px)scale(1.15)}}@keyframes victory-halo-double{0%{opacity:0;transform:translate(-50%,-50%)scale(.3)}25%{opacity:1;transform:translate(-50%,-50%)scale(1.15)}45%{opacity:.55;transform:translate(-50%,-50%)scale(.95)}65%{opacity:.85;transform:translate(-50%,-50%)scale(1.25)}to{opacity:0;transform:translate(-50%,-50%)scale(1.5)}}@keyframes victory-pop-epic{0%{opacity:0;transform:scale(.2)rotate(-12deg)}24%{opacity:1;transform:scale(1.25)rotate(3deg)}40%{transform:scale(.92)rotate(-1.5deg)}54%{transform:scale(1.1)rotate(1deg)}68%{transform:scale(.98)rotate(0)}82%{opacity:1;transform:scale(1.03)rotate(0)}to{opacity:.95;transform:scale(1)rotate(0)}}.victory-flash[data-theme=neural] .victory-flash__rays{background:repeating-conic-gradient(#22d3ee2e 0deg 3deg,#0000 3deg 22deg)}.victory-flash[data-theme=neural] .victory-flash__halo{background:radial-gradient(circle,#ffffff38 0%,#22d3ee38 30%,#0000 65%)}.victory-flash[data-theme=bone_marrow] .victory-flash__rays{background:repeating-conic-gradient(#ffa02833 0deg 3deg,#0000 3deg 22deg)}.victory-flash[data-theme=tumor_core] .victory-flash__rays,.victory-flash[data-theme=autoimmune] .victory-flash__rays{background:repeating-conic-gradient(#f472b633 0deg 3deg,#ffd14d1a 12deg,#0000 14deg 22deg)}.victory-flash[data-theme=tumor_core] .victory-flash__halo,.victory-flash[data-theme=autoimmune] .victory-flash__halo{background:radial-gradient(circle,#ffffff38 0%,#f472b638 30%,#0000 65%)}.victory-flash[data-theme=bloodstream] .victory-flash__rays,.victory-flash[data-theme=lymph_node] .victory-flash__rays,.victory-flash[data-theme=membrane] .victory-flash__rays{background:repeating-conic-gradient(#ffb45033 0deg 3deg,#ff44661a 12deg,#0000 14deg 22deg)}.story-modal{max-width:720px}.story-tabs{flex-wrap:wrap;gap:6px;padding:8px 12px;display:flex}.story-tabs .ach-tab{flex:0 auto;padding:8px 12px;font-size:13px}.story-tabs .ach-tab.side-tab{color:var(--pink);border-color:#f43f5e40}.story-tabs .ach-tab.locked{opacity:.35;cursor:not-allowed}.story-restriction{border-left:3px solid var(--pink);background:#f43f5e14;padding:8px 14px;font-size:13px}.story-body{flex-direction:column;gap:10px;padding:12px;display:flex}.story-level{background:#ffffff08;border:1px solid #ffffff14;border-radius:10px;padding:12px;transition:background .15s,border-color .15s}.story-level:hover:not(.locked){background:#00d4ff0f;border-color:#00d4ff47}.story-level.cleared{background:#ffd7000a;border-color:#ffd70059}.story-level.locked{opacity:.45;filter:grayscale(.6)}.story-level__head{align-items:center;gap:8px;margin-bottom:6px;font-size:15px;font-weight:700;display:flex}.story-level__id{color:var(--muted);background:#ffffff0f;border-radius:4px;padding:2px 6px;font-family:ui-monospace,Menlo,monospace;font-size:12px}.story-level__name{flex:1}.story-level__type{font-size:13px}.story-level__star{color:var(--gold)}.story-level__lock{color:var(--muted);font-size:14px}.story-level__desc{color:var(--muted);margin-bottom:6px;font-size:13px;line-height:1.55}.story-level__edu{background:#a855f714;border-left:3px solid #a855f7;border-radius:6px;margin-bottom:8px;padding:8px 10px;font-size:12px}.story-level__edu b{color:#c88eff;margin-bottom:2px;display:block}.story-level__edu small{color:var(--muted);font-size:11px}.story-level__play{width:100%;color:var(--cyan);cursor:pointer;background:#00d4ff1a;border:1px solid #00d4ff4d;border-radius:8px;padding:10px;font-size:13px;font-weight:700;transition:background .15s}.story-level__play:hover:not(:disabled){background:#00d4ff33}.story-level__play:disabled{color:var(--muted);cursor:not-allowed;background:#ffffff05;border-color:#ffffff14}
