
:root{font-family:Inter,system-ui,Arial,sans-serif;background:#070b14;color:#eaf0ff}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 50% 0%,#152344,#070b14 55%);min-height:100vh}
header{padding:14px 18px;border-bottom:1px solid #263451;background:#0a1020e8;position:sticky;top:0;z-index:5}
h1{margin:0;font-size:20px}small{color:#93a4c7}.app{display:grid;grid-template-columns:1fr 330px;min-height:calc(100vh - 60px)}
main{padding:14px}.panel{background:#0c1324cc;border:1px solid #263451;border-radius:12px;padding:14px;margin-bottom:12px;box-shadow:0 8px 30px #0005}
#map{position:relative;height:calc(100vh - 105px);min-height:620px;overflow:hidden;border-radius:12px;border:1px solid #263451;background:#02050d}
#space,#systemView{width:100%;height:100%;display:block}
#space{cursor:grab}
#systemView{position:absolute;inset:0;background:radial-gradient(circle at 50% 50%,#0d1730,#030711 60%);display:none;overflow:hidden;cursor:grab}
.hint{position:absolute;left:14px;top:12px;background:#0b1324cc;border:1px solid #263451;border-radius:8px;padding:7px 9px;font-size:11px;color:#aebddd;z-index:6}
.system-card{position:absolute;right:14px;top:14px;width:300px;background:#0b1324f2;border:1px solid #40557e;border-radius:12px;padding:14px;box-shadow:0 12px 35px #0008;z-index:5}
.system-card h3{margin:0 0 8px}
.resource-row{display:flex;align-items:center;gap:8px;padding:6px 0;border-top:1px solid #1b2943}
.resource-icon{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:#172442;font-size:12px}
.chevron{float:right}
#backGalaxy{position:absolute;left:14px;bottom:14px;z-index:5;display:none}
.orbit{display:none}.planet-dot{display:none}.sun-core{display:none}
#solarCanvas{width:100%;height:100%;display:block;touch-action:none}
.system-label{position:absolute;left:50%;top:16px;transform:translateX(-50%);z-index:5;background:#0b1324cc;border:1px solid #263451;border-radius:8px;padding:7px 10px;font-size:12px}
.stats{display:grid;grid-template-columns:1fr 1fr;gap:8px}.stat{background:#101a30;padding:9px;border-radius:8px}.value{font-weight:700}
button{background:#172442;color:#eef4ff;border:1px solid #40557e;border-radius:8px;padding:8px 10px;cursor:pointer}button:hover{background:#20345e}
.tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}.tab.active{background:#294779}
.hidden{display:none}.row{display:flex;justify-content:space-between;gap:8px;padding:7px 0;border-bottom:1px solid #1b2943}
@media(max-width:900px){.app{grid-template-columns:1fr}.side{order:-1}.side .panel{margin-bottom:8px}#map{height:65vh;min-height:430px}}

.focus-ring{position:absolute;border:1px solid rgba(115,155,220,.16);border-radius:50%;filter:blur(.2px);pointer-events:none;transform:translate(-50%,-50%);z-index:1}
.system-vignette{position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at center,transparent 35%,rgba(2,5,13,.12) 62%,rgba(2,5,13,.5) 100%);z-index:1}

.planet-info-card{position:absolute;right:16px;bottom:16px;width:310px;background:#0b1324f4;border:1px solid #40557e;border-radius:12px;padding:13px;z-index:7;box-shadow:0 10px 30px #0008;max-height:72%;overflow:auto}
.planet-info-card h4{margin:0}.planet-info-card .bonus{color:#a9d7b2}.planet-info-card .malus{color:#e4aaa7}.planet-info-head{display:block;padding-right:28px}.planet-info-body{margin-top:9px}

.popup-close{
  position:absolute;top:7px;right:8px;width:24px;height:24px;padding:0;
  display:flex;align-items:center;justify-content:center;border-radius:50%;
  border:1px solid #52678d;background:#101b31;color:#dce8ff;
  font-size:16px;line-height:1;cursor:pointer;z-index:20
}

.mission-engine-power,
.mission-fuel-quote {
  border: 1px solid rgba(102, 196, 255, .24);
  border-radius: 12px;
  background: rgba(5, 18, 34, .72);
  padding: 12px;
  display: grid;
  gap: 9px;
}

.mission-engine-power header,
.mission-engine-power header span,
.mission-engine-power > div,
.mission-fuel-quote > div,
.mission-fuel-quote > div span {
  display: flex;
  align-items: center;
  gap: 10px;
}

.mission-engine-power header,
.mission-engine-power > div {
  justify-content: space-between;
}

.mission-engine-power input[type="range"] { flex: 1; }
.mission-engine-power input[type="number"] { width: 74px; }
.mission-fuel-quote > div { flex-wrap: wrap; }
.mission-fuel-quote > div span {
  border-left: 2px solid rgba(102, 196, 255, .38);
  padding-left: 9px;
  flex-wrap: wrap;
}
.mission-fuel-quote p { margin: 0; }
.popup-close:hover{background:#263a60;color:#fff}
.planet-info-card{position:absolute}


/* ============================================================
   GALAXY 001 — UNIFIED APP SHELL v29
   La v28 resta il motore Mappa; Pianeta/Flotta sono viste modulari.
   ============================================================ */
:root{
  --u-bg:#070b12;--u-panel:#111923;--u-panel2:#18232f;--u-panel3:#202d39;
  --u-line:#34465b;--u-line2:#485e76;--u-text:#ece7dc;--u-muted:#93a1b3;
  --u-brass:#c59b57;--u-brass2:#e0c184;--u-good:#8bc399;--u-bad:#d8947e;
  --u-nav-h:64px;--u-safe-b:env(safe-area-inset-bottom,0px);
}
body{min-width:320px;padding:0 0 calc(var(--u-nav-h) + var(--u-safe-b));overflow-x:hidden}
.app-topbar{
  min-height:58px;padding:9px 14px;display:flex;align-items:center;justify-content:space-between;
  gap:12px;border-bottom:1px solid #283748;background:rgba(8,13,21,.96);
  position:sticky;top:0;z-index:30
}
.app-brand{font-family:Georgia,"Times New Roman",serif;letter-spacing:.08em;font-size:17px}
.app-brand small{font-family:system-ui;color:var(--u-muted);letter-spacing:0;font-size:11px}
.app-top-res{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.app-res-chip{border:1px solid #33475c;background:#0e1722;border-radius:999px;padding:5px 9px;font-size:12px}
.app-res-chip b{color:#fff}
.app-view{display:none!important;padding:12px}
.app-view.active{display:block!important}
#galaxyApp .app-view:not(.active){display:none!important}

/* Mappa: motore originale v28, ora dentro una vera vista app. */
.map-page{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:12px;max-width:1600px;margin:0 auto}
.map-main{min-width:0}
.map-page #map{
  height:calc(100vh - 150px);
  min-height:560px;
  border-radius:14px;
}
.map-side{min-width:0}
.map-side .panel{margin:0 0 12px}
.map-side-title{display:flex;justify-content:space-between;align-items:center;gap:8px}
.map-status{
  padding:4px 7px;border:1px solid #344a63;border-radius:999px;
  color:#aebddd;font-size:10px
}
.map-tip{font-size:12px;color:#aebddd;line-height:1.5;margin:9px 0 0}

/* Vista Pianeta */
.planet-page{max-width:1040px;margin:0 auto}
.planet-layout{position:relative}
.planet-head{display:flex;gap:12px;align-items:flex-start;margin:2px 0 12px}
.planet-medallion{
  width:54px;height:54px;border-radius:50%;flex:0 0 auto;
  background:radial-gradient(circle at 35% 30%,#7ea9bd,#365870 55%,#172534);
  border:2px solid #7b8da0;box-shadow:inset -9px -10px 16px rgba(0,0,0,.35)
}
.planet-title h2{font-family:Georgia,"Times New Roman",serif;font-size:20px;margin:2px 0 2px}
.planet-title p{margin:0;color:var(--u-muted);font-size:12px}
.type-tag{
  display:inline-flex;margin-top:6px;padding:3px 8px;
  border:1px solid rgba(197,155,87,.45);border-radius:999px;
  color:var(--u-brass2);font-size:11px
}
.map-dock{
  width:min(350px,100%);border:1px solid #3a4d63;background:rgba(12,19,29,.97);
  border-radius:11px;overflow:hidden;margin:0 0 12px
}
.map-dock-head{
  width:100%;border:0;background:linear-gradient(#182432,#0e1721);color:var(--u-text);
  display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 11px;
  cursor:pointer;text-align:left;min-height:42px
}
.map-dock-head b{font-family:Georgia,"Times New Roman",serif;letter-spacing:.04em}
.dock-status{font-size:11px;color:var(--u-muted);margin-left:auto}
.map-dock-toggle{
  width:24px;height:24px;border:1px solid #52678d;border-radius:6px;padding:0;
  display:grid;place-items:center;background:#101b31;color:#e2eaff;font-size:15px
}
.map-dock-body{height:0;overflow:hidden;transition:height .22s ease}
.map-dock.open .map-dock-body{height:190px}
.mini-map-wrap{height:190px;position:relative;background:#030711}
#miniMapCanvas{width:100%;height:100%;display:block}
.mini-map-open{
  position:absolute;right:8px;bottom:8px;border:1px solid #5a7593;
  background:#111d2b;color:#e7effa;border-radius:7px;padding:6px 9px;cursor:pointer;font-size:12px
}
.mini-map-label{
  position:absolute;left:8px;top:8px;padding:5px 7px;border-radius:7px;
  border:1px solid rgba(82,103,141,.65);background:rgba(8,14,24,.82);
  color:#aebddd;font-size:10px;pointer-events:none
}
.planet-summary{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0 0 13px
}
.planet-summary-card{background:#101925;border:1px solid #2f4054;border-radius:9px;padding:9px}
.planet-summary-card span{
  display:block;color:var(--u-muted);font-size:10px;text-transform:uppercase;letter-spacing:.08em
}
.planet-summary-card b{font-size:14px}
.planet-section-label{
  font-family:Georgia,"Times New Roman",serif;letter-spacing:.08em;
  color:#d8c8a5;font-size:13px;margin:15px 2px 8px
}
.planet-building{
  position:relative;margin-bottom:9px;border:1px solid #263849;border-radius:11px;overflow:hidden;
  background:linear-gradient(180deg,var(--u-panel2),var(--u-panel));
  box-shadow:inset 0 1px rgba(255,255,255,.04)
}
.planet-building::before{
  content:"";position:absolute;top:0;left:12px;right:12px;height:1px;
  background:linear-gradient(90deg,transparent,var(--u-brass),transparent);opacity:.6
}
.planet-building-head{
  width:100%;border:0;background:transparent;color:var(--u-text);padding:11px 12px;min-height:56px;
  display:grid;grid-template-columns:38px minmax(0,1fr) auto auto;align-items:center;gap:9px;
  text-align:left;cursor:pointer
}
.planet-building-icon{
  width:36px;height:36px;border:1px solid #506278;background:#0e1720;
  border-radius:8px;display:grid;place-items:center;font-size:19px
}
.planet-building-name{min-width:0}
.planet-building-name b{font-family:Georgia,"Times New Roman",serif;font-size:14px}
.planet-building-name small{
  display:block;color:var(--u-muted);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis
}
.planet-building-lvl{
  font-size:11px;color:var(--u-brass2);border:1px solid rgba(197,155,87,.35);
  padding:4px 7px;border-radius:999px
}
.planet-building-toggle{
  width:25px;height:25px;padding:0;border:1px solid #465a72;background:#111d2b;color:#dce7f5;
  border-radius:6px;display:grid;place-items:center;font-size:15px
}
.planet-building-body{max-height:0;overflow:hidden;transition:max-height .24s ease;background:rgba(0,0,0,.12)}
.planet-building.open .planet-building-body{max-height:430px}
.planet-building-inner{padding:0 12px 12px}
.planet-building-desc{color:#c7d0dc;font-size:12px;line-height:1.5;margin:9px 1px}
.planet-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.planet-info-cell{background:#0d1620;border:1px solid #263849;border-radius:7px;padding:8px}
.planet-info-cell span{display:block;color:var(--u-muted);font-size:10px}
.planet-info-cell b{font-size:12px}
.planet-action-row{display:flex;gap:8px;margin-top:9px;flex-wrap:wrap}
.planet-btn{
  border:1px solid #465a72;background:linear-gradient(#243342,#151f2a);
  color:var(--u-text);border-radius:7px;padding:8px 11px;min-height:36px;cursor:pointer
}
.planet-btn.primary{
  border-color:#775f35;background:linear-gradient(#d7b66f,#9c7439);color:#21190c;font-weight:700
}

/* Vista Flotta */
.fleet-page{max-width:900px;margin:0 auto}
.fleet-hero,.fleet-card{
  border:1px solid #31445a;background:#101925;border-radius:12px;padding:14px;margin-bottom:10px
}
.fleet-hero h2{font:20px Georgia,"Times New Roman",serif;margin:0 0 5px}
.fleet-hero p{color:#aab6c5;margin:0;font-size:12px;line-height:1.5}
.fleet-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.fleet-stat{background:#0d1620;border:1px solid #2b3c50;border-radius:8px;padding:9px}
.fleet-stat span{display:block;color:#93a4c7;font-size:10px;text-transform:uppercase}
.fleet-stat b{font-size:14px}

/* Navigazione app unica */
.app-bottom-nav{
  position:fixed;left:50%;bottom:0;transform:translateX(-50%);z-index:50;
  width:min(420px,100%);padding:6px 8px calc(6px + var(--u-safe-b));
  border:1px solid #31445a;border-bottom:0;border-radius:12px 12px 0 0;
  background:rgba(8,13,21,.98);display:grid;grid-template-columns:repeat(3,1fr);gap:6px
}
.app-nav-btn{
  min-height:48px;border:1px solid transparent;background:transparent;color:#94a4b8;
  border-radius:9px;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px
}
.app-nav-btn span{font-size:18px}.app-nav-btn small{font-size:10px}
.app-nav-btn.active{color:#f0dfbb;border-color:#5b4d36;background:rgba(197,155,87,.09)}
.app-toast{
  position:fixed;left:50%;bottom:calc(var(--u-nav-h) + var(--u-safe-b) + 14px);
  transform:translateX(-50%);background:#131d29;border:1px solid #5a6f88;border-radius:9px;
  padding:9px 12px;z-index:70;font-size:12px;opacity:0;pointer-events:none;transition:opacity .18s
}
.app-toast.on{opacity:1}

/* Nel nuovo shell il vecchio aside/tab non esiste più. */
.tabs{display:none!important}

@media(min-width:980px){
  .planet-layout{padding-left:370px;min-height:650px}
  .map-dock{position:sticky;float:left;margin-left:-370px;top:74px;width:350px}
  .map-dock.open .map-dock-body{height:225px}
  .map-dock.open .mini-map-wrap{height:225px}
}
@media(max-width:920px){
  .map-page{grid-template-columns:1fr}
  .map-page #map{height:68vh;min-height:460px}
  .map-side{display:grid;grid-template-columns:1fr 1fr;gap:10px}
  .map-side .panel{margin:0}
}
@media(max-width:620px){
  .app-topbar{align-items:flex-start}
  .app-top-res .app-res-chip:nth-child(n/**/+4){display:none}
  .app-view{padding:9px}
  .map-page #map{height:calc(100vh - 155px);min-height:420px}
  .map-side{grid-template-columns:1fr}
  .planet-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
  .planet-building-head{grid-template-columns:38px minmax(0,1fr) auto}
  .planet-building-lvl{grid-column:2;justify-self:start;margin-top:-6px}
  .planet-building-toggle{grid-column:3;grid-row:1 / span 2}
  .planet-info-grid{grid-template-columns:1fr}
  .fleet-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}



/* ============================================================
   GALAXY 001 — v31 PLANET WORKSPACE
   ============================================================ */
.planet-page{
  width:min(1160px,100%);
  margin:0 auto;
}
.planet-layout-v31{
  display:grid;
  grid-template-columns:minmax(0,420px) minmax(0,680px);
  justify-content:center;
  align-items:start;
  gap:22px;
}
.planet-left-column,.planet-main-column{min-width:0}
.planet-main-column{width:100%}
.planet-head-v31{justify-content:flex-start;padding:2px 4px 0}
.map-dock-v31{
  width:420px;
  max-width:100%;
  margin:0;
  margin-left:0;
  float:none;
  position:sticky;
  top:76px;
}
.map-dock-v31 .map-dock-body{height:270px}
.map-dock-v31:not(.open) .map-dock-body{height:0}
.map-dock-v31 .mini-map-wrap{height:270px}
#miniMapCanvas{
  touch-action:none;
  cursor:grab;
}
#miniMapCanvas:active{cursor:grabbing}
.mini-map-label{pointer-events:none}
.mini-map-open{z-index:4}

.planet-module{
  border:1px solid #304257;
  border-radius:11px;
  overflow:hidden;
  background:#101925;
  margin:0 0 10px;
}
.planet-module-head{
  width:100%;
  min-height:58px;
  border:0;
  border-radius:0;
  background:linear-gradient(180deg,#1b2836,#111a25);
  color:#edf2fa;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:10px 13px;
  text-align:left;
}
.planet-module-head > span:first-child{min-width:0}
.planet-module-head b{
  display:block;
  font:15px Georgia,"Times New Roman",serif;
  letter-spacing:.035em;
}
.planet-module-head small{
  display:block;
  color:#93a4b8;
  font-size:10px;
  margin-top:3px;
}
.planet-module-symbol{
  width:27px;height:27px;
  flex:0 0 auto;
  display:grid;place-items:center;
  border:1px solid #52678d;
  border-radius:6px;
  background:#101b31;
  color:#e3ecfa;
  font-size:17px;
}
.planet-module-body{
  height:0;
  overflow:hidden;
  transition:height .2s ease;
}
.planet-module.open .planet-module-body{height:430px}
.module-workspace{
  height:430px;
  display:grid;
  grid-template-columns:210px minmax(0,1fr);
  border-top:1px solid #26384b;
}
.module-nav{
  min-width:0;
  overflow-y:auto;
  overscroll-behavior:contain;
  padding:7px;
  border-right:1px solid #26384b;
  background:#0b131e;
}
.module-nav-btn{
  width:100%;
  min-height:48px;
  border:1px solid transparent;
  border-radius:7px;
  background:transparent;
  color:#b9c5d6;
  display:grid;
  grid-template-columns:31px minmax(0,1fr);
  gap:7px;
  align-items:center;
  padding:6px 7px;
  text-align:left;
  margin-bottom:4px;
}
.module-nav-btn:hover{background:#152131}
.module-nav-btn.active{
  border-color:#6d5938;
  background:rgba(197,155,87,.10);
  color:#f0dfbb;
}
.module-nav-icon{
  width:30px;height:30px;
  display:grid;place-items:center;
  border:1px solid #3c5066;
  background:#111c29;
  border-radius:6px;
  font-size:16px;
}
.module-nav-copy{min-width:0}
.module-nav-copy b{
  display:block;
  font-size:11px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.module-nav-copy small{
  display:block;
  color:#7f91a7;
  font-size:9px;
  margin-top:2px;
}
.module-detail{
  min-width:0;
  overflow-y:auto;
  overscroll-behavior:contain;
  padding:15px 16px;
  background:linear-gradient(180deg,rgba(20,31,44,.74),rgba(9,15,23,.9));
}
.module-detail-header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  padding-bottom:10px;
  border-bottom:1px solid #26384b;
}
.module-detail-title{display:flex;gap:10px;align-items:center;min-width:0}
.module-detail-title .big-icon{
  width:42px;height:42px;
  flex:0 0 auto;
  display:grid;place-items:center;
  border:1px solid #506278;
  background:#0e1720;
  border-radius:8px;
  font-size:21px;
}
.module-detail-title h3{
  margin:0;
  font:16px Georgia,"Times New Roman",serif;
}
.module-detail-title p{
  margin:3px 0 0;
  color:#93a4b8;
  font-size:10px;
}
.module-level{
  color:#e0c184;
  font-size:11px;
  border:1px solid rgba(197,155,87,.4);
  border-radius:999px;
  padding:4px 7px;
  white-space:nowrap;
}
.module-desc{
  color:#c8d2df;
  font-size:12px;
  line-height:1.55;
  margin:12px 0;
}
.module-stats{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:7px;
}
.module-stat{
  border:1px solid #293b4e;
  border-radius:7px;
  background:#0b141e;
  padding:9px;
}
.module-stat span{display:block;color:#8192a7;font-size:9px;text-transform:uppercase;letter-spacing:.05em}
.module-stat b{font-size:12px}
.module-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.module-empty{
  height:100%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  color:#9cabbc;
  padding:22px;
}
.module-empty .empty-icon{font-size:34px;margin-bottom:10px}
.module-empty b{color:#e8edf5;font:15px Georgia,"Times New Roman",serif}
.module-empty p{font-size:11px;line-height:1.5;max-width:360px}

/* Keep the app page itself stable; navigation happens inside module bodies. */
#view-planet.app-view.active{
  min-height:calc(100vh - 130px);
}
#view-planet .planet-main-column{
  padding-bottom:10px;
}

@media(max-width:980px){
  .planet-layout-v31{
    grid-template-columns:minmax(0,760px);
    gap:12px;
  }
  .planet-left-column{display:flex;justify-content:center}
  .map-dock-v31{
    position:static;
    width:min(420px,100%);
    margin-left:0;
    float:none;
  }
}
@media(max-width:620px){
  .planet-page{width:100%}
  .planet-layout-v31{display:block}
  .map-dock-v31{width:100%}
  .map-dock-v31 .map-dock-body{height:228px}
  .map-dock-v31:not(.open) .map-dock-body{height:0}
  .map-dock-v31 .mini-map-wrap{height:228px}
  .planet-head-v31{margin-top:11px}
  .planet-module.open .planet-module-body{height:470px}
  .module-workspace{
    height:470px;
    display:grid;
    grid-template-columns:1fr;
    grid-template-rows:126px minmax(0,1fr);
  }
  .module-nav{
    display:flex;
    overflow-x:auto;
    overflow-y:hidden;
    border-right:0;
    border-bottom:1px solid #26384b;
    gap:5px;
    padding:7px;
    scroll-snap-type:x proximity;
  }
  .module-nav-btn{
    flex:0 0 150px;
    height:108px;
    margin:0;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    justify-content:center;
    scroll-snap-align:start;
  }
  .module-nav-copy b{white-space:normal;line-height:1.2}
  .module-detail{padding:12px}
  .module-stats{grid-template-columns:1fr}
}



/* v32 performance + mobile interaction hardening */
html,body{overscroll-behavior:none}
button,[role="button"]{touch-action:manipulation}
.app-bottom-nav{
  z-index:1000!important;
  pointer-events:auto!important;
  isolation:isolate;
}
.app-bottom-nav .app-nav-btn{
  pointer-events:auto!important;
  -webkit-tap-highlight-color:transparent;
}
.app-view{padding-bottom:18px}
#gameBoot{
  position:fixed;inset:0;z-index:5000;
  display:flex;align-items:center;justify-content:center;
  background:#070b12;color:#eaf0ff;
  font:14px system-ui,-apple-system,Segoe UI,sans-serif;
}
#gameBoot.hidden{display:none}
#gameBoot .bootbox{
  width:min(360px,calc(100% - 32px));padding:18px;
  border:1px solid #31445a;border-radius:12px;background:#0d1622;text-align:center
}
#gameBoot small{display:block;color:#91a4bb;margin-top:7px;line-height:1.4}
#onlineRequired{
  position:fixed;inset:0;z-index:6000;
  display:none;align-items:center;justify-content:center;
  padding:20px;background:rgba(4,8,13,.97);color:#edf3fc;
  font-family:system-ui,-apple-system,Segoe UI,sans-serif
}
#onlineRequired.show{display:flex}
#onlineRequired .offline-card{
  width:min(420px,100%);padding:20px;border:1px solid #465c75;
  border-radius:13px;background:#101a26;text-align:center
}
#onlineRequired h2{font:20px Georgia,serif;margin:0 0 8px}
#onlineRequired p{color:#a7b5c5;font-size:12px;line-height:1.55}
#onlineRequired button{margin-top:8px;min-height:42px;padding:8px 14px}
@media(max-width:620px){
  body{padding-bottom:calc(74px + env(safe-area-inset-bottom,0px))}
  .app-bottom-nav{width:100%;border-radius:0}
  .app-nav-btn{min-height:52px}
}

.install-app-btn{
  min-height:31px;padding:5px 9px;border-radius:999px;
  border:1px solid #735f3d;background:rgba(197,155,87,.12);
  color:#ead5aa;font-size:11px;white-space:nowrap;touch-action:manipulation
}
.install-app-btn[hidden]{display:none!important}


/* v33 — otto pianeti assegnati: selettore compatto e responsive */
.owned-planets-panel{
  border:1px solid #304257;
  border-radius:11px;
  background:#0e1722;
  padding:9px;
  margin:0 0 10px;
}
.owned-planets-head{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:10px;
  padding:1px 2px 8px;
}
.owned-planets-head b{
  font:13px Georgia,"Times New Roman",serif;
  color:#e7dfcf;
}
.owned-planets-head span{
  color:#8293a8;
  font-size:9px;
}
.owned-planets-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:6px;
}
.owned-planet-btn{
  min-width:0;
  min-height:48px;
  padding:6px 7px;
  border:1px solid #304258;
  border-radius:8px;
  background:#101a26;
  color:#c7d2e0;
  display:grid;
  grid-template-columns:25px minmax(0,1fr);
  gap:6px;
  align-items:center;
  text-align:left;
}
.owned-planet-btn:hover{background:#162333}
.owned-planet-btn.active{
  border-color:#80683f;
  background:rgba(197,155,87,.12);
  color:#f0dfbb;
}
.owned-planet-index{
  width:25px;height:25px;
  display:grid;place-items:center;
  border-radius:50%;
  background:#162538;
  border:1px solid #425870;
  font-size:10px;font-weight:700;
}
.owned-planet-btn.active .owned-planet-index{
  border-color:#9a7944;
  background:#3a2d19;
}
.owned-planet-copy{min-width:0}
.owned-planet-copy b{
  display:block;
  font-size:10px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.owned-planet-copy small{
  display:block;
  margin-top:2px;
  color:#8293a8;
  font-size:8px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.planet-summary{grid-template-columns:repeat(4,minmax(0,1fr))!important}

@media(max-width:620px){
  .owned-planets-head{align-items:flex-start;flex-direction:column;gap:2px}
  .owned-planets-grid{
    display:flex;
    overflow-x:auto;
    overscroll-behavior-x:contain;
    scroll-snap-type:x proximity;
    padding-bottom:2px;
  }
  .owned-planet-btn{
    flex:0 0 145px;
    scroll-snap-align:start;
  }
  .planet-summary{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .planet-summary-card{padding:8px 6px}
}


/* ============================================================
   GALAXY 001 v46 — risorse, mini-mappa POI e menu edifici
   ============================================================ */

/* Risorse: una barra unica. Il fronte contiene le quattro risorse; il retro
   mostra esclusivamente i consumi delle riparazioni automatiche attive. */
.resource-summary{gap:0!important}
.resource-unified-bar{
  grid-column:1/-1;
  position:relative;
  width:100%;
  min-height:74px;
  padding:0!important;
  overflow:hidden;
  cursor:pointer;
  perspective:1100px;
  transition:min-height .28s ease,border-color .2s ease,box-shadow .2s ease;
}
.resource-unified-bar:focus-visible{outline:2px solid #6fa9d9;outline-offset:2px}
.resource-card-flipper{
  position:relative;
  min-height:72px;
  transform-style:preserve-3d;
  transition:transform .38s ease,min-height .28s ease;
}
.resource-card-face{backface-visibility:hidden;-webkit-backface-visibility:hidden}
.resource-card-front{
  position:relative;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr)) minmax(82px,.55fr);
  min-height:72px;
  align-items:stretch;
}
.resource-extra-window{display:grid;grid-template-rows:1fr 1fr;border-left:1px solid #2f4054;background:rgba(9,22,34,.42)}
.resource-extra-window>span{display:grid;grid-template-columns:22px 1fr;grid-template-rows:auto auto;align-content:center;padding:5px 8px;min-width:0}
.resource-extra-window>span+span{border-top:1px solid #2f4054}
.resource-extra-window i{grid-row:1/3;align-self:center;font-style:normal;font-size:9px;width:19px;height:19px;border:1px solid #587189;border-radius:50%;display:grid;place-items:center;color:#b9d4e8}
.resource-extra-window small{font-size:7px;text-transform:uppercase;color:#8195aa}.resource-extra-window b{font-size:11px;color:#e1edf7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.resource-unified-bar .resource-meter-card{
  position:relative;
  min-width:0;
  min-height:72px;
  margin:0;
  padding:9px 18px 9px 9px!important;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:7px;
  overflow:hidden;
  border:0!important;
  border-right:1px solid #2f4054!important;
  border-radius:0;
  background:transparent!important;
  box-shadow:none!important;
}
.resource-unified-bar .resource-meter-card:last-child{border-right:0!important}
.resource-unified-bar .resource-meter-card.resource-helium{background:transparent!important}
.resource-unified-bar:has(.resource-meter-card[data-resource-card="energy"].energy-negative){
  border-color:rgba(255,72,72,.82)!important;
  box-shadow:0 0 10px rgba(255,44,44,.62),0 0 28px rgba(255,35,35,.34),inset 0 0 18px rgba(145,0,0,.22)!important;
  animation:energy-deficit-glare 1.8s ease-in-out infinite;
}
.resource-card-back{
  position:absolute;
  inset:0;
  transform:rotateY(180deg);
  overflow:auto;
  scrollbar-width:thin;
  padding:10px 12px;
  box-sizing:border-box;
}
.resource-unified-bar.details-open{min-height:272px}
.resource-unified-bar.details-open .resource-card-flipper{min-height:270px;transform:rotateY(180deg)}
.resource-unified-bar.details-open.details-expanded{min-height:438px}
.resource-unified-bar.details-open.details-expanded .resource-card-flipper{min-height:436px}
.resource-consumption-details{z-index:2;font-size:10px;text-align:left}
.resource-consumption-head{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:10px;
  min-height:27px;
  padding-bottom:6px;
  border-bottom:1px solid #28394d;
}
.resource-consumption-head strong{color:#dbe7f3;font-size:11px;text-transform:uppercase;letter-spacing:.09em}
.resource-consumption-head span{color:#8195aa;font-size:9px}
.repair-consumption-list{display:grid;gap:4px;max-height:158px;padding:5px 0;overflow:hidden}
.details-expanded .repair-consumption-list{max-height:320px;overflow:auto;scrollbar-width:thin}
.repair-consumption-row{
  display:grid;
  grid-template-columns:minmax(150px,.8fr) minmax(300px,2fr) minmax(105px,.55fr);
  align-items:center;
  gap:9px;
  min-height:45px;
  padding:4px 7px;
  border:1px solid #263b4f;
  border-radius:6px;
  background:#0a1621;
}
.repair-consumption-row.paused{border-color:#6f5338;background:#1a1510}
.resource-unified-bar .repair-unit-identity{
  display:flex;
  align-items:center;
  min-width:0;
  gap:7px;
}
.repair-unit-identity>span{min-width:0}
.repair-unit-identity b,.repair-unit-identity small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.repair-unit-identity b{color:#d6e1ec;font-size:9px}
.repair-unit-identity small{margin-top:2px;color:#72879b;font-size:7px;text-transform:uppercase}
.repair-unit-image,.repair-unit-glyph{
  display:inline-grid;
  place-items:center;
  width:34px;
  height:34px;
  min-width:34px;
  object-fit:contain;
  border:1px solid #34516b;
  border-radius:6px;
  background:#09131d;
  filter:drop-shadow(0 0 6px rgba(83,157,205,.2));
}
.repair-unit-glyph{font-size:18px}
.resource-unified-bar .repair-resource-rates{display:grid;grid-template-columns:repeat(4,minmax(66px,1fr));gap:4px;min-width:0}
.repair-resource-rate{display:grid!important;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:1px 4px;padding:3px 5px;border:1px solid #293e52;border-radius:5px;background:#0b1925}
.repair-resource-rate .resource-name-with-icon{grid-column:1/-1;color:#8499ae;font-size:7px;text-transform:uppercase;letter-spacing:.04em}
.repair-resource-rate b{grid-column:1/-1;color:#dce8f5;font-size:9px;white-space:nowrap}
.repair-no-cost{grid-column:1/-1;color:#70859a;text-align:center}
.resource-unified-bar .repair-remaining{display:block;text-align:right}
.repair-remaining small,.repair-remaining b{display:block}
.repair-remaining small{color:#71869b;font-size:7px;text-transform:uppercase}
.repair-remaining b{margin-top:3px;color:#d8bd7d;font-size:10px;white-space:nowrap}
.repair-consumption-row.paused .repair-remaining b{color:#df936f}
.repair-empty{margin:48px 0;color:#7f91a7;text-align:center}
.repair-consumption-total{display:grid;grid-template-columns:minmax(150px,.8fr) minmax(300px,2fr) minmax(105px,.55fr);align-items:center;gap:9px;padding:6px 7px;border-top:1px solid #34495e}
.repair-consumption-total>span:first-child{display:grid;gap:2px}
.repair-consumption-total small{color:#aebfd0;font-size:8px;text-transform:uppercase;letter-spacing:.07em}
.repair-consumption-total em{color:#d08a67;font-size:7px;font-style:normal}
.resource-consumption-expand{
  display:block;
  width:min(220px,100%);
  margin:4px auto 0;
  padding:3px 5px;
  border:1px solid #31485e;
  border-radius:4px;
  background:#111e2a;
  color:#9fc4e2;
  font:inherit;
  cursor:pointer;
}
.resource-consumption-expand:hover{border-color:#5684aa;color:#d5ecff}
.resource-identity-icon{
  display:inline-grid!important;
  place-items:center;
  width:16px;
  height:16px;
  color:#b8d8ed;
  font-size:13px;
  line-height:1;
  text-transform:none;
  letter-spacing:0;
  filter:drop-shadow(0 0 5px rgba(113,209,255,.22));
}
.resource-identity-icon:is(img){object-fit:contain}
.resource-stock{min-width:0}
.resource-stock>span{
  display:block;
  color:#93a1b3;
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:.08em
}
.resource-stock b{
  display:block;
  margin-top:3px;
  font-size:15px!important;
  white-space:nowrap
}
.resource-stock .resource-category-label{display:block;margin-top:1px;color:#60788d;font-size:6px;line-height:1;text-transform:uppercase;letter-spacing:.06em}
.resource-production{
  min-width:70px;
  text-align:center;
  border-left:1px solid #28394d;
  padding-left:7px
}
.resource-production small{
  display:block;
  font-size:8px;
  color:#7f91a7;
  text-transform:uppercase;
  letter-spacing:.04em
}
.resource-production b{
  display:block;
  margin-top:3px;
  font-size:10px!important;
  font-weight:400!important;
  white-space:nowrap
}
.resource-production.normal b{color:#78ca8c}
.resource-production.damaged b{color:#e3bf58}
.resource-production.destroyed b{color:#e36f66}
.resource-production.energy-surplus b{color:#78ca8c}
.resource-production.energy-deficit b{color:#e36f66}
.resource-meter-card[data-resource-card="energy"].energy-negative{
  background:linear-gradient(180deg,rgba(82,12,16,.35),rgba(35,8,12,.18))!important;
}
.resource-meter-card[data-resource-card="energy"].energy-negative::after{
  content:"";position:absolute;inset:-2px;border-radius:inherit;pointer-events:none;
  background:radial-gradient(circle at 78% 20%,rgba(255,96,96,.26),transparent 52%);
}
@keyframes energy-deficit-glare{
  0%,100%{filter:saturate(1);}
  50%{filter:saturate(1.24);box-shadow:0 0 14px rgba(255,44,44,.8),0 0 36px rgba(255,35,35,.44),inset 0 0 22px rgba(145,0,0,.3);}
}
@media (prefers-reduced-motion:reduce){
  .resource-unified-bar:has(.resource-meter-card[data-resource-card="energy"].energy-negative){animation:none}
}
.storage-gauge{
  position:absolute;
  right:6px;
  top:8px;
  bottom:8px;
  width:5px;
  border-radius:4px;
  background:#09111a;
  border:1px solid #33485f;
  overflow:hidden
}
.storage-gauge i{
  position:absolute;
  left:-1px;right:-1px;bottom:-1px;
  height:0%;
  border-radius:3px;
  background:linear-gradient(to top,#526f91,#8fb1d4);
  transition:height .28s ease
}

@media(max-width:760px){
  .resource-card-front{grid-template-columns:repeat(2,minmax(0,1fr))}
  .resource-card-flipper,.resource-card-front{min-height:140px}
  .resource-unified-bar{min-height:142px}
  .resource-unified-bar .resource-meter-card:nth-child(2){border-right:0!important}
  .resource-unified-bar .resource-meter-card:nth-child(-n+2){border-bottom:1px solid #2f4054!important}
  .repair-consumption-row,.repair-consumption-total{grid-template-columns:minmax(125px,.75fr) minmax(220px,1.7fr) minmax(90px,.5fr)}
  .resource-unified-bar.details-open{min-height:282px}
  .resource-unified-bar.details-open .resource-card-flipper{min-height:280px}
}
@media(max-width:560px){
  .resource-unified-bar.details-open{min-height:390px}
  .resource-unified-bar.details-open .resource-card-flipper{min-height:388px}
  .resource-unified-bar.details-open.details-expanded{min-height:520px}
  .resource-unified-bar.details-open.details-expanded .resource-card-flipper{min-height:518px}
  .repair-consumption-row{grid-template-columns:minmax(0,1fr) auto;gap:6px}
  .repair-consumption-row .repair-resource-rates{grid-column:1/-1}
  .repair-consumption-total{grid-template-columns:1fr}
  .resource-unified-bar .repair-resource-rates{grid-template-columns:repeat(2,minmax(0,1fr))}
  .resource-consumption-head{display:grid;gap:2px}
}

/* Mini-mappa galassia/sistema. */
.mini-back-galaxy{
  position:absolute;
  left:8px;
  top:8px;
  z-index:7;
  min-height:28px;
  padding:4px 7px;
  border-radius:7px;
  border:1px solid #52678d;
  background:rgba(10,18,29,.92);
  color:#dbe7f6;
  font-size:10px
}
.mini-back-galaxy[hidden]{display:none!important}
.mini-object-info{
  position:absolute;
  z-index:6;
  left:8px;
  bottom:8px;
  width:min(230px,62%);
  padding:7px 8px;
  border:1px solid #405672;
  border-radius:8px;
  background:rgba(7,13,22,.93);
  box-shadow:0 7px 20px rgba(0,0,0,.35);
  pointer-events:none
}
.mini-object-info[hidden]{display:none!important}
.mini-object-info-head{
  display:flex;
  align-items:center;
  gap:6px;
  min-width:0
}
.mini-object-info-head span{
  width:20px;height:20px;
  display:grid;place-items:center;
  flex:0 0 auto;
  border:1px solid #465d77;
  border-radius:50%;
  background:#111e2d;
  font-size:10px
}
.mini-object-info-head b{
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  font-size:11px
}
.mini-object-info small{
  display:block;
  margin-top:3px;
  color:#d4b876;
  font-size:8px;
  text-transform:uppercase;
  letter-spacing:.06em
}
.mini-object-info p{
  margin:3px 0 0;
  color:#9dafc3;
  font-size:9px;
  line-height:1.35
}
.mini-map-wrap.system-mode .mini-map-label{
  left:78px;
  max-width:calc(100% - 170px)
}

/* Marker legend is encoded by shape:
   pianeta=circle, station=diamond, portal=ring, event=triangle. */
#miniMapCanvas{touch-action:none}

/* Internal building nav has enough room for the new structures without
   changing the height of the whole planet page. */
#buildingNav{scrollbar-width:thin}
.module-nav-btn[data-building-select="shipyard"],
.module-nav-btn[data-building-select="workshop"],
.module-nav-btn[data-building-select="market"],
.module-nav-btn[data-building-select="vault"]{
  border-left:2px solid rgba(197,155,87,.35)
}

@media(max-width:620px){
  .resource-meter-card{
    min-height:68px;
    padding:7px 14px 7px 6px!important;
    gap:4px
  }
  .resource-stock b{font-size:12px!important}
  .resource-production{
    min-width:54px;
    padding-left:4px
  }
  .resource-production small{font-size:7px}
  .resource-production b{font-size:9px!important;font-weight:400!important}
  .storage-gauge{right:4px;top:7px;bottom:7px;width:4px}
  .mini-object-info{width:min(205px,68%)}
}



/* ============================================================
   GALAXY 001 v46 — servizi principali / cantiere / officina / mercato
   ============================================================ */
.planet-primary-services{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  margin:10px 0
}
.primary-service-card{
  min-width:0;
  min-height:66px;
  display:grid;
  grid-template-columns:38px minmax(0,1fr) auto;
  align-items:center;
  gap:8px;
  padding:8px 10px;
  border:1px solid #344a61;
  border-radius:10px;
  background:linear-gradient(180deg,#172536,#0f1824);
  color:#eaf0f8;
  text-align:left;
  cursor:pointer;
  touch-action:manipulation
}
.primary-service-card:hover{
  border-color:#647b97;
  background:linear-gradient(180deg,#1b2d41,#111c29)
}
.primary-service-card:focus-visible{
  outline:2px solid #c59b57;
  outline-offset:2px
}
.primary-service-icon{
  width:36px;height:36px;
  display:grid;place-items:center;
  border:1px solid #425a74;
  border-radius:9px;
  background:#0c1621;
  font-size:19px
}
.primary-service-copy{min-width:0}
.primary-service-copy b{
  display:block;
  font:13px Georgia,"Times New Roman",serif
}
.primary-service-copy small{
  display:block;
  margin-top:3px;
  color:#8fa1b6;
  font-size:9px;
  line-height:1.25
}
.primary-service-count{
  min-width:44px;
  text-align:center;
  padding-left:7px;
  border-left:1px solid #2c3d50
}
.primary-service-count b{
  display:block;
  color:#e0c184;
  font-size:14px
}
.primary-service-count small{
  display:block;
  color:#788a9f;
  font-size:7px;
  text-transform:uppercase;
  white-space:nowrap
}
.primary-service-arrow{
  color:#d8bd83;
  font-size:24px;
  padding-right:2px
}

/* Modal service workspace: fixed shell, scroll only inside the lists. */
.service-overlay{
  position:fixed;
  inset:0;
  z-index:2200;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:16px;
  background:rgba(2,6,11,.80);
  backdrop-filter:blur(3px)
}
.service-overlay[hidden]{display:none!important}
.service-dialog{
  width:min(860px,100%);
  height:min(680px,calc(100vh - 34px));
  display:grid;
  grid-template-rows:auto minmax(0,1fr);
  overflow:hidden;
  border:1px solid #425a73;
  border-radius:13px;
  background:#0b141f;
  box-shadow:0 24px 70px rgba(0,0,0,.55)
}
.service-dialog-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px 14px;
  border-bottom:1px solid #2a3c50;
  background:linear-gradient(180deg,#182738,#101a27)
}
.service-dialog-head small{
  display:block;
  color:#c7a665;
  font-size:8px;
  text-transform:uppercase;
  letter-spacing:.09em
}
.service-dialog-head h2{
  margin:2px 0 0;
  font:20px Georgia,"Times New Roman",serif
}
.service-close{
  width:36px;height:36px;
  display:grid;place-items:center;
  flex:0 0 auto;
  border:1px solid #50667f;
  border-radius:8px;
  background:#0e1824;
  color:#e7eef7;
  font-size:23px;
  cursor:pointer
}
.service-dialog-body{
  min-height:0;
  overflow:hidden;
  padding:12px
}
.service-dashboard{
  height:100%;
  display:grid;
  grid-template-rows:auto minmax(0,1fr);
  gap:10px
}
.service-stats{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:7px
}
.service-stat{
  min-width:0;
  padding:8px 9px;
  border:1px solid #2b3e53;
  border-radius:8px;
  background:#0d1824
}
.service-stat small{
  display:block;
  color:#8396aa;
  font-size:8px;
  text-transform:uppercase;
  letter-spacing:.06em
}
.service-stat b{
  display:block;
  margin-top:3px;
  font-size:13px
}
.service-scroll-list{
  min-height:0;
  overflow-y:auto;
  overscroll-behavior:contain;
  scrollbar-width:thin;
  padding-right:3px
}
.catalog-row{
  display:grid;
  grid-template-columns:42px minmax(0,1fr) auto auto;
  gap:9px;
  align-items:center;
  min-height:66px;
  padding:8px;
  margin-bottom:6px;
  border:1px solid #27394c;
  border-radius:9px;
  background:#0e1823
}
.catalog-icon{
  width:40px;height:40px;
  display:grid;place-items:center;
  border:1px solid #405873;
  border-radius:8px;
  background:#09131e;
  font-size:19px
}
.catalog-copy{min-width:0}
.catalog-copy b{
  display:block;
  font-size:12px
}
.catalog-copy small{
  display:block;
  margin-top:3px;
  color:#8495aa;
  font-size:9px;
  line-height:1.3
}
.catalog-owned{
  min-width:54px;
  text-align:center;
  padding:4px 7px;
  border-left:1px solid #293b4f
}
.catalog-owned b{
  display:block;
  color:#e0c184;
  font-size:12px
}
.catalog-owned small{
  display:block;
  color:#76889d;
  font-size:7px;
  text-transform:uppercase
}
.catalog-action{
  min-height:34px;
  padding:6px 9px;
  border:1px solid #6d5938;
  border-radius:7px;
  background:rgba(197,155,87,.12);
  color:#e9d4a7;
  font-size:10px;
  cursor:pointer
}

/* v47.5.4 · catalogo navale PWA */
.service-dialog.ship-catalog-dialog{
  width:min(1180px,100%);
  height:min(820px,calc(100vh - 28px));
  border-color:#6d5733;
  background:#07111c
}
.ship-catalog-dialog .service-dialog-head{
  border-bottom-color:#6d5733;
  background:linear-gradient(180deg,#172534,#0b1520)
}
.ship-catalog-dialog .service-dialog-body{
  padding:0;
  background:
    radial-gradient(circle at 35% 8%,rgba(30,72,111,.22),transparent 42%),
    #07111c
}
.ship-catalog-shell{
  height:100%;
  overflow-y:auto;
  overscroll-behavior:contain;
  scrollbar-width:thin;
  color:#e9edf2
}
.ship-catalog-toolbar{
  position:sticky;
  top:0;
  z-index:5;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:10px 12px;
  border-bottom:1px solid #463a27;
  background:rgba(7,17,28,.94);
  backdrop-filter:blur(8px)
}
.ship-filter-tabs,.ship-variant-toggle{
  display:flex;
  gap:5px;
  min-width:0
}
.ship-filter-tabs button,.ship-variant-toggle button{
  min-height:34px;
  padding:7px 11px;
  border:1px solid #34485e;
  border-radius:5px;
  background:#0b1724;
  color:#91a3b7;
  font-size:9px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.055em;
  cursor:pointer
}
.ship-filter-tabs button.active,.ship-variant-toggle button.active{
  border-color:#a98245;
  color:#f2d69a;
  background:linear-gradient(180deg,#2e281d,#171b1d);
  box-shadow:inset 0 0 0 1px rgba(224,182,98,.12)
}
.ship-featured{
  display:grid;
  grid-template-columns:minmax(0,1.18fr) minmax(340px,.82fr);
  min-height:390px;
  border-bottom:1px solid #59472c
}
.ship-featured-visual{
  position:relative;
  min-height:390px;
  display:grid;
  place-items:center;
  overflow:hidden;
  border-right:1px solid #59472c;
  background:
    radial-gradient(circle at 50% 58%,rgba(31,87,137,.30),transparent 42%),
    linear-gradient(180deg,rgba(7,18,30,.30),rgba(3,9,15,.75))
}
.ship-featured-visual::before{
  content:"";
  position:absolute;
  inset:0;
  opacity:.20;
  background-image:
    linear-gradient(rgba(91,128,160,.12) 1px,transparent 1px),
    linear-gradient(90deg,rgba(91,128,160,.12) 1px,transparent 1px);
  background-size:44px 44px
}
.ship-featured-visual img{
  position:relative;
  z-index:1;
  width:94%;
  height:350px;
  object-fit:contain;
  filter:drop-shadow(0 20px 24px rgba(0,0,0,.58))
}
.ship-featured-variant{
  position:absolute;
  z-index:2;
  left:12px;
  bottom:11px;
  padding:5px 8px;
  border:1px solid #715b36;
  border-radius:4px;
  color:#d8bd85;
  background:rgba(6,14,22,.84);
  font-size:8px;
  text-transform:uppercase;
  letter-spacing:.08em
}
.ship-featured-level{
  position:absolute;
  z-index:3;
  top:15px;
  left:15px;
  width:76px;
  height:76px;
  display:grid;
  grid-template-columns:1fr auto;
  grid-template-rows:auto 1fr;
  align-items:center;
  justify-items:center;
  padding:12px 12px 10px;
  border:1px solid #e1aa4f;
  border-radius:50%;
  color:#fff4d5;
  background:
    radial-gradient(circle at 42% 38%,rgba(81,198,255,.92),rgba(8,80,143,.96) 35%,rgba(2,20,36,.98) 69%),
    #041321;
  box-shadow:
    inset 0 0 0 3px #03101c,
    inset 0 0 0 4px rgba(238,184,88,.65),
    0 0 18px rgba(36,169,255,.48),
    0 7px 16px rgba(0,0,0,.55);
  font-style:normal;
  line-height:1
}
.ship-featured-level small{
  grid-column:1/-1;
  color:#f1c779;
  font-size:7px;
  font-weight:800;
  letter-spacing:.1em
}
.ship-featured-level b{font:700 28px/1 Georgia,"Times New Roman",serif;text-shadow:0 0 9px #29a9ff}
.ship-featured-level em{align-self:end;margin-bottom:4px;color:#acdfff;font-size:8px;font-style:normal}
.ship-featured-info{
  min-width:0;
  padding:18px;
  background:linear-gradient(145deg,rgba(17,29,42,.88),rgba(7,16,25,.92))
}
.ship-featured-kicker{
  margin:0;
  color:#b79355;
  font-size:8px;
  font-weight:800;
  letter-spacing:.12em
}
.ship-featured-info h3{
  margin:5px 0 2px;
  color:#f0d59a;
  font:27px Georgia,"Times New Roman",serif;
  letter-spacing:.02em
}
.ship-featured-class{
  margin:0;
  color:#b9c6d3;
  font:11px Georgia,"Times New Roman",serif
}
.ship-featured-class b{color:#e5c47f}
.ship-featured-role{
  margin:7px 0 12px;
  color:#7f93a8;
  font-size:9px
}
.ship-stat-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:6px
}
.ship-stat{
  min-width:0;
  padding:7px;
  border:1px solid #33485d;
  border-radius:5px;
  background:#091522
}
.ship-stat small{
  display:block;
  color:#788da2;
  font-size:7px;
  text-transform:uppercase
}
.ship-stat b{
  display:block;
  overflow:hidden;
  margin-top:3px;
  color:#d9e3ed;
  font-size:10px;
  text-overflow:ellipsis;
  white-space:nowrap
}
.ship-stat.pending b{color:#718397;font-size:8px}
.ship-ability-list{
  display:grid;
  gap:6px;
  margin-top:10px
}
.ship-ability-list article{
  padding:7px 9px;
  border-left:2px solid #b68b44;
  background:rgba(177,133,62,.08)
}
.ship-ability-list b{color:#e7c984;font-size:9px}
.ship-ability-list p{
  margin:2px 0 0;
  color:#9dabb9;
  font-size:8px;
  line-height:1.4
}
.ship-ability-list.pending article{border-left-color:#40556b}
.ship-featured-actions{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  margin-top:12px
}
.ship-featured-actions span{color:#9fb0bf;font-size:8px}
.ship-featured-actions button{
  min-height:34px;
  padding:7px 10px;
  border:1px solid #3d5063;
  border-radius:5px;
  color:#728293;
  background:#111a23;
  font-size:8px
}
.ship-catalog-summary{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1px;
  border-bottom:1px solid #493a26;
  background:#493a26
}
.ship-catalog-summary span{
  padding:8px 12px;
  color:#8294a6;
  background:#0b1621;
  font-size:8px;
  text-align:center
}
.ship-catalog-summary b{color:#e1c17f;font-size:11px}
.ship-card-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  padding:10px
}
.ship-catalog-card{
  min-width:0;
  padding:0;
  overflow:hidden;
  border:1px solid #33485d;
  border-radius:7px;
  color:#e8edf3;
  background:#0a1520;
  text-align:left;
  cursor:pointer;
  transition:border-color .15s ease,transform .15s ease,background .15s ease
}
.ship-catalog-card:hover,.ship-catalog-card.selected{
  border-color:#a47e41;
  background:#101c27
}
.ship-catalog-card:hover{transform:translateY(-1px)}
.ship-catalog-card:focus-visible{outline:2px solid #d2aa64;outline-offset:2px}
.ship-card-image-wrap{
  position:relative;
  display:block;
  height:128px;
  overflow:hidden;
  border-bottom:1px solid #2d4053;
  background:
    radial-gradient(circle at 55% 60%,rgba(35,91,141,.24),transparent 45%),
    #07111b
}
.ship-card-image-wrap img{
  width:100%;
  height:100%;
  object-fit:contain;
  filter:drop-shadow(0 8px 9px rgba(0,0,0,.55));
  transition:transform .18s ease
}
.ship-catalog-card:hover .ship-card-image-wrap img{transform:scale(1.035)}
.ship-level-badge{
  position:absolute;
  z-index:3;
  top:7px;
  left:7px;
  width:48px;
  height:48px;
  display:grid;
  grid-template-columns:1fr auto;
  grid-template-rows:auto 1fr;
  align-items:center;
  justify-items:center;
  padding:8px 7px 6px;
  border:1px solid #dca74d;
  border-radius:50%;
  color:#fff4d5;
  background:radial-gradient(circle at 40% 34%,#50c8ff,#0964ac 38%,#031627 72%);
  box-shadow:inset 0 0 0 2px #03101b,inset 0 0 0 3px rgba(239,185,87,.62),0 0 13px rgba(33,169,255,.46),0 5px 11px rgba(0,0,0,.55);
  font-style:normal;
  line-height:1
}
.ship-level-badge small{grid-column:1/-1;color:#f1c779;font-size:6px;font-weight:800;letter-spacing:.08em}
.ship-level-badge b{font:700 18px/1 Georgia,"Times New Roman",serif;text-shadow:0 0 7px #27aaff}
.ship-level-badge em{align-self:end;margin-bottom:2px;color:#b5e3ff;font-size:6px;font-style:normal}
.ship-type-badges{
  position:absolute;
  top:7px;
  right:7px;
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:4px;
  max-width:calc(100% - 14px)
}
.ship-type-badge{
  position:static;
  padding:4px 6px;
  border:1px solid #705a38;
  border-radius:3px;
  color:#e8ca8e;
  background:rgba(7,14,22,.88);
  font-size:7px;
  font-style:normal;
  text-transform:uppercase;
  letter-spacing:.07em
}
.ship-type-badge.logistics{border-color:#386a66;color:#8ad1c8}
.ship-type-badge.support{border-color:#62568d;color:#c2b5f0}
.ship-card-copy{display:block;padding:8px 9px 7px}
.ship-card-copy b{
  display:block;
  overflow:hidden;
  color:#e8d09d;
  font:14px Georgia,"Times New Roman",serif;
  text-overflow:ellipsis;
  white-space:nowrap
}
.ship-card-copy small{
  display:block;
  margin-top:2px;
  color:#a5b4c2;
  font-size:8px
}
.ship-card-copy em{
  display:block;
  min-height:22px;
  margin-top:5px;
  color:#74879a;
  font-size:7px;
  font-style:normal;
  line-height:1.4
}
.ship-card-footer{
  display:flex;
  justify-content:space-between;
  gap:6px;
  padding:6px 9px;
  border-top:1px solid #26394c;
  color:#718396;
  font-size:7px
}
.ship-card-footer span:first-child{color:#bc9d64}
.catalog-action:disabled{
  opacity:.45;
  cursor:not-allowed
}

/* Workshop tabs */
.workshop-layout{
  height:100%;
  display:grid;
  grid-template-rows:auto auto minmax(0,1fr);
  gap:9px
}
.workshop-tabs{
  display:flex;
  gap:6px;
  border-bottom:1px solid #293b4e;
  padding-bottom:7px
}
.workshop-tab{
  min-height:34px;
  padding:6px 11px;
  border:1px solid #344a61;
  border-radius:7px;
  background:#0d1824;
  color:#9fb0c2;
  font-size:10px;
  cursor:pointer
}
.workshop-tab.active{
  border-color:#75603b;
  background:rgba(197,155,87,.13);
  color:#ecd8ab
}
.modification-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px
}
.modification-card{
  padding:11px;
  border:1px solid #2b3d50;
  border-radius:9px;
  background:#0d1722
}
.modification-card h3{
  margin:0 0 5px;
  font:14px Georgia,"Times New Roman",serif
}
.modification-card p{
  margin:0;
  color:#8fa0b3;
  font-size:10px;
  line-height:1.45
}

/* Caveau remains a construction building but contains its own compartments. */
.vault-compartments{
  margin-top:12px;
  border:1px solid #344a60;
  border-radius:9px;
  overflow:hidden;
  background:#0a141f
}
.vault-compartments summary{
  cursor:pointer;
  padding:9px 11px;
  color:#ead7ae;
  font-size:11px;
  user-select:none
}
.vault-compartment-list{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px;
  padding:0 8px 8px
}
.vault-compartment{
  min-width:0;
  padding:8px;
  border:1px solid #283a4d;
  border-radius:7px;
  background:#101b28
}
.vault-compartment b{
  display:block;
  font-size:10px
}
.vault-compartment small{
  display:block;
  color:#7f91a5;
  font-size:8px;
  margin-top:3px
}

/* Dedicated market page */
.market-page{
  width:min(1050px,100%);
  margin:0 auto;
  padding:4px 0 20px
}
.market-topline{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:10px
}
.market-back-btn{
  min-height:34px;
  padding:6px 10px;
  border:1px solid #445c76;
  border-radius:8px;
  background:#101b28;
  color:#e4edf8;
  cursor:pointer
}
.market-location{
  color:#8294a9;
  font-size:10px
}
.market-hero{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:18px;
  padding:18px;
  border:1px solid #34485e;
  border-radius:12px;
  background:linear-gradient(135deg,#162536,#0c151f)
}
.market-kicker{
  color:#c6a564;
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:.1em
}
.market-hero h2{
  margin:4px 0;
  font:28px Georgia,"Times New Roman",serif
}
.market-hero p{
  margin:0;
  max-width:590px;
  color:#93a4b8;
  font-size:11px;
  line-height:1.45
}
.market-balance{
  min-width:120px;
  text-align:center;
  padding:10px;
  border:1px solid #5f5035;
  border-radius:9px;
  background:rgba(197,155,87,.08)
}
.market-balance small{
  display:block;
  color:#96835d;
  font-size:8px;
  text-transform:uppercase
}
.market-balance b{
  display:block;
  margin-top:4px;
  color:#e5c783;
  font-size:18px
}
.market-tabs{
  display:flex;
  gap:6px;
  margin:10px 0 8px
}
.market-section-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0 4px}
.market-section-tab{min-height:42px;border:1px solid #34485e;border-radius:10px;background:#09131d;color:#90a2b6;cursor:pointer;font-weight:700}
.market-section-tab.active{border-color:#d0ab62;color:#f2dfb6;background:linear-gradient(135deg,#2a2216,#121a20)}
.map-preferences{margin-top:12px;padding-top:10px;border-top:1px solid #243449}
.map-preferences label{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#b8c8d9;font-size:10px}
.map-preferences label span{display:grid;gap:2px}.map-preferences label small{color:#73869b}
.station-directory{padding:18px;display:grid;gap:16px}.station-directory>header{display:flex;align-items:end;justify-content:space-between;gap:14px}.station-directory h3{margin:3px 0}.station-directory>header label{display:grid;gap:5px;color:#8295aa;font-size:9px}
.station-directory select,.station-route-form select,.faction-workspace input,.faction-workspace select,.faction-workspace textarea{padding:9px;border:1px solid #31506a;border-radius:8px;color:#ddecf5;background:#07111a}
.station-route-form{display:grid;grid-template-columns:1fr 1fr auto;gap:9px;padding:13px;border:1px solid #31506a;border-radius:11px;background:#0a1924}.station-route-form>b,.station-route-form>output{grid-column:1/-1}
.station-ranking{display:grid;gap:7px}.station-ranking-row{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:13px;padding:11px;border:1px solid #263f54;border-radius:10px;background:#08131e}.station-ranking-row>strong{color:#d5b16b}.station-ranking-row div,.station-ranking-row span{display:grid;gap:2px}.station-ranking-row small{color:#73899b}.station-ranking-row>span{text-align:right}.station-ranking-row>i{font-size:8px;color:#70e4c7}
.station-route-list{display:grid;gap:7px}.station-route-list article{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:10px;border:1px solid #294459;border-radius:9px}.station-route-list article div{display:grid;gap:3px}.route-state{width:9px;height:9px;border-radius:50%;background:#68778a}.route-state.active{background:#55dfae;box-shadow:0 0 12px #55dfae}.route-state.suspended{background:#e8b252}
.faction-page{width:min(1120px,100%);margin:0 auto;padding:4px 0 24px}.faction-hero{padding:20px;border:1px solid #3a5068;border-radius:14px;background:radial-gradient(circle at 85% 15%,rgba(207,164,82,.16),transparent 34%),linear-gradient(145deg,#152434,#09121b)}.faction-hero small,.faction-card>small,.faction-dashboard>header small{color:#d2ad64;letter-spacing:.13em}.faction-hero h2{margin:5px 0;font:30px Georgia,serif}.faction-hero p{margin:0;color:#91a4b8}.faction-workspace{margin-top:12px}.faction-grid{display:grid;grid-template-columns:minmax(260px,.75fr) minmax(0,1.4fr);gap:12px}.faction-card,.faction-dashboard{padding:17px;border:1px solid #2c455b;border-radius:12px;background:#091620}.faction-card h3{margin:5px 0 12px}.faction-card form,.faction-dashboard form{display:grid;gap:8px}.faction-card textarea{min-height:90px;resize:vertical}.faction-directory article{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid #213649}.faction-directory article div{display:grid;gap:3px}.faction-directory p{margin:3px 0;color:#8fa2b6}.faction-dashboard>header{display:flex;justify-content:space-between;gap:20px;padding-bottom:14px;border-bottom:1px solid #294459}.faction-dashboard>header h3{margin:3px 0}.faction-dashboard>header p{margin:0;color:#8fa2b6}.faction-dashboard>header>span{display:grid;align-content:start;text-align:right;gap:3px}.faction-dashboard>header i{color:#70e4c7}.faction-columns{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:14px;margin-top:14px}.faction-columns h4{color:#d9bd83}.faction-member,.faction-application{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px;border-bottom:1px solid #213649}.faction-member span,.faction-application span{display:grid;gap:2px}.faction-log{max-height:360px;overflow:auto}.faction-log p{display:grid;gap:2px;padding:8px;margin:0;border-bottom:1px solid #213649}.faction-log small,.faction-member small,.faction-application small{color:#7e91a5}
.app-bottom-nav{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:720px){.station-route-form{grid-template-columns:1fr}.station-route-form>*{grid-column:1!important}.faction-grid,.faction-columns{grid-template-columns:1fr}.station-ranking-row{grid-template-columns:auto 1fr auto}.station-ranking-row>i{display:none}}
.market-tab{
  min-height:36px;
  padding:6px 14px;
  border:1px solid #34485e;
  border-radius:8px;
  background:#0d1722;
  color:#9aabbe;
  cursor:pointer
}
.market-tab.active{
  border-color:#765f3c;
  background:rgba(197,155,87,.12);
  color:#ebd7ad
}
.market-workspace{
  min-height:390px;
  border:1px solid #2d4054;
  border-radius:10px;
  background:#0b151f;
  overflow:hidden
}
.market-placeholder{
  height:390px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:20px;
  text-align:center
}
.market-placeholder span{font-size:34px}
.market-placeholder b{
  margin-top:8px;
  font:16px Georgia,"Times New Roman",serif
}
.market-placeholder p{
  max-width:470px;
  margin:6px 0 0;
  color:#8fa0b3;
  font-size:10px;
  line-height:1.5
}

@media(max-width:720px){
  .planet-primary-services{grid-template-columns:1fr}
  .primary-service-card{min-height:58px}
  .service-overlay{padding:7px}
  .service-dialog{
    height:calc(100vh - 14px);
    border-radius:10px
  }
  .service-dialog-body{padding:8px}
  .service-stats{grid-template-columns:1fr 1fr}
  .catalog-row{
    grid-template-columns:38px minmax(0,1fr) auto;
    gap:7px
  }
  .catalog-action{
    grid-column:2/4;
    width:100%
  }
  .service-dialog.ship-catalog-dialog{height:calc(100vh - 14px)}
  .ship-catalog-toolbar{
    align-items:stretch;
    flex-direction:column;
    padding:7px
  }
  .ship-filter-tabs,.ship-variant-toggle{
    overflow-x:auto;
    scrollbar-width:none
  }
  .ship-filter-tabs button,.ship-variant-toggle button{flex:0 0 auto}
  .ship-featured{grid-template-columns:1fr}
  .ship-featured-visual{
    min-height:230px;
    border-right:0;
    border-bottom:1px solid #59472c
  }
  .ship-featured-visual img{height:225px}
  .ship-featured-info{padding:12px}
  .ship-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ship-card-grid{grid-template-columns:1fr 1fr;gap:6px;padding:7px}
  .ship-card-image-wrap{height:105px}
  .ship-card-footer{align-items:flex-start;flex-direction:column}
  .modification-grid{grid-template-columns:1fr}
  .vault-compartment-list{grid-template-columns:1fr}
  .market-hero{
    align-items:flex-start;
    flex-direction:column
  }
  .market-balance{
    width:100%;
    box-sizing:border-box
  }
}


/* ============================================================
   GALAXY 001 v46 — modern techno-synodic redesign
   ============================================================ */
:root{
  --ui-gold:#c6a565;
  --ui-gold-soft:#8f7443;
  --ui-line:#334a63;
  --ui-text:#e8eff8;
  --ui-sub:#8fa4b9;
}
body{
  background:
    radial-gradient(circle at top, rgba(32,63,105,.24), transparent 42%),
    linear-gradient(180deg,#050b12,#07111a 35%,#08121c 100%) !important;
  color:var(--ui-text);
}
.planet-module,.market-workspace,.market-hero,.vault-hero,.vault-page-card,.service-dialog,.planet-summary-card,.primary-service-card,.catalog-row,.planet-selector,.tech-card,.fleet-panel{
  border-color:var(--ui-line)!important;
  background:linear-gradient(180deg,rgba(17,30,46,.98),rgba(10,19,30,.98))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03),0 0 0 1px rgba(198,165,101,.05),0 10px 26px rgba(0,0,0,.26);
}
.planet-module,.market-hero,.vault-hero,.service-dialog,.primary-service-card,.vault-page-card{position:relative}
.planet-module::before,.market-hero::before,.vault-hero::before,.service-dialog::before,.primary-service-card::before,.vault-page-card::before{
  content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(198,165,101,.08);
}
.dock-btn,.planet-btn,.catalog-action,.market-tab,.workshop-tab,.market-back-btn,.module-nav-btn{
  border:1px solid #536b86!important;
  background:linear-gradient(180deg,#1b2b3d,#122031)!important;
  color:#e8eef8!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 0 0 1px rgba(198,165,101,.08),0 8px 18px rgba(0,0,0,.18);
  transition:transform .14s ease, box-shadow .16s ease, border-color .16s ease, background .16s ease;
}
.dock-btn:hover,.planet-btn:hover,.catalog-action:hover,.market-tab:hover,.workshop-tab:hover,.market-back-btn:hover,.module-nav-btn:hover{
  transform:translateY(-1px);
  border-color:#6d8db0!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 0 0 1px rgba(198,165,101,.12),0 0 18px rgba(109,176,255,.12);
}
.dock-btn.active,.market-tab.active,.workshop-tab.active,.module-nav-btn.active,.planet-btn.primary{
  border-color:var(--ui-gold-soft)!important;
  background:linear-gradient(180deg,#223246,#172536)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 0 0 1px rgba(198,165,101,.16),0 0 18px rgba(198,165,101,.10);
}
.top-bar,.planet-header,.service-dialog-head,.dock-bar{
  background:linear-gradient(180deg,rgba(19,32,48,.96),rgba(13,23,35,.96))!important;
  border-color:#364b61!important;
}
.vault-page,.market-page{width:min(1100px,100%);margin:0 auto;padding:4px 0 20px}
.vault-page-grid{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:10px;margin-top:10px}
.vault-main-compartments{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.vault-page-card{padding:14px;border-radius:12px}
.vault-page-card h3{margin:0 0 6px;font:17px Georgia,"Times New Roman",serif}
.vault-page-card p{margin:0 0 10px;color:var(--ui-sub);font-size:10px;line-height:1.45}
.vault-page-items{display:grid;gap:7px}
.vault-page-items div{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 8px;border:1px solid #294056;border-radius:8px;background:#0b141f}
.vault-page-items span{color:#95a8bb;font-size:10px}
.vault-page-items b{color:#e7d09d;font-size:11px}
.vault-side-panel{display:grid;gap:10px}
.wide-action{width:100%}
.vault-nav-btn small{color:#edd6a6!important}
@media(max-width:860px){.vault-page-grid{grid-template-columns:1fr}}
@media(max-width:620px){.vault-main-compartments{grid-template-columns:1fr}}



/* ============================================================
   GALAXY 001 v46 — Techno Imperial command UI
   ============================================================ */
:root{
  --syn-blue-0:#050a10;
  --syn-blue-1:#091521;
  --syn-blue-2:#102238;
  --syn-blue-3:#173452;
  --syn-line:#42617f;
  --syn-line-soft:#2b4259;
  --syn-gold:#d0ad6b;
  --syn-gold-2:#8f6f3d;
  --syn-cyan:#78baff;
  --syn-green:#73d498;
  --syn-yellow:#e7c45e;
  --syn-red:#e06f69;
}

/* angular language inspired by the supplied blue/gold interface */
.synodic-button,
.fleet-operation-card,
.fleet-quick-grid button,
.primary-service-card,
.market-tab,
.workshop-tab{
  clip-path:polygon(9px 0,calc(100% - 9px) 0,100% 50%,calc(100% - 9px) 100%,9px 100%,0 50%);
}
.planet-module-head,
.fleet-panel-title,
.fleet-side-title{
  position:relative;
}
.planet-module-head::after,
.fleet-panel-title::after,
.fleet-side-title::after{
  content:"";
  position:absolute;
  left:12px;right:12px;bottom:0;height:1px;
  background:linear-gradient(90deg,transparent,var(--syn-gold-2),var(--syn-cyan),var(--syn-gold-2),transparent);
  opacity:.5;
}

/* Caveau as a first-class Planet menu */
.planet-main-vault{
  border-color:#6d5b39!important;
  box-shadow:inset 0 0 0 1px rgba(208,173,107,.10),0 12px 28px rgba(0,0,0,.25)!important;
}
.planet-main-vault .planet-module-head{
  background:linear-gradient(180deg,#1d2b3d,#111d2b)!important;
}
.vault-main-workspace{
  height:430px;
  overflow-y:auto;
  overscroll-behavior:contain;
  padding:14px;
  border-top:1px solid #34485f;
  background:
    radial-gradient(circle at 80% 10%,rgba(68,116,175,.13),transparent 30%),
    linear-gradient(180deg,#0c1723,#08111a);
}
.vault-main-header{
  display:flex;align-items:flex-start;justify-content:space-between;gap:12px;
  margin-bottom:12px;
}
.vault-main-kicker{
  color:var(--syn-gold);font-size:8px;text-transform:uppercase;letter-spacing:.12em
}
.vault-main-header h3{margin:3px 0;font:20px Georgia,"Times New Roman",serif}
.vault-main-header p{margin:0;color:#91a3b7;font-size:10px;line-height:1.45}
.vault-main-level{
  min-width:66px;text-align:center;padding:8px;border:1px solid #6a5838;border-radius:8px;
  background:rgba(208,173,107,.07)
}
.vault-main-level small{display:block;color:#9f8961;font-size:7px;text-transform:uppercase}
.vault-main-level b{display:block;margin-top:2px;color:#efd49c;font-size:18px}
.vault-main-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.vault-compartment-card{
  min-width:0;display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:8px;
  padding:9px;border:1px solid #314960;border-radius:9px;
  background:linear-gradient(180deg,#122133,#0c1723)
}
.vault-compartment-icon{
  width:34px;height:34px;display:grid;place-items:center;border:1px solid #4c6784;border-radius:50%;
  background:#09131e
}
.vault-compartment-card b{display:block;font-size:11px}
.vault-compartment-card small{display:block;margin-top:2px;color:#7f94aa;font-size:8px}
.vault-compartment-card strong{color:#e7c989;font-size:11px;white-space:nowrap}
.vault-main-footer{
  display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px;
  padding-top:10px;border-top:1px solid #293d51
}
.vault-main-footer span{color:#8fa1b6;font-size:9px}

/* Fleet command page */
.fleet-page-v37{
  width:min(1180px,100%);
  margin:0 auto;
  padding:4px 0 22px;
}
.fleet-command-header{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:14px 16px;margin-bottom:10px;
  border:1px solid #3d5670;border-radius:12px;
  background:
    radial-gradient(circle at 70% 20%,rgba(68,130,203,.14),transparent 34%),
    linear-gradient(180deg,#15273a,#0d1926);
  box-shadow:inset 0 0 0 1px rgba(208,173,107,.08),0 12px 32px rgba(0,0,0,.28)
}
.fleet-command-kicker{
  color:var(--syn-gold);font-size:8px;text-transform:uppercase;letter-spacing:.15em
}
.fleet-command-header h2{margin:3px 0 2px;font:26px Georgia,"Times New Roman",serif}
.fleet-command-header p{margin:0;color:#8ea1b7;font-size:10px}
.fleet-command-status{display:flex;align-items:center;gap:7px;color:#9fb1c3;font-size:9px}
.status-light{
  width:8px;height:8px;border-radius:50%;background:var(--syn-green);
  box-shadow:0 0 10px rgba(115,212,152,.7)
}
.fleet-command-layout{
  display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:10px;align-items:start
}
.fleet-command-main,.fleet-command-side{display:grid;gap:10px}
.fleet-panel-v37,.fleet-side-card{
  border:1px solid #334c65;border-radius:11px;
  background:linear-gradient(180deg,#101f2f,#0a1520);
  box-shadow:inset 0 0 0 1px rgba(208,173,107,.06),0 10px 26px rgba(0,0,0,.24);
  overflow:hidden
}
.fleet-panel-v37{padding:12px}
.fleet-panel-title,.fleet-side-title{
  display:flex;align-items:flex-end;justify-content:space-between;gap:10px;
  padding:0 2px 9px;margin-bottom:9px
}
.fleet-panel-title small,.fleet-side-title small{
  color:#8095aa;font-size:7px;text-transform:uppercase;letter-spacing:.09em
}
.fleet-panel-title h3,.fleet-side-title h3{
  margin:2px 0 0;font:15px Georgia,"Times New Roman",serif
}
.fleet-panel-code{
  color:#7f94ab;font:8px monospace;border:1px solid #344c65;border-radius:5px;padding:3px 5px
}
.fleet-operation-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.fleet-operation-card{
  min-height:86px;display:grid;grid-template-columns:52px minmax(0,1fr);gap:10px;align-items:center;
  padding:10px 14px;border:1px solid #4b6580;background:linear-gradient(180deg,#172a40,#0e1b2a);
  color:#edf3fb;text-align:left;cursor:pointer
}
.fleet-operation-card:hover{
  border-color:#789bc0;transform:translateY(-1px);box-shadow:0 0 20px rgba(100,167,231,.12)
}
.fleet-operation-card.active{
  border-color:var(--syn-gold-2);box-shadow:inset 0 0 0 1px rgba(208,173,107,.12),0 0 18px rgba(208,173,107,.10)
}
.fleet-operation-card.danger-op:hover{border-color:#9a5a56}
.fleet-operation-icon{
  width:48px;height:48px;display:grid;place-items:center;border:1px solid #58718e;border-radius:50%;
  background:#07111b;color:#dbe8f7;font-size:22px
}
.fleet-operation-icon.image-icon{overflow:hidden}
.fleet-operation-icon.image-icon img{width:100%;height:100%;object-fit:cover;display:block}
.fleet-operation-card b{display:block;font:14px Georgia,"Times New Roman",serif}
.fleet-operation-card small{display:block;margin-top:4px;color:#899caf;font-size:8px;line-height:1.35}
.fleet-ship-overview{display:grid;gap:6px}
.fleet-ship-row{
  display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:9px;padding:9px;
  border:1px solid #2f465d;border-radius:8px;background:#0c1722
}
.fleet-ship-icon{
  width:40px;height:40px;display:grid;place-items:center;border:1px solid #48637f;border-radius:50%;background:#09131e
}
.fleet-ship-row b{display:block;font-size:11px}
.fleet-ship-row small{display:block;margin-top:2px;color:#8093a7;font-size:8px}
.fleet-ship-row strong{color:#e7ca8b;font-size:15px}
.fleet-empty-row{
  padding:10px;border:1px dashed #2b4055;border-radius:8px;color:#788ca1;font-size:9px;text-align:center
}
.fleet-operation-card.pending-op{opacity:.48;cursor:not-allowed;filter:saturate(.5)}
.fleet-operation-card.pending-op:hover{transform:none;border-color:#4b6580;box-shadow:none}
.fleet-module-placeholder,.fleet-inline-note,.fleet-inline-warning{margin:0;padding:14px;border:1px dashed #31485f;border-radius:8px;color:#8296aa;font-size:9px;line-height:1.5;text-align:center}
.fleet-inline-note{border-style:solid;background:#0b1925;color:#9fb4c8}
.fleet-inline-warning{border-color:#795b3d;color:#d6b77d}
.fleet-mission-form{display:grid;gap:11px}
.mission-form-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:9px;border:1px solid #334c65;border-radius:8px;background:#0b1722}
.mission-form-heading small,.mission-form-heading b{display:block}.mission-form-heading small{color:#7f94aa;font-size:7px;text-transform:uppercase}.mission-form-heading b{margin-top:2px;font:15px Georgia,"Times New Roman",serif}.mission-form-heading>span{color:#dfc381;font:8px monospace;text-transform:uppercase}
.mission-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.mission-target-fields{grid-template-columns:1fr 1fr}
.mission-resource-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.fleet-mission-form label>span,.mission-fleet-fields legend,.mission-cargo-fields legend{display:block;margin-bottom:4px;color:#8fa3b7;font-size:8px}
.fleet-mission-form input,.fleet-mission-form select{width:100%;box-sizing:border-box;min-height:34px;padding:6px 8px;border:1px solid #405b76;border-radius:6px;background:#08131d;color:#e7eef7;font:10px inherit}
.fleet-mission-form input:focus,.fleet-mission-form select:focus{outline:1px solid #b99a60;border-color:#b99a60}
.mission-fleet-fields,.mission-cargo-fields{margin:0;padding:9px;border:1px solid #2f465d;border-radius:8px}
.mission-ship-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.mission-ship-choice{display:grid!important;grid-template-columns:minmax(0,1fr) 72px;align-items:center;gap:8px;margin:0!important;padding:7px;border:1px solid #30485f;border-radius:7px;background:#0a1621}
.mission-ship-choice b,.mission-ship-choice small{display:block}.mission-ship-choice b{font-size:9px}.mission-ship-choice small{margin-top:2px;color:#70869b;font-size:7px}
.mission-submit-row{display:flex;align-items:center;gap:10px}.mission-submit-row button{min-width:150px}.mission-submit-row span{color:#b8c7d6;font-size:9px}
.fleet-transfer-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.fleet-transfer-actions button{min-width:132px}.fleet-transfer-eta{flex:1;min-width:180px;color:#9fb4c8;font-size:9px}.fleet-transfer-eta b{color:#e2c47f}.mission-cancel-button{padding:4px 7px;border:1px solid #76544d;border-radius:5px;background:#241514;color:#ddb4aa;font-size:7px;cursor:pointer}.mission-cancel-button:hover{border-color:#b77b6e;background:#321b19}.mission-cancel-button:disabled{opacity:.55;cursor:wait}
.expedition-dialog{width:min(760px,calc(100vw - 24px))}.expedition-map{position:relative;display:grid;place-items:center;min-height:230px;overflow:hidden;border:1px solid #314b63;border-radius:50%;background:radial-gradient(circle at center,rgba(59,91,119,.16) 0 3%,transparent 4% 18%,rgba(91,119,145,.12) 19% 20%,transparent 21% 38%,rgba(91,119,145,.1) 39% 40%,transparent 41%),linear-gradient(135deg,#04080d,#08131d);box-shadow:inset 0 0 55px #000}.expedition-map::after{content:"NEBBIA GALATTICA";position:absolute;bottom:16px;color:#536b80;font:8px monospace;letter-spacing:.18em}.expedition-direction-arrow{width:4px;height:88px;transform-origin:50% 100%;border-radius:4px;background:linear-gradient(#e4c676,transparent);box-shadow:0 0 12px #c6a456}.expedition-direction-arrow::before{content:"";position:absolute;margin:-5px 0 0 -5px;border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:12px solid #e4c676}.expedition-direction-control{display:grid;grid-template-columns:1fr auto;gap:7px;align-items:center}.expedition-direction-control input{grid-column:1/-1}.expedition-quote-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.expedition-quote-grid>div{padding:7px;border:1px solid #30485f;border-radius:6px;background:#0a1621}.expedition-quote-grid small,.expedition-quote-grid b{display:block}.expedition-quote-grid small{color:#7890a6;font-size:7px}.expedition-quote-grid b{margin-top:2px;color:#e2c47f;font-size:10px}
.fleet-authoritative-missions{display:grid;gap:7px;max-height:430px;overflow:auto}
.authoritative-mission-row{padding:9px;border:1px solid #30485f;border-left:3px solid #648db3;border-radius:8px;background:#0a1621}
.authoritative-mission-row.status-returning{border-left-color:#c09c5b}.authoritative-mission-row.status-completed{border-left-color:#52705f;opacity:.78}
.authoritative-mission-row header,.authoritative-mission-row footer{display:flex;justify-content:space-between;align-items:center;gap:8px}.authoritative-mission-row header span b,.authoritative-mission-row header span small{display:block}.authoritative-mission-row header b{font-size:10px}.authoritative-mission-row header small{margin-top:2px;color:#8297ab;font-size:7px}.authoritative-mission-row header strong{color:#e2c47f;font:9px monospace}.authoritative-mission-row p{margin:7px 0;color:#a8b9ca;font-size:9px}.authoritative-mission-row footer{align-items:flex-start;flex-wrap:wrap;color:#71879c;font-size:7px}.authoritative-mission-row footer code{max-width:100%;overflow:hidden;text-overflow:ellipsis;color:#61768a}
.fleet-report-workspace{display:grid;grid-template-columns:minmax(170px,.36fr) minmax(0,1fr);gap:9px}
.fleet-report-list{display:grid;align-content:start;gap:6px;max-height:520px;overflow:auto}
.combat-report-row{display:flex;justify-content:space-between;align-items:center;gap:7px;padding:8px;border:1px solid #30485f;border-radius:7px;background:#0a1621;color:#dce6f0;text-align:left;cursor:pointer}.combat-report-row:hover,.combat-report-row.active{border-color:#a88851;background:#102235}.combat-report-row span b,.combat-report-row span small{display:block}.combat-report-row b{font-size:9px}.combat-report-row small{margin-top:2px;color:#7890a6;font-size:7px}.combat-report-row strong{color:#d9bd7b;font-size:8px}
.fleet-report-detail{min-width:0;border:1px solid #2e455c;border-radius:8px;background:#08131d;padding:9px}
.report-detail-card>header{display:flex;justify-content:space-between;gap:8px}.report-detail-card h4{margin:2px 0 0;font:17px Georgia,"Times New Roman",serif;color:#e5ca8e}.report-detail-card header small,.report-detail-card time{color:#7d92a7;font-size:7px}
.report-side-summary{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:9px}.report-side-summary>div{min-height:112px;padding:12px;border:1px solid #30475e;border-radius:6px;background-position:center;background-size:cover;background-repeat:no-repeat}.report-side-summary>div:first-child{background-image:linear-gradient(90deg,rgba(4,11,20,.94),rgba(4,11,20,.42)),url("../assets/ui/v4.1/backgrounds/background-attacco-planetario-HD.webp")}.report-side-summary>div:last-child{background-image:linear-gradient(90deg,rgba(4,11,20,.9),rgba(4,11,20,.3)),url("../assets/ui/v4.1/backgrounds/background-difesa-planetaria-HD.webp");background-position:center right}.report-side-summary small,.report-side-summary b,.report-side-summary span{display:block;text-shadow:0 1px 4px #000}.report-side-summary small{color:#a8c6d7;font-size:7px}.report-side-summary b{margin-top:2px;font-size:9px}.report-side-summary span{margin-top:2px;color:#d29b92;font-size:7px}
.report-integrity{display:grid;gap:4px;margin:8px 0}.report-integrity>div{display:grid;grid-template-columns:100px minmax(0,1fr);gap:7px}.report-integrity dt{color:#71879c;font-size:7px}.report-integrity dd{margin:0;overflow:hidden;text-overflow:ellipsis;color:#aebdcb;font:7px monospace}
.report-replay-controls{display:grid;gap:5px;padding:8px;border-top:1px solid #2c4257}.report-replay-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.report-replay-controls label{color:#91a5b8;font-size:8px}.report-replay-controls input{width:100%}.report-fullscreen-btn{min-width:94px;min-height:30px;padding:5px 10px;border:1px solid #b38a47;background:linear-gradient(180deg,#123048,#071722);color:#f0d18b;font:700 8px/1 "Segoe UI",sans-serif;letter-spacing:.08em;cursor:pointer}.report-fullscreen-btn:hover,.report-fullscreen-btn:focus-visible,.report-fullscreen-btn[aria-pressed="true"]{border-color:#f0d18b;background:#153d58;box-shadow:0 0 12px rgba(92,201,238,.32);outline:0}
.report-event-list{display:grid;gap:4px;max-height:280px;margin:7px 0 0;padding:0;overflow:auto;list-style:none}.report-event-list li{display:grid;grid-template-columns:28px 110px minmax(0,1fr);gap:6px;padding:5px;border:1px solid #263d52;border-radius:5px;background:#0c1925}.report-event-list li>span{color:#d9bb77;font:7px monospace}.report-event-list li>b{font-size:7px}.report-event-list li>small{overflow:hidden;text-overflow:ellipsis;color:#8499ad;font-size:7px}.report-event-list .report-empty-event{display:block;color:#8094a8;text-align:center}
.report-simulation-fullscreen{position:fixed!important;inset:0!important;z-index:40000!important;box-sizing:border-box!important;width:100vw!important;height:100vh!important;max-width:none!important;max-height:none!important;margin:0!important;padding:clamp(14px,3vw,40px)!important;overflow:auto!important;align-content:start!important;border:1px solid #b38a47!important;border-radius:0!important;background:#06131f radial-gradient(circle at 50% 15%,rgba(24,80,108,.34),transparent 48%)!important;box-shadow:none!important}.report-simulation-fullscreen .report-event-list{max-height:none;min-height:35vh;align-content:start}.report-simulation-fullscreen .report-fullscreen-btn::after{content:" · ESC"}.report-simulation-fullscreen:fullscreen{width:100vw;height:100vh}

/* right rail */
.fleet-side-card{padding:11px}
.fleet-quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.fleet-quick-grid button{
  min-height:55px;display:flex;align-items:center;gap:7px;padding:7px 12px;border:1px solid #455f7a;
  background:linear-gradient(180deg,#15273a,#0d1a28);color:#e5edf7;cursor:pointer;text-align:left
}
.fleet-quick-grid button span{font-size:17px}
.fleet-quick-grid button b{font-size:9px}
.fleet-capacity-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.fleet-capacity-top small{color:#8296aa;font-size:7px;text-transform:uppercase;letter-spacing:.08em}
.fleet-capacity-number{display:flex;align-items:baseline;gap:5px;margin-top:2px}
.fleet-capacity-number b{font-size:29px;color:#f0d69c}
.fleet-capacity-number span{font-size:16px;color:#60758c}
.fleet-capacity-number strong{font-size:17px;color:#aebed0}
.fleet-capacity-ring{
  width:50px;height:50px;border-radius:50%;padding:4px;
  background:conic-gradient(var(--syn-gold) 0deg,var(--syn-gold) 1.8deg,#20344a 1.8deg,#20344a 360deg);
  box-sizing:border-box
}
.fleet-capacity-ring::after{
  content:"";display:block;width:100%;height:100%;border-radius:50%;background:#0b1621;border:1px solid #3b526b;box-sizing:border-box
}
.fleet-capacity-bar{height:5px;margin-top:9px;border-radius:4px;background:#09131d;border:1px solid #31475e;overflow:hidden}
.fleet-capacity-bar i{display:block;height:100%;width:.5%;background:linear-gradient(90deg,#8e7140,#dfbe78)}
.fleet-capacity-card p{margin:7px 0 0;color:#7f92a6;font-size:8px}
.fleet-capacity-card p b{color:#c5d2df}
.movement-title{align-items:center}
.live-badge{
  display:inline-flex;align-items:center;gap:4px;color:#7dcca0;font:7px monospace;border:1px solid #315c48;
  border-radius:999px;padding:3px 5px;background:rgba(53,112,79,.08)
}
.live-badge i{width:5px;height:5px;border-radius:50%;background:#72d398;box-shadow:0 0 7px rgba(114,211,152,.7)}
.fleet-movement-list{
  max-height:360px;overflow-y:auto;overscroll-behavior:contain;display:grid;gap:7px;scrollbar-width:thin
}
.movement-planet-group{
  border:1px solid #2b4157;border-radius:8px;background:#0a1520;overflow:hidden
}
.movement-planet-head{
  display:flex;align-items:center;justify-content:space-between;gap:7px;padding:7px 8px;border-bottom:1px solid #263b50;
  background:#0f1d2b
}
.movement-planet-head b{font-size:9px}
.movement-planet-head small{color:#74899f;font-size:7px}
.movement-row{padding:8px}
.movement-row-top{display:flex;align-items:center;justify-content:space-between;gap:7px}
.movement-kind{
  display:inline-flex;align-items:center;gap:5px;color:#d7e1ec;font-size:8px
}
.movement-kind i{
  width:20px;height:20px;display:grid;place-items:center;border:1px solid #465f7a;border-radius:50%;font-style:normal
}
.movement-eta{color:#e3c57f;font:9px monospace}
.movement-destination{margin-top:4px;color:#8396aa;font-size:8px}
.movement-progress{height:3px;margin-top:6px;background:#101f2e;border-radius:3px;overflow:hidden}
.movement-progress i{display:block;height:100%;background:linear-gradient(90deg,#507aa6,#87baf0);width:35%}
.no-movements{padding:16px 8px;text-align:center;color:#768a9f;font-size:9px}

/* Global notifications: always above every game surface */
.global-notification-layer{
  position:fixed;z-index:15000;top:max(10px,env(safe-area-inset-top,0px));left:50%;
  transform:translateX(-50%);width:min(520px,calc(100% - 18px));
  display:grid;gap:7px;pointer-events:none
}
.global-notification{
  pointer-events:auto;display:grid;grid-template-columns:34px minmax(0,1fr) 28px;gap:9px;align-items:start;
  padding:10px;border:1px solid #49647f;border-radius:9px;
  background:linear-gradient(180deg,rgba(17,31,47,.985),rgba(8,17,27,.985));
  box-shadow:0 14px 40px rgba(0,0,0,.55),inset 0 0 0 1px rgba(208,173,107,.08);
  animation:globalNoticeIn .18s ease-out;
  transition:opacity .28s ease,transform .28s ease
}
.global-notification.is-dismissing{opacity:0;transform:translateY(-8px) scale(.985);pointer-events:none}
.global-notification.system{border-color:#547596}
.global-notification.warning{border-color:#9a7b3e}
.global-notification.critical{border-color:#9a4d4a;box-shadow:0 14px 40px rgba(0,0,0,.6),0 0 22px rgba(224,111,105,.12)}
.global-notice-icon{
  width:32px;height:32px;display:grid;place-items:center;border:1px solid #4a6682;border-radius:50%;background:#09131d
}
.global-notice-copy b{display:block;font-size:10px}
.global-notice-copy small{display:block;margin-top:2px;color:#8297ac;font-size:7px;text-transform:uppercase;letter-spacing:.07em}
.global-notice-copy p{margin:4px 0 0;color:#b8c6d4;font-size:9px;line-height:1.4}
.global-notice-close{
  width:26px;height:26px;padding:0;border:1px solid #485f77;border-radius:6px;background:#0b1621;color:#dce6f1;cursor:pointer
}
@keyframes globalNoticeIn{
  from{opacity:0;transform:translateY(-8px) scale(.985)}
  to{opacity:1;transform:translateY(0) scale(1)}
}

@media(max-width:860px){
  .fleet-command-layout{grid-template-columns:1fr}
  .fleet-command-side{grid-template-columns:1fr 1fr}
  .fleet-movement-card{grid-column:1/-1}
}
@media(max-width:620px){
  .vault-main-workspace{height:470px}
  .vault-main-grid{grid-template-columns:1fr}
  .fleet-command-header{align-items:flex-start}
  .fleet-command-status{display:none}
  .fleet-operation-grid{grid-template-columns:1fr}
  .fleet-command-side{grid-template-columns:1fr}
  .fleet-movement-card{grid-column:auto}
  .fleet-operation-card{min-height:74px}
  .mission-form-grid,.mission-target-fields,.mission-resource-grid,.mission-ship-choices,.fleet-report-workspace{grid-template-columns:1fr}
  .report-event-list li{grid-template-columns:26px 82px minmax(0,1fr)}
}



/* ============================================================
   GALAXY 001 v46 — shared dashboard, player menu and UI themes
   ============================================================ */
:root{
  --v38-radius:12px;
  --v38-radius-small:8px;
  --v38-panel:#0d1824;
  --v38-panel-2:#132236;
  --v38-line:#334d66;
  --v38-line-hi:#58718c;
  --v38-accent:#d0ad6b;
  --v38-accent-2:#8f713e;
  --v38-text:#e9eff7;
  --v38-muted:#8fa2b6;
  --fleet-repair:#df645f;
  --fleet-ground:#4b97e8;
  --fleet-pve:#55bf79;
  --fleet-pvp:#9d69dc;
}

/* Re-enable natural page scroll. Nested menus hand wheel control back at edges. */
html,body{overscroll-behavior-y:auto!important}
.module-nav,.module-detail,.vault-main-workspace,.service-scroll-list,.fleet-movement-scroll{
  overscroll-behavior-y:auto!important;
  scrollbar-width:thin;
}

/* Three-column planet desktop layout. */
.planet-page{width:min(1500px,100%)!important;max-width:none!important}
.planet-layout-v31{
  grid-template-columns:minmax(340px,420px) minmax(0,680px) minmax(280px,320px)!important;
  max-width:1460px;
  margin:0 auto;
  gap:14px!important;
}
.planet-side-column{
  min-width:0;
  display:grid;
  gap:10px;
  position:sticky;
  top:76px;
  align-self:start
}
.map-dock-v31{width:100%!important}
.planet-main-column{min-width:0}

/* Player control in top-right */
.player-control{position:relative;display:flex;align-items:center;gap:7px}

.player-gold-hud{
  min-height:42px;
  display:flex;
  align-items:center;
  gap:7px;
  padding:4px 9px 4px 7px;
  border:1px solid #655332;
  border-radius:10px;
  background:linear-gradient(180deg,#171d24,#0c131a);
  box-shadow:inset 0 0 0 1px rgba(220,178,89,.035),0 0 14px rgba(202,157,71,.035);
  user-select:none;
  white-space:nowrap;
}
.player-gold-coin{
  width:29px;height:29px;display:grid;place-items:center;flex:0 0 auto;
  border:1px solid #9b7939;border-radius:50%;
  background:radial-gradient(circle at 35% 30%,#f5db8b 0 10%,#c79a3e 32%,#73501d 73%,#2d210f 100%);
  box-shadow:inset 0 0 0 3px rgba(44,30,10,.30),0 0 10px rgba(216,166,65,.12)
}
.player-gold-coin i{
  width:13px;height:13px;display:block;border:1px solid rgba(74,47,12,.72);
  border-radius:50%;background:rgba(255,230,150,.22);position:relative
}
.player-gold-coin i::after{
  content:"G";position:absolute;inset:0;display:grid;place-items:center;
  color:#4a310f;font:900 8px/1 Arial,system-ui,sans-serif
}
.player-gold-copy{
  min-width:43px;display:flex;flex-direction:column;justify-content:center;align-items:flex-end
}
.player-gold-copy small{
  display:block;color:#9e865b;font-size:6px;line-height:1;letter-spacing:.12em;font-weight:800
}
.player-gold-copy b{
  display:block;margin-top:3px;color:#e5c16f;font-size:11px;line-height:1;
  font-variant-numeric:tabular-nums
}

.player-control-btn{
  min-height:42px;display:grid;grid-template-columns:34px minmax(0,1fr) 18px;align-items:center;gap:8px;
  padding:4px 8px;border:1px solid var(--v38-line);border-radius:10px;
  background:linear-gradient(180deg,#152335,#0d1824);color:var(--v38-text);text-align:left;cursor:pointer
}
.player-avatar{
  width:32px;height:32px;display:grid;place-items:center;border-radius:50%;border:1px solid #77633d;
  background:radial-gradient(circle at 50% 45%,#223a54,#09131e 70%);box-shadow:0 0 14px rgba(208,173,107,.12)
}
.player-avatar i{
  width:13px;height:13px;display:block;transform:rotate(45deg);
  border:1px solid #e1bf79;background:linear-gradient(135deg,#f1d697,#7b6236)
}
.player-control-copy{min-width:0}
.player-control-copy b{display:block;font-size:10px;white-space:nowrap}
.player-control-copy small{display:block;margin-top:2px;color:#8194aa;font-size:7px;white-space:nowrap}
.player-control-caret{color:#b99b61;font-size:15px}

@media(max-width:640px){
  .app-topbar{padding:7px 8px;gap:6px;align-items:center}
  .app-brand{min-width:0}
  .app-brand-lockup small{display:none}
  .player-control{gap:4px;flex:0 0 auto}
  .player-gold-hud{min-height:40px;gap:4px;padding:3px 5px 3px 4px}
  .player-gold-coin{width:25px;height:25px}
  .player-gold-copy{min-width:36px}
}

.player-dropdown{
  position:absolute;right:0;top:calc(100% + 7px);z-index:2500;width:250px;padding:6px;
  border:1px solid #405a74;border-radius:11px;background:rgba(8,16,25,.99);
  box-shadow:0 18px 50px rgba(0,0,0,.55),inset 0 0 0 1px rgba(208,173,107,.06)
}
.player-dropdown[hidden]{display:none!important}
.player-dropdown>button{
  width:100%;min-height:39px;display:grid;grid-template-columns:27px minmax(0,1fr) auto;align-items:center;gap:7px;
  border:0;border-radius:7px;background:transparent;color:#dde7f2;text-align:left;padding:5px 7px;cursor:pointer
}
.player-dropdown>button:hover{background:#122235}
.player-dropdown>button>span{width:25px;height:25px;display:grid;place-items:center;border:1px solid #3b526b;border-radius:50%;font-size:10px}
.player-dropdown>button>b{font-size:10px}
.player-menu-dot{width:5px;height:5px;border-radius:50%;background:#d7b66f;box-shadow:0 0 7px rgba(215,182,111,.5)}
.player-dropdown-separator{height:1px;background:#263a4e;margin:5px 4px}



.settings-switch-label input, .notification-settings-list input{position:absolute;opacity:0;pointer-events:none}
.ios-switch{
  position:relative;width:38px;height:22px;flex:0 0 auto;border-radius:999px;background:#293b4d;border:1px solid #3f556b;
  transition:.18s;display:block
}
.ios-switch::after{
  content:"";position:absolute;width:16px;height:16px;left:2px;top:2px;border-radius:50%;
  background:#d5dee8;box-shadow:0 2px 5px rgba(0,0,0,.35);transition:.18s
}
input:checked + .ios-switch{background:#b88d3e;border-color:#d0ad6b}
input:checked + .ios-switch::after{transform:translateX(16px);background:#fff}

/* Shared Quick Actions */
.shared-quick-actions{
  position:relative;padding:11px;border:1px solid var(--v38-line);border-radius:var(--v38-radius);
  background:linear-gradient(180deg,#101e2e,#0a1520);
  box-shadow:inset 0 0 0 1px rgba(208,173,107,.05),0 10px 26px rgba(0,0,0,.22);
  contain:layout paint
}
.shared-quick-title{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}
.shared-quick-title small{color:#8296aa;font-size:7px;text-transform:uppercase;letter-spacing:.09em}
.shared-quick-title h3{margin:2px 0 0;font:15px Georgia,"Times New Roman",serif}
.quick-edit-btn{
  position:absolute;right:7px;bottom:7px;width:25px;height:25px;display:grid;place-items:center;
  border:1px solid #49627d;border-radius:50%;background:#0b1622;color:#d9c18e;cursor:pointer;font-size:11px
}
.shared-quick-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding-bottom:27px}
.shared-quick-action{
  min-height:59px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;
  border:1px solid #405a75;border-radius:8px;background:linear-gradient(180deg,#142538,#0d1a27);color:#e5edf6;cursor:pointer
}
.shared-quick-action:hover{border-color:#6b89aa;transform:translateY(-1px)}
.shared-quick-action span{font-size:17px}
.shared-quick-action b{font-size:7px;text-transform:uppercase;letter-spacing:.04em}

/* Combined Fleet Widget, reused everywhere */
.shared-fleet-widget{
  border:1px solid var(--v38-line);border-radius:var(--v38-radius);
  background:linear-gradient(180deg,#101e2e,#09151f);
  box-shadow:inset 0 0 0 1px rgba(208,173,107,.05),0 10px 26px rgba(0,0,0,.22);
  overflow:hidden;contain:layout paint
}
.shared-fleet-head{
  display:flex;justify-content:space-between;align-items:flex-start;gap:8px;padding:10px 11px 8px;border-bottom:1px solid #293e54
}
.shared-fleet-head small{display:block;color:#8295aa;font-size:7px;text-transform:uppercase;letter-spacing:.08em}
.shared-fleet-head h3{margin:2px 0 0;font:14px Georgia,"Times New Roman",serif}
.shared-fleet-total{text-align:right}
.shared-fleet-total b{font-size:17px;color:#e5c987}
.shared-fleet-total span{color:#6f8399;font-size:10px;margin:0 2px}
.shared-fleet-total strong{font-size:12px;color:#aebdcb}
.shared-fleet-summary{
  display:grid;grid-template-columns:120px minmax(0,1fr);gap:10px;align-items:center;padding:10px
}
.fleet-status-chart{
  --fleet-chart:conic-gradient(var(--fleet-pve) 0deg 360deg);
  width:104px;height:104px;border-radius:50%;padding:11px;margin:auto;
  background:var(--fleet-chart);
  box-shadow:0 0 22px rgba(70,130,190,.10)
}
.fleet-status-chart-inner{
  width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;
  border-radius:50%;background:#09141e;border:1px solid #324b62
}
.fleet-status-chart-inner b{font-size:18px;color:#f0d79f}
.fleet-status-chart-inner small{font-size:7px;color:#71869b;text-transform:uppercase}
.fleet-status-legend{display:grid;gap:5px}
.fleet-status-legend div{display:grid;grid-template-columns:8px minmax(0,1fr) auto;align-items:center;gap:5px}
.fleet-status-legend i{width:7px;height:7px;border-radius:2px}
.fleet-status-legend span{color:#93a5b8;font-size:7px}
.fleet-status-legend b{font-size:8px;color:#d9e2eb}
.legend-repair{background:var(--fleet-repair)}
.legend-ground{background:var(--fleet-ground)}
.legend-pve{background:var(--fleet-pve)}
.legend-pvp{background:var(--fleet-pvp)}
.shared-fleet-movements{border-top:1px solid #293e54;padding:9px}
.shared-fleet-movements-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:7px}
.shared-fleet-movements-head b{font-size:9px}
.shared-fleet-movements-head span{color:#6fc991;font:7px monospace}
.fleet-movement-scroll{max-height:240px;overflow-y:auto;display:grid;gap:6px}
.shared-fleet-widget .movement-planet-group{margin:0}

/* Settings */
.settings-overlay,.quick-editor-overlay{
  position:fixed;inset:0;z-index:13000;display:flex;align-items:center;justify-content:center;padding:14px;
  background:rgba(2,7,12,.84)
}
.settings-overlay[hidden],.quick-editor-overlay[hidden]{display:none!important}
.settings-dialog{
  width:min(890px,100%);height:min(650px,calc(100vh - 28px));display:grid;grid-template-rows:auto minmax(0,1fr);
  border:1px solid #445e77;border-radius:14px;background:#0a141f;overflow:hidden;
  box-shadow:0 26px 75px rgba(0,0,0,.62)
}
.settings-dialog-head{
  display:flex;align-items:center;justify-content:space-between;padding:11px 14px;border-bottom:1px solid #2b4054;
  background:linear-gradient(180deg,#162638,#0e1a27)
}
.settings-dialog-head small,.quick-editor-dialog header small{color:#c8a766;font-size:7px;text-transform:uppercase;letter-spacing:.1em}
.settings-dialog-head h2,.quick-editor-dialog header h2{margin:2px 0 0;font:19px Georgia,"Times New Roman",serif}
.settings-close,.quick-editor-dialog header button{
  width:34px;height:34px;border:1px solid #4b637c;border-radius:8px;background:#0c1722;color:#e8eff7;font-size:20px;cursor:pointer
}
.settings-layout{min-height:0;display:grid;grid-template-columns:190px minmax(0,1fr)}
.settings-nav{padding:8px;border-right:1px solid #293e52;background:#08121c;display:flex;flex-direction:column;gap:5px}
.settings-nav button{
  min-height:42px;display:flex;align-items:center;gap:8px;border:1px solid transparent;border-radius:8px;
  background:transparent;color:#94a6b9;text-align:left;padding:7px 9px;cursor:pointer
}
.settings-nav button.active{border-color:#6d5a38;background:rgba(208,173,107,.09);color:#efd8a6}
.settings-nav button span{width:24px;height:24px;display:grid;place-items:center;border:1px solid #354e66;border-radius:50%}
.settings-content{min-width:0;overflow-y:auto;padding:17px}
.settings-section{display:none}
.settings-section.active{display:block}
.settings-kicker{color:#c7a565;font-size:7px;text-transform:uppercase;letter-spacing:.12em}
.settings-section h3{margin:3px 0 12px;font:21px Georgia,"Times New Roman",serif}
.settings-copy{margin:-5px 0 13px;color:#8ea0b3;font-size:9px;line-height:1.5}
.settings-row,.notification-settings-list label{
  min-height:54px;display:flex;align-items:center;justify-content:space-between;gap:14px;
  padding:8px 10px;border:1px solid #2d4359;border-radius:9px;background:#0d1824;margin-bottom:7px
}
.settings-row b,.notification-settings-list b{display:block;font-size:10px}
.settings-row small,.notification-settings-list small{display:block;margin-top:2px;color:#788da2;font-size:7px}
.settings-status-good{color:#79c994;font-size:9px}
.settings-switch-label,.notification-settings-list label{cursor:pointer}
.notification-settings-list label{position:relative}
.theme-picker{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.theme-card{
  position:relative;overflow:hidden;padding:0;border:1px solid #3e5872;border-radius:12px;
  background:#0c1722;color:#e7eef6;text-align:left;cursor:pointer
}
.theme-card img{display:block;width:100%;aspect-ratio:300/170;object-fit:cover;filter:saturate(.85) contrast(1.05)}
.theme-card>span{display:block;padding:10px}
.theme-card b{display:block;font-size:11px}
.theme-card small{display:block;margin-top:3px;color:#8194a9;font-size:8px;line-height:1.35}
.theme-check{
  position:absolute;right:8px;top:8px;width:24px;height:24px;display:none;place-items:center;border-radius:50%;
  background:#d0ad6b;color:#101318;font-style:normal;font-weight:800
}
.theme-card.active{border-color:#c7a35e;box-shadow:0 0 22px rgba(208,173,107,.12)}
.theme-card.active .theme-check{display:grid}

/* quick editor */
.quick-editor-dialog{
  width:min(620px,100%);border:1px solid #405b75;border-radius:13px;background:#0b1621;overflow:hidden;
  box-shadow:0 24px 70px rgba(0,0,0,.6)
}
.quick-editor-dialog header{display:flex;align-items:center;justify-content:space-between;padding:11px 13px;border-bottom:1px solid #2a4055}
.quick-editor-dialog>p{margin:11px 13px;color:#8ca0b4;font-size:9px}
.quick-editor-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;padding:0 13px 12px;max-height:380px;overflow-y:auto}
.quick-choice{
  min-height:55px;display:grid;grid-template-columns:31px minmax(0,1fr) 22px;align-items:center;gap:7px;
  border:1px solid #31495f;border-radius:8px;background:#0e1a27;color:#dfe8f1;padding:7px;text-align:left;cursor:pointer
}
.quick-choice>span{font-size:17px;text-align:center}
.quick-choice b{display:block;font-size:9px}
.quick-choice small{display:block;margin-top:2px;color:#7d91a5;font-size:7px}
.quick-choice i{
  width:18px;height:18px;border:1px solid #49627a;border-radius:50%;font-style:normal;display:grid;place-items:center;color:transparent
}
.quick-choice.selected{border-color:#8a7142;background:rgba(208,173,107,.08)}
.quick-choice.selected i{background:#cba65f;color:#111820}
.quick-editor-dialog footer{display:flex;align-items:center;justify-content:space-between;padding:10px 13px;border-top:1px solid #293e52}
.quick-editor-dialog footer span{color:#d8bd80;font-size:9px}









/* Dynamic planet skins keep a circular silhouette; atmosphere and shading are
   renderer-driven so texture images never become stretched ovals. */
.planet-skin-preview{
  width:100%;height:100%;border-radius:50%;object-fit:cover;display:block
}

@media(max-width:1500px){
}
@media(max-width:980px){
}
@media(max-width:650px){
}


/* v41 completion: prior visual requests */
.ingame-chat-shell.minimized .ingame-chat-toggle{right:-8px!important}

/* Same text sizing rules no matter which visual theme is selected. */
:root{--v41-copy:12px;--v41-small:9px;--v41-control:11px;--v41-heading:15px}
body,button,input,textarea,select{font-size:var(--v41-copy)!important}
button,.module-nav-btn,.shared-quick-action{font-size:var(--v41-control)!important}
small,.module-nav-copy small,.shared-fleet-head small,.shared-quick-title small{font-size:var(--v41-small)!important}
.module-nav-copy b,.primary-service-copy b,.shared-quick-action b,.fleet-status-legend b{font-size:11px!important;font-weight:700!important}





/* Planet button: same function, richer visual derived from the supplied blue/gold art. */
.app-nav-btn[data-go-view="planet"]{
  position:relative!important;overflow:hidden!important;
  border:1.4px solid #a98245!important;border-radius:14px!important;
  background-image:linear-gradient(90deg,rgba(3,20,55,.64),rgba(7,31,73,.30),rgba(112,72,20,.18)),url("data:image/webp;base64,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")!important;
  background-size:cover!important;background-position:center 49%!important;
  color:#fff0c8!important;text-shadow:0 1px 2px rgba(0,0,0,.75)!important;
  box-shadow:inset 0 0 0 1px rgba(255,232,180,.20),0 5px 18px rgba(0,0,0,.24)!important;
}
.app-nav-btn[data-go-view="planet"]::after{
  content:"";position:absolute;inset:4px;border:1px solid rgba(255,224,160,.28);border-radius:10px;pointer-events:none
}
.app-nav-btn[data-go-view="planet"] span,.app-nav-btn[data-go-view="planet"] small{position:relative;z-index:1;color:#fff1c9!important}
.app-nav-btn[data-go-view="planet"] span{filter:drop-shadow(0 1px 3px #000)}



/* ============================================================
   GALAXY 001 v46 — coordinate grid, dynamic planet selector,
   fleet readability and contextual planet actions
   ============================================================ */

:root{
  --coord-ocre:#8f6a2e;
}

/* Owned planets: real/dynamic planet preview instead of numeric circle */
.owned-planet-btn{
  grid-template-columns:40px minmax(0,1fr)!important;
  min-height:58px!important;
}
.owned-planet-index{
  width:38px!important;
  height:38px!important;
  position:relative;
  overflow:hidden;
  border-radius:50%!important;
  color:transparent!important;
  text-indent:-999px;
  background:
    radial-gradient(circle at 31% 27%,rgba(255,255,255,.75),rgba(255,255,255,.08) 14%,transparent 25%),
    radial-gradient(circle at 46% 48%,#729ab5,#3d687f 52%,#172a39 74%,#07101a 100%)!important;
  box-shadow:
    inset -7px -8px 11px rgba(0,0,0,.42),
    inset 4px 3px 7px rgba(255,255,255,.12),
    0 0 0 2px rgba(72,100,130,.2);
  background-size:cover!important;
  background-position:center!important;
}
.owned-planet-index::after{
  content:none;
  position:absolute;
  right:-1px;
  bottom:-1px;
  width:15px;
  height:15px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#0a1521;
  border:1px solid #667d95;
  color:#e9f0f7;
  text-indent:0;
  font-size:7px;
  font-weight:800;
}
.owned-planet-btn.active .owned-planet-index{
  border-color:#a27e42!important;
  box-shadow:
    inset -7px -8px 11px rgba(0,0,0,.38),
    0 0 0 2px rgba(197,155,87,.23),
    0 0 15px rgba(197,155,87,.14);
}

/* Coordinate rows */
.coordinate-tag{
  display:inline-flex;
  align-items:center;
  gap:5px;
  padding:4px 7px;
  border:1px solid rgba(142,110,58,.48);
  border-radius:6px;
  background:rgba(142,110,58,.08);
  color:#d6b776;
  font:700 10px ui-monospace,SFMono-Regular,Consolas,monospace;
  letter-spacing:.04em;
  white-space:nowrap;
}
.planet-coordinate-line{
  display:flex;
  align-items:center;
  gap:8px;
  margin:6px 0 0;
  color:#8498ac;
  font-size:10px;
}
.planet-coordinate-line b{
  color:#d6b776;
  font-family:ui-monospace,SFMono-Regular,Consolas,monospace;
  font-size:11px;
}
.mini-object-coordinate{
  display:block;
  margin-top:5px;
  color:#d2b271;
  font:700 9px ui-monospace,SFMono-Regular,Consolas,monospace;
}

/* Planet context actions */
.planet-context-actions,
.mini-object-actions{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:6px;
  margin-top:10px;
  padding-top:9px;
  border-top:1px solid #30465b;
}
.planet-context-actions button,
.mini-object-actions button{
  min-width:0;
  min-height:36px;
  padding:6px 4px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:3px;
  border:1px solid #465f79;
  border-radius:7px;
  background:linear-gradient(180deg,#17283b,#0e1b29);
  color:#e7eef7;
  font-size:8px!important;
  font-weight:700;
}
.planet-context-actions button span,
.mini-object-actions button span{font-size:15px}
.planet-context-actions button[data-planet-action="attack"]{border-color:#76504e}
.planet-context-actions button[data-planet-action="trade"]{border-color:#76633c}

/* Space object markers in system lens */
.space-object-coordinate-icon{
  font-size:12px;
  font-weight:900;
}

/* Fleet widget readability in BOTH modes */
.shared-fleet-head small{
  font-size:11px!important;
  font-weight:800!important;
  letter-spacing:.12em!important;
}
.shared-fleet-head h3{
  font-size:16px!important;
}
.shared-fleet-total b{
  font-size:22px!important;
}
.shared-fleet-total strong{
  font-size:15px!important;
}
.fleet-status-legend{
  gap:8px!important;
}
.fleet-status-legend div{
  grid-template-columns:11px minmax(0,1fr) auto!important;
  gap:7px!important;
}
.fleet-status-legend i{
  width:10px!important;
  height:10px!important;
}
.fleet-status-legend span{
  font-size:10px!important;
  font-weight:650!important;
  line-height:1.3!important;
}
.fleet-status-legend b{
  font-size:11px!important;
  font-weight:800!important;
}
.shared-fleet-movements-head b{
  font-size:12px!important;
  font-weight:800!important;
}
.shared-fleet-movements-head span{
  font-size:9px!important;
}
.movement-planet-head{
  padding:9px 10px!important;
}
.movement-planet-head b{
  font-size:11px!important;
  font-weight:800!important;
}
.movement-planet-head small{
  font-size:9px!important;
}
.movement-row{
  padding:10px!important;
}
.movement-kind{
  font-size:10px!important;
  font-weight:700!important;
}
.movement-kind i{
  width:23px!important;
  height:23px!important;
  font-size:11px!important;
}
.movement-eta{
  font-size:11px!important;
  font-weight:800!important;
}
.movement-destination{
  margin-top:6px!important;
  font-size:10px!important;
  line-height:1.4!important;
}
.movement-progress{
  height:5px!important;
  margin-top:8px!important;
}








/* Scale for desktop FullHD without changing proportions between themes */
@media(min-width:1500px){
}



/* ============================================================
   GALAXY 001 v46 — universal light readability, map navigation
   tools and softened galaxy/system transition
   ============================================================ */

#space,
#systemView{
  transition:
    opacity .42s cubic-bezier(.22,.61,.36,1),
    filter .42s cubic-bezier(.22,.61,.36,1);
}
#systemView{
  background-size:cover!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
}
#systemView::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 50% 48%,transparent 32%,rgba(2,6,12,.12) 70%,rgba(2,6,12,.25) 100%);
}
#solarCanvas{
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
}
#systemView .system-label,
#systemView .planet-info-card,
#systemView .space-resource-info-card,
#systemView .solar-system-number-badge,
#systemView .solar-galaxy-number-badge,
#systemView .resource-target-badge{
  position:absolute!important;
}

/* Shared small navigation controls for full map + mini-map */
.map-nav-tools,
.mini-nav-tools{
  display:flex;
  align-items:center;
  gap:6px;
  z-index:12;
}
.map-nav-tools{
  position:absolute;
  left:88px;
  top:12px;
}
.mini-nav-tools{
  position:absolute;
  left:8px;
  top:8px;
}
.map-nav-tool,
.mini-nav-tool{
  width:34px;
  height:34px;
  padding:0!important;
  display:grid!important;
  place-items:center!important;
  border:1px solid #506c88!important;
  border-radius:9px!important;
  background:rgba(9,18,29,.92)!important;
  color:#e8f0f8!important;
  box-shadow:0 7px 18px rgba(0,0,0,.22);
  backdrop-filter:blur(5px);
  cursor:pointer;
}
.map-nav-tool:hover,
.mini-nav-tool:hover{
  border-color:#7898b8!important;
  background:rgba(17,34,52,.96)!important;
}
.map-nav-tool svg,
.mini-nav-tool svg{
  width:19px;
  height:19px;
  display:block;
  stroke:currentColor;
  fill:none;
  stroke-width:1.8;
}
.map-nav-tool.resource-asteroid,
.mini-nav-tool.resource-asteroid{color:#c8d0d7!important}
.map-nav-tool.resource-graveyard,
.mini-nav-tool.resource-graveyard{color:#d4a076!important}
.mini-map-label{display:none!important}

/* Search overlay */
.galaxy-search-overlay{
  position:fixed;
  inset:0;
  z-index:14500;
  display:flex;
  justify-content:center;
  align-items:flex-start;
  padding:78px 14px 20px;
  background:rgba(2,7,12,.52);
  backdrop-filter:blur(4px);
}
.galaxy-search-overlay[hidden]{display:none!important}
.galaxy-search-panel{
  width:min(650px,100%);
  max-height:min(680px,calc(100vh - 100px));
  display:grid;
  grid-template-rows:auto auto minmax(0,1fr);
  overflow:hidden;
  border:1px solid #49637d;
  border-radius:13px;
  background:#0b1622;
  box-shadow:0 25px 75px rgba(0,0,0,.58);
}
.galaxy-search-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:11px 13px;
  border-bottom:1px solid #2e4358;
}
.galaxy-search-head small{
  display:block;
  color:#c5a566;
  font-size:9px!important;
  font-weight:800!important;
  text-transform:uppercase;
  letter-spacing:.11em;
}
.galaxy-search-head h3{
  margin:2px 0 0;
  font-size:16px!important;
}
.galaxy-search-close{
  width:34px;height:34px;padding:0!important;
  display:grid!important;place-items:center!important;
  font-size:19px!important;
}
.galaxy-search-input-wrap{
  display:grid;
  grid-template-columns:32px minmax(0,1fr);
  align-items:center;
  gap:8px;
  padding:11px 13px;
  border-bottom:1px solid #2b4054;
}
.galaxy-search-input-wrap svg{
  width:21px;height:21px;stroke:#8eabc5;fill:none;stroke-width:1.8
}
#galaxySearchInput{
  width:100%;
  min-width:0;
  height:42px;
  box-sizing:border-box;
  padding:0 12px;
  border:1px solid #435d76;
  border-radius:8px;
  background:#09131e;
  color:#eaf1f8;
  font-size:13px!important;
  font-weight:600;
  outline:none;
}
.galaxy-search-results{
  overflow-y:auto;
  padding:8px;
}
.search-result-row{
  width:100%;
  min-height:58px;
  display:grid;
  grid-template-columns:38px minmax(0,1fr) auto;
  align-items:center;
  gap:9px;
  margin-bottom:6px;
  padding:8px 9px!important;
  border:1px solid #2e465c!important;
  border-radius:9px!important;
  background:#0d1a27!important;
  color:#e4edf6!important;
  text-align:left;
}
.search-result-icon{
  width:36px;height:36px;
  display:grid;place-items:center;
  border:1px solid #48627c;
  border-radius:50%;
  background:#08131d;
  font-size:17px;
}
.search-result-copy{min-width:0}
.search-result-copy b{
  display:block;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
  font-size:12px!important;
}
.search-result-copy small{
  display:block;
  margin-top:3px;
  color:#879aaf!important;
  font-size:10px!important;
}
.search-result-coordinate{
  color:#d0ae69;
  font:800 10px ui-monospace,SFMono-Regular,Consolas,monospace;
  white-space:nowrap;
}
.search-empty{
  padding:30px 15px;
  text-align:center;
  color:#8094a8;
  font-size:11px;
}

/* Resource target callout inside solar system */
.resource-target-badge{
  position:absolute;
  left:16px;
  top:68px;
  z-index:10;
  width:min(285px,calc(100% - 32px));
  padding:9px 10px;
  border:1px solid #675b47;
  border-radius:9px;
  background:rgba(8,17,27,.92);
  box-shadow:0 10px 26px rgba(0,0,0,.35);
  pointer-events:none;
}
.resource-target-badge small{
  display:block;
  color:#c8a563!important;
  font-size:8px!important;
  font-weight:800!important;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.resource-target-badge b{
  display:block;
  margin-top:3px;
  font-size:12px!important;
}
.resource-target-badge span{
  display:block;
  margin-top:3px;
  color:#9aabba;
  font:700 9px ui-monospace,SFMono-Regular,Consolas,monospace;
}

/* Universal LIGHT readability pass: use the Planet page standard everywhere. */












/* FullHD readability without breaking the two UI themes */
@media(min-width:1600px) and (min-height:850px){
}
@media(max-width:700px){
}





.resource-ui-icon{
  width:25px!important;
  height:25px!important;
  display:block!important;
  object-fit:contain!important;
  pointer-events:none!important;
}
.search-result-icon .resource-ui-icon{
  width:34px!important;
  height:34px!important;
}
.mini-object-info-head .resource-ui-icon{
  width:20px!important;
  height:20px!important;
}

/* System identifier */
.solar-system-number-badge{
  position:absolute;
  right:15px;
  bottom:13px;
  z-index:9;
  padding:6px 9px;
  border:1px solid #4e6680;
  border-radius:7px;
  background:rgba(7,15,24,.84);
  color:#d8e4ef;
  font:800 10px ui-monospace,SFMono-Regular,Consolas,monospace;
  letter-spacing:.09em;
  pointer-events:none;
  box-shadow:0 5px 14px rgba(0,0,0,.25);
}

.planet-info-section-title{
  margin-top:11px;
  margin-bottom:4px;
  color:#c8aa70;
  font-size:10px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.07em;
}

/* Hide textual helper/hint content; controls remain available. */
.map-tip{display:none!important}
#miniMapLabel{display:none!important}






/* Every normal textual element receives a dark readable baseline. */










/* Cards and windows */


/* Headers */


/* Buttons and controls */





/* Active states stay identifiable, independent of hover. */


/* Form controls */



/* Semantic colors remain meaningful but darker. */







/* Larger and clearer desktop typography everywhere, not only Planet. */
@media(min-width:1500px){
}



/* ============================================================
   GALAXY 001 v46 — stable solar hit-test + space resource card
   ============================================================ */
.space-resource-info-card{
  position:absolute;
  right:16px;
  bottom:16px;
  z-index:11;
  width:350px;
  max-height:76%;
  overflow:auto;
  padding:13px;
  box-sizing:border-box;
  border:1px solid #405b76;
  border-radius:12px;
  background:rgba(8,17,28,.96);
  box-shadow:0 14px 38px rgba(0,0,0,.48);
}
.space-resource-head{
  display:grid;
  grid-template-columns:54px minmax(0,1fr);
  align-items:center;
  gap:10px;
  padding-right:28px;
}
.space-resource-head img{
  width:52px;
  height:52px;
  object-fit:contain;
}
.space-resource-head small{
  display:block;
  color:#c7a766;
  font-size:8px!important;
  font-weight:800!important;
  text-transform:uppercase;
  letter-spacing:.09em;
}
.space-resource-head h4{
  margin:2px 0 0;
  font-size:15px!important;
}
.space-resource-head span{
  display:block;
  margin-top:3px;
  color:#879bad;
  font-size:9px;
}
.space-resource-body{margin-top:11px}
.space-resource-coordinate,
.space-resource-total{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:7px 0;
  border-bottom:1px solid #293e53;
}
.space-resource-coordinate span,
.space-resource-total span{
  color:#8fa2b5;
  font-size:10px;
}
.space-resource-coordinate b{
  color:#d3b16c;
  font:800 10px ui-monospace,SFMono-Regular,Consolas,monospace;
}
.space-resource-total b{
  font-size:13px;
}
.space-resource-section-title{
  margin:12px 0 6px;
  color:#c8aa70;
  font-size:9px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.07em;
}
.space-resource-list,
.space-loot-list{
  display:grid;
  gap:5px;
}
.space-resource-row,
.space-loot-row{
  min-height:34px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:5px 7px;
  border:1px solid #293f54;
  border-radius:7px;
  background:#0b1723;
}
.space-resource-row span,
.space-loot-row span{
  display:flex;
  align-items:center;
  gap:6px;
  min-width:0;
  font-size:10px;
}
.space-resource-row i{
  width:7px;
  height:7px;
  border-radius:50%;
  background:#668198;
}
.space-resource-row i.primary{
  background:#d0aa61;
  box-shadow:0 0 6px rgba(208,170,97,.35);
}
.space-resource-row b,
.space-loot-row b{
  flex:0 0 auto;
  font-size:10px;
  color:#e2ca98;
}
.space-loot-empty{
  padding:8px;
  border:1px dashed #32485c;
  border-radius:7px;
  color:#8498ab;
  font-size:9px;
}
.space-resource-note{
  margin-top:10px;
  color:#74899d;
  font-size:8px;
  line-height:1.45;
}
.space-resource-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px;
  margin-top:11px;
  padding-top:9px;
  border-top:1px solid #2d4256;
}
.space-resource-actions button{
  min-height:38px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  font-size:9px!important;
  font-weight:700;
}










/* ============================================================
   GALAXY 001 v46 — SOLAR INTERACTION / TRUE DEPTH FIX
   ============================================================ */

/* The old top label is intentionally removed from the solar UI. */
#systemView .system-label{display:none!important}

/* Galaxy on the left, solar-system number on the right. */
.solar-galaxy-number-badge,
.solar-system-number-badge{
  bottom:13px!important;
  z-index:12!important;
  padding:7px 10px!important;
  border:1px solid #536c85!important;
  border-radius:7px!important;
  background:rgba(7,15,24,.88)!important;
  color:#dbe6ef!important;
  font:800 10px ui-monospace,SFMono-Regular,Consolas,monospace!important;
  letter-spacing:.09em!important;
  pointer-events:none!important;
  box-shadow:0 6px 16px rgba(0,0,0,.28)!important;
}
.solar-galaxy-number-badge{left:15px!important;right:auto!important}
.solar-system-number-badge{right:15px!important;left:auto!important}

/* Planet/resource cards are guaranteed to stay inside the visible solar view. */
#systemView .planet-info-card,
#systemView .space-resource-info-card{
  right:16px!important;
  bottom:55px!important;
  z-index:25!important;
  pointer-events:auto!important;
}

/* Canvas owns the full solar interaction surface. */
#solarCanvas{
  width:100%!important;
  height:100%!important;
  touch-action:none!important;
  pointer-events:auto!important;
  user-select:none!important;
}

/* Light-mode badge visibility. */



/* v47.2.2 — Elio / scoperte epiche */
.resource-name-with-icon{
  display:flex!important;
  align-items:center;
  gap:5px;
}
.resource-name-with-icon img,
.g001-resource-icon,
.cost-resource-icon,
.building-resource-icon,
.tech-resource-icon,
.research-resource-icon{
  width:18px;
  height:18px;
  object-fit:contain;
  vertical-align:middle;
  filter:drop-shadow(0 0 5px rgba(113,209,255,.16));
}
.resource-name-with-icon img{width:15px;height:15px}
.building-resource-icon{width:24px;height:24px}
.tech-resource-icon{width:23px;height:23px}
.research-resource-icon{width:31px;height:31px}
.cost-resource-icon{width:17px;height:17px}

.resource-helium{
  border-color:#315f78!important;
  background:
    linear-gradient(180deg,rgba(17,39,54,.98),rgba(9,22,32,.98))!important;
}

.research-discovery-gate{
  display:grid;
  grid-template-columns:44px minmax(0,1fr);
  gap:9px;
  align-items:center;
  margin:12px 0 9px;
  padding:9px;
  border:1px solid #3c4f63;
  border-radius:8px;
  background:#0b1621;
}
.research-discovery-gate.unlocked{
  border-color:#4c765f;
  background:rgba(69,123,86,.08);
}
.research-discovery-gate.locked{
  border-color:#5f4657;
  background:rgba(108,57,87,.07);
}
.research-gate-icon{
  width:40px;
  height:40px;
  display:grid;
  place-items:center;
  border:1px solid #425b72;
  border-radius:50%;
  background:#0b131d;
}
.research-discovery-gate small{
  color:#8fa2b5;
  font-size:7px;
  letter-spacing:.08em;
}
.research-discovery-gate b{
  display:block;
  margin-top:2px;
  color:#e8edf4;
  font-size:10px;
}
.research-discovery-gate p{
  margin:3px 0 0;
  color:#8194a7;
  font-size:8px;
  line-height:1.45;
}
.tech-locked{opacity:.72}
.tech-unlocked .module-nav-copy small{color:#8ecaa0!important}
.research-ready-btn:disabled{
  opacity:.55!important;
  cursor:default!important;
}

@media(max-width:430px){
}


/* GALAXY 001 v47.2.4 — minimap + chat runtime fixes */
.map-dock-v31:not(.open) .map-dock-body{height:0!important}
.mini-object-info{pointer-events:auto!important}
.mini-object-info p,.mini-object-info small,.mini-object-info-head,.mini-object-coordinate{pointer-events:none}
.mini-object-actions,.mini-object-actions *{pointer-events:auto!important}
#miniMapCanvas{pointer-events:auto!important;touch-action:none!important}
.ingame-chat-shell{right:max(4px,env(safe-area-inset-right,0px))!important}
.ingame-chat-shell.minimized .ingame-chat-toggle{right:-12px!important;min-width:132px!important;width:132px!important;height:40px!important}
@media(min-width:1180px){}
@media(max-width:760px){}


/* ============================================================
   GALAXY 001 v47.2.9 — Tick-stable UI & minimap dwell
   ============================================================ */

.mini-object-info{
  bottom:auto!important;
  transition:opacity .12s ease!important;
  pointer-events:auto!important;
}

/* Il server aggiorna i numeri ogni secondo, ma il refresh numerico non deve
   mai avviare animazioni sui controlli interattivi. */
[data-building-select],
[data-building-action],
[data-building-cancel],
.module-nav-btn,
.planet-btn,
.owned-planet-btn{
  animation:none!important;
}
/* v47.5.0 — first coordinate / PWA-safe homeworld claim */
.homeworld-claim-setup{
  position:fixed;top:76px;right:18px;z-index:20000;width:min(390px,calc(100vw - 36px));
  pointer-events:none
}
.homeworld-claim-card{
  width:100%;padding:20px;border:1px solid rgba(113,232,255,.38);pointer-events:auto;
  border-radius:16px;background:rgba(8,13,24,.96);box-shadow:0 18px 60px rgba(0,0,0,.58);backdrop-filter:blur(10px)
}
.homeworld-claim-card>small{color:#71e8ff;letter-spacing:.14em}
.homeworld-claim-card h2{margin:8px 0 6px}
.homeworld-claim-card p{margin:0 0 12px;color:#9cacc2;line-height:1.45}
.homeworld-map-steps{margin:0 0 12px;padding-left:20px;color:#bdc9da;font-size:12px;line-height:1.5}
.homeworld-map-selection{display:grid;gap:3px;margin-top:12px;padding:11px;border:1px solid #27364d;border-radius:10px;background:#050a12}
.homeworld-map-selection span,.homeworld-map-selection small{color:#8d9bb0}
.homeworld-map-selection small{font-size:11px}
.homeworld-coordinate-bonus{margin-top:10px;padding:10px;border:1px solid rgba(113,232,255,.2);border-radius:10px;background:#07151d;font-size:12px}
.homeworld-coordinate-bonus strong{display:block;margin-bottom:7px;color:#ddecf5}
.homeworld-coordinate-bonus>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}
.homeworld-coordinate-bonus .bonus{color:#78e0b9}.homeworld-coordinate-bonus .malus{color:#ff9292}.homeworld-coordinate-bonus .neutral{color:#aab6c8}
.homeworld-coordinate-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.homeworld-coordinate-grid label{display:grid;gap:6px;color:#aebbd0;font-size:12px}
.homeworld-coordinate-grid input{
  min-width:0;padding:11px 12px;border:1px solid #27364d;border-radius:10px;
  color:#edf8ff;background:#050a12
}
.homeworld-coordinate-grid .planet-btn{align-self:end;min-height:40px}
.homeworld-coordinate-slots{
  margin:16px 0 0;padding:12px;border:1px solid #27364d;border-radius:12px
}
.homeworld-coordinate-slots legend{padding:0 6px;color:#aebbd0;font-size:12px}
.homeworld-coordinate-slots>div{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px
}
.homeworld-coordinate-slot{
  min-height:42px;padding:9px 11px;border:1px solid #2e4962;border-radius:9px;
  color:#a8f1dd;background:#081a20;text-align:left;cursor:pointer
}
.homeworld-coordinate-slot:hover,.homeworld-coordinate-slot.selected{
  border-color:#71e8ff;color:#effdff;background:#0c2933;box-shadow:0 0 0 1px rgba(113,232,255,.18)
}
.homeworld-coordinate-slot.occupied{
  color:#778397;background:#080c13;border-color:#202a38;cursor:not-allowed;opacity:.68
}
.homeworld-claim-result{min-height:20px;margin:16px 0;color:#8cdff2;font-size:13px}
.homeworld-claim-setup[data-onboarding-phase="commander-name"],
.homeworld-claim-setup[data-onboarding-phase="commander-avatar"]{
  inset:0;z-index:100500;display:grid;place-items:center;width:auto;padding:24px;overflow:auto;
  background:rgba(0,6,12,.82);backdrop-filter:blur(8px);pointer-events:auto
}
.homeworld-identity-card{width:min(1040px,calc(100vw - 48px));border-radius:2px;border-color:rgba(197,145,67,.78);background:linear-gradient(145deg,rgba(4,25,38,.99),rgba(1,10,18,.99));box-shadow:0 24px 90px #000,0 0 0 1px rgba(65,198,231,.15)}
.homeworld-claim-setup[data-onboarding-phase="commander-name"] .homeworld-identity-card{max-width:720px}
.homeworld-claim-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:10px;border-bottom:1px solid rgba(198,149,76,.36)}
.homeworld-claim-head>small{color:#6edcf3;font-size:9px;letter-spacing:.14em}
.homeworld-step{display:block;margin-top:15px;color:#d2a85d;font:700 9px/1.2 "Segoe UI",sans-serif;letter-spacing:.12em}
.homeworld-commander-name{display:grid;gap:7px;margin:20px 0 10px;color:#81d8ea;font-size:9px;letter-spacing:.08em;text-transform:uppercase}
.homeworld-commander-name input{box-sizing:border-box;width:100%;height:52px;padding:10px 13px;border:1px solid #32667d;border-radius:2px;background:#020c14;color:#f4deb0;font:600 18px/1.2 Georgia,serif;outline:0}
.homeworld-commander-name input:focus{border-color:#62d9f4;box-shadow:0 0 0 2px rgba(75,201,231,.15)}
.homeworld-name-status{min-height:20px;margin:8px 0;color:#9fb4bf;font-size:11px}.homeworld-name-status.checking{color:#79d9ec}.homeworld-name-status.available{color:#75d5a7}.homeworld-name-status.invalid{color:#ff9b91}
.homeworld-uid-note{display:block;margin:12px 0 18px;padding:10px;border-left:2px solid #b9853d;background:rgba(6,25,36,.7);color:#9db1bc;font-size:10px;line-height:1.45}
.homeworld-avatar-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0}
.homeworld-avatar-grid button{display:grid;grid-template-rows:128px auto auto;place-items:center;gap:7px;min-width:0;padding:14px;border:1px solid #28495d;border-radius:2px;background:rgba(2,16,26,.9);color:#e9d2a0;cursor:pointer}
.homeworld-avatar-grid button:hover,.homeworld-avatar-grid button:focus-visible{border-color:#55cfe9;outline:0}.homeworld-avatar-grid button.selected{border-color:#72ddb0;background:linear-gradient(180deg,rgba(20,77,69,.8),rgba(3,30,34,.94));box-shadow:inset 0 0 0 1px rgba(114,221,176,.35)}
.homeworld-avatar-grid img{width:128px;height:128px;border-radius:50%;object-fit:cover}.homeworld-avatar-grid b{display:flex;align-items:center;justify-content:center;min-height:32px;max-width:100%;font:600 13px/1.2 Georgia,serif;text-align:center;white-space:normal;overflow-wrap:anywhere}.homeworld-avatar-grid small{color:#89a8b6;font-size:9px}.homeworld-avatar-grid button.selected small{color:#7fe0b5}
@media(max-width:560px){
  .homeworld-claim-setup[data-onboarding-phase="commander-name"],.homeworld-claim-setup[data-onboarding-phase="commander-avatar"]{padding:10px}
  .homeworld-identity-card{width:calc(100vw - 20px);padding:15px}.homeworld-avatar-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.homeworld-avatar-grid button{grid-template-rows:84px auto auto;padding:9px}.homeworld-avatar-grid img{width:84px;height:84px}
}
.planet-context-actions .homeworld-map-select{grid-column:1/-1;border-color:#44cfe8;color:#e9fcff;background:#0a3440}

/* v47.5.5 — avvisi attacchi diretti */
.owned-planet-btn,.galaxy-planet-tab{position:relative;overflow:hidden}
.owned-planet-btn.under-attack::after,.galaxy-planet-tab.under-attack::after{
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;border-radius:inherit;
  box-shadow:inset 0 0 0 1px rgba(255,76,76,.92),inset 0 0 18px rgba(215,35,49,.24);
  animation:incomingAttackPulse 1.8s ease-in-out infinite!important
}
.owned-planet-btn.under-attack>*,.galaxy-planet-tab.under-attack>*{position:relative;z-index:1}
.owned-planet-attack-eta{
  display:block;margin-top:3px;color:#ff8585;font:700 8px/1.2 ui-monospace,monospace;
  letter-spacing:.03em;white-space:nowrap
}
.movement-planet-group.under-attack{
  border-color:rgba(225,63,72,.75);box-shadow:inset 0 0 18px rgba(180,24,42,.09)
}
.movement-incoming-attack{
  display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 8px;
  color:#ff9494;background:linear-gradient(90deg,rgba(151,21,39,.22),rgba(151,21,39,.06));
  border-bottom:1px solid rgba(218,54,67,.28);font-size:8px
}
.movement-incoming-attack b{font:700 9px ui-monospace,monospace;color:#ffb0b0}
@keyframes incomingAttackPulse{
}
@media(prefers-reduced-motion:reduce){}

.station-project-dialog{
  width:min(680px,calc(100vw - 28px));max-height:calc(100vh - 28px);
  padding:0;border:1px solid #31546d;border-radius:14px;color:#dbeaf5;
  background:linear-gradient(155deg,#101d29,#081019);box-shadow:0 24px 80px #000c;
}
.station-project-dialog::backdrop{background:#02070dbd;backdrop-filter:blur(4px)}
.station-project-form{display:grid;gap:14px;padding:22px;overflow:auto}
.station-project-form>small{color:#71e8ff;letter-spacing:.12em}
.station-project-form h2,.station-project-form p{margin:0}
.station-project-form p{color:#9cacc2;line-height:1.45}
.station-project-costs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 16px;padding:12px;border:1px solid #263f54;border-radius:10px;background:#08131e}
.station-project-costs .row{display:flex;justify-content:space-between;gap:12px;padding:5px 0;border-bottom:1px solid #1d3142}
.station-project-costs .row span{color:#8fa6b8}.station-project-costs .row b{color:#e4ca8c}
.station-project-form fieldset{display:grid;gap:8px;border:1px solid #2a465c;border-radius:10px}
.station-project-form textarea{box-sizing:border-box;width:100%;margin-top:6px;padding:9px;color:#dbeaf5;background:#07111a;border:1px solid #2a465c;border-radius:8px;resize:vertical}
.station-project-form output{min-height:20px;color:#8cdff2}
.station-project-actions{display:flex;justify-content:flex-end;gap:10px}
.station-contribution-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 14px}
.station-contribution-grid label{display:grid;grid-template-columns:1fr minmax(70px,100px);align-items:center;gap:4px 10px;color:#b9cddd}
.station-contribution-grid input{width:100%;box-sizing:border-box;padding:7px;color:#e4ca8c;background:#07111a;border:1px solid #2a465c;border-radius:7px}
.station-contribution-grid small{grid-column:1/-1;color:#73899b}
.station-project-hub [data-station-project-list]{display:grid;gap:10px;max-height:55vh;overflow:auto}
.station-project-card{padding:12px;border:1px solid #294459;border-radius:10px;background:#091620}
.station-project-card.focused{border-color:#71e8ff;box-shadow:0 0 18px #41d6ff30}
.station-project-card header{display:flex;justify-content:space-between;gap:12px;color:#e4ca8c}
.station-project-card p{margin:7px 0!important;color:#c7d9e7!important}
.station-project-card>.station-project-actions{margin-top:10px}
.station-shareholder-table-wrap{max-width:100%;overflow:auto;border:1px solid #294459;border-radius:10px}
.station-shareholder-table{width:100%;border-collapse:collapse;background:#08131e;color:#c7d9e7}
.station-shareholder-table th,.station-shareholder-table td{padding:9px 11px;text-align:left;border-bottom:1px solid #1d3142;white-space:nowrap}
.station-shareholder-table th{color:#71e8ff;background:#0b1a26;letter-spacing:.04em}
.station-shareholder-table tbody tr:last-child td{border-bottom:0}
.map-library-panel{margin:14px 0;padding:14px;border:1px solid #31546b;border-radius:12px;background:#081722;display:grid;gap:12px}
.map-library-panel>header,.map-library-actions,.map-library-write{display:flex;gap:10px;align-items:end;flex-wrap:wrap;justify-content:space-between}
.map-library-panel label{display:grid;gap:5px;color:#a9c2d3;font-size:.82rem}
.map-library-panel input,.map-library-panel select,.mission-map-popover select{min-height:38px;border:1px solid #31546b;border-radius:8px;background:#07111a;color:#d7edf8;padding:7px 9px}
.map-library-filters{display:flex;gap:6px;align-items:center;overflow-x:auto;padding-bottom:3px}
.map-library-toolbar{position:relative;display:flex;align-items:center;gap:8px}.map-library-toolbar .map-library-filters{flex:1}
.map-library-tool{position:relative}.map-library-tool>summary{white-space:nowrap;padding:7px 10px;border:1px solid #31546b;border-radius:8px;background:#091721;color:#b9d2e1;cursor:pointer;list-style:none}.map-library-tool>summary::-webkit-details-marker{display:none}
.map-library-tool-popover{position:absolute;z-index:25;right:0;top:42px;width:min(520px,85vw);padding:12px;border:1px solid #4e829b;border-radius:10px;background:#07131e;box-shadow:0 14px 35px #000b}
.map-library-filter{white-space:nowrap;padding:7px 10px;border:1px solid #31546b;border-radius:999px;background:#091721;color:#a9c2d3;cursor:pointer}
.map-library-filter.active{border-color:#65ddf5;background:#123248;color:#fff;box-shadow:0 0 12px #42cce633}
.map-library-stacks{display:grid;grid-template-columns:repeat(11,minmax(0,1fr));grid-template-rows:repeat(5,minmax(72px,auto));gap:6px}
.map-library-stack{position:relative;min-width:0;display:grid;align-content:start;gap:3px;padding:7px;border:1px solid #294459;border-radius:9px;background:#0b1b28;font-size:.72rem;overflow:hidden}
.map-library-stack>b,.map-library-stack>span,.map-library-stack>small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.map-library-stack .inventory-trash-button{position:absolute;right:2px;bottom:2px;transform:scale(.82)}
.map-library-stack details{font-size:.68rem}.map-library-stack details p{white-space:normal}
.map-library-slot{display:grid;place-items:center;min-height:72px;border:1px dashed #294459;border-radius:9px;background:#07131d;color:#405668}
.map-library-slot.locked{border-style:solid;background:#050b10;color:#243744}
.map-library-stack.written{border-color:#4e829b}
.map-library-writing{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:10px;border:1px solid #a9823c;border-radius:9px;background:#211a0d;color:#f4d99b}
@media(max-width:1050px){}
@media(max-width:600px){}
.mission-form-heading{position:relative}
.mission-engine-power{display:grid;gap:8px;padding:12px;border:1px solid #31546b;border-radius:10px;background:linear-gradient(90deg,#081722,#0d2230)}
.mission-engine-power header,.mission-engine-power>div{display:flex;align-items:center;gap:12px;justify-content:space-between}.mission-engine-power header span{display:grid}.mission-engine-power header small,.mission-engine-power>small{color:#9db7c9}.mission-engine-power header b{color:#78e4ff;font-size:1.2rem}
.mission-engine-power input[type="range"]{flex:1;accent-color:#5dddf7}.mission-engine-power label{display:flex;align-items:center;gap:4px}.mission-engine-power input[type="number"]{width:72px;min-height:36px;padding:6px;border:1px solid #4e829b;border-radius:8px;background:#07111a;color:#fff;text-align:right}
.mission-map-selector{margin-left:auto;position:relative}
.mission-map-selector>summary{display:grid;place-items:center;width:42px;height:42px;border:1px solid #4e829b;border-radius:9px;background:#0b1b28;cursor:pointer;font-size:1.3rem;list-style:none}
.mission-map-selector>summary::-webkit-details-marker{display:none}
.mission-map-popover{position:absolute;z-index:20;right:0;top:48px;width:min(340px,80vw);display:grid;gap:8px;padding:12px;border:1px solid #4e829b;border-radius:10px;background:#07131e;box-shadow:0 14px 35px #000b}
.mission-map-popover label{display:grid;gap:5px}
.station-service-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.station-service-tab{display:grid;gap:8px;padding:12px;border:1px solid #294459;border-radius:10px;background:#081722}
.station-research-card{min-height:118px;background-image:linear-gradient(90deg,rgba(2,10,16,.94) 0%,rgba(2,10,16,.8) 58%,rgba(2,10,16,.48) 100%),var(--station-research-art);background-position:center;background-size:cover;background-repeat:no-repeat;box-shadow:inset 0 0 0 1px rgba(34,165,211,.08),0 7px 16px rgba(0,0,0,.28)}
.station-service-tab header{display:flex;justify-content:space-between;gap:8px}
.station-service-tab p{margin:0;color:#9cb5c6}
@media(max-width:760px){}
.station-operation-health{margin:10px 0;padding:8px;border-left:3px solid #dfb85d;color:#d9e8f2;background:#0d1c28}
.station-operation-services{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:8px 0}
.station-operation-services .planet-btn{font-size:10px}
.station-commercial-routes-button{border-color:#4fc9e8!important;color:#bcefff!important}
.station-commercial-routes-dialog{width:min(760px,94vw)}
.commercial-route-map{position:relative;min-height:280px;border:1px solid #31546b;border-radius:12px;overflow:hidden;background:radial-gradient(circle at 50% 50%,#173449 0,#081722 38%,#030910 100%)}
.commercial-route-map svg{display:block;width:100%;height:280px}
.commercial-route-map>span{position:absolute;inset:0;display:grid;place-items:center;color:#7894a8;letter-spacing:.08em}
.commercial-route-home{fill:#f4d99b;stroke:#fff;stroke-width:2;filter:drop-shadow(0 0 8px #75dfff)}
.commercial-route line{stroke-width:5;stroke-linecap:round;stroke-dasharray:10 13;animation:commercial-route-flow 1.2s linear infinite}
.commercial-route circle{stroke-width:2}
.commercial-route.active line{stroke:url(#activeRouteFlow)}.commercial-route.active circle{fill:#64daf5;stroke:#fff}
.commercial-route.interrupted line{stroke:#e04e5a;animation:none}.commercial-route.interrupted circle{fill:#7f1822;stroke:#ff7d86}
.commercial-route-legend{display:flex;align-items:center;gap:14px;flex-wrap:wrap;color:#9fb5c5}.commercial-route-legend b{margin-left:auto;color:#e4ca8c}.commercial-route-legend .active{color:#8fe9ff}.commercial-route-legend .interrupted{color:#ff7d86}
@keyframes commercial-route-flow{}
.station-project-hub-button{position:fixed;left:18px;bottom:82px;z-index:80;box-shadow:0 8px 28px #0009}
@media(max-width:560px){}
/* v47.8.2 persistent notification inbox */
.notification-inbox{margin-top:18px;padding-top:16px;border-top:1px solid rgba(136,190,255,.18)}
.notification-inbox>header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.notification-inbox h4{margin:2px 0 0}.notification-inbox header small{opacity:.65}
.notification-inbox button{border:1px solid rgba(136,190,255,.3);border-radius:9px;background:rgba(19,41,69,.8);color:inherit;padding:7px 10px;cursor:pointer}
.notification-inbox-list{display:grid;gap:7px;max-height:310px;overflow:auto}
.notification-inbox-row{display:grid;grid-template-columns:auto 1fr;gap:9px;padding:9px 10px;border-radius:9px;background:rgba(11,27,49,.72);border:1px solid rgba(136,190,255,.12)}
.notification-inbox-row.unread{border-color:rgba(81,181,255,.48);box-shadow:inset 3px 0 0 #51b5ff}
.notification-inbox-row>span{font-size:17px}.notification-inbox-row b,.notification-inbox-row small{display:block}.notification-inbox-row small{opacity:.68;margin-top:3px}
.notification-inbox-empty{padding:16px;text-align:center;opacity:.65}
.expedition-map{cursor:crosshair;touch-action:none}.expedition-map:hover,.expedition-map:focus-visible{border-color:#c6a456;outline:1px solid #c6a456;box-shadow:inset 0 0 55px #000,0 0 18px rgba(198,164,86,.2)}
.map-read-accuracy { display: block; margin-top: .55rem; font-weight: 700; }
.map-read-accuracy.red { color: #ff5d6c; }
.map-read-accuracy.green { color: #62e69a; }
.map-read-accuracy.neutral { color: var(--muted, #9ca9ba); }
.workshop-loadout-row{grid-template-columns:auto minmax(180px,1fr) minmax(190px,auto) auto;align-items:center}
.workshop-target-picker{display:grid;gap:4px;font-size:.78rem;color:#9fb8c9}
.workshop-target-picker select{min-height:36px;border:1px solid #31546b;border-radius:8px;background:#07111a;color:#d7edf8;padding:6px 8px}
.inventory-trash-button{border:1px solid rgba(255,92,92,.45);background:rgba(120,18,28,.28);color:#ffb0b0;border-radius:.45rem;padding:.3rem .48rem;cursor:pointer}
.inventory-trash-button:hover{background:rgba(170,28,40,.45);color:#fff}
.vault-inventory-row,.market-item-row{display:flex;align-items:center;gap:.7rem;padding:.65rem .75rem;border:1px solid rgba(115,166,205,.18);border-radius:.65rem;background:rgba(7,20,34,.5)}
.vault-inventory-row span,.market-item-row span{flex:1}.market-item-row label{display:flex;align-items:center;gap:.4rem}.market-item-row input{width:7rem}
.interception-target-browser{display:grid;gap:.8rem}.interception-target-list{display:grid;gap:.55rem}.interception-target-card{display:grid;grid-template-columns:1fr auto;gap:.35rem .8rem;text-align:left;padding:.8rem;border:1px solid rgba(78,190,255,.25);border-radius:.7rem;background:rgba(8,25,42,.72);color:inherit}.interception-target-card:hover{border-color:#53c7ff}.interception-target-card small{grid-column:1/-1}
@media(max-width:760px){}
.faction-member{flex-wrap:wrap}.faction-permissions{flex:1 0 100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 10px;padding:6px 0 0 4px}.faction-permissions label{display:flex;align-items:center;gap:6px;color:#9fb3c5;font-size:12px}.faction-permissions input{accent-color:#70e4c7}

/* Monthly faction war */
.faction-main-tabs{display:flex;gap:7px;margin:0 0 12px;padding:6px;border:1px solid #294257;border-radius:10px;background:linear-gradient(180deg,#0d1b28,#07111a)}
.faction-main-tabs .workshop-tab{flex:0 1 220px}
.faction-war-shell{--war-gold:#d7b968;--war-red:#de5962;min-height:560px;padding:18px;border:1px solid #314d64;border-radius:14px;background:radial-gradient(circle at 50% -10%,rgba(215,185,104,.13),transparent 34%),linear-gradient(145deg,#0c1924,#050c13 70%);box-shadow:inset 0 0 70px rgba(0,0,0,.3)}
.faction-war-head{display:flex;justify-content:space-between;gap:20px;padding:0 2px 16px;border-bottom:1px solid #293e50}.faction-war-head small{color:#8da2b3;letter-spacing:.12em}.faction-war-head h2{margin:4px 0;color:#f0d797;font:26px Georgia,serif}.faction-war-head p{margin:0;color:#8fa4b6}.faction-war-head>span{min-width:140px;padding:10px;border:1px solid #3b5265;border-radius:9px;background:#0b1620}.faction-war-head>span b{display:block;margin-top:4px;color:var(--war-gold)}
.war-bracket{display:grid;grid-template-columns:repeat(3,minmax(220px,1fr));gap:32px;padding:22px 4px;overflow:auto}.war-bracket-round{position:relative;display:grid;align-content:start;gap:10px}.war-bracket-round>header{min-height:46px}.war-bracket-round h3{margin:3px 0;color:#dce8f0}.war-bracket-round>header small{color:#738ba0}.war-match-card{position:relative;display:grid;gap:4px;padding:9px;border:1px solid #314b60;border-left:3px solid #567d9d;border-radius:8px;background:linear-gradient(135deg,#102130,#09141e);cursor:pointer;transition:.2s transform,.2s border-color}.war-match-card:hover{transform:translateX(3px);border-color:#c5a75f}.war-match-card.status-completed{border-left-color:#c4a65d}.war-match-card.status-running{border-color:#d85a62;box-shadow:0 0 22px rgba(216,90,98,.18)}.war-match-card>small{color:#6f879b;text-transform:uppercase}.war-match-card>button{display:flex;justify-content:space-between;gap:8px;padding:6px;border:0;border-radius:5px;background:#0a1722;color:#dce8f0;text-align:left;cursor:pointer}.war-match-card>button:hover{background:#152a3b}.war-match-card>button b{color:#d8bd77;font-size:8px}.war-match-card time{color:#7490a6;text-align:right;font:9px monospace}.war-empty-round{padding:16px;border:1px dashed #2e4659;color:#698196;text-align:center}
.faction-war-overlay{position:fixed;inset:0;z-index:14000;display:grid;place-items:center;padding:18px;background:rgba(2,6,10,.82);backdrop-filter:blur(5px)}.faction-war-report{position:relative;width:min(920px,96vw);max-height:90vh;overflow:auto;border:1px solid #49657a;border-radius:14px;background:linear-gradient(150deg,#112231,#071019);box-shadow:0 28px 90px #000}.war-report-nav{position:fixed;top:50%;z-index:2;width:44px;height:58px;border:1px solid #60788a;border-radius:10px;background:#0a1722e8;color:#e8cd8d;font-size:24px;cursor:pointer;transform:translateY(-50%)}.war-report-nav:hover{border-color:#d3b66e;background:#132838}.war-report-nav.older{left:max(12px,calc(50% - 510px))}.war-report-nav.newer{right:max(12px,calc(50% - 510px))}.faction-war-report>header{display:flex;justify-content:space-between;gap:12px;padding:16px 18px;border-bottom:1px solid #2d4659}.faction-war-report h3{margin:4px 0 0;color:#e7ce91}.faction-war-report>header button{width:34px;height:34px;border:1px solid #536b7d;border-radius:8px;background:#0b1721;color:#fff;font-size:22px;cursor:pointer}.war-report-losses{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:14px 18px}.war-report-losses span{padding:10px;border:1px solid #30495d;border-radius:8px;background:#0b1823}.war-report-losses small,.war-report-losses b{display:block}.war-report-losses b{margin-top:4px;color:#dfbf75}.war-report-formations{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:0 18px 16px}.war-report-formations>div{padding:10px;border:1px solid #2d4558;border-radius:9px}.war-report-formations section{display:grid;grid-template-columns:130px 1fr;gap:5px;padding:5px;border-bottom:1px solid #213747}.war-report-formations span{color:#8fa4b6}.war-report-events{display:grid;gap:5px;padding:0 18px 18px}.war-report-events p{display:grid;grid-template-columns:70px 1fr;margin:0;padding:6px;background:#0a1721}.war-report-notice{margin:0;padding:14px 18px;color:#8299ac;border-top:1px solid #294153}
.faction-war-formation{min-height:560px;padding:16px;border:1px solid #304c62;border-radius:13px;background:linear-gradient(155deg,#0d1c29,#071018)}.faction-war-formation>header{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px}.faction-war-formation h3{margin:4px 0}.faction-war-formation h3 button{border:0;background:none;color:#e7c979;font:inherit;cursor:pointer}.faction-war-formation time{color:#d9ba70;font:10px monospace}.faction-war-formation form{display:grid;grid-template-columns:minmax(300px,1fr) minmax(280px,.7fr);gap:14px;margin-top:14px}.war-formation-board{min-height:390px;display:grid;grid-template-columns:100px 1fr 100px;grid-template-rows:90px 1fr 90px;gap:5px;padding:8px;border:1px solid #304e65;border-radius:12px;background:radial-gradient(circle,#183246,#07131d 68%)}.war-formation-board section{display:grid;place-items:center;border:1px dashed #4d6c82;border-radius:8px;color:#8ca6b9;background:rgba(10,27,40,.7)}.war-formation-board .frontline{grid-column:1/-1}.war-formation-board .left-flank{grid-row:2}.war-formation-board .center{grid-row:2;grid-column:2}.war-formation-board .right-flank{grid-row:2;grid-column:3}.war-formation-board .rear{grid-column:1/-1}.war-fleet-pool{display:grid;align-content:start;gap:6px;max-height:390px;overflow:auto}.war-fleet-pool article{display:grid;grid-template-columns:1fr 70px 120px;gap:6px;align-items:center;padding:8px;border:1px solid #2d475b;border-radius:7px;background:#0b1823}.war-fleet-pool span b,.war-fleet-pool span small{display:block}.war-fleet-pool span small{color:#71899c}.faction-war-formation footer{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:10px;padding-top:10px;border-top:1px solid #294154}.faction-war-formation footer small{max-width:650px;color:#8298aa}
.faction-war-live{min-height:560px;padding:16px;border:1px solid #70434a;border-radius:14px;background:radial-gradient(circle at center,rgba(188,47,61,.12),transparent 45%),#071018}.faction-war-live>header{display:flex;justify-content:space-between;align-items:center}.faction-war-live h3{margin:4px 0;color:#ead29a}.war-live-beacon{padding:5px 9px;border:1px solid #e75c67;border-radius:999px;color:#ff9aa2;animation:warLivePulse 1s ease-in-out infinite}.war-live-field{min-height:330px;display:grid;grid-template-columns:1fr 180px 1fr;align-items:center;gap:12px;margin-top:14px;padding:20px;border:1px solid #2f4b60;border-radius:12px;background:linear-gradient(90deg,rgba(63,135,187,.09),transparent 35% 65%,rgba(204,72,80,.09)),radial-gradient(circle,#132c3f,#050b10)}.war-live-side{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.war-live-side i{width:34px;height:34px;display:grid;place-items:center;border:2px solid #5f9bc2;border-radius:50%;color:#bfe7ff;box-shadow:0 0 calc(var(--strength)*.12) rgba(82,177,235,.55)}.war-live-side.right i{border-color:#c3656c;color:#ffc5c9;box-shadow:0 0 calc(var(--strength)*.12) rgba(215,77,88,.55)}.war-live-pulse{color:#d7bd7c;text-align:center}.war-live-timeline{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin-top:8px}.war-live-timeline p{display:flex;gap:8px;margin:0;padding:6px;background:#0c1924}.war-live-timeline b{color:#d7b96b}@keyframes warLivePulse{}
@media(max-width:800px){}
.faction-hangar-shell{--hangar-ink:#eaf7f2;--hangar-mint:#71d7b1;--hangar-brass:#d9ad62;display:grid;gap:18px;padding:20px;border:1px solid rgba(113,215,177,.22);border-radius:18px;background:radial-gradient(circle at 88% 0,rgba(217,173,98,.14),transparent 34%),linear-gradient(145deg,rgba(8,28,30,.97),rgba(8,18,27,.98));color:var(--hangar-ink)}
.faction-hangar-header{display:flex;align-items:end;justify-content:space-between;gap:20px;padding-bottom:16px;border-bottom:1px solid rgba(113,215,177,.18)}
.faction-hangar-header h2{margin:2px 0 4px;font-family:"Cinzel",serif;font-size:clamp(1.7rem,3vw,2.6rem);letter-spacing:.04em}.faction-hangar-header p{margin:0;color:#a7c4bd}.faction-hangar-power{text-align:right}.faction-hangar-power small{display:block;color:#9fb9b5}.faction-hangar-power strong{font-size:1.8rem;color:var(--hangar-brass)}
.faction-hangar-lock{display:grid;gap:4px;padding:13px 16px;border:1px solid rgba(217,173,98,.5);border-radius:12px;background:rgba(91,56,18,.34)}.faction-hangar-lock span{color:#dbc8a9}
.faction-hangar-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.faction-hangar-ship{display:grid;gap:3px;padding:12px;border:1px solid rgba(113,215,177,.16);border-radius:14px;background:rgba(255,255,255,.035)}.faction-hangar-ship-art{position:relative;aspect-ratio:16/10;display:grid;place-items:center}.faction-hangar-ship-art img{width:100%;height:100%;object-fit:contain}.faction-hangar-level{position:absolute;top:0;right:0;display:grid;place-items:center;min-width:28px;height:28px;padding:0 6px;border:1px solid #1b1308;border-radius:8px;background:var(--hangar-brass);color:#161008;box-shadow:0 3px 10px #0008}.faction-hangar-ship span{color:#9fc2b8;font-size:.82rem}.faction-hangar-ship em{font-style:normal;color:var(--hangar-mint);font-weight:700}
.faction-hangar-fleets{display:grid;gap:13px}.faction-hangar-owner{overflow:hidden;border:1px solid rgba(255,255,255,.1);border-radius:14px;background:rgba(0,0,0,.18)}.faction-hangar-owner>header{display:flex;justify-content:space-between;align-items:center;padding:12px 15px;background:rgba(113,215,177,.07)}.faction-hangar-owner h3{margin:1px 0 0}.faction-hangar-owner small{color:#9fb9b5}.faction-hangar-lots{display:grid}.faction-hangar-lot{display:grid;grid-template-columns:70px 1fr auto;align-items:center;gap:12px;padding:10px 14px;border-top:1px solid rgba(255,255,255,.07)}.faction-hangar-lot img{width:70px;height:48px;object-fit:contain}.faction-hangar-lot div{display:grid}.faction-hangar-lot span{color:#9fb9b5;font-size:.86rem}.faction-hangar-lot button{padding:8px 13px;border:1px solid rgba(217,173,98,.5);border-radius:9px;background:rgba(217,173,98,.12);color:#f3d59c}.faction-hangar-lot button:disabled{opacity:.38}
@media(max-width:720px){}
.faction-rts-foundation{margin-top:20px;padding:14px;border:1px solid #36546a;border-radius:12px;background:linear-gradient(145deg,#0a1722,#061019)}.faction-rts-foundation>header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.faction-rts-foundation h3{margin:3px 0;color:#e2edf4}.faction-rts-foundation p{margin:0;color:#7f97aa}.faction-rts-foundation time{color:#d7b968;font:10px monospace}.faction-rts-layout{display:grid;grid-template-columns:minmax(340px,1fr) 280px;gap:14px;margin-top:14px}.faction-rts-grid{display:grid;grid-template-columns:repeat(var(--rts-columns),1fr);aspect-ratio:1;border:1px solid #3a586d;background:radial-gradient(circle at center,#112a3a,#07121b 72%)}.faction-rts-grid i{display:block;border:1px solid rgba(73,105,126,.24);background:rgba(9,25,36,.65)}.faction-rts-grid i.viewer-deployment{border-color:var(--faction-color);background:color-mix(in srgb,var(--faction-color) 20%,#07131d);box-shadow:inset 0 0 7px color-mix(in srgb,var(--faction-color) 55%,transparent)}.faction-rts-legend{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:8px}.faction-rts-legend span{display:flex;align-items:center;gap:5px;padding:5px 7px;border:1px solid #2d4659;border-radius:999px;color:#b8cad7}.faction-rts-legend span>i{width:8px;height:8px;border-radius:50%;background:var(--faction-color);box-shadow:0 0 8px var(--faction-color)}.faction-rts-legend small{color:#6f899d}.faction-rts-layout aside{display:grid;align-content:start;gap:7px;padding:10px;border:1px solid #2e485b;border-radius:9px;background:#091722}.faction-rts-layout aside h4{margin:0 0 3px;color:#d7b968}.faction-rts-layout aside article{display:grid;grid-template-columns:1fr auto;gap:3px;padding:7px;border:1px solid #294357;border-radius:6px;background:#0d1d29}.faction-rts-layout aside article span{grid-column:1;color:#738da1;font-size:9px}.faction-rts-layout aside article strong{grid-row:1/3;grid-column:2;align-self:center;color:#dce8f0}.faction-rts-layout aside>small{color:#728b9e}@media(max-width:800px){}
.faction-rts-grid>i{position:relative;min-width:0;display:flex;flex-wrap:wrap;align-content:flex-start;gap:1px;padding:1px}.faction-rts-grid>i[data-rts-deployment-cell]{cursor:crosshair}.faction-rts-grid>i[data-rts-deployment-cell]:hover{z-index:2;filter:brightness(1.35)}.faction-rts-grid>i>button{position:relative;display:grid;place-items:center;min-width:15px;height:15px;padding:0 2px;border:1px solid #071018;border-radius:50%;background:var(--faction-color);color:#061018;font:700 9px monospace;cursor:pointer;box-shadow:0 0 6px color-mix(in srgb,var(--faction-color) 65%,transparent)}.faction-rts-grid>i>button small{position:absolute;right:-4px;bottom:-5px;min-width:11px;padding:0 2px;border-radius:5px;background:#071018;color:#eef6fa;font:7px monospace}.faction-rts-layout aside article[draggable=true]{cursor:grab}.faction-rts-layout aside article[draggable=true]:active{cursor:grabbing}.faction-rts-layout aside article.selected{border-color:#d7b968;box-shadow:0 0 16px rgba(215,185,104,.18)}.rts-placement-dialog{max-width:430px}.rts-placement-dialog>p{color:#8da4b5}.rts-placement-dialog>input{width:100%;padding:11px;border:1px solid #3b5b70;border-radius:8px;background:#07131d;color:#e7f0f5}.rts-placement-dialog>footer{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}
.faction-rts-grid>i.quick-group-highlight{z-index:1;border-color:#f5d574;box-shadow:inset 0 0 10px #f5d57499,0 0 8px #f5d57466}.faction-rts-unit{position:relative;display:inline-grid}.faction-rts-grid>i .faction-rts-unit>button:first-child{position:relative;display:grid;place-items:center;min-width:15px;height:15px;padding:0 2px;border:1px solid #071018;border-radius:50%;background:var(--faction-color);color:#061018;font:700 9px monospace;cursor:pointer;box-shadow:0 0 6px color-mix(in srgb,var(--faction-color) 65%,transparent)}.faction-rts-grid>i .faction-rts-unit.selected>button:first-child{outline:2px solid #ffe18a;outline-offset:1px}.faction-rts-unit>button:first-child small{position:absolute;right:-4px;bottom:-5px;min-width:11px;padding:0 2px;border-radius:5px;background:#071018;color:#eef6fa;font:7px monospace}.faction-rts-grid>i .faction-rts-unit-remove{position:absolute;z-index:2;top:-7px;right:-8px;width:12px;height:12px;padding:0;border:1px solid #6d2525;border-radius:50%;background:#24090b;color:#ff9d9d;font:9px/10px monospace;opacity:0}.faction-rts-unit:hover .faction-rts-unit-remove,.faction-rts-unit:focus-within .faction-rts-unit-remove{opacity:1}.faction-rts-quick-groups{display:grid;gap:7px;margin-top:10px;padding-top:10px;border-top:1px solid #2e485b}.faction-rts-quick-groups>header{display:grid;gap:2px}.faction-rts-quick-groups>header h4{margin:0}.faction-rts-quick-groups>header small{color:#718a9c}.faction-rts-quick-card{position:relative;display:grid;grid-template-columns:52px 1fr;gap:5px 9px;width:100%;padding:8px;border:1px solid #294357;border-radius:9px;background:linear-gradient(135deg,#102431,#091722);color:#dce8f0;text-align:left;cursor:pointer}.faction-rts-quick-card:hover,.faction-rts-quick-card:focus-visible{border-color:#d7b968}.faction-rts-quick-key{position:absolute;z-index:2;top:4px;left:4px;min-width:18px;padding:2px 4px;border-radius:5px;background:#d7b968;color:#171108;font:800 10px monospace;text-align:center}.faction-rts-quick-art{position:relative;grid-row:1/4;display:grid;place-items:center;min-height:58px;border:1px solid #28485d;border-radius:7px;background:radial-gradient(circle,#17384b,#07131c);color:#8fe5ff;font-size:25px}.faction-rts-quick-art b{position:absolute;right:3px;bottom:2px;padding:1px 4px;border-radius:5px;background:#03090ddd;color:#fff;font:800 10px monospace}.faction-rts-quick-name{overflow:hidden;color:#b9ccd8;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.faction-rts-meter{position:relative;overflow:hidden;height:13px;border:1px solid #203849;border-radius:4px;background:#03090d}.faction-rts-meter i{position:absolute;inset:0 auto 0 0;width:var(--meter);background:linear-gradient(90deg,#168bc0,#55d7ff)}.faction-rts-meter.health i{background:linear-gradient(90deg,#16864d,#62df8c)}.faction-rts-meter em{position:relative;z-index:1;display:block;color:#f1f7fa;font:700 8px/11px monospace;text-align:center;text-shadow:0 1px 2px #000}
.faction-rts-command-controls{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px}.faction-rts-grid>i.rts-weather{isolation:isolate;background-size:cover}.faction-rts-grid>i.weather-asteroid-field{background:radial-gradient(circle at 30% 35%,#8a8278 0 5%,transparent 6%),radial-gradient(circle at 70% 65%,#665f58 0 7%,transparent 8%),#17191b}.faction-rts-grid>i.weather-gravity-well{background:radial-gradient(circle,#020205 18%,#31506d 25%,#0a1119 55%)}.faction-rts-grid>i.weather-solar-wave{background:linear-gradient(135deg,#ffd95a99,#c64f1688,#10131a)}.faction-rts-grid>i.weather-space-current{background:repeating-linear-gradient(135deg,#183f56,#183f56 3px,#2b7088 4px,#0b1c28 7px)}.faction-rts-grid>i.weather-void-syndrome{background:radial-gradient(circle at 65% 35%,#602f6d,#181024 45%,#070910)}.faction-rts-grid>i[data-weather-tooltip]::after{content:attr(data-weather-tooltip);position:absolute;z-index:20;left:50%;bottom:calc(100% + 7px);width:190px;padding:7px 9px;border:1px solid #557086;border-radius:7px;background:#050b10f2;color:#dceaf2;font:9px/1.35 monospace;opacity:0;pointer-events:none;transform:translate(-50%,4px);transition:opacity .12s 1s,transform .12s 1s}.faction-rts-grid>i[data-weather-tooltip]:hover::after{opacity:1;transform:translate(-50%,0)}
.faction-rts-grid>i.rts-fog-unknown{background:#02070c!important;box-shadow:inset 0 0 12px #000;filter:saturate(.15)}.faction-rts-grid>i.rts-fog-unknown>*{visibility:hidden}.faction-rts-grid>i.rts-fog-explored:not(.rts-fog-visible){background:linear-gradient(135deg,#07121a,#0b1821)!important;filter:brightness(.58) saturate(.45)}.faction-rts-grid>i.rts-fog-explored:not(.rts-fog-visible)>*{visibility:hidden}.faction-rts-unit.enemy>button:first-child{background:var(--unit-color)!important;box-shadow:0 0 8px color-mix(in srgb,var(--unit-color) 75%,transparent)!important}.faction-rts-local-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:8px 0;padding:7px 9px;border:1px solid #34566b;border-radius:8px;background:#091823;color:#9fb7c7}.faction-rts-grid.local-view{grid-template-columns:repeat(3,minmax(80px,1fr));grid-template-rows:repeat(3,minmax(80px,1fr));aspect-ratio:1}.faction-rts-grid.local-view>i:not([hidden]){display:flex;grid-column:var(--local-column);grid-row:var(--local-row);padding:7px}.faction-rts-grid.local-view>i.local-center{border-color:#d7b968;box-shadow:inset 0 0 18px #d7b96835}.faction-rts-grid.local-view>i[hidden]{display:none!important}@media(max-width:700px){}
.faction-rts-scoreboard{display:grid;gap:6px;margin-top:10px;padding-top:10px;border-top:1px solid #2e485b}.faction-rts-scoreboard>header{display:flex;justify-content:space-between;gap:8px}.faction-rts-scoreboard>header small{color:#718a9c}.faction-rts-scoreboard article{border-color:#35566b!important;background:linear-gradient(135deg,#102431,#091722)!important}.faction-rts-scoreboard article span{font-size:8px!important}.faction-rts-scoreboard article strong{color:#f0cd72!important}
.battle-report-v2{--gold:#d9a632;--cyan:#6bdfff;color:#eaf7ff;background:linear-gradient(180deg,rgba(3,15,26,.96),rgba(1,8,15,.98));border:1px solid var(--gold);font-family:Georgia,"Times New Roman",serif;overflow:hidden}.battle-report-v2-title{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:8px 16px;background:linear-gradient(90deg,transparent,rgba(4,38,58,.88),transparent)}.battle-report-v2-title h2{grid-column:2;margin:0;color:#f1c764;letter-spacing:.08em;text-align:center}.battle-report-v2-title .report-fullscreen-btn{grid-column:3;justify-self:end}.battle-report-v2-overview{display:grid;grid-template-columns:minmax(180px,.72fr) minmax(340px,1.7fr) minmax(180px,.72fr);gap:14px;padding:12px;background:rgba(0,7,13,.68)}.battle-report-v2-side{min-height:340px;padding:20px 18px;background-size:100% 100%;background-repeat:no-repeat}.battle-report-v2-side.role-defender{background-image:url("../assets/ui/v4.1/battle/report/panels/panel-difensore-HD.webp")}.battle-report-v2-side.role-attacker{background-image:url("../assets/ui/v4.1/battle/report/panels/panel-attaccante-HD.webp")}.battle-report-v2-player{display:flex;align-items:center;gap:12px;border-bottom:1px solid rgba(218,166,50,.45);padding-bottom:12px}.battle-report-v2-player img{width:54px;height:54px;object-fit:contain}.battle-report-v2-player small,.battle-report-v2-player h3{display:block;margin:0}.battle-report-v2-player small{font:600 10px/1.3 sans-serif;color:var(--cyan)}.battle-report-v2-player h3{color:#f1c764;font-size:24px}.battle-report-v2-commander{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 0;color:#f1c764}.battle-report-v2-commander button{border:1px solid rgba(218,166,50,.5);background:#06111c;color:var(--cyan);font-size:9px;padding:4px 6px}.battle-report-v2-side dl{margin:0}.battle-report-v2-side dl div{display:flex;justify-content:space-between;padding:7px 0}.battle-report-v2-side dt{font:700 10px sans-serif;text-transform:uppercase}.battle-report-v2-side dd{margin:0;color:#fff0b0;font-weight:700}.battle-report-v2-side dd.loss{color:#ff786d}.battle-report-v2-side dd.morale{color:#64e7c4}.battle-report-v2-side section{border-top:1px solid rgba(218,166,50,.42);margin-top:8px}.battle-report-v2-side h4,.battle-report-v2-loot h4{color:#f1c764;letter-spacing:.05em}.battle-report-v2-bonus{display:flex;justify-content:space-between;gap:8px;border-bottom:1px solid rgba(130,181,211,.16);padding:7px 0;font:600 10px sans-serif}.battle-report-v2-bonus b{color:#f1c764}.battle-report-v2-empty{color:#8fa8b8;font:10px sans-serif}.battle-report-v2-summary{border:1px solid rgba(218,166,50,.7);padding:10px 18px;background:linear-gradient(180deg,rgba(0,28,44,.9),rgba(0,15,27,.94))}.battle-report-v2-summary>h3{text-align:center;color:#f1c764;letter-spacing:.08em}.battle-report-v2-outcome{position:relative;display:grid;place-items:center;min-height:76px}.battle-report-v2-outcome img{position:absolute;width:min(96%,650px);height:100%;object-fit:fill;opacity:.92}.battle-report-v2-outcome strong{position:relative;color:#fff1bb;font-size:clamp(18px,2vw,30px);letter-spacing:.08em;text-shadow:0 2px 4px #000}.battle-report-v2-score{display:grid;grid-template-columns:1fr 1.7fr 1fr;align-items:center;background:linear-gradient(90deg,rgba(15,74,103,.35),rgba(7,22,37,.6),rgba(100,24,18,.24))}.battle-report-v2-score>*{padding:12px;border-bottom:1px solid rgba(113,178,210,.22)}.battle-report-v2-score b{color:#d7f3ff;font-size:20px;text-align:center}.battle-report-v2-score b:nth-child(3n){color:#ffb0a2}.battle-report-v2-score span{text-align:center;font:700 10px sans-serif}.battle-report-v2-buildings{display:grid;grid-template-columns:1fr auto;gap:8px;padding:15px 4px;border-bottom:1px solid rgba(218,166,50,.55);color:#f1c764}.battle-report-v2-buildings small{grid-column:1/-1;color:#b9d9e8;font:10px sans-serif}.battle-report-v2-loot header{display:flex;justify-content:space-between;align-items:center}.battle-report-v2-resources{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.battle-report-v2-resources>div{border:1px solid rgba(93,151,181,.28);padding:7px}.battle-report-v2-resources small,.battle-report-v2-resources b{display:block}.battle-report-v2-resources small{font:9px sans-serif;color:#9bcde1}.battle-report-v2-resources b{color:#f1c764}.battle-report-v2-field{position:relative;min-height:560px;border-top:1px solid var(--gold);border-bottom:1px solid var(--gold);overflow:hidden;background-size:50% 100%,50% 100%;background-position:left top,right top;background-repeat:no-repeat}.battle-report-v2.mode-space .battle-report-v2-field{background-image:url("../assets/ui/v4.1/backgrounds/background-attacco-planetario-HD.webp"),url("../assets/ui/v4.1/backgrounds/background-attacco-planetario-HD.webp")}.battle-report-v2.mode-planetary[data-defender-side="left"] .battle-report-v2-field{background-image:url("../assets/ui/v4.1/backgrounds/background-difesa-planetaria-pianeta-sinistra-HD.webp"),url("../assets/ui/v4.1/backgrounds/background-attacco-planetario-HD.webp")}.battle-report-v2.mode-planetary[data-defender-side="right"] .battle-report-v2-field{background-image:url("../assets/ui/v4.1/backgrounds/background-attacco-planetario-HD.webp"),url("../assets/ui/v4.1/backgrounds/background-difesa-planetaria-pianeta-destra-HD.webp")}.battle-report-v2-field>h3{position:absolute;z-index:5;top:18px;margin:0;color:#f1c764;letter-spacing:.08em}.battle-report-v2-field>h3.left{left:24px}.battle-report-v2-field>h3.right{right:24px}.battle-report-v2-field .versus{position:absolute;z-index:6;left:50%;top:44%;transform:translate(-50%,-50%);display:grid;place-items:center;width:48px;height:48px;border:1px solid var(--gold);border-radius:50%;background:#02101b;color:#f1c764}.battle-report-v2-unit{position:absolute;z-index:4;left:var(--unit-x);top:var(--unit-y);transform:translate(-50%,-50%);width:150px;height:100px;border:0;background:transparent;padding:0;cursor:pointer}.battle-report-v2-unit.defense{width:76px;height:64px}.battle-report-v2-unit img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 10px 9px rgba(0,0,0,.75))}.battle-report-v2-unit.ship[data-facing="right"] img{transform:scaleX(-1)}.battle-report-v2-unit.ship[data-facing="left"] img{transform:scaleX(1)}.battle-report-v2-unit .level,.battle-report-v2-unit .count{position:absolute;z-index:2;border:1px solid var(--gold);border-radius:16px;background:#03111d;color:#f4cf71;padding:5px 7px;font:700 10px sans-serif}.battle-report-v2-unit .level{right:96%;top:4%}.battle-report-v2-unit .count{left:96%;bottom:4%}.battle-report-v2-unit.defense .level{right:95%;top:0}.battle-report-v2-unit.defense .count{left:95%;bottom:0}.battle-report-v2-shield{position:absolute;z-index:2;bottom:-43%;width:70%;height:95%;border:3px solid rgba(83,220,255,.62);border-radius:50%;background:radial-gradient(ellipse at 50% 100%,rgba(55,199,255,.17),rgba(57,191,255,.06) 52%,transparent 70%);box-shadow:inset 0 0 45px rgba(67,209,255,.16),0 0 16px rgba(68,219,255,.3);opacity:.75}.battle-report-v2[data-defender-side="left"] .battle-report-v2-shield{left:-24%}.battle-report-v2[data-defender-side="right"] .battle-report-v2-shield{right:-24%}.battle-report-v2-replay{padding:12px 18px}.battle-report-v2-replay label{color:#f1c764}.battle-report-v2-replay input{width:100%}.battle-report-v2-dialog{width:min(760px,92vw);padding:0;border:1px solid #d9a632;background:#03111d;color:#edf8ff}.battle-report-v2-dialog::backdrop{background:rgba(0,8,14,.82);backdrop-filter:blur(4px)}.battle-report-v2-dialog>header{display:flex;justify-content:space-between;align-items:center;padding:14px 20px;border-bottom:1px solid #d9a632}.battle-report-v2-dialog h2{margin:0;color:#f1c764}.battle-report-v2-dialog header button{border:1px solid #d9a632;background:#061725;color:#f1c764;font-size:20px}.battle-report-v2-dialog-body{display:grid;grid-template-columns:190px 1fr;gap:18px;padding:20px}.battle-report-v2-dialog-body>img{width:100%;height:160px;object-fit:contain}.battle-report-v2-dialog-body dl{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:0}.battle-report-v2-dialog-body dl div{border-bottom:1px solid rgba(116,179,211,.3);padding:8px}.battle-report-v2-dialog-body dt{font:9px sans-serif;color:#8dbbd0;text-transform:uppercase}.battle-report-v2-dialog-body dd{margin:3px 0 0;color:#f1c764;font-weight:700}.battle-report-v2-dialog-body section{grid-column:1/-1;border-top:1px solid rgba(218,166,50,.5)}
.battle-report-v2-unit .unit-counter-pair{position:absolute;z-index:3;left:96%;bottom:4%;display:inline-flex;align-items:stretch;gap:4px;white-space:nowrap}.battle-report-v2-unit.defense .unit-counter-pair{left:95%;bottom:0}.battle-report-v2-unit .unit-counter-pair .count,.battle-report-v2-unit .unit-counter-pair .loss-count{position:static;display:grid;place-items:center;box-sizing:border-box;min-width:36px;height:27px;padding:5px 7px;border-radius:16px;font:700 10px/1 sans-serif;white-space:nowrap}.battle-report-v2-unit .unit-counter-pair .count{border:1px solid var(--gold);background:#03111d;color:#f4cf71}.battle-report-v2-unit .unit-counter-pair .loss-count{border:1px solid #ff665d;background:#2a0808;color:#ff7b72;box-shadow:0 0 9px rgba(255,72,63,.35)}
@media(max-width:900px){.battle-report-v2-overview{grid-template-columns:1fr}.battle-report-v2-summary{grid-row:1}.battle-report-v2-side{min-height:260px}.battle-report-v2-field{min-height:500px}.battle-report-v2-unit{width:105px;height:76px}.battle-report-v2-unit.defense{width:56px;height:48px}.battle-report-v2-dialog-body{grid-template-columns:1fr}.battle-report-v2-dialog-body>img{height:130px}.battle-report-v2-resources{grid-template-columns:repeat(2,1fr)}}
.heist-report-v2{--heist-gold:#d9a632;--heist-green:#35e2ac;border:1px solid var(--heist-gold);background:linear-gradient(145deg,#031c18,#020d0e 62%,#06231a);color:#ecfff8;overflow:hidden}.heist-v2-header{display:grid!important;grid-template-columns:1fr auto 1fr;align-items:center;padding:12px 18px;background:linear-gradient(90deg,transparent,#07372c,transparent)}.heist-v2-header h2{margin:0;color:#f3ce77;letter-spacing:.1em}.heist-v2-header time{text-align:right}.heist-v2-top{display:grid;grid-template-columns:minmax(180px,.68fr) minmax(360px,1.6fr) minmax(180px,.68fr);gap:12px;padding:12px}.heist-v2-panel,.heist-v2-core{border:1px solid rgba(217,166,50,.72);padding:15px;background:linear-gradient(160deg,rgba(4,58,43,.82),rgba(1,18,16,.96))}.heist-v2-panel small,.heist-v2-result span{color:#65f3d4;font:700 9px sans-serif}.heist-v2-panel h3,.heist-v2-panel h4{color:#f3ce77}.heist-v2-panel h3{font-size:21px}.heist-v2-panel h4{border-top:1px solid rgba(217,166,50,.5);padding-top:12px}.heist-v2-panel p{font:10px/1.5 sans-serif}.heist-v2-panel.station img{display:block;width:118px;height:118px;margin:12px auto;object-fit:contain}.heist-v2-banner{margin-bottom:12px;border-block:1px solid var(--heist-gold);padding:16px;text-align:center;color:#ffe7a1;font-size:clamp(20px,3vw,38px);font-weight:800;letter-spacing:.08em;background:radial-gradient(circle,#075a45,#021713 70%)}.heist-report-v2[data-outcome="danger"] .heist-v2-banner{background:radial-gradient(circle,#6b1712,#1b0605 70%);color:#ffd6cb}.heist-v2-result,.heist-v2-loot{border:1px solid rgba(77,202,171,.55);padding:13px;background:#031d19}.heist-v2-result h3{color:#f3ce77}.heist-v2-result-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.heist-v2-result-grid>div{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid rgba(80,190,165,.3);padding:8px 0}.heist-v2-result-grid b{color:#ffe59c}.heist-v2-result-grid .danger{color:#ff7068}.heist-v2-alert{border-left:3px solid var(--heist-green);padding:9px;background:rgba(31,123,95,.18);font:10px sans-serif}.heist-v2-loot{margin-top:10px}.heist-v2-loot header{display:flex;justify-content:space-between}.heist-v2-loot h5{margin:0;color:#f3ce77;font-size:17px}.heist-v2-loot header>b{color:var(--heist-green)}.heist-v2-loot.empty{text-align:center}.heist-v2-field{position:relative;min-height:520px;border-top:1px solid var(--heist-gold);background:url("../assets/ui/v4.1/backgrounds/background-report-rapina-stazione-v3-modello-gioco.webp") center/cover no-repeat}.heist-v2-timeline{position:absolute;inset:auto 18px 18px;display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.heist-v2-timeline span{border:1px solid #3d9f88;padding:10px;background:rgba(2,34,30,.88);text-align:center;color:#f3ce77}.heist-v2-battle .battle-report-v2-field{background-color:#02070b;background-image:url("../assets/ui/v4.1/backgrounds/background-attacco-planetario-HD.webp"),url("../assets/ui/v4.1/backgrounds/background-report-rapina-stazione-v3-modello-gioco.webp")!important;background-size:50% 100%,50% auto!important;background-position:left top,right center!important}.heist-v2-battle .battle-report-v2-title h2{font-size:0}.heist-v2-battle .battle-report-v2-title h2:after{content:"COMBATTIMENTO CON LA PATTUGLIA";font-size:20px}.heist-report-actions{display:flex;justify-content:flex-end;padding:10px}.heist-report-penalty{display:flex;justify-content:space-between;margin-top:10px;border:1px solid #c94b42;padding:10px;background:#350b09;color:#ff8177}
@media(max-width:900px){.heist-v2-top{grid-template-columns:1fr}.heist-v2-core{grid-row:1}.heist-v2-result-grid{grid-template-columns:1fr}.heist-v2-field{min-height:430px}.heist-v2-timeline{grid-template-columns:1fr 1fr}}

/* Report facing law: station patrol assets are authored facing right. */
.heist-v2-battle .battle-report-v2-unit.right.ship img{transform:scaleX(-1)}


/* Shared report unit cards. Faction-war event reports intentionally do not bind these. */
.gw-unit-info-trigger{cursor:pointer}.gw-unit-info-trigger:hover,.gw-unit-info-trigger:focus-visible{outline:2px solid #69e6ff;outline-offset:4px}
.gw-shared-unit-dialog{width:min(760px,92vw);padding:0;border:1px solid #d9a632;background:#03111d;color:#edf8ff;box-shadow:0 24px 80px #000}
.gw-shared-unit-dialog::backdrop{background:rgba(0,8,14,.84);backdrop-filter:blur(4px)}
.gw-shared-unit-dialog>header{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-bottom:1px solid #d9a632;background:linear-gradient(90deg,#071f2c,#07141d)}
.gw-shared-unit-dialog h2{margin:0;color:#f1c764;font:700 23px Georgia,"Times New Roman",serif}.gw-shared-unit-dialog header button{border:1px solid #d9a632;background:#061725;color:#f1c764;font-size:20px}
.gw-shared-unit-dialog>section{display:grid;grid-template-columns:190px 1fr;gap:18px;padding:20px}.gw-shared-unit-dialog>section>img{width:100%;height:165px;object-fit:contain;filter:drop-shadow(0 10px 9px #000)}
.gw-shared-unit-dialog dl{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0}.gw-shared-unit-dialog dl div{border-bottom:1px solid rgba(116,179,211,.3);padding:8px}.gw-shared-unit-dialog dt{color:#8dcce4;font:700 9px sans-serif}.gw-shared-unit-dialog dd{margin:3px 0 0;color:#f1c764;font-weight:700}.gw-shared-unit-dialog dd.danger{color:#ff786d}
@media(max-width:650px){.gw-shared-unit-dialog>section{grid-template-columns:1fr}.gw-shared-unit-dialog>section>img{height:130px}}
