* {
  scrollbar-width: thin;                  
  scrollbar-color: var(--ui-color) #222;  
}
*::-webkit-scrollbar {
  width: 10px;         
  height: 10px;        
}
*::-webkit-scrollbar-track {
  background: #222;     
}
*::-webkit-scrollbar-thumb {
  background-color: var(--ui-color);
  border-radius: 8px;
  border: 2px solid #222;  
}
*::-webkit-scrollbar-corner {
  background: #222;   
}
@media (pointer: fine) {
  *::-webkit-scrollbar-thumb:hover {
    background-color: color-mix(in srgb, var(--ui-color) 85%, #000 15%);
  }
}
.si-ads-type-base{
    width: 700px;
}
.si-ads-type-sky{
    width: 180px;
    height: 300px
}
.si-ads-type-rank{
    width: 100%;
}
.si-ads{
    position: relative;
    display: inline-block;
    margin-top: 10px;
    margin-bottom: 10px;
}            
.si-ads > .title{
    width: 100%; 
    text-align: left;
    padding: 3px;
    padding-left: 5px;                
    margin: 0;       
    font-size: 10px;   
    background: rgba(0,0,0,0.2);      
}
.si-ads > .info{
    position: absolute; 
    top: -4px; right: -4px;
    border-radius: 25%;
    font-weight: bolder;
    padding: 2px 6px; 
    background: rgba(0,0,0,0.6);
    color: #DDD;
    font-size: 11px;
    cursor: pointer;
}
.si-ads > .info:hover{
    filter: saturate(2) brightness(1.2);
}
.menu-shadow{
    display: none;
    position: fixed;
    top: 0px; 
    left: 0px;
    width: 0px;
    height: 100%;
    background: var(--ui-color);
    box-shadow: 0px 0px 15px 1px var(--ui-color), 0px 0px 10px 1px var(--ui-color), 0px 0px 5px 1px var(--ui-color);
}
:root{
    --resbar-h: 36px;  
    --res-gap: 8px;    
}
#resBar.resbar{
  position: fixed !important;
  top: 0; left: 0; right: 0;
  width: 100%;
  z-index: 999;
  padding: 4px 8px;
  background: rgba(0,0,0,0.75);
  backdrop-filter: blur(2px);
}
.resbar--framed{ border:1px solid #214F7D; border-top:0; }
.res-table{ width:100% !important; table-layout: fixed !important; border-collapse: collapse !important; }
.col-left{ width:260px !important; padding:0 4px !important; }
.col-sep{ width:2px !important; }
.col-center{ width:auto !important; padding:0 4px !important; }
.col-evimg{ width:40px !important; padding:0 2px !important; }
.col-evtxt{ width:110px !important; padding:0 2px !important; white-space:nowrap !important; }
.res-flex{
  display: flex !important;
  flex-wrap: wrap !important;        
  align-items: center !important;
  align-content: flex-start !important;
  justify-content: flex-start !important;
  gap: var(--res-gap) !important;
  overflow: visible !important;
}
.ress-container{
  position: relative !important;
  display: block !important;
  flex: 1 0 auto !important;        
  min-width: 180px !important;        
  min-width: max-content !important;   
  margin: 0 !important;
  background: #222 !important;
  box-shadow: 0 0 2px 0 var(--ui-color) !important;
  cursor: pointer !important;
  box-sizing: border-box !important;
}
.ress-container:hover{ filter: brightness(1.6); }
.ress-container > .logo{
  position:absolute; left: 1px; top: 2px;
  width:18px; height:18px; overflow:hidden;
  border:.5px solid var(--ui-color);
}
.ress-logo-1{ background:url('/images/res/pigiron_icon.png') no-repeat center center; background-size: cover; }
.ress-logo-2{ background:url('/images/res/metall_icon.png') no-repeat center center; background-size: cover; }
.ress-logo-3{ background:url('/images/res/kryptonite_icon.png') no-repeat center center; background-size: cover; }
.ress-logo-4{ background:url('/images/res/spice_icon.png') no-repeat center center; background-size: cover; }
.ress-logo-5{ background:url('/images/res/energy_icon.png') no-repeat center center; background-size: cover; }
.ress-container > .title{
  position:absolute; left:28px; top:-1px;
  font-weight:700; font-size: 9px;
  text-shadow:0 0 1px var(--ui-color),0 0 1px var(--ui-color);
  white-space: nowrap;
}
.ress-container > .ress-value,
.energy-value{
  font-size: clamp(12px, 1.3vw, 16px) !important;
  padding-left:26px; padding-top: 7px; padding-right:4px;
  color:inherit;
  white-space: nowrap;             
  overflow: visible;               
  padding-bottom: 3px;
}
.energy-prob{ color:#FF0000; }
.energy-value > .max{ font-size:10px; color:#e3d000; }
.ress-container > .bar{ position:absolute; left:0; bottom:0; width:100%; height:3px; background:#000; }
.ress-container > .bar div{ height:3px; }
.ress-fill-color-red{ background:#C00; }
.ress-fill-color-orange{ background:#C70; }
.ress-fill-color-green2{ background:#7C0; }
.ress-fill-color-green{ background:#090; }
.ress-container .ress-value-p{
  display:none; position:absolute; right:2px; top:0; font-size:9px; color:#DDD;
}
.ress-container:hover .ress-value-p{ display:block; }
#resBar [style*="width:180px"]{ max-width:100% !important; }
#resBar .ecoshadow.chat_background{
  width:100% !important; white-space:nowrap !important; overflow:hidden !important; text-overflow:ellipsis !important;
}
#planet-chooser{ position:absolute !important; z-index:1000 !important; display:none; }
@media (max-width: 860px){
  .col-evtxt{ display:none !important; }        
}
@media (max-width: 640px){
  .ress-container > .title{ display:none !important; } 
}
#filler{position:relative;height:30px;}
.planet-chooser-table{
    height:28px;
    background: linear-gradient(to right, transparent, rgba(0,0,0,0.3) 10%, rgba(0,0,0,0.3) 90%, transparent 100%);
}
.arrow_margin{ border: 0px; margin-top: 1px; cursor: pointer; }
.arrow_margin:hover{ transform: scale(1.1); transform-origin: center; }
.si-header-bar{
    padding: 2px 10px;
    border-top: 0;
    font-size: 14px;
    text-align: center;                
    display: inline-block;
    align-items: center;
    justify-content: center;
    border: 0.5px solid var(--ui-color);
    box-shadow: inset 0px 0px 3px 0px #000, inset 0px 0px 5px 0px #000;
}
.bar-green{
    background-attachment: fixed;
    background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.6) 50%, rgba(10, 10, 10, 0.5) 100%), 
    repeating-linear-gradient(
        45deg, 
        #080,  
        #080 10px, 
        #111 10px, 
        #111 20px  
    );                
}
.bar-gray{
    background-attachment: fixed;
    background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.6) 50%, rgba(10, 10, 10, 0.5) 100%), 
    repeating-linear-gradient(
        45deg, 
        #444, 
        #444 10px,
        #111 10px,
        #111 20px 
    );                
}
.bar-ui{
    background-attachment: fixed;
    background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.6) 50%, rgba(10, 10, 10, 0.5) 100%), 
    repeating-linear-gradient(
        45deg, 
        var(--ui-color), 
        var(--ui-color) 10px,  
        #111 10px,  
        #111 20px 
    );                
}
.bar-red{
    background-attachment: fixed;
    background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.6) 50%, rgba(10, 10, 10, 0.5) 100%), 
        repeating-linear-gradient(
        45deg, 
        #822,  
        #822 10px, 
        #111 10px, 
        #111 20px  
    );                
}
.bar-blue{
    background-attachment: fixed;
    background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.6) 50%, rgba(10, 10, 10, 0.5) 100%), 
        repeating-linear-gradient(
        45deg, 
        #168,  
        #168 10px, 
        #111 10px, 
        #222 20px 
    );                
}
.bar-orange {
    background-attachment: fixed;
    background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.6) 50%, rgba(10, 10, 10, 0.5) 100%), 
                repeating-linear-gradient(
                    45deg, 
                    #A62, 
                    #A62 10px, 
                    #111 10px, 
                    #111 20px
                );
}
.special-text {
    font-weight: bolder;
    filter: drop-shadow(0px 0px 1px black) drop-shadow(0px 0px 3px black) 
            drop-shadow(0px 0px 8px black) drop-shadow(0px 0px 10px black);
    background-color: rgba(0,0,0,0.4);
    padding: 0px 4px;
}
.planet-entry-bg{
    background: linear-gradient(90deg, rgba(14,14,14,1) 0%, rgba(48,39,39,1) 30%);        
}
.planet-entry-bg-active{
    background: linear-gradient(90deg, var(--ui-color) 0%, rgba(48,39,39,1) 30%);        
}
.planet-entry{
    position: relative;
    width: 100%;
    margin: 0;
    
    height: 30px;
    box-shadow: none;
    overflow: hidden;
    margin-bottom: 2px;
    cursor: pointer;
}
.planet-entry:hover{
    background: #484;
}
.planet-entry .image{
    position: absolute;
    right: -10px;
    top: -20px;            
}
.planet-entry .image img{        
    width: 80px;            
}
.planet-entry .name{
    position: absolute; 
    width: 220px; 
    text-align: center;
    left: 5px; top: 2px;
    font-size: 12px;
    font-weight: bolder;
}
.planet-entry .name .coords{
    font-size: 10px;
}
.planet-entry .moon{
    position: absolute;
    right: 60px;
    top: 0px;                    
}
.planet-entry .moon:hover{
    filter: saturate(3);
}
.planet-entry .moon img{        
    width: 20px;            
}
.planet-info{
    margin: 25px;
    vertical-align: top;
    position: relative;
    display: inline-block;
    width: 280px;
}
.planet-info .image{
    position: absolute; 
    z-index: 1;
    top: -50px; 
    left: -10px;            
}
.planet-info .image img{
    width: 200px;
}
.planet-info .name{
    position: relative;
    z-index: 2;
    font-size: 16px;
    font-weight: bolder;
    text-align: center;
}
.planet-info .content{
    position: relative;
    z-index: 2;
    width: 100%;
    top: 0;
    left: 0;
}
.stats-container{
    margin-top: 5px;
}
.planet-stats{
    text-align: left;
    display: table;            
}
.planet-stats .stats-row{
    display: table-row;
}
.planet-stats .stats-row .stats-name{
    font-weight: bolder;
    padding-left: 20px;
    padding-right: 6px;
    display: table-cell;
}
.planet-stats .stats-row .stats-value{
    display: table-cell;
    padding-right: 20px;
}
.planet-stats .stats-row .stats-value-r{
    display: table-cell;
    text-align: right;
    padding-right: 20px;
}
#planet-overview{
    background: rgba(0,0,0,0.9);
    box-shadow: 0px 0px 100px 0px #000, 0px 0px 180px 0px #000, 0px 0px 300px 0px #000;
}

