:root{--bg:#15151e;--panel:#1d1d29;--panel2:#252536;--line:#38384f;--text:#f7f5ff;--muted:#aaa9c7;--mint:#a8e85a;--gold:#ffd05e;--violet:#bf9afa}
[hidden]{display:none!important}
#home-root{display:grid;gap:38px}
#route-view{display:grid;gap:22px;align-content:start;max-width:1200px;width:100%;margin:24px auto 0;min-height:65vh}
#route-view>h1{font-size:clamp(36px,4vw,52px);margin:0 0 8px}
#route-view>.panel,#route-view>.lobby-section{margin:0;width:100%}
#route-view>.loot-panel{max-width:580px}
.history-row{display:flex;justify-content:space-between;gap:20px;padding:9px 0;border-bottom:1px solid var(--line)}
.history-row small{color:var(--muted);white-space:nowrap}
.site-header nav a:first-child{border-left-color:transparent;background:none;color:#d6d1f0}
.site-header nav a.active{border-left-color:var(--mint);background:#ffffff0b;color:var(--mint)}
body{background:radial-gradient(ellipse at 65% 40%,#262536 0%,#15151e 66%);color:var(--text)}
button{background:#20202d;border-color:#414058;border-radius:10px;font-weight:650}
button:hover:not(:disabled){background:#2b2a3b;border-color:var(--mint)}
.primary{background:linear-gradient(120deg,#9ee44c,#b2ee68);border-color:#b5ef72;color:#161722;box-shadow:none;font-weight:850}
.primary:hover:not(:disabled){background:#c2f77b}
.eyebrow{color:var(--mint)}
.site-header{position:fixed;inset:0 auto 0 0;width:258px;height:100dvh;padding:0;display:flex;flex-direction:column;align-items:stretch;gap:0;background:linear-gradient(160deg,#1e1d2b,#191923);border-right:1px solid #3b394e;z-index:20;backdrop-filter:none}
.brand{min-height:110px;padding:18px 25px;display:flex;align-items:center;gap:13px;border-bottom:1px solid #38374c;font-size:30px;line-height:.84;letter-spacing:-1px}
.brand em,.game-brand em{display:block;color:var(--mint);font-style:normal}
.brand small,.game-brand small{color:#aaa7cd;font-size:10px;letter-spacing:3px;font-weight:650;margin-top:9px}
.brand-mark{width:63px;height:63px;flex:none;position:relative;display:block;border-radius:50%;background:radial-gradient(circle at 35% 28%,#bdf66f,#9fe34f 65%,#73b938);text-shadow:none;box-shadow:inset -7px -7px 11px #577d2426}
.brand-mark i,.hero-orb i{position:absolute;top:21%;width:18%;height:36%;background:#fff;border-radius:50%}
.brand-mark i:first-child,.hero-orb i:first-child{left:28%}.brand-mark i:last-child,.hero-orb i:last-child{right:25%}
.brand-mark i::after,.hero-orb i::after{content:"";position:absolute;width:48%;height:46%;border-radius:50%;background:#171721;left:43%;top:37%}
.site-header nav{margin:0;padding:18px 0;display:flex;flex-direction:column;gap:3px}
.site-header nav a{display:flex;align-items:center;gap:19px;min-height:60px;padding:8px 30px;border-left:6px solid transparent;color:#d6d1f0;font-size:24px;font-weight:500}
.site-header nav a span{font-size:16px}.site-header nav a:first-child{border-left-color:var(--mint);background:#ffffff0b;color:var(--mint)}.site-header nav a:hover{background:#ffffff0c;color:var(--mint)}
.header-right{margin:auto 0 0;padding:16px;display:flex;flex-direction:column;align-items:stretch;gap:8px;white-space:normal;border-top:1px solid #38374c}.header-right #connection{font-size:11px;line-height:1.35;max-height:60px;overflow:auto}.header-right button{text-align:left}
main{max-width:none;margin:0 0 0 258px;padding:0 24px 45px}
#lobby{gap:24px}.lobby-top{min-height:78px;margin:0 -24px;padding:8px 24px;display:flex;align-items:center;border-bottom:1px solid #37364a;gap:22px}.top-label{font-size:18px;font-weight:750;margin-right:auto}.wallet{display:flex;align-items:center;gap:0}.wallet>div{min-width:105px;border:0;border-right:1px solid #46445b;background:none;border-radius:0;padding:0 19px;font-size:16px;font-weight:700;text-align:center}.wallet>div:last-child{border-right:0}.wallet small{font-size:10px;letter-spacing:.02em;color:#a9a7be}.account-badge{font-size:14px;color:#dedbf0;white-space:nowrap}
.home-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:26px;align-items:start;min-height:690px}.arena-hangar{background:transparent;border:0;box-shadow:none;padding:0 4vw 10px;margin:0}.hero-heading{text-align:center;padding:20px 0 6px}.hero-heading h1{font-size:clamp(37px,4vw,56px);margin:6px 0}.hero-heading p{font-size:20px;color:#c9c5e4;margin:0}
.character-switcher{display:flex;justify-content:center;align-items:center;gap:48px;margin:22px 0 20px}.character-switcher>button{border-radius:50%;width:54px;height:54px;padding:0;font-size:40px;line-height:1;background:#222231}.hero-character{display:flex;flex-direction:column;align-items:center;min-width:180px}.hero-character strong{font-size:24px;margin-top:6px}.hero-character small{font-size:13px;color:#bebbd4}.hero-orb{width:160px;height:160px;border-radius:50%;position:relative;background:radial-gradient(circle at 34% 25%,#c6f98a,#a5e655 62%,#80c83c);box-shadow:0 18px 30px #0005,inset -14px -16px 20px #5f8f3426}.hero-orb i{top:29%;width:19%;height:31%}.hero-orb.frost{background:radial-gradient(circle at 34% 25%,#ddfaff,#8cd8f4 62%,#5a9eb9)}.hero-orb.volt{background:radial-gradient(circle at 34% 25%,#eedaff,#c29af8 62%,#9166cc)}
.hero-loadout{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;max-width:750px;margin:0 auto 14px}.hero-power{display:flex;align-items:center;gap:10px;background:#1d1d29;border:1px solid #38384d;border-radius:10px;padding:10px;min-width:0}.hero-power-icon{width:44px;height:44px;object-fit:contain}.hero-power span{display:grid;min-width:0}.hero-power small{font-size:11px;color:#aaa8c8}.hero-power b{font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.play-strip{display:block;max-width:750px;margin:0 auto;padding:0;background:none;border:0}.play-selects{display:grid;grid-template-columns:1fr 1fr;gap:10px}.play-selects label{position:relative;display:grid;gap:1px;color:#a9a7c0;font-size:12px;background:#1e1e2a;border:1px solid #3b3a50;border-radius:10px;padding:9px 14px}.play-selects select{width:100%;border:0;outline:0;background:transparent;color:#f9f7ff;font-size:17px;font-weight:750;cursor:pointer}.play-selects option,.difficulty-label option{background:#1e1e2a}.modebuttons{display:grid;grid-template-columns:1fr;gap:8px;margin-top:14px}.modebuttons .difficulty-label{display:none}.modebuttons.bot-mode .difficulty-label{display:flex;align-items:center;gap:12px;justify-content:space-between}.modebuttons .difficulty-label select{height:36px;min-width:135px}.modebuttons #play-main{width:100%;min-height:62px;font-size:25px}.modebuttons #cancel{min-height:42px}.play-strip #queue{text-align:center;margin:9px 0;color:#b7b3d0;font-size:13px}.map-details{max-width:750px;margin:8px auto 0;color:#aaa7c1;font-size:12px}.map-details summary{cursor:pointer;text-align:center}.map-details .map-cards{margin-top:12px}.map-details .map-card{height:130px}.map-details .map-content strong{font-size:14px}.map-details .map-content span{display:none}.controls{text-align:center;color:#aaa9c3;font-size:12px}.controls b{color:#eee8ff}
.home-aside{display:grid;gap:14px;padding-top:20px}.home-aside .panel{padding:20px;border-radius:11px;background:#1d1d29}.home-aside h2{font-size:21px;margin:5px 0 17px}.home-aside a{display:inline-block;color:var(--mint);font-weight:750;font-size:13px;margin:10px 12px 0 0}.season-level{font-size:14px;margin:8px 0}.home-aside progress{width:100%;height:11px;accent-color:var(--mint)}.mission-row{display:grid;grid-template-columns:1fr auto;gap:3px;margin:12px 0;color:#e2deef;font-size:13px}.mission-row small{color:#bbb6d1}.mission-row progress{grid-column:1/-1;height:10px}
.event-strip{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid #3b3b50;border-radius:11px;background:#1d1d29;padding:15px}.event-strip a{display:grid;gap:2px;padding:0 20px;border-right:1px solid #3e3e54}.event-strip a:last-child{border:0}.event-strip b{font-size:14px}.event-strip small{color:#aaa6c2;font-size:12px}.event-strip a:hover b{color:var(--mint)}
.panel,.character-card,.cosmetic-card,.gem-pack{background:#1d1d29;border-color:#3a3a50}.arena-hangar,.lobby-section{scroll-margin-top:18px}.section-title .eyebrow{color:#9dda52}.character-card.selected,.cosmetic-card.selected{border-color:var(--mint)}.power.active,.loadout-slot.selected,.combat-slot.active{border-color:var(--mint);background:#35422b}.loot-panel{background:linear-gradient(150deg,#292639,#1d1d29)}
body:has(#auth:not([hidden])) .site-header{position:static;width:auto;height:78px;flex-direction:row;padding:0 4vw}body:has(#auth:not([hidden])) .brand{border:0;padding:0;min-height:0}body:has(#auth:not([hidden])) .header-right{margin-left:auto;border:0;flex-direction:row}body:has(#auth:not([hidden])) main{margin-left:0;max-width:1500px;margin-right:auto;margin-left:auto;padding:28px 4vw 80px}
body:has(#game:not([hidden])) .site-header{display:none}body:has(#game:not([hidden])) main{margin:0;padding:0 22px 18px;max-width:none}body:has(#game:not([hidden])) footer{display:none}
#game{max-width:none!important;margin:0!important}.hud{display:grid;grid-template-columns:220px 1fr 190px 1fr auto;align-items:center;gap:22px;min-height:112px;margin:0}.game-brand{font-size:27px;font-weight:1000;line-height:.9}.game-brand small{display:block}.hud-player{display:flex;align-items:center;gap:14px;min-width:0}.hud-player>div{width:100%}.hud-player b{font-size:18px}.hud-player progress{margin-top:4px;accent-color:var(--mint)}.hud-player.enemy{text-align:left}.hud-player.enemy progress{accent-color:var(--violet)}.hud-orb{width:46px;height:46px;flex:none;border-radius:50%;background:#c09af8;position:relative}.hud-orb.mine{background:#a9e958}.hud-orb::after{content:"●  ●";position:absolute;inset:9px 2px;text-align:center;color:white;font-size:18px;letter-spacing:1px}.hud-center{text-align:center;border-left:1px solid #34334a;border-right:1px solid #34334a}.hud-center small{letter-spacing:2px;color:#c8c2de}.hud-center #timer{font-size:28px;line-height:1.1}.hud #leave{font-size:13px;white-space:nowrap}.arena{border:12px solid #5c5a77;border-radius:19px;box-shadow:inset 0 0 0 4px #333349,0 18px 30px #0007;background:#1b1b29}.arena canvas{width:100%;max-height:calc(100dvh - 260px);object-fit:contain}.gamebar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;margin-top:16px}.control-hint{font-size:12px;color:#b0adca}.gamebar>div{display:grid;justify-items:center;gap:3px}.gamebar #game-map-name{text-align:right;color:#d6d0eb;font-size:14px}.power-slots{display:flex;gap:12px;margin:0}.power-slots .combat-slot{min-width:145px;min-height:62px;background:#1e1e2c;border-color:#3b3a50;font-size:13px}.power-slots .combat-slot.active{border-color:var(--mint);box-shadow:0 0 0 1px #a5e95a44}.power-slots .combat-art{width:40px;height:40px}.gamebar #cooldowns{font-size:11px;color:#ada9c6}
@media(max-width:1200px){.home-grid{grid-template-columns:minmax(0,1fr) 280px;gap:12px}.arena-hangar{padding:0 1vw 10px}.hud{grid-template-columns:140px 1fr 130px 1fr auto;gap:10px}.game-brand{font-size:21px}.power-slots .combat-slot{min-width:110px}}
@media(max-width:950px){.site-header{width:205px}.brand{padding:14px;font-size:22px}.brand-mark{width:48px;height:48px}.site-header nav a{padding:6px 14px;font-size:20px}.site-header nav a span{font-size:14px}main{margin-left:205px}.home-grid{grid-template-columns:1fr}.home-aside{grid-template-columns:repeat(3,1fr);padding-top:0}.home-aside .panel{min-width:0}.lobby-top{flex-wrap:wrap}.hud{grid-template-columns:1fr 130px 1fr auto}.game-brand{display:none}}
@media(max-width:700px){.site-header{position:static;width:auto;height:auto;display:block}.brand{min-height:68px;border:0}.site-header nav{display:flex;flex-direction:row;overflow-x:auto;padding:3px}.site-header nav a{flex:none;min-height:42px;padding:6px 10px;border:0;font-size:16px;gap:5px}.site-header nav a span{font-size:12px}.header-right{padding:5px 12px;flex-direction:row;border:0}.header-right #connection{display:block;font-size:10px;max-width:160px}.header-right button{font-size:10px;padding:4px}main{margin:0;padding:0 14px 35px}.lobby-top{margin:0 -14px;padding:12px 14px;height:auto}.wallet{order:3;width:100%;justify-content:space-around}.wallet>div{min-width:0;font-size:13px;padding:0 9px}.account-badge{font-size:12px}.home-grid{min-height:0}.arena-hangar{padding:0}.hero-heading h1{font-size:37px}.hero-heading p{font-size:15px}.character-switcher{gap:20px}.hero-orb{width:130px;height:130px}.hero-character{min-width:145px}.hero-loadout{gap:5px}.hero-power{padding:6px;gap:3px}.hero-power-icon{width:28px;height:28px}.hero-power b{font-size:11px}.hero-power small{font-size:9px}.play-selects{gap:5px}.play-selects label{padding:7px}.play-selects select{font-size:13px}.home-aside{grid-template-columns:1fr}.event-strip{grid-template-columns:1fr;gap:10px}.event-strip a{padding:0 4px 8px;border-right:0;border-bottom:1px solid #3e3e54}.event-strip a:last-child{border-bottom:0}body:has(#game:not([hidden])) main{padding:0 7px 20px}.hud{grid-template-columns:1fr 75px 1fr;gap:4px;min-height:90px}.hud-player{gap:5px}.hud-player b{font-size:11px}.hud-orb{width:30px;height:30px}.hud-orb::after{font-size:12px;inset:6px 1px}.hud-center small{font-size:8px;letter-spacing:0}.hud-center #timer{font-size:20px}.hud #leave{grid-column:1/-1;justify-self:end;font-size:10px;padding:4px}.arena{border-width:6px}.arena canvas{max-height:none}.gamebar{display:block}.gamebar .control-hint,.gamebar #game-map-name{display:none}.power-slots{width:100%;gap:4px}.power-slots .combat-slot{flex:1;min-width:0;width:auto;min-height:44px;font-size:10px}.power-slots .combat-art{width:27px;height:27px}}
@media(min-width:701px){.arena{width:100%;margin-inline:auto}.arena canvas{max-height:none;object-fit:fill}.gamebar{max-width:none;margin-inline:auto}}
@media(min-width:701px){.hud{min-height:92px}.gamebar{margin-top:8px}.power-slots .combat-slot{min-height:54px}}
.auth-showcase .tags span{border-color:#a8e85a55;color:var(--mint)}.auth-orbs i:first-child{background:radial-gradient(circle at 35% 30%,#d2ffa4,#a4e459 45%,#588d2b)}.auth-form{background:#1d1d29}.auth-form input{background:#14141f;border-color:#424057}
.game-network{margin:-5px 0 10px;padding:6px 12px;border:1px solid #a8e85a55;border-radius:8px;background:#a8e85a12;color:#c9f49a;font-size:12px;line-height:1.35;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.game-network.is-error{border-color:#fc6b8c77;background:#fc6b8c16;color:#ffb4c5}
@media(max-width:700px){.game-network{margin:0 0 7px;padding:5px 8px;font-size:10px}}
