.characters-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:2rem;padding:2rem 0;display:grid}.character-card{background:var(--bg-card);border:1px solid var(--border);cursor:pointer;color:inherit;border-radius:4px;padding:2rem;transition:border-color .3s,transform .3s;display:block}.character-card:hover{border-color:var(--accent);transform:translateY(-2px)}.character-card__avatar{background:var(--bg-secondary);border:2px solid var(--border);border-radius:50%;justify-content:center;align-items:center;width:80px;height:80px;margin:0 auto 1rem;font-size:2rem;display:flex;overflow:hidden}.character-card__avatar img{object-fit:cover;width:100%;height:100%}.character-card__avatar{border:2px solid var(--accent);background:#fff;border-radius:50%;justify-content:center;align-items:center;width:100px;height:100px;margin:0 auto 1rem;display:flex;overflow:hidden}.character-card__avatar img{object-fit:cover;object-position:center calc(50% + 18px);width:100%;height:100%}.character-card__code{color:var(--accent);text-align:center;text-transform:uppercase;letter-spacing:.1em;margin-bottom:.5rem;font-size:.8rem}.character-card__name{font-family:var(--font-heading);color:var(--accent);text-align:center;margin-bottom:.25rem;font-size:1.15rem}.character-card__region{color:var(--text-secondary);text-align:center;margin-top:.5rem;font-size:.8rem}.character-detail{z-index:2000;padding:calc(var(--nav-height) + 2rem) 2rem 4rem;background:#000000d9;display:none;position:fixed;inset:0;overflow-y:auto}.character-detail.open{display:block}.character-detail__content{background:var(--bg-card);border:1px solid var(--border);border-radius:4px;max-width:700px;margin:0 auto;padding:3rem}.character-detail__close{top:calc(var(--nav-height) + 1rem);border:1px solid var(--accent);color:var(--accent);cursor:pointer;background:0 0;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:1.25rem;display:flex;position:absolute;right:2rem}.character-detail__close:hover{background:var(--accent);color:var(--bg-primary)}.character-detail__name{margin-bottom:.25rem;font-size:2rem}.character-detail__title{color:var(--text-secondary);margin-bottom:1.5rem}.character-detail__bio{color:var(--text-primary);line-height:1.8}@media (width<=600px){.characters-grid{grid-template-columns:1fr;gap:1rem;padding-top:1.25rem}.character-card{padding:1.5rem}}.atlas-view-switch{border-bottom:1px solid var(--border);gap:.25rem;margin-bottom:1.25rem;padding-bottom:.75rem;display:flex}.atlas-view-switch button{min-height:44px;color:var(--text-secondary);font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;padding:.55rem 1rem;font-size:.85rem}.atlas-view-switch button[aria-pressed=true]{color:var(--text-primary);border-color:var(--accent)}.relationship-note,.relationship-legend{color:#a9a59b;margin-bottom:.65rem;font-size:.78rem;line-height:1.9}.relationship-legend{color:#b9aa85;font-size:.72rem}.relationship-viewport{border:1px solid var(--border);scrollbar-color:#686456 #111315;scrollbar-width:thin;background:#111315;overflow-x:auto}.relationship-canvas{width:max(100%,740px);position:relative}.relationship-lines{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.relationship-lines line{stroke:#827f70;stroke-width:1.5px}.relationship-lines line.is-highlighted{stroke:#e1bd75;stroke-width:2.5px}.relationship-node{color:#eee6d8;cursor:pointer;width:16%;min-height:62px;font:inherit;background:#1c2022;border:1px solid #91836a;padding:.65rem .3rem;line-height:1.5;position:absolute;transform:translate(-50%,-50%)}.relationship-node strong{font-family:var(--font-heading);font-size:.87rem;font-weight:400;display:block}.relationship-node span{color:#a5b4b9;font-size:.7rem;display:block}.relationship-node.is-context{border-style:dashed}.relationship-node:hover,.relationship-node[aria-pressed=true]{background:#34312a;border-color:#efd59b}.relationship-node.is-muted,.relationship-lines .is-muted{opacity:.35}.relationship-profile{border-bottom:1px solid var(--border);padding:1.25rem 0}.relationship-profile h3{margin-bottom:.75rem;font-size:1.25rem}.relationship-profile p{color:#b1aa9b;font-size:.8rem;line-height:1.9}.relationship-profile a{align-items:center;min-height:44px;font-size:.8rem;display:inline-flex}.relationship-profile ul{list-style:none}.relationship-empty{color:var(--text-secondary);text-align:center;padding:2rem 1rem}#atlasGrid[hidden],#characterGraph[hidden],.relationship-viewport[hidden]{display:none}
