
:root{font-family:Microsoft YaHei,PingFang SC,Noto Sans CJK SC,system-ui,sans-serif;color:#e9f1f4;background:#07121c;font-synthesis:none;--navy: rgba(7, 21, 34, .9);--navy-light: rgba(18, 42, 58, .86);--gold: #d8ba77;--gold-bright: #ffe4a4;--blue: #55cef4;--red: #ff6973;--line: rgba(188, 214, 217, .19)}*{box-sizing:border-box}html,body,#app{width:100%;height:100%;margin:0;overflow:hidden}body{user-select:none;-webkit-user-select:none}button{font:inherit;color:inherit;border:0;cursor:pointer}button:focus-visible{outline:2px solid #b9edff;outline-offset:3px}button:disabled{cursor:not-allowed}.hidden{display:none!important}#viewport,#canyon-canvas{position:fixed;inset:0;width:100%;height:100%;display:block}#canyon-canvas{touch-action:none}.scene-grade{position:fixed;inset:0;pointer-events:none;background:radial-gradient(circle at 52% 43%,transparent 30%,rgba(2,9,15,.15) 67%,rgba(1,7,12,.6) 115%);z-index:2}.scene-grain{position:fixed;inset:0;pointer-events:none;opacity:.035;z-index:3;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E")}#ui-layer{position:fixed;inset:0;z-index:5;pointer-events:none}.ui-block,.screen,.modal-wrap,.drawer-wrap{pointer-events:auto}.screen{position:absolute;inset:0}.eyebrow{color:#b7c9cc;font-size:11px;letter-spacing:.32em;text-transform:uppercase}.ornate-panel{background:linear-gradient(145deg,#102534f0,#06121ef0);border:1px solid rgba(202,180,123,.35);box-shadow:0 18px 60px #00000052,inset 0 1px #ffffff0a;position:relative}.ornate-panel:before,.ornate-panel:after{content:"";position:absolute;width:20px;height:20px;pointer-events:none}.ornate-panel:before{left:-1px;top:-1px;border-left:2px solid var(--gold);border-top:2px solid var(--gold)}.ornate-panel:after{right:-1px;bottom:-1px;border-right:2px solid var(--gold);border-bottom:2px solid var(--gold)}.primary-button{min-width:250px;min-height:64px;padding:12px 34px;background:linear-gradient(110deg,#977541,#e0c181 48%,#9b783f);color:#10212a;border:1px solid #ffe7ac;box-shadow:0 7px 26px #0000004d,inset 0 1px #ffffff80;clip-path:polygon(10px 0,calc(100% - 10px) 0,100% 10px,100% calc(100% - 10px),calc(100% - 10px) 100%,10px 100%,0 calc(100% - 10px),0 10px);transition:filter .18s,transform .18s}.primary-button:hover{filter:brightness(1.13);transform:translateY(-2px)}.primary-button:active{transform:translateY(0)}.primary-button span{display:block;font-family:Songti SC,SimSun,serif;font-weight:800;font-size:19px;letter-spacing:.12em}.primary-button small{display:block;font-size:9px;letter-spacing:.17em;margin-top:4px;opacity:.68}.secondary-button{padding:11px 22px;background:#37536338;color:#d6e0e2;border:1px solid rgba(175,203,207,.24);transition:background .18s,border-color .18s}.secondary-button:hover{background:#62889440;border-color:#d7c08780}.icon-button{width:38px;height:38px;background:#12283599;border:1px solid var(--line);font-size:25px;display:grid;place-items:center}kbd{font-family:inherit;font-size:9px;font-weight:500;border:1px solid rgba(207,224,224,.23);border-radius:3px;padding:1px 4px;color:#b9c8ca;background:#0003;box-shadow:none}.start-screen{background:linear-gradient(90deg,#030c16f0,#05101ac7 33%,#050f192e 68%,#040c144d);overflow:hidden}.start-screen:before{content:"";position:absolute;left:0;top:0;bottom:0;width:8px;background:linear-gradient(#66d5e8,#d8b56f,#a14c5e);opacity:.65}.start-screen:after{content:"";position:absolute;width:58vw;height:58vw;right:-16vw;top:-18vw;border:1px solid rgba(197,225,224,.12);border-radius:50%;box-shadow:0 0 0 55px #c5e1e006,0 0 0 130px #c5e1e005}.start-topline{position:absolute;left:5.5vw;right:4vw;top:34px;display:flex;align-items:center;gap:18px;color:#a5b8bc;font-size:9px;letter-spacing:.2em}.brand-mark{width:33px;height:33px;color:var(--gold)}.brand-mark svg{width:100%;height:100%}.topline-rule{height:1px;flex:1;background:linear-gradient(90deg,rgba(202,183,133,.4),transparent)}.start-content{position:absolute;left:9.5vw;top:49%;transform:translateY(-48%);width:590px;max-width:47vw;animation:title-in .9s ease-out both}.title-sigil{position:absolute;width:390px;height:390px;left:-118px;top:-118px;color:#c1d8cf17;animation:sigil-spin 70s linear infinite;pointer-events:none}.title-sigil svg{width:100%;height:100%}.start-content .eyebrow{color:#d5c08e;font-size:12px;letter-spacing:.55em;position:relative}.start-content h1{font-family:Songti SC,STSong,SimSun,serif;font-size:clamp(68px,6.5vw,116px);letter-spacing:.06em;line-height:1.06;margin:14px 0 3px;color:#e7eef0;text-shadow:0 5px 32px rgba(0,0,0,.5);position:relative;font-weight:700}.start-content h1 span{color:#f1d494;background:linear-gradient(#fff0c0,#c99b54);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.title-en{color:#8ba6af;font-family:Georgia,serif;font-size:12px;letter-spacing:.47em;margin-left:5px}.start-copy{color:#b4c3c6;font-size:14px;line-height:2;margin:30px 0 28px;letter-spacing:.06em}.enter-button{min-width:285px}.start-features{display:flex;gap:22px;margin-top:26px;color:#8fa5aa;font-size:10px}.start-features span{display:flex;align-items:center;gap:7px}.start-features i{width:4px;height:4px;background:var(--gold);transform:rotate(45deg)}.start-footer{position:absolute;bottom:26px;left:5.5vw;display:flex;gap:15px;font-size:10px;color:#758f97;letter-spacing:.08em}.start-footer b{color:#bca574}@keyframes title-in{0%{opacity:0;transform:translateY(-44%) translate(-25px)}to{opacity:1;transform:translateY(-48%) translate(0)}}@keyframes sigil-spin{to{transform:rotate(360deg)}}.select-screen{background:radial-gradient(circle at 40% 40%,#0b1f2ba3,#030c15f0);padding:25px 4vw 20px;overflow:auto}.select-header{max-width:1520px;margin:0 auto 20px;display:flex;align-items:center;gap:20px;height:62px}.select-header h2{font-family:Songti SC,serif;font-size:29px;font-weight:500;letter-spacing:.13em;margin:4px 0 0}.back-button{font-size:30px;color:var(--gold)}.select-mode{margin-left:auto;font-size:11px;color:#9fb4b9;display:flex;align-items:center;gap:9px}.select-mode i{width:7px;height:7px;border-radius:50%;background:#67deb7;box-shadow:0 0 12px #67deb7}.select-layout{max-width:1520px;margin:auto;display:grid;grid-template-columns:minmax(0,1fr) 295px;gap:20px}.hero-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.hero-card{height:215px;position:relative;overflow:hidden;text-align:left;background:linear-gradient(155deg,#1e3745e6,#06131dfa);border:1px solid rgba(154,183,188,.18);transition:border-color .2s,transform .2s,filter .2s}.hero-card:hover{transform:translateY(-3px);border-color:var(--hero);filter:brightness(1.1)}.hero-card.selected{border-color:var(--gold-bright);box-shadow:inset 0 0 0 1px var(--gold),0 7px 30px #0000004d}.hero-card-bg{position:absolute;inset:0;background:radial-gradient(circle at 50% 32%,color-mix(in srgb,var(--hero) 25%,transparent),transparent 63%)}.hero-card-bg:after{content:"";position:absolute;width:150px;height:150px;border:1px solid color-mix(in srgb,var(--hero) 25%,transparent);border-radius:50%;left:50%;top:12px;transform:translate(-50%);box-shadow:0 0 0 15px #ffffff03}.hero-portrait{position:absolute;width:135px;height:135px;left:50%;top:3px;transform:translate(-50%)}.hero-portrait svg{width:100%;height:100%}.hero-card-info{position:absolute;left:15px;right:15px;bottom:13px}.hero-card-info>span{font-size:9px;color:var(--hero);letter-spacing:.1em}.hero-card-info h3{font-family:Songti SC,serif;font-size:25px;margin:1px 0;letter-spacing:.12em}.hero-card-info small{color:#93a8ad;font-size:10px}.difficulty{position:absolute;right:0;bottom:4px;font-size:8px;color:#728b91}.difficulty i{display:inline-block;width:4px;height:9px;margin-left:2px;background:#31434c;transform:skew(-16deg)}.difficulty i.on{background:var(--hero)}.card-selected{position:absolute;right:-30px;top:13px;width:105px;text-align:center;transform:rotate(40deg);background:var(--gold);color:#15242b;font-size:8px;padding:3px 0;opacity:0}.hero-card.selected .card-selected{opacity:1}.hero-detail{margin-top:13px;padding:13px 17px;display:grid;grid-template-columns:1fr 1fr;gap:0 22px;min-height:218px}.detail-title{grid-column:1 / -1;display:flex;align-items:center;border-bottom:1px solid var(--line);padding-bottom:8px;margin-bottom:5px}.detail-title>div{min-width:130px}.detail-title span{font-size:9px;color:var(--gold)}.detail-title h3{font-family:Songti SC,serif;margin:1px 0;font-size:23px}.detail-title p{color:#91a8ad;font-size:11px;line-height:1.6;margin:0 0 0 20px}.skill-preview{display:flex;gap:11px;align-items:center;position:relative;min-height:64px;border-bottom:1px solid rgba(171,197,199,.08)}.skill-rune{flex:0 0 38px;height:38px;border:1px solid var(--skill, var(--gold));color:var(--skill, var(--gold));background:#0003;display:grid;place-items:center;font-family:Georgia,serif;font-size:14px;transform:none;clip-path:polygon(8px 0,calc(100% - 8px) 0,100% 8px,100% calc(100% - 8px),calc(100% - 8px) 100%,8px 100%,0 calc(100% - 8px),0 8px)}.skill-preview .skill-rune{text-indent:0}.skill-preview>div:nth-child(2){min-width:0}.skill-preview strong{font-size:12px;font-weight:600;color:#e4edef}.skill-preview strong small{font-size:8px;color:#7f989e;margin-left:9px;font-weight:400}.skill-preview p{color:#91a6ab;font-size:9px;line-height:1.5;margin:4px 0 0}.skill-preview.passive .skill-rune{font-size:9px;border-radius:50%;transform:none}.skill-index{position:absolute;right:2px;top:8px;color:#c2d7d714;font-family:Georgia,serif;font-size:24px}.team-preview{padding:17px 18px}.panel-caption{color:#d6e1e2;font-size:12px;letter-spacing:.1em;border-bottom:1px solid var(--line);padding-bottom:11px}.panel-caption span{display:block;color:#667f88;font-size:7px;letter-spacing:.17em;margin-top:3px}.team-preview h3{font-size:11px;color:var(--blue);letter-spacing:.12em;margin:15px 0 10px}.team-preview h3.red-text,.red-text{color:var(--red)}.comp-list{display:flex;justify-content:space-between;gap:6px}.comp-hero{text-align:center;min-width:0}.comp-hero>div{width:40px;height:40px;border-radius:50%;overflow:hidden;border:1px solid rgba(134,205,224,.3);background:#0a1824}.comp-hero.player>div{border-color:var(--gold-bright);box-shadow:0 0 10px #ffdc8f40}.comp-hero svg{width:100%;height:100%}.comp-hero span{font-size:7px;color:#9db1b6;display:block;margin-top:4px;white-space:nowrap}.comp-list.enemy .comp-hero{filter:saturate(.7)}.versus-line{display:flex;align-items:center;gap:9px;color:#6e878e;font-size:8px;margin:14px 0 0}.versus-line span{flex:1;height:1px;background:var(--line)}.match-rules{margin-top:19px;padding:12px;background:#0000002e;border-left:2px solid var(--gold)}.match-rules span{display:block;color:#7e9499;font-size:8px}.match-rules strong{display:block;color:#ddc58c;font-size:11px;margin:5px 0}.match-rules small{display:block;color:#778f96;font-size:8px;line-height:1.5}.select-actions{max-width:1520px;margin:15px auto 0;display:flex;justify-content:flex-end;align-items:center;gap:24px}.selected-hero-label{color:#839ba1;font-size:10px}.selected-hero-label strong{color:#e6d19c;font-size:15px;margin-left:9px}.select-actions .primary-button{min-height:55px;min-width:250px;padding:8px 25px}.intro-screen{background:#030a12cc;display:grid;place-items:center;overflow:hidden}.intro-screen:before,.intro-screen:after{content:"";position:absolute;inset:0 50% 0 0;background:linear-gradient(120deg,rgba(22,102,137,.38),transparent)}.intro-screen:after{inset:0 0 0 50%;background:linear-gradient(-120deg,rgba(136,44,58,.35),transparent)}.intro-flash{position:absolute;width:2px;height:150%;background:#f9dfac;box-shadow:0 0 80px 22px #ffe0a338;transform:rotate(18deg)}.intro-content{width:min(1050px,90vw);text-align:center;position:relative;z-index:2;animation:intro-in .5s ease-out}.intro-content h2{font-family:Songti SC,serif;font-size:38px;letter-spacing:.35em;margin:10px 0 30px}.intro-content h2 span{color:var(--gold);font-size:21px}.intro-teams{display:grid;grid-template-columns:1fr 120px 1fr;align-items:center}.intro-team{display:flex;justify-content:center;gap:12px}.intro-hero>div{width:85px;height:85px;border-radius:50%;border:2px solid #55ccee;background:#081824;padding:3px;box-shadow:0 0 25px #47beeb26}.intro-team.enemy .intro-hero>div{border-color:#ef6a72;box-shadow:0 0 25px #ef556426}.intro-hero.player>div{border-color:var(--gold-bright)}.intro-hero svg{width:100%;height:100%}.intro-hero strong,.intro-hero span{display:block}.intro-hero strong{font-family:Songti SC,serif;margin-top:9px;font-size:15px}.intro-hero span{color:#879fa6;font-size:8px;margin-top:3px}.intro-vs b{display:block;color:#f1d391;font:italic 56px Georgia,serif;text-shadow:0 0 25px rgba(255,217,142,.35)}.intro-vs span{color:#8b9695;font-size:9px;letter-spacing:.3em}.intro-rule{width:60%;height:1px;margin:35px auto 18px;background:linear-gradient(90deg,transparent,var(--gold),transparent)}.intro-content p{color:#9bafb2;font-size:11px;letter-spacing:.12em}.intro-content .secondary-button{margin-top:17px}@keyframes intro-in{0%{opacity:0;transform:scale(1.05)}to{opacity:1;transform:scale(1)}}#hud{position:absolute;inset:0;pointer-events:none}.minimap-wrap{position:absolute;left:18px;top:18px;width:clamp(154px,12vw,218px)}.minimap-frame{padding:6px;background:#05131de0;border:1px solid rgba(204,183,127,.5);box-shadow:0 5px 22px #00000059,inset 0 0 18px #0006;position:relative}#minimap{display:block;width:100%;height:auto;cursor:crosshair}.map-corner{position:absolute;width:14px;height:14px}.map-corner.tl{left:-3px;top:-3px;border-left:2px solid var(--gold-bright);border-top:2px solid var(--gold-bright)}.map-corner.br{right:-3px;bottom:-3px;border-right:2px solid var(--gold-bright);border-bottom:2px solid var(--gold-bright)}.camera-pos{text-align:center;padding:5px;color:#9bb1b7;background:#04111bbf;font-size:8px;letter-spacing:.05em;border:1px solid rgba(167,194,197,.12);border-top:0}.match-score{position:absolute;left:50%;top:14px;transform:translate(-50%);display:flex;align-items:stretch;height:59px;background:linear-gradient(90deg,#0c3548e0,#06131df0,#4a1c25e0);border:1px solid rgba(202,183,133,.35);clip-path:polygon(12px 0,calc(100% - 12px) 0,100% 12px,calc(100% - 8px) 100%,8px 100%,0 12px)}.score-side{width:72px;display:flex;align-items:center;justify-content:center;gap:9px}.score-side span{font:30px Georgia,serif}.score-side small{font-size:8px;opacity:.7}.score-side.blue span{color:#7df}.score-side.red span{color:#ff858c}.match-center{min-width:89px;text-align:center;padding:8px 15px;border-left:1px solid var(--line);border-right:1px solid var(--line)}.match-center strong{display:block;font:19px Georgia,serif;letter-spacing:.1em}.match-center span{display:block;font-size:8px;color:#a89467;margin-top:5px;letter-spacing:.13em}.hud-tools{position:absolute;top:18px;right:18px;display:flex;gap:6px}.hud-tool{height:34px;padding:0 10px;background:#05141fcc;border:1px solid rgba(176,200,200,.18);color:#b6c6c9;font-size:10px}.hud-tool:hover{border-color:var(--gold);color:#f0dcaa}.hud-tool.square{width:34px;padding:0;font-size:14px}.hud-tool kbd{margin-left:5px;font-size:7px}.kill-feed{position:absolute;top:65px;right:19px;width:295px;display:flex;flex-direction:column;align-items:flex-end;gap:5px}.kill-entry{background:linear-gradient(90deg,transparent,rgba(5,17,26,.85) 18%);padding:7px 10px 7px 25px;font-size:10px;animation:feed-in .25s ease-out;border-right:2px solid var(--red)}.kill-entry.blue{border-color:var(--blue)}.kill-entry strong{color:#6cd6fa;margin-right:8px}.kill-entry.red strong{color:#ff7a80}.kill-entry b{color:#e7c5c3;margin-left:8px}.kill-entry span{color:#8b9a9c;font-size:8px}.kill-entry small{display:block;color:#9b8c70;font-size:7px;text-align:right;margin-top:3px}@keyframes feed-in{0%{opacity:0;transform:translate(20px)}}.announcement{position:absolute;top:18%;left:50%;transform:translate(-50%,-8px);min-width:300px;text-align:center;padding:10px 35px;font-family:Songti SC,serif;font-size:17px;letter-spacing:.12em;color:#f4dda4;background:linear-gradient(90deg,transparent,rgba(6,18,27,.76),transparent);opacity:0;transition:opacity .25s,transform .25s}.announcement.show{opacity:1;transform:translate(-50%)}.announcement.blue{color:#9de7ff}.announcement.red{color:#ff9c9e}.player-panel{position:absolute;left:22px;bottom:170px;width:310px;height:85px;padding:10px;display:flex;gap:10px;background:linear-gradient(100deg,#061825ed,#0c232ecc)}.player-panel.dead{filter:grayscale(.7)}.player-portrait{flex:0 0 62px;height:62px;position:relative;border:1px solid #b79d65;border-radius:50%;overflow:visible}.player-portrait svg{width:100%;height:100%;border-radius:50%}.player-portrait b{position:absolute;right:-4px;bottom:-2px;background:#c7a962;color:#10202a;border:2px solid #0d2532;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:9px}.player-bars{flex:1;min-width:0}.player-line{height:22px;display:flex;align-items:center;gap:8px}.player-line strong{font-family:Songti SC,serif;font-size:14px;letter-spacing:.08em}.player-line>span{font-size:8px;color:#d1bb84}#player-state{margin-left:auto;color:#79a0a9}.resource{height:15px;margin-top:4px;position:relative;background:#00000080;border:1px solid rgba(255,255,255,.08);overflow:hidden}.resource i{display:block;height:100%;transition:width .12s linear}.resource span{position:absolute;inset:0;display:grid;place-items:center;font-size:8px;text-shadow:0 1px 2px #000}.resource.hp i{background:linear-gradient(90deg,#248c69,#65d596)}.resource.mana{height:11px}.resource.mana i{background:linear-gradient(90deg,#267ea9,#59bfe5)}.resource.mana span{font-size:7px}.resource.xp{height:3px;margin-top:5px;border:0}.resource.xp i{background:#e0c476}.buff-bar{position:absolute;left:28px;bottom:263px;display:flex;gap:6px}.buff{width:30px;height:30px;border:1px solid var(--buff);border-radius:50%;background:#06141dd9;display:grid;place-items:center;position:relative}.buff i{width:12px;height:12px;border:2px solid var(--buff);transform:rotate(45deg);box-shadow:0 0 8px var(--buff)}.buff span{position:absolute;bottom:-11px;font-size:8px;color:#d9e3e4}.joystick{position:absolute;left:28px;bottom:24px;width:122px;height:122px;border:1px solid rgba(139,193,207,.25);background:radial-gradient(circle,#214e5d3d,#05141d70);border-radius:50%;touch-action:none;box-shadow:inset 0 0 25px #449cb01a}.joystick:before,.joystick:after{content:"";position:absolute;left:50%;top:9px;bottom:9px;width:1px;background:linear-gradient(transparent,rgba(146,196,205,.18),transparent)}.joystick:after{transform:rotate(90deg)}.joystick-runes{position:absolute;inset:8px;border-radius:50%;border:1px dashed rgba(181,210,209,.18)}.joystick-knob{position:absolute;width:53px;height:53px;left:34px;top:34px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#89cdd899,#194655bf);border:1px solid rgba(181,225,228,.55);box-shadow:0 3px 13px #00000059;display:grid;place-items:center;pointer-events:none}.joystick-knob i{width:15px;height:15px;border:1px solid rgba(220,241,238,.55);transform:rotate(45deg)}.joystick>span{position:absolute;bottom:-16px;width:100%;text-align:center;font-size:8px;color:#7e9aa2;letter-spacing:.2em}.inventory-wrap{position:absolute;left:172px;bottom:25px;display:flex;align-items:flex-end;gap:9px}.gold-button{width:66px;height:54px;background:#061620d9;border:1px solid rgba(215,187,119,.32);display:grid;grid-template-columns:18px 1fr;align-items:center;padding:8px}.gold-button strong{color:#f3d68d;font:14px Georgia,serif}.gold-button small{grid-column:1 / -1;font-size:8px;color:#8fa1a4}.gold-coin{display:inline-block;width:13px;height:13px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff0ae,#b98534);border:1px solid #f5d78e;box-shadow:0 0 5px #ffd37633;vertical-align:-2px}.inventory{display:flex;gap:5px}.item-slot{width:45px;height:45px;background:#05141ed1;border:1px solid rgba(158,187,191,.22);display:grid;place-items:center;position:relative}.item-slot>span{color:#a3bcbf33;font:13px Georgia,serif}.item-slot.filled{border-color:#ddc38673;background:radial-gradient(circle,#515d5059,#06151ee6)}.item-slot svg{width:36px;height:36px}.combat-controls{position:absolute;right:22px;bottom:19px;width:390px;height:221px;pointer-events:none}.combat-controls button{pointer-events:auto}.skill-control{position:absolute;width:72px;height:72px;border-radius:50%;background:radial-gradient(circle at 38% 30%,color-mix(in srgb,var(--skill) 32%,#203541),#071722 70%);border:2px solid color-mix(in srgb,var(--skill) 65%,#879392);box-shadow:0 0 0 4px #041019b8,0 4px 15px #0006,inset 0 0 14px color-mix(in srgb,var(--skill) 20%,transparent);transition:filter .15s,transform .15s}.skill-control:hover{filter:brightness(1.25);transform:scale(1.04)}.skill-control.skill-0{right:246px;bottom:17px}.skill-control.skill-1{right:174px;bottom:91px}.skill-control.skill-2{right:101px;bottom:12px}.skill-art{position:absolute;inset:9px}.skill-art svg{width:100%;height:100%}.skill-control kbd{position:absolute;left:-1px;top:-2px;width:20px;height:20px;border-radius:50%;display:grid;place-items:center;background:#142c38;color:#e6d6a7;border-color:#7f8f8c;z-index:4}.skill-control em{position:absolute;top:calc(100% + 9px);left:50%;transform:translate(-50%);white-space:nowrap;color:#b7c6c8;font-size:8px;font-style:normal;text-shadow:0 1px 3px #000}.cooldown-mask{position:absolute;left:0;right:0;bottom:0;height:0;border-radius:0 0 50% 50%;background:#01070db8;pointer-events:none;overflow:hidden}.cooldown-text{position:absolute;inset:0;display:grid;place-items:center;color:#fff;font:22px Georgia,serif;text-shadow:0 2px 3px #000;z-index:3}.skill-control.cooling{filter:saturate(.45)}.skill-control.no-mana{border-color:#477a9b}.skill-control.no-mana:after{content:"法力不足";position:absolute;inset:0;display:grid;place-items:center;font-size:9px;color:#8fd2ff;background:#0a2a4173;border-radius:50%}.skill-control.disabled{filter:grayscale(1) brightness(.6)}.skill-tooltip{position:absolute;width:245px;right:-5px;bottom:calc(100% + 16px);padding:13px 15px;background:#05131df7;border:1px solid color-mix(in srgb,var(--skill) 55%,#78888b);text-align:left;opacity:0;visibility:hidden;transform:translateY(5px);transition:.15s;z-index:20;pointer-events:none;box-shadow:0 8px 25px #0006}.skill-control:hover .skill-tooltip{opacity:1;visibility:visible;transform:translateY(0)}.skill-tooltip strong{display:block;color:var(--skill);font-size:13px}.skill-tooltip span{display:block;color:#8ba1a8;font-size:8px;margin-top:4px}.skill-tooltip p{color:#c0cdcf;font-size:10px;line-height:1.6;margin:8px 0 0}.attack-control{position:absolute;right:0;bottom:0;width:91px;height:91px;border-radius:50%;color:#ffe0a1;background:radial-gradient(circle at 35% 28%,#755c39,#17232a 68%);border:2px solid #d1b271;box-shadow:0 0 0 5px #051017b3,inset 0 0 20px #ffd27826}.attack-control>span{position:absolute;inset:16px}.attack-control svg{width:100%;height:100%}.attack-control small{position:absolute;bottom:-18px;left:0;right:0;font-size:9px;color:#c4b38e}.attack-control kbd{position:absolute;right:-2px;top:0;border-radius:50%;width:21px;height:21px;display:grid;place-items:center}.attack-control:hover{filter:brightness(1.2)}.utility-control{position:absolute;width:50px;height:50px;border-radius:50%;background:radial-gradient(circle,#214c43,#0b2028);border:1px solid #68bfa2}.utility-control .utility-icon{font-family:Songti SC,serif;font-size:19px;color:#9ee6c5}.utility-control small{position:absolute;right:-2px;top:-3px;font-size:8px;background:#132a34;padding:2px 4px;border:1px solid #526b6d}.utility-control em{position:absolute;top:calc(100% + 6px);left:0;right:0;font-size:8px;font-style:normal;color:#a5b8b7}.utility-control b{position:absolute;inset:0;display:grid;place-items:center;font:15px Georgia,serif;background:#020b11a6;border-radius:50%}.utility-control b:empty{display:none}.heal-control{right:6px;bottom:117px}.recall-control{right:75px;bottom:151px;border-color:#8caec7;background:radial-gradient(circle,#284556,#0b2028)}.recall-control .utility-icon{color:#b9d9ed}.recall-control.active{box-shadow:0 0 18px #8cd7ff}.recenter-button{position:absolute;right:24px;bottom:251px;background:#06141da6;color:#8fa6ac;border:1px solid rgba(155,184,189,.17);font-size:8px;padding:6px 9px}.channel-progress{position:absolute;left:50%;bottom:136px;transform:translate(-50%);width:260px;padding:10px 14px;background:#061620e6;border:1px solid #729db4;display:grid;grid-template-columns:65px 1fr 30px;align-items:center;gap:8px;font-size:9px}.channel-progress>div{height:5px;background:#08151c}.channel-progress i{display:block;height:100%;background:#75c6e8}.channel-progress b{font:11px Georgia,serif;color:#a9daf0}.respawn-overlay{position:absolute;left:50%;top:43%;transform:translate(-50%,-50%);text-align:center;padding:25px 55px;background:radial-gradient(circle,rgba(17,29,40,.85),transparent 70%)}.respawn-overlay span,.respawn-overlay small{display:block;color:#a5b1b6;font-size:11px;letter-spacing:.25em}.respawn-overlay strong{display:block;color:#e5d5b1;font:58px Georgia,serif;margin:8px}.world-health{position:fixed;left:0;top:0;width:62px;pointer-events:none;z-index:4;text-align:center;will-change:transform}.world-health.hero{width:72px}.world-health.tower,.world-health.core{width:86px}.world-name{display:block;font-size:8px;color:#e6eded;text-shadow:0 1px 3px #000,0 1px 3px #000;white-space:nowrap;margin-bottom:2px}.world-hp{height:5px;padding:1px;background:#01070cd9;border:1px solid rgba(227,239,235,.3)}.world-hp i{display:block;height:100%;background:#4dc4ef}.world-health.red .world-hp i{background:#ef6269}.world-health.neutral .world-hp i{background:#d3aa62}.world-mana{height:3px;margin:2px 7px 0;background:#01070ccc}.world-mana i{display:block;height:100%;background:#4e9fd4}.world-health.minion .world-name{display:none}.world-health.minion{width:35px}.world-health.minion .world-hp{height:4px;border:0;padding:0}#damage-labels{position:fixed;inset:0;pointer-events:none}.damage-label{position:absolute;left:0;top:0;color:#ffe0a1;font:700 15px Georgia,serif;text-shadow:0 1px 2px #000,0 0 5px #000;will-change:transform}.damage-label.magic{color:#ffa1c2}.damage-label.true{color:#fff}.damage-label.critical{color:#fff0a8;font-size:22px}.damage-label.player-hit{color:#ff6b70;font-size:20px}.drawer-wrap{position:absolute;inset:0;z-index:60}.drawer-backdrop{position:absolute;inset:0;background:#02080e6b}.shop-drawer{position:absolute;right:0;top:0;bottom:0;width:min(570px,92vw);padding:25px;background:linear-gradient(150deg,#0e2330fa,#040f19fc);border-width:0 0 0 1px;overflow:auto;animation:drawer-in .22s ease-out}@keyframes drawer-in{0%{transform:translate(100%)}}.shop-drawer header{display:flex;align-items:center;gap:15px;border-bottom:1px solid var(--line);padding-bottom:17px}.shop-drawer h2{font-family:Songti SC,serif;font-size:25px;letter-spacing:.12em;margin:4px 0 0}.shop-wallet{margin-left:auto;display:flex;align-items:center;gap:7px;color:#f0d087}.shop-tabs{display:flex;justify-content:space-between;padding:15px 0 10px;color:#d9c28d;font-size:11px}.shop-tabs small{color:#748d94;font-size:8px}.shop-items{display:grid;grid-template-columns:1fr 1fr;gap:8px}.shop-item{min-height:103px;display:grid;grid-template-columns:48px 1fr;gap:9px;padding:11px;text-align:left;background:#19303c75;border:1px solid rgba(156,184,186,.15);position:relative}.shop-item:hover:not(:disabled){background:#344c538c;border-color:var(--item)}.shop-item:disabled{opacity:.45}.shop-item.owned{opacity:.38}.shop-item-icon{width:45px;height:45px;background:#020c1480;border:1px solid color-mix(in srgb,var(--item) 45%,transparent)}.shop-item-icon svg{width:100%;height:100%}.shop-item-copy>span{color:var(--item);font-size:7px}.shop-item-copy strong{display:block;font-size:12px;margin:2px 0 5px}.shop-item-copy p{color:#90a4aa;font-size:8px;line-height:1.5;margin:0}.item-price{position:absolute;right:9px;top:9px;color:#e9ca7f;font:10px Georgia,serif;display:flex;align-items:center;gap:4px}.item-price .gold-coin{width:9px;height:9px}.shop-drawer footer{margin-top:18px;border-top:1px solid var(--line);padding-top:14px;display:flex;align-items:center;justify-content:space-between}.shop-drawer footer>span{color:#718990;font-size:8px}.shop-inventory{display:flex;gap:5px}.shop-inventory .item-slot{width:39px;height:39px}.shop-inventory .item-slot svg{width:31px;height:31px}.modal-wrap{position:absolute;inset:0;z-index:80;background:#02080eb8;display:grid;place-items:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.pause-panel{width:min(760px,92vw);max-height:94vh;overflow:auto;padding:25px 34px;display:grid;grid-template-columns:1fr 1.35fr;gap:0 35px}.modal-sigil{grid-column:1 / -1;width:45px;height:45px;color:var(--gold);margin:0 auto 5px}.modal-sigil svg{width:100%;height:100%}.pause-panel>.eyebrow,.pause-panel>h2{grid-column:1 / -1;text-align:center}.pause-panel>h2{font-family:Songti SC,serif;font-size:29px;letter-spacing:.2em;margin:5px 0 18px}.pause-actions{grid-row:3 / 7;display:flex;flex-direction:column;gap:9px;padding-right:28px;border-right:1px solid var(--line)}.pause-actions .primary-button{min-width:0;min-height:56px}.settings-row{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--line);font-size:11px}.settings-row>span small{display:block;color:#6e8991;font-size:8px;margin-top:4px}.segmented{display:flex}.segmented button{padding:6px 11px;background:#152a36b3;color:#8ca2a7;border:1px solid #314b55;font-size:9px}.segmented button.active{color:#efdbab;border-color:#af9664;background:#8b703c40}.toggle{width:36px;height:19px;border-radius:12px;background:#263e48;padding:2px}.toggle i{display:block;width:15px;height:15px;border-radius:50%;background:#799097;transition:transform .2s}.toggle.active{background:#75663f}.toggle.active i{background:#f1d694;transform:translate(17px)}.help-block{grid-column:2;margin-top:8px}.help-block h3{color:#d7c18e;font-size:11px;margin:0 0 8px}.help-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px 12px}.help-grid span{color:#9db0b5;font-size:8px;display:flex;align-items:center;gap:6px}.help-grid kbd{min-width:43px;text-align:center}.help-block p{color:#6f8990;font-size:8px;line-height:1.6;margin:10px 0 0}.scoreboard-wrap{position:absolute;inset:0;z-index:50;background:#02080d7a;display:grid;place-items:center}.scoreboard{width:min(1050px,90vw);padding:20px 25px}.scoreboard header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:12px}.scoreboard h2{font-family:Songti SC,serif;margin:4px 0 0;font-size:24px}.scoreboard header>span{color:#7c9298;font-size:9px}.score-tables{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin-top:14px}.scoreboard table{border-collapse:collapse;width:100%}.scoreboard th{color:#b7a576;font-size:8px;font-weight:400;text-align:center;padding:7px 3px;border-bottom:1px solid var(--line)}.scoreboard th:first-child{text-align:left;color:#70d4f5;font-size:10px}.score-tables>table:last-child th:first-child{color:#ff7a80}.scoreboard td{text-align:center;padding:8px 3px;border-bottom:1px solid rgba(169,196,198,.08);color:#aabcc0;font-size:9px}.scoreboard tr.is-player td{background:#c8ae7012}.score-hero{display:flex;align-items:center;gap:7px}.score-hero>span{width:31px;height:31px;border-radius:50%;overflow:hidden}.score-hero svg{width:100%;height:100%}.score-hero strong{color:#e0e8e9;font-size:10px}.score-hero small{color:var(--gold);font-size:7px;margin-left:5px}.score-items{display:flex;gap:2px}.score-items i{width:20px;height:20px;background:#0a1b25}.score-items svg{width:100%;height:100%}.result-screen{z-index:70;display:grid;place-items:center;background:radial-gradient(circle,#0d34426b,#020a11e6);overflow:hidden}.result-screen.defeat{background:radial-gradient(circle,#4e1d2559,#040910ed)}.result-rays{position:absolute;width:750px;height:750px;border:1px solid rgba(233,208,147,.1);border-radius:50%;box-shadow:0 0 0 70px #e9d09305,0 0 0 140px #e9d09303;animation:sigil-spin 90s linear infinite}.result-panel{position:relative;text-align:center;width:min(700px,90vw);animation:intro-in .6s ease-out}.result-sigil{width:115px;height:115px;color:#e5ca85;margin:auto}.result-sigil svg{width:100%;height:100%}.result-panel h2{font-family:Songti SC,serif;font-size:74px;letter-spacing:.25em;color:#f3d994;margin:5px 0;text-shadow:0 0 35px rgba(255,220,135,.25)}.defeat .result-panel h2{color:#c5cbd0}.result-panel>p{color:#9db0b4;font-size:12px;letter-spacing:.08em}.result-stats{display:grid;grid-template-columns:repeat(4,1fr);margin:32px 0;padding:18px 0;border-top:1px solid rgba(206,184,128,.25);border-bottom:1px solid rgba(206,184,128,.25)}.result-stats>div{border-right:1px solid var(--line)}.result-stats>div:last-child{border:0}.result-stats strong{display:block;color:#e6e9e6;font:21px Georgia,serif}.result-stats span{display:block;color:#718b92;font-size:8px;margin-top:6px}.result-actions{display:flex;justify-content:center;align-items:center;gap:12px}.toast{position:absolute;left:50%;bottom:95px;transform:translate(-50%,8px);padding:8px 18px;color:#eddbad;background:#05121beb;border:1px solid rgba(211,186,126,.35);font-size:10px;opacity:0;transition:.2s}.toast.show{opacity:1;transform:translate(-50%)}@media(min-width:1700px){.hero-card{height:260px}.hero-portrait{width:165px;height:165px}.hero-card-info{bottom:18px;left:20px}.hero-detail{min-height:235px}.player-panel{transform:scale(1.12);transform-origin:left bottom}.combat-controls{transform:scale(1.12);transform-origin:right bottom}.inventory-wrap,.joystick{transform:scale(1.1);transform-origin:left bottom}}@media(max-height:760px){.select-screen{padding-top:15px}.select-header{margin-bottom:12px;height:52px}.select-header h2{font-size:25px}.hero-card{height:196px}.hero-portrait{width:122px;height:122px}.hero-detail{min-height:202px;padding-top:9px;padding-bottom:9px}.skill-preview{min-height:57px}.team-preview{padding-top:13px}.select-actions{margin-top:10px}.start-copy{margin:22px 0}.start-features{margin-top:19px}.pause-panel{padding-top:17px;padding-bottom:17px}.pause-panel>h2{margin-bottom:12px}}@media(max-width:1100px){.select-layout{grid-template-columns:1fr}.team-preview{display:none}.start-content{max-width:60vw}.hud-tool kbd{display:none}.inventory-wrap{left:158px;transform:scale(.88);transform-origin:left bottom}.combat-controls{transform:scale(.88);transform-origin:right bottom}.player-panel{width:285px}.score-tables{grid-template-columns:1fr;max-height:60vh;overflow:auto}.intro-hero>div{width:62px;height:62px}.intro-teams{grid-template-columns:1fr 70px 1fr}.intro-team{gap:5px}}
