/* ============================================
   16. CHARACTER SINGLE PAGES — per-game appearances
   ============================================ */
.sao-character-layout{display:grid;gap:var(--sa-space-7);padding-top:var(--sa-space-7);padding-bottom:var(--sa-space-8)}
.sao-character-identity-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.75fr);gap:var(--sa-space-6);align-items:start}
.sao-character-bio-panel{min-height:100%;background:radial-gradient(circle at 12% 12%,rgba(143,224,61,.14),transparent 22rem),linear-gradient(180deg,rgba(19,25,52,.98),rgba(10,30,92,.72))}
.sao-character-bio-panel h2{font-size:clamp(2rem,4vw,4rem);line-height:1;margin-bottom:var(--sa-space-4)}
.sao-character-bio-panel p{max-width:78ch;color:#d7def6;line-height:var(--sa-lh-relaxed)}
.sao-character-side-stack{display:grid;gap:var(--sa-space-5)}
.sao-character-facts dl,.sao-character-fact-list{display:grid;gap:10px;margin:0}
.sao-character-facts dl div,.sao-character-fact-list div{display:grid;grid-template-columns:minmax(110px,.7fr) minmax(0,1fr);gap:12px;align-items:baseline;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.07)}
.sao-character-facts dt,.sao-character-fact-list dt{color:var(--sa-text-muted);font-size:var(--sa-text-xs);font-weight:900;text-transform:uppercase;letter-spacing:var(--sa-tracking-eyebrow)}
.sao-character-facts dd,.sao-character-fact-list dd{margin:0;color:var(--sa-text);font-weight:850}
.sao-character-fact-list a{color:var(--sa-plumbob);text-decoration:none}
.sao-character-badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:var(--sa-space-4)}
.sao-character-badges span,.sao-character-badges a{display:inline-flex;align-items:center;min-height:34px;padding:8px 12px;border-radius:var(--sa-radius-pill);background:rgba(143,224,61,.10);border:1px solid rgba(143,224,61,.24);color:var(--sa-plumbob);font-size:var(--sa-text-xs);font-weight:900;text-decoration:none}
.sao-character-appearance-list{display:grid;gap:var(--sa-space-6)}
.sao-character-appearance-card{overflow:hidden;border-radius:var(--sa-radius-2xl);border:1px solid rgba(255,255,255,.08);background:linear-gradient(180deg,rgba(19,25,52,.98),rgba(8,16,42,.98));box-shadow:var(--sa-shadow-lg)}
.sao-character-appearance-card[data-cas-schema="sims1"]{border-top:3px solid var(--era-sims1-accent)}
.sao-character-appearance-card[data-cas-schema="sims2"]{border-top:3px solid var(--era-sims2-accent)}
.sao-character-appearance-card[data-cas-schema="sims3"]{border-top:3px solid var(--era-sims3-accent)}
.sao-character-appearance-card[data-cas-schema="sims4"]{border-top:3px solid var(--era-sims4-accent)}
.sao-character-appearance-head{display:grid;grid-template-columns:132px minmax(0,1fr);gap:var(--sa-space-5);align-items:center;padding:clamp(20px,3vw,34px);background:radial-gradient(circle at 10% 16%,rgba(143,224,61,.15),transparent 18rem),linear-gradient(90deg,rgba(10,30,92,.90),rgba(5,11,46,.48));border-bottom:1px solid rgba(255,255,255,.08)}
.sao-character-appearance-portrait{display:grid;place-items:center;aspect-ratio:1;overflow:hidden;border-radius:var(--sa-radius-xl);background:rgba(255,255,255,.06);border:1px solid rgba(143,224,61,.20);box-shadow:0 16px 32px rgba(0,0,0,.22)}
.sao-character-appearance-portrait img,.sao-character-appearance-portrait .sao-placeholder{width:100%;height:100%;object-fit:cover}
.sao-character-appearance-title h3{margin:0;font-size:clamp(1.8rem,3vw,3.2rem);line-height:1;letter-spacing:-.04em}
.sao-character-appearance-title h3 a{color:inherit;text-decoration:none}
.sao-character-appearance-body{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sa-space-4);padding:clamp(20px,3vw,34px)}
.sao-character-info-block{padding:var(--sa-space-5);border-radius:var(--sa-radius-xl);background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.06)}
.sao-character-info-block--wide{grid-column:1 / -1}
.sao-character-info-block h4{margin:0 0 var(--sa-space-3);color:var(--sa-plumbob);font-size:var(--sa-text-sm);text-transform:uppercase;letter-spacing:var(--sa-tracking-eyebrow)}
.sao-character-info-block p{margin:var(--sa-space-4) 0 0;color:#c8d0ef;line-height:var(--sa-lh-relaxed)}
.sao-character-token-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--sa-space-3)}
.sao-character-linked-card{margin-top:var(--sa-space-3)}
.sao-character-stat-grid{display:grid;gap:12px}
.sao-character-stat-bar{display:grid;grid-template-columns:minmax(110px,.8fr) 56px minmax(120px,1.2fr);gap:12px;align-items:center}
.sao-character-stat-bar span{color:var(--sa-text-muted);font-weight:800}
.sao-character-stat-bar strong{font-family:var(--sa-font-mono);color:var(--sa-plumbob)}
.sao-character-stat-bar em{display:block;height:10px;border-radius:999px;background:linear-gradient(90deg,var(--sa-plumbob) var(--value),rgba(255,255,255,.08) var(--value));box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.sao-character-relation-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:var(--sa-space-4)}
.sao-character-relation-card{display:grid;grid-template-columns:58px minmax(0,1fr);gap:var(--sa-space-3);align-items:center;padding:var(--sa-space-3);border-radius:var(--sa-radius-lg);background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.07);text-decoration:none;color:var(--sa-text)}
.sao-character-relation-card:hover{background:rgba(143,224,61,.08);border-color:rgba(143,224,61,.26)}
.sao-character-relation-card span{grid-row:1 / span 2;width:58px;height:58px;overflow:hidden;border-radius:50%;background:var(--sa-surface-raised)}
.sao-character-relation-card img{width:100%;height:100%;object-fit:cover}
.sao-character-relation-card strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sao-character-relation-card em{font-style:normal;color:var(--sa-text-muted);font-size:var(--sa-text-sm);font-weight:800}
@media (max-width:1100px){.sao-character-identity-grid{grid-template-columns:1fr}.sao-character-appearance-body{grid-template-columns:1fr}}
@media (max-width:640px){.sao-character-layout{padding-top:var(--sa-space-5);gap:var(--sa-space-6)}.sao-character-appearance-head{grid-template-columns:86px minmax(0,1fr);gap:var(--sa-space-3)}.sao-character-facts dl div,.sao-character-fact-list div{grid-template-columns:1fr}.sao-character-stat-bar{grid-template-columns:1fr 54px}.sao-character-stat-bar em{grid-column:1 / -1}}
