:root{
  --ee-bg:#081018;--ee-text:#f7fbff;--ee-accent:#b6c8ff;
  --ee-glass:rgba(5,8,14,.56);--ee-glass-2:rgba(5,8,14,.72);
  --ee-border:rgba(255,255,255,.14);--ee-hover:rgba(255,255,255,.10);
  --theme-bg:rgba(5,8,14,.68);--theme-bg-hover:rgba(255,255,255,.10);
  --theme-bg-light:rgba(182,200,255,.24);--theme-fg:#f7fbff;--theme-fg-light:rgba(230,239,255,.80);
  --theme-switch-button-on:#7fa7ff;
}
html,body{background:var(--ee-bg);color:var(--ee-text);font-family:Montserrat,Quicksand,Arial,Helvetica,sans-serif}
.ee-site-bg{position:fixed;inset:0;z-index:-3;background:var(--ee-bg) center/cover no-repeat;transition:background-image 450ms ease}.ee-site-bg:before{content:"";position:absolute;inset:0;opacity:.5;background-image:radial-gradient(circle,rgba(255,255,255,.86) 0 1px,transparent 1.8px),radial-gradient(circle,rgba(182,200,255,.74) 0 1px,transparent 1.9px),radial-gradient(circle,rgba(255,209,139,.52) 0 1px,transparent 1.8px);background-size:190px 190px,270px 270px,340px 340px;background-position:22px 38px,110px 78px,190px 24px;animation:ee-bg-twinkle 5.4s ease-in-out infinite alternate}.ee-site-bg:after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at center,rgba(4,7,13,.18) 0%,rgba(4,7,13,.50) 52%,rgba(0,0,0,.88) 100%),linear-gradient(180deg,rgba(4,7,13,.55),rgba(4,7,13,.78) 46%,rgba(2,3,6,.94))}
@keyframes ee-bg-twinkle{0%{opacity:.32;filter:brightness(.88)}45%{opacity:.70;filter:brightness(1.24)}100%{opacity:.46;transform:translate3d(10px,-8px,0);filter:brightness(1)}}
.ee-map-vignette,.ee-starfield,.ee-map-footer{display:none!important}

/* Center logo: no separate rounded box */
.ee-map-brand{position:fixed;top:17px;left:50%;transform:translateX(-50%);z-index:10006;display:flex;align-items:center;justify-content:center;padding:0;border:0;border-radius:0;background:transparent!important;box-shadow:none!important;backdrop-filter:none!important;pointer-events:auto}
.ee-map-brand img{width:clamp(190px,16vw,300px);max-height:34px;object-fit:contain;filter:drop-shadow(0 5px 10px rgba(0,0,0,.75))}