#player-overlay{
    position: absolute; 
    z-index: 999;
    display: none; 
    box-shadow: 0px 0px 10px 1px #000, 0px 0px 10px 1px #000; 
    margin: 0; 
    background: color-mix(in srgb, var(--ui-color) 40%, black);
    border: 1px solid var(--ui-color);
}
.oplayer{
    position: relative;        
}
.oplayer > .avatar{
    position: absolute; 
    top: 5px;
    left: -10px;
    width: 100px;
    height: 100px;        
    overflow: hidden;
    margin: 0;
    box-shadow: 0px 0px 10px 3px #000, 0px 0px 10px 3px #111, 0px 0px 10px 3px #222;
}
.oplayer > .avatar img{
    width: 100px;
}
.oplayer > .data {
    min-height: 120px;
    min-width: 150px;
    margin-left: 100px;        
}
.oplayer > .data > .name {
    white-space: nowrap;
    position: relative;
    top: -10px;
    margin-right: 10px;
}
.oplayer > .data > .alliance {
    position: relative;
    top: -12px;
    padding-left: 30px;
    margin-right: 10px;
}
.oplayer > .data > .rank {
    position: relative;
    top: -8px;
    margin-right: 10px;
}
.player-name{
    font-size: 24px;
    font-weight: bolder;
    white-space: nowrap;
    text-shadow: 0px 0px 3px #000, 0px 0px 1px #000,0px 0px 1px #000;
}
.alliance-tag{
    font-size: 14px;
    font-weight: bolder;
    white-space: nowrap;
    text-shadow: 0px 0px 3px #000, 0px 0px 1px #000,0px 0px 1px #000;
}   

