@font-face{font-family:fa-brands;src:url(../fa-brands-400.woff2)format("woff2")}@font-face{font-family:fa-regular;src:url(../fa-regular-400.woff2)format("woff2")}@font-face{font-family:fa-solid;src:url(../fa-solid-900.woff2)format("woff2")}.fa-brands{font-family:fa-brands;font-weight:400;line-height:1}.fa-regular{font-family:fa-regular;font-weight:400;line-height:1}.fa-solid{font-family:fa-solid;font-weight:400;line-height:1}@font-face{font-family:"Exo 2";src:url(../Exo2-VariableFont_wght.ttf)format("truetype-variations");font-style:normal;font-weight:100 900}@font-face{font-family:"Exo 2";src:url(../Exo2-Italic-VariableFont_wght.ttf)format("truetype-variations");font-style:italic;font-weight:100 900}body{color:#fff;-webkit-user-select:none;user-select:none;background-color:#000;font-family:"Exo 2",sans-serif;font-size:16px;line-height:1.5}*{box-sizing:border-box}input,button{font:inherit;line-height:inherit;color:inherit}html,body,canvas,main{width:100%;height:100%;margin:0;padding:0;overflow:hidden}canvas,main{position:absolute}main{cursor:crosshair}main>*{cursor:default}h1{text-align:center;font-size:40px;font-weight:300}h2{margin:6px 0;font-size:28px;font-weight:400}h3{font-size:20px;font-weight:500}p{margin:0}input{background-color:#0000;border:1px solid gray;border-radius:2px;outline:0;padding:5px 12px}input:focus{border-color:#fff}button{background-color:#04151c;border:2px solid #0f4960;border-radius:7px;outline:0;padding:7px 20px;font-weight:600}@media (hover){button{cursor:pointer}button:hover:not(:disabled){background-color:#1e8fbf}}button:active:not(:disabled){background-color:#00343f}button:focus:not(:disabled){border-color:#28c2ff}button:disabled{color:#ddd;cursor:not-allowed;background-color:#4c4c4c;border-color:#c6c6c6}a{color:#0f4960}body,main,canvas{touch-action:none}.Names{width:100%;height:100%;position:absolute;overflow:hidden}.Names>*{white-space:nowrap;position:absolute;transform:translate(-50%,calc(-40px - 50%))}.Names .foe{color:#ff6857}.Names .friend{color:#c6eaff}.DamageNumbers{pointer-events:none;width:100%;height:100%;position:absolute;overflow:hidden}.DamageNumbers>*{white-space:nowrap;text-shadow:0 0 3px #000,0 1px 2px #000;font-weight:700;position:absolute;transform:translate(-50%,-50%)}.DamageNumbers .damage{color:#ffe34d}.DamageNumbers .heal{color:#6dff7a}.NotLoggedInWarning{background-color:#000;border:1px solid gray;width:400px;max-width:100%;padding:20px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.NotLoggedInWarning h2{color:#fff;font-size:20px;font-weight:300}.ShipSelection{border:1px solid gray;width:92vw;max-width:800px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.ShipSelection canvas{z-index:-1;position:absolute;inset:0}.ShipSelection .ShipTypes{background-color:#000;border-right:1px solid #111;margin:0;padding:10px;list-style-type:none;position:relative}.ShipSelection .ShipTypes p{text-align:center;position:absolute;bottom:1rem;left:0;right:0}.ShipSelection .ShipType{border:3px solid #0000;border-radius:20px;justify-content:stretch;align-items:stretch;width:80px;height:80px;display:flex}.ShipSelection .ShipType>*{flex:1}.ShipSelection .ShipType.current{border-color:#00232c}.ShipSelection .ShipType.selected,.ShipSelection .ShipType:hover{border-color:#00cbff}.ShipSelection .content{flex:1;padding:4px;position:relative}.ShipSelection .topSection{flex:1;grid-template-columns:1fr 220px;min-height:0;display:grid;position:relative}.ShipSelection .topSection .mainView{z-index:-1;width:400px;height:400px;position:absolute;top:0;left:0}.ShipSelection .topSection .switch-button{color:#ffd35a;cursor:pointer;background-color:#111;border:1px solid #444;border-radius:4px;margin-top:1rem;padding:8px 1rem;box-shadow:0 0 4px #ffd35a}.ShipSelection .topSection .switch-button:hover:not(:disabled){box-shadow:0 0 8px #ffd35a}.ShipSelection .topSection .properties{flex-wrap:wrap;width:220px;display:flex}.ShipSelection .topSection .ShipProperty{flex-direction:column;flex:1;align-items:center;margin:10px 0;display:flex}.ShipSelection .topSection .ShipProperty>p{white-space:nowrap;margin-right:10px}.ShipSelection .topSection .ShipProperty p{text-align:center;font-weight:700}.ShipSelection .topSection .ShipProperty>div{justify-content:center;align-items:center;width:60px;height:60px;display:flex;position:relative}.ShipSelection .topSection .ShipProperty .ProgressRing{position:absolute}.ShipSelection .bottomSection{position:relative}@media (height<=600px){.ShipSelection.dialog{width:100vw;max-width:none;height:100vh;position:fixed;inset:0;overflow:hidden auto;transform:none}.ShipSelection.dialog .topSection{grid-template-columns:1fr 160px;min-height:320px}.ShipSelection.dialog .properties{width:160px}}.ProgressRing{justify-content:center;align-items:center;display:flex;position:relative}.ProgressRing p{position:absolute}.ProgressRing circle{transform-origin:50%;transition:stroke-dashoffset .35s;transform:rotate(-90deg)}.TalentTree{color:#ddd}.TalentTree .credit{color:#ffd35a;text-align:right;margin:0 0 12px}.TalentTree .tree{flex-direction:column;gap:32px;padding:8px 0;display:flex;position:relative}.TalentTree .tree .links{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.TalentTree .tree .links line{stroke-width:2px}.TalentTree .tree .links line.met{stroke:#5dcaa5}.TalentTree .tree .links line.unmet{stroke:#555}.TalentTree .tier{z-index:1;justify-content:center;gap:24px;display:flex;position:relative}.TalentTree .node{box-sizing:border-box;cursor:default;-webkit-user-select:none;user-select:none;background-color:#111;border:1px solid #444;flex-direction:column;align-items:center;gap:4px;width:148px;padding:8px 10px;display:flex}.TalentTree .node .name{text-align:center;line-height:1.1}.TalentTree .node .price{color:#aaa;font-size:12px}.TalentTree .node.active{color:#0f0;border-color:#0f0}.TalentTree .node.active .price{color:#0f0}.TalentTree .node.available{color:#fff;cursor:pointer;border-color:#fff}.TalentTree .node.available:hover{background-color:#333}.TalentTree .node.poor{color:#cbb56a;border-color:#7a6a2a}.TalentTree .node.locked{color:#555;opacity:.55;border-color:#333}.TalentTree .hint{color:#888;text-align:center;margin:14px 0 0;font-size:12px}.TalentTree .tooltip{text-align:left;pointer-events:none;z-index:10;background-color:#000000f7;border:1px solid #666;width:220px;padding:12px 14px;position:absolute;transform:translate(-50%,calc(-100% - 10px))}.TalentTree .tooltip .ttName{color:#ffd35a;font-family:Gill Sans,Trebuchet MS,sans-serif;font-size:17px;font-weight:600;line-height:1.2}.TalentTree .tooltip .ttCost{color:#fff}.TalentTree .tooltip .ttEffect{color:#7fd0ff;margin-top:8px}.TalentTree .tooltip .ttDesc{color:#fff;margin-top:8px;line-height:1.3}.TalentTree .tooltip .ttHint{color:#888;margin-top:10px;font-size:12px}.Debug{background-color:#00000080;border:1px solid #000;min-width:250px;padding:10px;font-size:13px;display:inline-block;position:absolute;top:58px;right:0;overflow:hidden}.Debug .chart{margin:6px}.Debug .chart .header{justify-content:space-between;display:flex}.Stats{background-color:#00000080;border:1px solid #000;padding:10px;font-size:13px;line-height:1.1;display:inline-block;position:absolute;top:0;left:0;overflow:hidden}.Stats table{color:#fff}.Stats table td,.Stats table th{text-align:center;padding:2px 10px}.Stats table thead{font-weight:600}.Stats.compact{padding:4px;font-size:11px}.Stats.compact td{padding:1px 6px}.Stats .self{color:#fff}.Stats .homeTeam{color:#c6eaff}.Stats .enemyTeam{color:#ff6857}.Stats td.scoreCell{position:relative}.Stats .scoreBar{opacity:.2;pointer-events:none;background-color:currentColor;position:absolute;top:0;bottom:0;left:0}.Stats .scoreText{position:relative}.Stats tr.gap td{opacity:.5}.Chat{background-color:#0000004d;width:500px;max-width:100%;height:300px;max-height:30vh;position:absolute;bottom:0;overflow:hidden}.Chat .messages{position:absolute;bottom:40px;left:10px;right:10px}.Chat.compact{width:auto;max-width:60vw;height:auto}.Chat.compact .messages{padding:4px 10px;position:static}.Chat p{margin:2px 0;line-height:1.1}.Chat span.time{color:#aa9;border:0 solid gray;border-right-width:1px;padding:0 8px 0 0}.Chat span.from{padding:0 0 0 8px}.Chat span.text{padding:0 8px}.Chat .game{color:#fff}.Chat .team{color:#4c8}.Chat .whisper{color:#d8d}.Chat .fromServer{color:#ccc}.Chat .server{color:#9df}.Chat input{border-width:1px 0 0;border-radius:0;width:100%;position:absolute;bottom:0;left:0}.Joystick{border:1px solid gray;border-radius:50px;width:100px;height:100px;position:fixed;transform:translate(-50%,-50%)}.Joystick>div{background-color:#90c5ff1a;border:1px solid #90c5ff;border-radius:25px;width:50px;height:50px;position:absolute;transform:translate(-50%,-50%)}.ActionButtons{z-index:55;touch-action:none;position:absolute}.ActionButtons.right{top:50%;right:16px;transform:translateY(-50%)}.ActionButtons.left{top:50%;left:16px;transform:translateY(-50%)}.ActionButtons .actionBtn{touch-action:none;-webkit-user-select:none;user-select:none;background-color:#90c5ff1f;border:1px solid #90c5ff;border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;font-size:26px;line-height:1;display:flex;position:relative}.ActionButtons .actionBtn.boost{background-color:#ffb06024;border-color:#ffb060;width:76px;height:76px}.ActionButtons .actionBtn .label{pointer-events:none}.RespawnTimer{background-color:#00000080;border:1px solid gray;justify-content:center;align-items:center;padding:30px;display:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.RespawnTimer.visible{display:flex}.RespawnTimer>div{text-align:center;line-height:1}.RespawnTimer .timer{margin:20px;font-size:40px;font-weight:600}.Login{text-align:center;background-color:#000000b3;border:1px solid gray;width:340px;max-height:85vh;padding:20px;position:absolute;top:15%;left:50%;overflow-y:auto;transform:translate(-50%)}@media (height<=680px){.Login{border-top:0;border-bottom:0;max-height:none;top:0;bottom:0}}.Login .title{justify-content:center;align-items:center;gap:10px;margin:0 0 16px;display:flex}.Login .title img{width:40px;height:40px}.Login h1{margin:0}.Login button{margin:8px auto;display:block}.Login button.primary{padding:8px 28px;font-weight:500}.Login .graphics{margin:10px 0}.Login .graphics .label{color:#ccc;margin-bottom:4px;display:block}.Login .segmented{display:flex}.Login .segmented .seg{border-left-width:0;border-radius:0;flex:1;padding:6px 0;font-weight:500}.Login .segmented .seg:first-child{border-left-width:2px;border-radius:7px 0 0 7px}.Login .segmented .seg:last-child{border-radius:0 7px 7px 0}.Login .segmented .seg.on{background-color:#187499}.Login hr{border:none;border-top:1px solid #444;width:100%;margin:14px 0}.Login .separator{text-align:center;display:block;overflow:hidden}.Login .separator:before,.Login .separator:after{content:"";vertical-align:middle;background-color:#fff;width:50%;height:1px;display:inline-block;position:relative}.Login .separator:before{margin-left:-50%;right:.5em}.Login .separator:after{margin-right:-50%;left:.5em}.Login .google{justify-content:center;min-height:40px;margin-top:14px;display:flex;overflow:hidden}.Login a{color:#00cbff;cursor:pointer;margin:0 8px}.Login input[type=text],.Login input[type=password]{text-align:left;margin:6px 0}.Login .fields{flex-direction:column;display:flex}.Login .fields p{margin:6px 0 0;font-size:.9em}.Login .links{margin-top:12px}.Login .error{color:red}.Menu{z-index:50;gap:6px;padding:8px;display:flex;position:absolute;top:0;right:0}.Menu .toggle{opacity:.45;background-color:#0009;border:1px solid #444;border-radius:6px;justify-content:center;align-items:center;width:40px;height:40px;padding:0;font-size:20px;line-height:1;display:flex}.Menu .toggle.on{opacity:1;background-color:#00414f;border-color:#00a1c9}.Button.toggled{background-color:#187499}.Button.icon-button{place-items:center;padding:0;display:grid}.Button.small{border-width:1px;width:32px;height:32px;font-size:14px}.Button.tiny{border-width:1px;width:28px;height:28px;font-size:12px}@media (hover){.Button:hover:not(:disabled):not(:active),.Button:focus:not(:disabled):not(:active){box-shadow:var(--shadow-2)}}.Icon{font-family:fa-solid}.NowPlaying{z-index:55;background-color:#00000080;border:1px solid #000;min-width:330px;max-width:420px;padding:8px 10px;font-size:12px;line-height:1.2;position:absolute;bottom:0;right:0}.NowPlaying .category{float:right;color:#0f4960;text-transform:uppercase;white-space:nowrap;border:1px solid #0f4960;border-radius:10px;margin-left:8px;padding:1px 6px;font-size:10px}.NowPlaying .info{margin-bottom:6px;overflow:hidden}.NowPlaying .title{white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.NowPlaying .progress{background-color:#ffffff1f;height:2px;margin:4px 0}.NowPlaying .progress .fill{background-color:#0f4960;height:100%}.NowPlaying .meta{color:#aaa;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.NowPlaying .controls{align-items:center;gap:4px;display:flex}.NowPlaying .controls .volume{flex:1;align-items:center;min-width:0;margin-left:auto;display:flex}.NowPlaying .controls .volume .icon{background:0 0;border:0;padding:0}.NowPlaying .controls .volume input[type=range]{accent-color:#0f4960;background:0 0;border:0;flex:1;width:auto;margin-left:6px;padding:0}.RotateWarning{z-index:1000;text-align:center;background-color:#000000d9;flex-direction:column;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.RotateWarning .phone{font-size:64px;animation:2s ease-in-out infinite rotate-hint}.RotateWarning .arrow{color:#00a1c9;margin-top:8px;font-size:40px}.RotateWarning h2{margin-top:16px}.RotateWarning p{color:#ccc}@keyframes rotate-hint{0%,40%{transform:rotate(0)}60%,to{transform:rotate(-90deg)}}.WebGpuWarning{z-index:1000;text-align:center;background-color:#000;flex-direction:column;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.WebGpuWarning .icon{font-size:64px}.WebGpuWarning h2{margin-top:16px}.WebGpuWarning p{color:#ccc;max-width:400px}.KickedDialog{z-index:1000;text-align:center;background-color:#000;flex-direction:column;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.KickedDialog .icon{font-size:64px}.KickedDialog h2{margin-top:16px}.KickedDialog p{color:#ccc;max-width:400px}.KickedDialog button{margin-top:20px}
