:root{--char-accent:#ff77b7;--char-accent2:#9f6bff}
.character-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.character-card{overflow:hidden;border:1px solid var(--border);border-radius:24px;background:linear-gradient(155deg,rgba(255,255,255,.08),rgba(255,255,255,.025));box-shadow:0 18px 60px rgba(0,0,0,.22)}
.character-card img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center top;background:#17101f}
.character-card-body{padding:18px}.character-card h2,.character-card h3{font-size:23px;line-height:1.18;margin:9px 0 7px}.character-card p{color:var(--muted);margin:0 0 15px}
.character-meta,.trait-list{display:flex;gap:7px;flex-wrap:wrap}.character-meta{color:#d8c6e2;font-size:12px;text-transform:uppercase;letter-spacing:.06em}.trait-list{margin:14px 0 20px}.trait-list span{border:1px solid var(--border);border-radius:999px;padding:5px 9px;color:#decfe7;font-size:13px}
.character-hero{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr);align-items:center;gap:48px;padding:44px 0 36px}.character-portrait{width:100%;max-height:680px;aspect-ratio:4/5;object-fit:cover;object-position:center top;border-radius:30px;border:1px solid var(--border);box-shadow:0 26px 90px rgba(0,0,0,.5)}
.character-hero h1{font-size:clamp(40px,6.5vw,70px);line-height:1.02;letter-spacing:-.05em;margin:16px 0}.character-hero .lead{font-size:clamp(17px,2.1vw,21px);color:var(--muted);max-width:720px}.character-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:22px 0}.fact{padding:12px;border:1px solid var(--border);border-radius:15px;background:rgba(255,255,255,.035)}.fact small{display:block;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.06em}.fact strong{display:block;margin-top:3px}
.profile-content{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);gap:24px;margin:34px 0 70px}.profile-panel{border:1px solid var(--border);border-radius:22px;background:rgba(255,255,255,.035);padding:24px}.profile-panel h2,.profile-panel h3{margin-top:0}.profile-panel p,.profile-panel li{color:var(--muted)}.profile-panel ul{padding-left:20px}.profile-panel li+li{margin-top:8px}.profile-aside{display:grid;gap:18px;align-content:start}.cta-panel{background:linear-gradient(145deg,rgba(255,119,183,.14),rgba(159,107,255,.12));border-color:rgba(210,139,255,.35)}
.keyword-note{font-size:14px;color:var(--muted);max-width:760px}.character-link{font-weight:800;color:#f2c7e3;text-decoration:none}.character-link:hover,.story-link:hover{text-decoration:underline}.related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.related-card{display:flex;align-items:center;gap:11px;border:1px solid var(--border);border-radius:16px;padding:10px;text-decoration:none;background:rgba(255,255,255,.025)}.related-card img{width:54px;height:66px;object-fit:cover;object-position:center top;border-radius:11px}.related-card strong{display:block}.related-card span{display:block;color:var(--muted);font-size:12px}
@media(max-width:900px){.character-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.character-hero{grid-template-columns:1fr}.character-portrait{max-width:560px}.profile-content{grid-template-columns:1fr}}
@media(max-width:620px){.character-grid{grid-template-columns:1fr}.character-hero{padding-top:24px;gap:28px}.character-facts{grid-template-columns:1fr}.related-grid{grid-template-columns:1fr}}