.lds-ring {
  display: inline-block;
  position: relative;
  width: 80px;
  height: 80px;
}
.lds-ring div {
  box-sizing: border-box;
  display: block;
  position: absolute;
  width: 64px;
  height: 64px;
  margin: 8px;
  border: 8px solid #fff;
  border-radius: 50%;
  animation: lds-ring 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite;
  border-color: #fff transparent transparent transparent;
}
.lds-ring div:nth-child(1) {
  animation-delay: -0.45s;
}
.lds-ring div:nth-child(2) {
  animation-delay: -0.3s;
}
.lds-ring div:nth-child(3) {
  animation-delay: -0.15s;
}
@keyframes lds-ring {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}    
.assip{
    filter:saturate(8);        
}
.loading-nbar{
    position:relative;
    width:100%; 
    height:5px; 
    background:rgba(0,0,0,0.9);
}
.loading-nbar > .progress{
    position:absolute;
    top:0px;left:0px;
    height:100%;
    background:rgba(0,200,0,0.8);
    transition: width 1s linear;
    will-change: width;
}
.bg-sel-grad-green{
    background: #353;
    background: -moz-linear-gradient(left, #353 0%, transparent 90%, transparent 10%);
    background: -webkit-linear-gradient(left, #353 0%, transparent 90%, transparent 10%);
    background: linear-gradient(to right, #353 0%, transparent 90%, transparent 10%); 
}
.bg-sel-grad-blue{
    background: #335;
    background: -moz-linear-gradient(left, #335 0%, transparent 90%, transparent 10%);
    background: -webkit-linear-gradient(left, #335 0%, transparent 90%, transparent 10%);
    background: linear-gradient(to right, #335 0%, transparent 90%, transparent 10%); 
}

.fleet-start-button, .def-dig-button-in, .def-dig-button-out{
    font-size: 28px;
    color: #FFF;
    font-weight: bolder;
    font-family: Arial;
    border: 1px solid #FFF;
    border-radius: 8px;
    cursor: pointer;
    padding: 6px 20px 6px 20px;        
    text-shadow: 0px 0px 3px #000;
    background: #cfe7fa; /* Old browsers */
    background: -moz-radial-gradient(center, ellipse cover, #cfe7fa 0%, #6393c1 100%); /* FF3.6-15 */
    background: -webkit-radial-gradient(center, ellipse cover, #cfe7fa 0%,#6393c1 100%); /* Chrome10-25,Safari5.1-6 */
    background: radial-gradient(ellipse at center, #cfe7fa 0%,#6393c1 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#cfe7fa', endColorstr='#6393c1',GradientType=1 ); /* IE6-9 fallback on horizontal gradient */
}
.fleet-start-button:hover, .def-dig-button-out:hover{
    background: #b4ddb4; /* Old browsers */        
    background: -moz-radial-gradient(center, ellipse cover, #b4ddb4 0%, #83c783 17%, #52b152 33%, #008a00 67%, #005700 83%, #002400 100%); /* FF3.6-15 */
    background: -webkit-radial-gradient(center, ellipse cover, #b4ddb4 0%,#83c783 17%,#52b152 33%,#008a00 67%,#005700 83%,#002400 100%); /* Chrome10-25,Safari5.1-6 */
    background: radial-gradient(ellipse at center, #b4ddb4 0%,#83c783 17%,#52b152 33%,#008a00 67%,#005700 83%,#002400 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#b4ddb4', endColorstr='#002400',GradientType=1 ); /* IE6-9 fallback on horizontal gradient */        
}
.def-dig-button-in:hover{
    background: #ddb3ba; /* Old browsers */        
    background: -moz-radial-gradient(center, ellipse cover, #ddb4b4 0%, #c78383 17%, #b15151 33%, #8a0000 67%, #570000 83%, #240000 100%); /* FF3.6-15 */
    background: -webkit-radial-gradient(center, ellipse cover, #ddb4b4 0%,#c78383 17%,#b15151 33%,#8a0000 67%,#570000 83%,#240000 100%); /* Chrome10-25,Safari5.1-6 */
    background: radial-gradient(ellipse at center, #ddb4b4 0%,#c78383 17%,#b15151 33%,#8a0000 67%,#570000 83%,#240000 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#c78383', endColorstr='#240000',GradientType=1 ); /* IE6-9 fallback on horizontal gradient */        
}
.fleet-start-button-red{ 
    font-size: 28px;
    color: #FFF;
    font-weight: bolder;
    font-family: Arial;
    border: 1px solid #FFF;
    border-radius: 8px;
    cursor: pointer;
    padding: 6px 20px 6px 20px;        
    text-shadow: 0px 0px 3px #000;
    background: #ddb3ba; /* Old browsers */        
    background: -moz-radial-gradient(center, ellipse cover, #ddb4b4 0%, #c78383 17%, #b15151 33%, #8a0000 67%, #570000 83%, #240000 100%); /* FF3.6-15 */
    background: -webkit-radial-gradient(center, ellipse cover, #ddb4b4 0%,#c78383 17%,#b15151 33%,#8a0000 67%,#570000 83%,#240000 100%); /* Chrome10-25,Safari5.1-6 */
    background: radial-gradient(ellipse at center, #ddb4b4 0%,#c78383 17%,#b15151 33%,#8a0000 67%,#570000 83%,#240000 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#c78383', endColorstr='#240000',GradientType=1 ); /* IE6-9 fallback on horizontal gradient */        
}
.fleet-start-button-red:hover{
    filter: brightness(2) saturate(2);
}    

.urplasma-base{
    width:300px;height:300px;
    animation: up1h 300ms steps(6) infinite, up1v 3000ms steps(10) infinite;
    -webkit-animation: up1h 300ms steps(6) infinite, up1v 3000ms steps(10) infinite;
}
@keyframes up1h {
    from { background-position-x: 0px; }
    to { background-position-x: -1800px; }
}
@keyframes up1v {
    from { background-position-y: 0px; }
    to { background-position-y: -3000px; } 
}
.urplasma-icon{
    position: relative;
    width: 300px;
    height: 300px;
    overflow: hidden;
}
.urplasma-icon-30{ position: relative; width: 30px; height: 30px; overflow: hidden; }
.urplasma-icon-30 div{ transform: scale(0.1); transform-origin: top left; }
.urplasma-icon-15{ position: relative; width: 15px; height: 15px; overflow: hidden; }
.urplasma-icon-15 div{ transform: scale(0.05); transform-origin: top left; }
.urplasma-icon-60{ position: relative; width: 60px; height: 60px; overflow: hidden; }
.urplasma-icon-60 div{ transform: scale(0.2); transform-origin: top left; }
.urplasma-icon-50{ position: relative; width: 50px; height: 50px; overflow: hidden; }
.urplasma-icon-50 div{ transform: scale(0.17); transform-origin: top left; }
.urplasma-icon-100{ position: relative; width: 100px; height: 100px; overflow: hidden; }
.urplasma-icon-100 div{ transform: scale(0.34); transform-origin: top left; }

.urplasma-1{ background-image: url(/images/urplasma/1.jpg); }
.urplasma-2{ background-image: url(/images/urplasma/2.jpg); }
.urplasma-3{ background-image: url(/images/urplasma/3.jpg); }
.urplasma-4{ background-image: url(/images/urplasma/4.jpg); }
.urplasma-5{ background-image: url(/images/urplasma/5.jpg); }
.urplasma-6{ background-image: url(/images/urplasma/6.jpg); }
.urplasma-7{ background-image: url(/images/urplasma/7.jpg); }
.urplasma-8{ background-image: url(/images/urplasma/8.jpg); }

.urplasma-1-cutout{ 
    mask-image: url(/images/urplasma/mask/1.png);
    -webkit-mask-image: url(/images/urplasma/mask/1.png);
}
.urplasma-2-cutout{ 
    mask-image: url(/images/urplasma/mask/2.png);
    -webkit-mask-image: url(/images/urplasma/mask/2.png);
}
.urplasma-3-cutout{ 
    mask-image: url(/images/urplasma/mask/3.png);
    -webkit-mask-image: url(/images/urplasma/mask/3.png);
}
.urplasma-4-cutout{ 
    mask-image: url(/images/urplasma/mask/4.png);
    -webkit-mask-image: url(/images/urplasma/mask/4.png);
}
.urplasma-5-cutout{ 
    mask-image: url(/images/urplasma/mask/5.png);
    -webkit-mask-image: url(/images/urplasma/mask/5.png);
}
.urplasma-6-cutout{ 
    mask-image: url(/images/urplasma/mask/6.png); 
    -webkit-mask-image: url(/images/urplasma/mask/6.png);
}
.urplasma-7-cutout{ 
    mask-image: url(/images/urplasma/mask/7.png);
    -webkit-mask-image: url(/images/urplasma/mask/7.png);
}
.urplasma-8-cutout{ 
    mask-image: url(/images/urplasma/mask/8.png);
    -webkit-mask-image: url(/images/urplasma/mask/8.png);
}
.hover-gray:hover, .hover-gray:hover > td{
    background: color-mix(in srgb, var(--ui-color) 50%, #444);
}
.hover-ui:hover, .hover-ui:hover > td{
    background: color-mix(in srgb, var(--ui-color) 50%, black);
}
#spaceinvasion-menu{
  --menu-width: 680px;
  --menu-item-h: 46px;
  --menu-gap-x: 16px;
  --menu-gap-y: 12px;  
  display: grid;
  grid-auto-flow: column;      
  grid-auto-columns: max-content;
  gap: var(--menu-gap-y) var(--menu-gap-x);
  justify-content: center; 
  justify-items: center;  
  width: min(100%, var(--menu-width));
  padding: 12px;
  border-radius: 10px;
  background: linear-gradient(90deg,rgba(0, 0, 0, 0.8) 20%, color-mix(in srgb, var(--ui-color) 50%, #000 50%) 50%, rgba(0, 0, 0, 0.8) 80%);
}
#spaceinvasion-menu.rows-1{
  grid-template-rows: var(--menu-item-h);
}
#spaceinvasion-menu.rows-2{
  grid-template-rows: repeat(2, var(--menu-item-h));
}
.menu__item{
  --buy-cap: 12px;    
  --skew: 6px;        
  --lift: 0px;
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: var(--menu-item-h);
  width: 100%;
  padding: 0 18px;
  color: #fff;
  font: inherit;
  line-height: 1.2;
  text-align: center;
  cursor: pointer;
  border: 1px solid var(--ui-color);
  border-radius: 8px;  
  background: rgba(40,40,40,0.55);
  box-shadow: 0 var(--lift) 0 0 rgba(0,0,0,0); 
  transform: skewX(-15deg);
  transition:
    filter .16s ease,
    box-shadow .16s ease,
    transform .16s ease,
    background .16s ease;
}
.menu__item::before,
.menu__item::after{
  content: "";
  position: absolute;
  width: var(--buy-cap);
  height: var(--buy-cap);
  background: var(--ui-color);
  pointer-events: none;
}
.menu__item::before{ left: -1px; bottom: -1px; clip-path: polygon(0 0, 0 100%, 100% 100%); }
.menu__item::after { right:-1px; top:   -1px; clip-path: polygon(0 0, 100% 0, 100% 100%); }
.menu__item:hover{
  filter: brightness(1.12) saturate(1.15);
  --lift: -2px;
  box-shadow: 0 0 10px 2px color-mix(in oklab, var(--ui-color) 60%, transparent);
  transform: translateY(var(--lift)) scale(1.015) skewX(-5deg);;
}
.menu__item:focus-visible{
  outline: 2px solid color-mix(in oklab, var(--ui-color) 70%, white 20%);
  outline-offset: 2px;
}
.menu__item.is-active{
  background: rgba(30,30,30,0.85);
  filter: brightness(1.6) saturate(1.2);
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,0.06),
    0 0 12px 2px color-mix(in oklab, var(--ui-color) 70%, transparent);
  transform: translateY(-2px) scale(1.02) skewX(-20deg);;
  font-weight: 800;
}
.menu__divider{ width: min(92%, var(--menu-width)); }
@media (prefers-reduced-motion: reduce){
  #spaceinvasion-menu, .menu__item{ transition: none !important; }
}
.menu-panel{
  overflow: hidden;
  max-height: 0;
  opacity: 0;
  transform: translateY(4px) scale(0.995);
  transition: max-height .18s ease, opacity .18s ease, transform .18s ease;
}
.menu-panel.is-visible{ opacity: 1; transform: none; max-height: none; }
@media (prefers-reduced-motion: reduce){
  .menu__item, .menu-panel{ transition: none !important; }
}
@media (max-width: 520px){
  #spaceinvasion-menu{
    grid-auto-flow: row;           
    grid-auto-columns: initial;
    grid-template-rows: none;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    justify-content: center;
    justify-items: stretch;           
  }
  .menu__item{
    width: 100%;                  
  }
  #spaceinvasion-menu[data-odd] .menu__item:last-child{
    grid-column: 1 / -1;
    justify-self: center;
    width: max-content;           
  }
}
.flipped {
    -moz-transform: scaleX(-1);
    -o-transform: scaleX(-1);
    -webkit-transform: scaleX(-1);
    transform: scaleX(-1);
    filter: FlipH;
    -ms-filter: "FlipH";
    -webkit-backface-visibility: hidden;
}