/* BRASA 0.1 · R34 · ED · ficha del edificio colectivo (candidato): panel inferior sobre el pueblo visible y atenuado.
   Organización según la referencia del usuario; identidad y pixel art BRASA. Controles ≥ 44 px. */
.ed-capa { position: fixed; inset: 0; z-index: 60; display: grid; align-items: end; justify-items: center; }
.ed-velo { position: absolute; inset: 0; background: rgba(6, 14, 12, .5); }
.ed-panel { position: relative; width: min(100%, 30rem); max-height: 72dvh; overflow: auto; margin: 0 0 max(.4rem, env(safe-area-inset-bottom)); border: 2px solid #d9b56a; border-radius: 10px 10px 6px 6px; background: #1c2f2a; color: #e9e4d2; box-shadow: 0 -6px 24px rgba(0, 0, 0, .55); }
@media (min-width: 900px) { .ed-capa { align-items: center; } .ed-panel { margin: 0; } }
.ed-ficha p, .ed-ficha h3 { margin: 0; }
.ed-cab { display: flex; align-items: center; gap: .65rem; padding: .55rem .6rem .5rem .7rem; background: #14231f; border-bottom: 1px solid rgba(217, 181, 106, .5); }
.ed-cab > div { flex: 1; min-width: 0; }
.ed-cab h3 { font-size: 1.12em; color: #f6e7bd; }
.ed-cab p { font-size: .86em; opacity: .9; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ed-insignia { flex: none; width: 2.5rem; height: 2.9rem; display: grid; place-items: center; font-size: 1.45em; color: #1b140a; background: #e3b54f; clip-path: polygon(0 0, 100% 0, 100% 72%, 50% 100%, 0 72%); padding-bottom: .35rem; }
.ed-sello { display: inline-block; padding: 0 .4rem; margin-right: .2rem; border: 1px solid #d9b56a; border-radius: 3px; color: #f1d48f; font-size: .78em; letter-spacing: .06em; text-transform: uppercase; }
.ed-cerrar { flex: none; width: 44px; height: 44px; border: 1px solid #d9b56a; border-radius: 6px; background: #24403a; color: #f6e7bd; font-size: 1.5em; line-height: 1; }
.ed-ficha { display: flex; flex-direction: column; }
.ed-ayuda { flex: none; margin-left: 0; }
.ed-ficha .ed-pestanas { margin: 0 8px; }
.ed-cuerpo { display: grid; gap: .6rem; padding: .7rem .75rem .75rem; }
.ed-efecto { display: flex; align-items: center; gap: .75rem; }
.ed-efecto img { image-rendering: pixelated; flex: none; }
.ed-efecto div { display: grid; gap: .1rem; }
.ed-efecto span { font-size: .84em; color: #d9b56a; }
.ed-efecto b { font-size: 1.5em; }
.ed-efecto i { font-style: normal; color: #9fe08a; font-size: .8em; }
.ed-efecto em { font-style: normal; color: #9fe08a; }
.ed-efecto small { font-size: .78em; opacity: .8; }
.ed-inversion { display: flex; align-items: center; gap: .45rem; }
.ed-inversion > button { flex: none; width: 44px; height: 44px; border-radius: 50%; font-size: 1.35em; line-height: 1; }
.ed-barra { position: relative; flex: 1; height: 30px; border: 1px solid rgba(217, 181, 106, .7); border-radius: 15px; background: rgba(0, 0, 0, .45); overflow: hidden; }
.ed-barra > i { position: absolute; inset: 0 auto 0 0; background: #39b54a; }
.ed-barra > u { position: absolute; top: 0; bottom: 0; background: repeating-linear-gradient(135deg, #b9f08f 0 5px, #7fcf62 5px 10px); }
.ed-barra > b { position: absolute; inset: 0; display: grid; place-items: center; grid-auto-flow: column; justify-content: center; gap: .15rem; font-size: .98em; text-shadow: 0 1px 2px #000; }
.ed-barra em { font-style: normal; color: #d8ffc0; }
.ed-boton { min-height: 52px; width: 100%; display: flex; align-items: center; justify-content: center; gap: .6rem; font-size: 1.05em; }
.ed-boton b { display: inline-flex; align-items: center; }
.ed-nota { font-size: .86em; opacity: .92; }
.ed-centro { text-align: center; }
.ed-estado { min-height: 1.2em; font-size: .9em; color: #f1d48f; text-align: center; }
.ed-lista { list-style: none; margin: 0; padding: 0; display: grid; gap: .25rem; }
.ed-lista li { display: flex; justify-content: space-between; padding: .45rem .6rem; border-radius: 4px; background: rgba(0, 0, 0, .25); }
.ed-detalle summary { min-height: 44px; align-content: center; cursor: pointer; }
.ed-detalle ul { margin: .2rem 0 .4rem 1.1rem; padding: 0; }
/* Parcela en el pueblo: bandera de alianza, nivel y progreso reconocibles sin abrir la ficha. */
.camp-rts .camp-plot[data-spot="atalaya"] .camp-label::before { content: "⚑ "; color: #f1d48f; }
.camp-rts .camp-plot[data-spot="atalaya"] .camp-hint { display: block; }

/* R34 · lenguaje de juego: un dato, una acción, saldo y cupo como iconos; filas con el estilo .am-fila. */
.ed-efecto b { display: inline-flex; align-items: center; gap: .3rem; }
.ed-efecto b .ico { width: 22px; height: 22px; }
.ed-bolsa { margin-left: auto; justify-items: end; font-size: .95em; color: #f6e7bd; }
.ed-bolsa .am-cupo b { color: #a6e08c; }
.ed-cuerpo { min-height: 13.5rem; align-content: start; }
.ed-ficha .ed-lista li.am-fila { justify-content: flex-start; min-height: 52px; }
.ed-ficha .am-contador, .ed-ficha .am-vacio { margin: 0; }
.ed-ficha .am-vacio { padding: 1.6rem 0; }
/* R34 · bloque 6: texto al 200 % y pantallas estrechas. Nada se sale por la derecha: el efecto y el saldo bajan de línea, el cuerpo
   no impone alto en rem y las pestañas se encogen dentro del panel. */
.ed-panel { overflow-x: hidden; }
.ed-efecto { flex-wrap: wrap; }
.ed-efecto > div { min-width: 0; }
.ed-efecto img { width: min(96px, 24vw); height: auto; }
.ed-cuerpo { min-height: min(216px, 34dvh); }
.ed-inversion .ed-barra { min-width: 0; }
.ed-boton { box-sizing: border-box; max-width: 100%; }
.ed-ficha .ed-pestanas { margin: 0 4px; padding-bottom: 8px; }
.ed-ficha .ed-pestanas button { min-width: 0; font-size: min(11.5px, .72rem); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
