.posture-editor{margin:1rem 0;padding:1rem;border:1px solid #716044;border-radius:12px;background:rgba(13,17,27,.94);color:#f3eee5;min-width:0}
.posture-editor legend{padding:0 .5rem;font-weight:700;font-size:1rem;color:#e9c978}
.posture-intro{margin:0 0 .8rem;font-size:.875rem;color:#c4c5ce}
.posture-choice{--posture-color:#f08a80;border-left:3px solid var(--posture-color);padding:.65rem .75rem;margin:.55rem 0;background:#1c2230;border-radius:5px;min-width:0}
[data-posture=defense]{--posture-color:#68d1fa}
[data-posture=special]{--posture-color:#ba95ff}
.posture-choice label{display:flex;align-items:center;justify-content:space-between;gap:.75rem;font-size:1rem;font-weight:600}
.posture-choice label small{display:block;font-weight:400;color:#b7bdca;font-size:.875rem}
.posture-choice select{font:inherit;font-size:.9rem;color:#fff;background:#101723;border:1px solid var(--posture-color);border-radius:6px;min-height:44px;padding:.45rem .6rem;max-width:50%}
.posture-choice summary{font-size:.875rem;color:#d3d7e1;cursor:pointer;padding:.55rem 0 .1rem;min-height:30px}
.posture-detail{font-size:.9rem;line-height:1.5;display:grid;gap:.4rem;padding:.7rem 0 .2rem}
.posture-detail b{color:var(--posture-color)}
.posture-detail small{font-size:.875rem;color:#dcc6a8}
.posture-badge{display:inline-block;--posture-color:#f08a80;border:1px solid var(--posture-color);color:var(--posture-color);background:#111722;padding:.12rem .35rem;border-radius:4px;font-size:.75rem;line-height:1.4;white-space:nowrap}
.posture-badge[data-posture=defense]{--posture-color:#68d1fa}
.posture-badge[data-posture=special]{--posture-color:#ba95ff}
.unit[data-posture=defense],.battle-unit[data-posture=defense]{box-shadow:inset 0 -4px #68d1fa}
.unit[data-posture=special],.battle-unit[data-posture=special]{box-shadow:inset 0 -4px #ba95ff}
.unit>.posture-badge,.battle-unit>.posture-badge{position:absolute;top:3px;bottom:auto;left:50%;transform:translateX(-50%);z-index:12;pointer-events:none}
.posture-choice select:focus-visible,.posture-choice summary:focus-visible{outline:2px solid #ffdf8a;outline-offset:3px}
@media(min-width:700px){.posture-editor{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 .8rem}.posture-intro{grid-column:1/-1}}
@media(prefers-reduced-motion:reduce){[data-posture]{transition:none!important}}

/* Postures publiées des défenses adverses, sans commande de modification. */
.mini-slot{position:relative}
.mini-slot>.posture-badge{position:absolute;bottom:0;left:50%;transform:translateX(-50%);max-width:100%;padding:0 .12rem;font-size:0;line-height:1.35}
.tower-preview-hero{display:grid;justify-items:center;gap:2px}
.tower-preview-hero>.posture-badge{font-size:.75rem;padding:0 .15rem}

/* Les aperçus restent lisibles malgré les portraits miniatures. */
.enemy-face{width:62px;height:84px}
.enemy-face>.posture-badge,.trial-enemies .team-slot>.posture-badge{position:absolute;top:2px;left:50%;transform:translateX(-50%);z-index:2;font-size:.75rem;padding:0 .15rem}
.enemy-face small{font-size:.625rem}
.mini-slot>.posture-badge::after{content:attr(data-posture-short);font-size:.75rem}
.posture-legend{font-size:.75rem!important;line-height:1.4}
