/* V51: ein gemeinsamer visueller Massstab fuer alle platzierbaren Objekte.
   Die Grundflaeche bestimmt den Fussabdruck; die Hoehe der Illustration darf
   variieren, ohne Kollisionen oder die wahrgenommene Groesse zu veraendern. */
.v51-object.storage-plot,.v51-object.workshop-plot,.v51-object.workshop-foundation,
.v51-object.workshop-building,.v51-object.catalog-plot,.v51-object.catalog-building{
  width:var(--v51-shell-width,166px)!important;
  height:var(--v51-shell-height,137px)!important;
}
.v51-object .placement-grid{
  top:var(--v51-grid-top,57px)!important;
  grid-template-columns:repeat(var(--v51-grid-columns,3),var(--v51-grid-cell-width,30px))!important;
  grid-template-rows:repeat(var(--v51-grid-rows,3),var(--v51-grid-cell-height,30px))!important;
}
.v51-object.workshop-plot .workshop-ghost,.v51-object.catalog-plot .catalog-ghost,
.v51-object.storage-plot .storage-ghost,
.v51-object.workshop-building .building-concept--workshop,
.v51-object.catalog-building .building-concept--collector,
.v51-object.catalog-building .building-concept--wall{
  left:50%!important;top:var(--v51-art-top,0)!important;
  width:var(--v51-art-width,146px)!important;height:var(--v51-art-height,102px)!important;
  transform:translateX(-50%)!important;transform-origin:50% 76%;
}
.v51-object.storage-plot .storage-ghost{opacity:.82}
.v51-object.storage-plot[data-v48-preview="free"] .storage-ghost{opacity:.86}
.v51-object.storage-plot[data-v48-preview="blocked"] .storage-ghost{opacity:.58}
.v51-object>.building-ground-shadow{
  top:var(--v51-shadow-top,88px)!important;width:var(--v51-shadow-width,112px)!important;
  height:var(--v51-shadow-height,28px)!important;
}
.v51-object.storage-plot>b,.v51-object.workshop-plot>b,.v51-object.workshop-foundation>b,
.v51-object.workshop-building>b,.v51-object.catalog-plot>b,.v51-object.catalog-building>b{
  top:var(--v51-label-top,105px)!important
}
.v51-object.storage-plot>small,.v51-object.workshop-plot>small,.v51-object.workshop-foundation>small,
.v51-object.workshop-building>small,.v51-object.catalog-plot>small,.v51-object.catalog-building>small{
  top:var(--v51-meta-top,121px)!important
}

/* Der Speicher gehoert ebenfalls zur 3x3-Skala. Seine Kuppel bleibt kompakt
   und dominiert nicht mehr Bauhuette oder Sammler. */
.building--storage.v51-object{
  width:var(--v51-art-width,112px)!important;
  height:var(--v51-art-height,91px)!important;
  aspect-ratio:auto!important;
}

/* Der Echo-Zaun bleibt als 2x1-Segment bewusst niedrig und wiederholbar.
   Erst mehrere Segmente bilden eine grosse Verteidigungslinie. */
.catalog-plot--wall.v51-object,.catalog-building--wall.v51-object{
  width:var(--v51-shell-width,116px)!important;height:var(--v51-shell-height,88px)!important;
}
.catalog-building--wall .building-concept--wall img,
.catalog-plot--wall[data-v48-preview="free"] .building-concept--wall img{
  animation:v51-echo-fence-energy 1.8s ease-in-out infinite alternate;
  filter:brightness(.94) drop-shadow(0 0 3px rgba(66,225,235,.48));
}

@keyframes v51-echo-fence-energy{
  from{filter:brightness(.9) drop-shadow(0 0 2px rgba(66,225,235,.36))}
  to{filter:brightness(1.1) drop-shadow(0 0 7px rgba(66,225,235,.68))}
}

#placementRotate[hidden]{display:none!important}
#placementRotate{
  min-width:76px;border:1px solid rgba(128,210,207,.3)!important;
  background:rgba(9,37,41,.92)!important;color:#b8ece4!important
}
#placementRotate:focus-visible{outline:2px solid rgba(151,241,226,.88);outline-offset:2px}
.placement-hud:has(#placementRotate:not([hidden])){
  grid-template-columns:110px 92px 76px minmax(112px,1fr) auto
}

@media (max-height:430px){
  .building--storage.v51-object{width:104px!important;height:84px!important}
  .placement-hud:has(#placementRotate:not([hidden])){grid-template-columns:98px 78px 70px 104px auto}
}
@media (prefers-reduced-motion:reduce){
  .catalog-building--wall .building-concept--wall img,
  .catalog-plot--wall .building-concept--wall img{animation:none}
}
