.character-relationships { display:grid; grid-template-columns:280px minmax(0,1fr) 310px; gap:16px; }
.character-relationships__list,.character-relationships__editor,.character-relationships__map { display:grid; align-content:start; gap:10px; padding:14px; border:1px solid var(--border); border-radius:12px; background:var(--surface); }
.character-relationships__card { display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:9px; text-align:left; padding:10px; border:1px solid var(--border); border-radius:8px; background:var(--surface_muted); color:var(--text_main); }
.character-relationships__card[aria-current="true"] { border-color:var(--accent); }
.character-relationships__card-copy,.character-relationships__identity,.character-relationships__candidate span { display:grid; gap:3px; min-width:0; }
.character-relationships__filter,.character-relationships__create { display:grid; gap:6px; }
.character-relationships__avatar { display:grid; place-items:center; flex:0 0 auto; width:40px; height:40px; overflow:hidden; border:1px solid var(--border); border-radius:50%; background:var(--surface_muted); color:var(--text_main); font-weight:700; }
.character-relationships__avatar img { width:100%; height:100%; object-fit:cover; }
.character-relationships__heading-avatar { width:52px; height:52px; }
.character-relationships__pair { display:flex; align-items:center; flex-wrap:wrap; gap:10px; }
.character-relationships__identity { display:flex; align-items:center; gap:7px; }
.character-relationships__archived-badge { width:max-content; padding:2px 7px; border:1px dashed var(--border); border-radius:999px; }
.character-relationships__status-message { padding:7px 9px; border-left:3px solid var(--accent); background:var(--surface_muted); }
.character-relationships__unavailable { display:grid; gap:8px; padding-top:8px; border-top:1px solid var(--border); }
.character-relationships__candidate { display:grid; grid-template-columns:auto minmax(0,1fr); gap:8px; align-items:center; padding:8px; border:1px dashed var(--border); border-radius:8px; }
.character-relationships__candidate button { grid-column:1/-1; }
.character-relationships__empty { display:grid; gap:6px; }
.character-relationship-field { display:grid; gap:5px; padding:10px; border:1px solid var(--border); border-radius:8px; }
.character-relationship-field label { display:grid; gap:5px; }.character-relationship-field textarea { min-height:82px; resize:vertical; font:inherit; color:var(--text_main); background:var(--surface_muted); border:1px solid var(--border); border-radius:6px; padding:8px; }
.character-relationships svg { width:100%; min-height:180px; border:1px solid var(--border); border-radius:8px; }.character-relationships svg line { stroke:var(--text_muted); }.character-relationships svg .is-archived line { stroke-dasharray:4 3; opacity:.55; }.character-relationships svg .is-selected line { stroke:var(--accent); stroke-width:3; }.character-relationship-node { fill:var(--surface_muted); stroke:var(--border); }.character-relationship-node__label { fill:var(--text_main); font-size:10px; }
@media(max-width:1050px){.character-relationships{grid-template-columns:260px minmax(0,1fr)}.character-relationships__map{grid-column:1/-1}}@media(max-width:720px){.character-relationships{grid-template-columns:1fr}.character-relationships__map{grid-column:auto}}
