/* Portraits share one framing across selection, combat and compact team views. */
.general-art{object-fit:cover;object-position:50% 27%;border-radius:10px;border:1px solid var(--general-color,var(--edge));background:#17212a}
.general-option{overflow:hidden;padding:10px 10px 16px;gap:8px}
.general-option>.general-art{width:100%;height:auto;aspect-ratio:3/4;max-height:300px;border-radius:10px;object-position:50% 27%}
.general-detail-head{display:grid;grid-template-columns:minmax(110px,180px) minmax(0,1fr);align-items:center;gap:18px;margin:16px 0}
.general-detail-head>.general-art{width:100%;height:auto;aspect-ratio:3/4;max-height:240px}
.general-detail-head>p{margin:0;line-height:1.6}
#app .battle-panel .combat-portrait>.general-art{object-fit:cover;object-position:50% 27%;border-radius:12px}
.general-banner .general-art,.purchase-general .general-art,.market-ownership .general-art,.tournament-member>.general-art,.encounter-team>.general-art{border-radius:7px;min-height:0}
.general-mastered .general-art{border-radius:50%}
.general-mastered.general-option .general-art{border-radius:10px}
@media(max-width:680px){.general-option{padding:7px 7px 12px}.general-option>.general-art{width:100%;height:auto;max-height:230px}.general-detail-head{grid-template-columns:minmax(90px,125px) minmax(0,1fr);gap:12px}.general-detail-head>.general-art{max-height:175px}.general-detail-head>p{font-size:14px}}
@media(max-width:360px){.general-detail-head{grid-template-columns:90px minmax(0,1fr);gap:10px}.general-detail-head>p{font-size:13px}}