/* One rounded glass header; keep map clickable below it */
.control-bar{position:fixed!important;top:8px!important;left:8px!important;right:8px!important;width:auto!important;height:48px!important;margin:0!important;z-index:10004!important;display:flex!important;align-items:center!important;gap:10px!important;padding:0 12px!important;border:1px solid var(--ee-border)!important;border-radius:25px!important;background:linear-gradient(90deg,rgba(12,46,48,.64),rgba(20,20,30,.58),rgba(8,11,18,.66))!important;box-shadow:0 8px 26px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.10)!important;backdrop-filter:blur(16px) saturate(1.08)!important;filter:none!important;pointer-events:none!important;overflow:visible!important;box-sizing:border-box!important}.control-bar>*{pointer-events:auto!important;flex:0 0 auto!important;border-left:0!important}.control-bar .space{display:block!important;width:4px!important;min-width:4px!important;flex:0 0 4px!important;border-left:0!important}.control-bar .space.greedy{display:block!important;flex:1 1 auto!important;min-width:190px!important}
.control-bar .svg-button,.control-bar .number-input,.control-bar .pos-input{height:36px!important;min-height:36px!important;line-height:36px!important;border:1px solid rgba(255,255,255,.13)!important;border-radius:17px!important;background:rgba(4,7,14,.72)!important;color:#fff!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 4px 12px rgba(0,0,0,.18)!important;backdrop-filter:blur(8px)!important;overflow:hidden!important;box-sizing:border-box!important}.control-bar .svg-button{width:36px!important;min-width:36px!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:0!important}.control-bar .svg-button:hover,.control-bar .svg-button.active{background:rgba(182,200,255,.20)!important;border-color:rgba(210,225,255,.32)!important}.control-bar .svg-button svg{fill:rgba(238,246,255,.92)!important;color:rgba(238,246,255,.92)!important}
.control-bar .pos-input{width:300px!important;max-width:300px!important;display:flex!important;align-items:center!important;gap:0!important;padding:0 12px!important;white-space:nowrap!important}.control-bar .pos-input .number-input,.control-bar .pos-input input,.control-bar input.number-input{height:100%!important;min-height:0!important;width:auto!important;min-width:0!important;max-width:none!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;display:inline-flex!important;align-items:center!important;padding:0 8px!important;white-space:nowrap!important;font-weight:800!important}.control-bar .pos-input>*{display:inline-flex!important;align-items:center!important;white-space:nowrap!important}.control-bar .pos-input br{display:none!important}

/* Give logo room without letting coordinate field slide under it */
@media (min-width:900px){.control-bar{padding-left:14px!important;padding-right:14px!important}.control-bar .space.greedy{min-width:260px!important}.control-bar .pos-input{width:360px!important;max-width:360px!important}}

/* Popups/side menu live below header */
.side-menu{top:66px!important;left:8px!important;height:calc(100% - 74px)!important;max-width:22em!important;color:#f7fbff!important;background:linear-gradient(135deg,rgba(12,16,28,.78),rgba(4,6,12,.82))!important;border:1px solid var(--ee-border)!important;border-radius:26px!important;overflow:hidden!important;filter:none!important;box-shadow:0 18px 44px rgba(0,0,0,.40),inset 0 1px 0 rgba(255,255,255,.075)!important;backdrop-filter:blur(16px) saturate(1.08)!important}.side-menu>.menu-button{top:8px!important;left:8px!important;margin:0!important}.side-menu>.title{height:52px!important;line-height:52px!important;padding:0 54px!important;text-align:center!important;background:rgba(5,7,13,.42)!important;border-bottom:1px solid rgba(255,255,255,.12)!important;font-weight:900!important;letter-spacing:.02em!important}.side-menu>.content{padding:14px!important;height:calc(100% - 53px)!important;box-sizing:border-box!important}
.side-menu .simple-button,.side-menu .switch-button,.side-menu .map-button,.choice-box .choices .choice{margin:6px 0!important;border:1px solid rgba(255,255,255,.10)!important;border-radius:16px!important;background:rgba(5,7,13,.54)!important;color:#fff!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.07)!important}.side-menu .simple-button:hover,.side-menu .switch-button:hover,.side-menu .map-button:hover,.choice-box .choices .choice:hover{background:rgba(182,200,255,.16)!important;border-color:rgba(210,225,255,.25)!important}.side-menu .group{margin:10px 0!important;border:1px solid rgba(255,255,255,.13)!important;border-radius:18px!important;background:rgba(5,7,13,.24)!important;overflow:hidden!important}.side-menu .group>.title{margin:0!important;padding:8px 12px!important;border-radius:0!important;background:rgba(255,255,255,.07)!important;color:#fff!important;font-weight:850!important}.choice-box{border:1px solid rgba(255,255,255,.13)!important;border-radius:16px!important;background:rgba(5,7,13,.36)!important;overflow:hidden!important}.choice-box .title{background:rgba(255,255,255,.08)!important}
/* keep player/claim lists readable, don't force extra card effects inside marker/player rows */
.side-menu .marker-item,.side-menu .player-item,.side-menu .claim-item{background:transparent!important;box-shadow:none!important}

#zoom-buttons{right:12px!important;bottom:16px!important;margin:0!important;filter:none!important;width:38px!important}#zoom-buttons .svg-button{width:38px!important;height:38px!important;border-radius:18px!important;margin-top:6px!important;background:rgba(5,7,13,.62)!important;border:1px solid rgba(255,255,255,.13)!important;backdrop-filter:blur(10px)!important}
#map-container .bm-marker-html .bm-marker-poi-label,#map-container .bm-marker-labelpopup,#map-container .bm-marker-popup{color:#f7fbff!important;background:rgba(5,7,13,.88)!important;border:1px solid rgba(255,255,255,.12)!important;border-radius:16px!important;box-shadow:0 14px 32px rgba(0,0,0,.36)!important;backdrop-filter:blur(12px)!important;filter:none!important}
@media(max-width:800px){.ee-map-brand{top:14px}.ee-map-brand img{width:min(46vw,210px);max-height:30px}.control-bar{height:44px!important;gap:6px!important;padding:0 8px!important;border-radius:22px!important}.control-bar .svg-button{width:34px!important;min-width:34px!important;height:34px!important}.control-bar .space.greedy{min-width:70px!important}.control-bar .pos-input{width:190px!important;max-width:190px!important;padding:0 6px!important}.side-menu{top:58px!important;height:calc(100% - 66px)!important}}

/* recovery patch: keep rounded header, fix side-menu title/close layout */
.side-menu{top:66px!important;left:8px!important;height:calc(100% - 74px)!important;border-radius:26px!important;overflow:hidden!important}
.side-menu > .title{
  height:58px!important;
  line-height:58px!important;
  min-height:58px!important;
  padding:0 76px!important;
  box-sizing:border-box!important;
  text-align:center!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.side-menu > .menu-button{top:10px!important;margin:0!important;z-index:5!important}
.side-menu > .menu-button.full-close{left:auto!important;right:10px!important}
.side-menu > .menu-button:not(.full-close){left:10px!important;right:auto!important}
.side-menu > .content{height:calc(100% - 58px)!important;padding-top:14px!important;box-sizing:border-box!important}
.side-menu .map-button,
.side-menu .simple-button,
.side-menu .switch-button,
.choice-box .choices .choice{
  border-radius:18px!important;
  border:1px solid rgba(255,255,255,.13)!important;
  background:rgba(5,8,14,.58)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 6px 18px rgba(0,0,0,.16)!important;
}
.side-menu .map-button:hover,
.side-menu .simple-button:hover,
.side-menu .switch-button:hover,
.choice-box .choices .choice:hover{
  background:rgba(182,200,255,.16)!important;
  border-color:rgba(210,225,255,.28)!important;
}
.side-menu .marker-item .marker-button{
  border-radius:16px!important;
  border:1px solid rgba(255,255,255,.10)!important;
  background:rgba(5,8,14,.42)!important;
  margin:5px 0!important;
}
.side-menu .marker-item .info .label{font-weight:850!important;line-height:1.15!important;white-space:normal!important}
.side-menu .marker-item .info .stats{margin-top:4px!important;opacity:.9!important}
