
/* Galaxy 001 v47.2 — real building construction, dark-only */
.building-visual-card{
  position:relative;
  width:100%;
  aspect-ratio:21/8;
  box-sizing:border-box;
  margin:10px 0 12px;
  overflow:hidden;
  border-radius:12px;
  background:#020b13;
  box-shadow:0 10px 24px rgba(0,0,0,.32);
  isolation:isolate
}
.building-visual-card::after{
  content:"";
  position:absolute;
  inset:18px 20px;
  border-radius:9px;
  pointer-events:none;
  box-shadow:inset 0 0 18px rgba(37,139,211,.10)
}
.building-visual-card img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  filter:saturate(.98) contrast(1.015)
}
.construction-state-line{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:11px 0 8px
}
.construction-state-line>span,.construction-meta-grid>div{
  min-width:0;border:1px solid #2b3e52;border-radius:7px;background:#0b141e;padding:8px 9px
}
.construction-state-line small,.construction-meta-grid small,.construction-queue-header small{
  display:block;color:#7e91a5;font-size:8px;letter-spacing:.06em
}
.construction-state-line b,.construction-meta-grid b{
  display:block;margin-top:3px;color:#e4eaf2;font-size:10px
}
.construction-section-title{
  margin:12px 0 6px;color:#cbb17a;font-size:8px;font-weight:800;letter-spacing:.09em;text-transform:uppercase
}
.construction-cost-grid{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px
}
.construction-cost{
  min-width:0;display:grid;grid-template-columns:20px minmax(0,1fr);
  grid-template-areas:"ico label" "ico value" "ico avail";column-gap:6px;align-items:center;
  border:1px solid #30465b;border-radius:7px;background:#0c1722;padding:7px
}
.construction-cost i{grid-area:ico;font-style:normal;font-size:16px}
.construction-cost>span{grid-area:label;color:#8496a8;font-size:8px}
.construction-cost>b{grid-area:value;color:#edf2f8;font-size:11px}
.construction-cost>small{grid-area:avail;color:#70859a;font-size:7px}
.construction-cost.missing{border-color:#714039;background:rgba(121,54,43,.12)}
.construction-cost.missing>b,.construction-cost.missing>small{color:#d99a87}
.construction-meta-grid{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:6px
}
.construction-action-reason{
  margin-top:7px;border-left:2px solid #9a6944;padding:6px 8px;background:rgba(154,105,68,.08);
  color:#bca793;font-size:8px;line-height:1.45
}
.building-prerequisite-list{display:grid;gap:6px;margin-bottom:8px}
.building-prerequisite{
  display:grid;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:7px;
  border:1px solid #33485d;border-radius:7px;background:#0b151f;padding:7px 8px
}
.building-prerequisite>span{
  width:18px;height:18px;display:grid;place-items:center;border:1px solid #52697f;border-radius:50%;
  color:#8da2b5;font-size:10px;font-weight:900
}
.building-prerequisite>b{font-size:9px;color:#dce5ed}
.building-prerequisite>small{color:#8194a7;font-size:7px;text-align:right}
.building-prerequisite.met{border-color:#315f55;background:rgba(48,112,91,.09)}
.building-prerequisite.met>span{border-color:#4b8b76;color:#79c1a8}
.building-prerequisite.unmet{border-color:#67463b;background:rgba(122,66,48,.08)}
.building-prerequisite.unmet>small{color:#ce967f}
.construction-divider{height:1px;margin:14px 0 10px;background:#26394c}
.construction-queue-header{
  display:flex;align-items:flex-end;justify-content:space-between;gap:10px;margin-bottom:7px
}
.construction-queue-header b{display:block;margin-top:2px;font-size:10px}
.construction-queue-header>small{text-align:right}
.construction-queue-list{display:grid;gap:6px}
.construction-queue-empty{
  border:1px dashed #33485d;border-radius:7px;padding:10px;color:#778da2;font-size:8px;text-align:center
}
.construction-queue-item{
  border:1px solid #2e4358;border-radius:7px;background:#0c1621;overflow:hidden
}
.construction-queue-item.active{border-color:#755f38;background:rgba(197,155,87,.06)}
.construction-queue-main{
  min-height:42px;display:grid;grid-template-columns:24px minmax(0,1fr) auto 24px;
  align-items:center;gap:7px;padding:6px 7px
}
.construction-queue-index{
  width:22px;height:22px;display:grid;place-items:center;border:1px solid #40566d;
  border-radius:50%;color:#9fb0c1;font-size:8px
}
.construction-queue-copy{min-width:0}
.construction-queue-copy b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px}
.construction-queue-copy small{display:block;margin-top:2px;color:#798da1;font-size:7px}
.g001-build-countdown{color:#d4bb82;font-size:9px;font-weight:800;white-space:nowrap}
.construction-cancel{
  width:23px;height:23px;display:grid;place-items:center;border:1px solid #744138;border-radius:5px;
  background:rgba(128,54,43,.10);color:#d89987;cursor:pointer;font-size:13px
}
.construction-progress{height:4px;background:#101d2a;overflow:hidden}
.construction-progress i{
  display:block;height:100%;width:0;background:linear-gradient(90deg,#927039,#d2ad69);transition:width .25s linear
}
.construction-prototype-note{
  display:flex;flex-direction:column;gap:3px;margin-top:10px;padding:8px 9px;border:1px solid #33485e;
  border-radius:7px;background:#0b151f
}
.construction-prototype-note b{color:#c9ae76;font-size:8px}
.construction-prototype-note span{color:#75899c;font-size:7px;line-height:1.45}
.construction-max-card{
  margin-top:12px;border:1px solid #655736;border-radius:7px;padding:10px;background:rgba(197,155,87,.07);
  color:#d8c79e;font-size:9px
}
#buildingDetail .planet-btn:disabled{opacity:.38;cursor:not-allowed}
.construction-energy-warning{display:grid;gap:4px;margin:10px 0;padding:10px;border:1px solid rgba(255,82,82,.58);border-radius:8px;background:rgba(92,10,10,.28);box-shadow:inset 0 0 18px rgba(170,18,18,.12)}
.construction-energy-warning b{color:#ff8c86;font-size:10px;letter-spacing:.04em;text-transform:uppercase}
.construction-energy-warning span{color:#d9b5b3;font-size:9px;line-height:1.45}
.production-control-panel{
  margin:11px 0;border:1px solid #31506a;border-radius:8px;background:linear-gradient(145deg,#0b1722,#0c141d);padding:9px
}
.production-control-panel.blackout{border-color:#7b4038;background:linear-gradient(145deg,rgba(109,42,34,.16),#0d141b)}
.production-control-header,.production-allocation-row{
  display:flex;align-items:center;justify-content:space-between;gap:10px
}
.production-control-header small,.production-allocation-row small{
  display:block;color:#7e91a5;font-size:8px;letter-spacing:.07em
}
.production-control-header b,.production-allocation-row b{
  display:block;margin-top:3px;color:#dfe8f1;font-size:9px
}
.production-control-panel.blackout .production-control-header b{color:#e39583}
.production-band-badge{
  border:1px solid #46627c;border-radius:999px;padding:4px 7px;color:#9fb5c9;font-size:7px;white-space:nowrap
}
.production-control-metrics{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:8px 0
}
.production-control-metrics>div{
  min-width:0;border:1px solid #293e52;border-radius:6px;background:#0a131c;padding:7px
}
.production-control-metrics small{display:block;color:#73879a;font-size:7px;letter-spacing:.05em}
.production-control-metrics b{display:block;margin-top:3px;color:#edf2f7;font-size:9px}
.production-allocation-row{border-top:1px solid #26394a;padding-top:8px}
.energy-source-summary{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;border-top:1px solid #26394a;padding-top:8px
}
.energy-source-summary>span{min-width:0}
.energy-source-summary small{display:block;color:#7e91a5;font-size:7px;letter-spacing:.06em}
.energy-source-summary b{display:block;margin-top:3px;color:#cfe0ed;font-size:9px}
.production-allocation-control{
  display:grid;grid-template-columns:28px 54px 14px 28px;align-items:center;gap:4px
}
.production-allocation-control button{
  width:28px;height:27px;border:1px solid #49647d;border-radius:5px;background:#101f2d;color:#dce8f2;cursor:pointer;font-weight:900
}
.production-allocation-control input{
  width:54px;height:27px;box-sizing:border-box;border:1px solid #49647d;border-radius:5px;background:#08121b;color:#fff;text-align:center;font-size:10px;font-weight:800
}
.production-allocation-control>span{color:#91a7ba;font-size:9px}
.production-control-note{display:block;margin-top:7px;color:#718698;font-size:7px;line-height:1.45}
@media(max-width:760px){
  .building-visual-card{margin:8px 0 10px;border-radius:9px}
  .building-visual-card::after{inset:12px 14px}
  .construction-state-line,.construction-cost-grid,.construction-meta-grid{grid-template-columns:1fr}
  .construction-queue-header{align-items:flex-start;flex-direction:column}
  .construction-queue-header>small{text-align:left}
  .production-control-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
  .production-allocation-row{align-items:flex-start;flex-direction:column}
  .building-prerequisite{grid-template-columns:20px minmax(0,1fr)}
  .building-prerequisite>small{grid-column:2;text-align:left}
}
