:root{--color-bg: #08070c;--color-movie: #e8384f;--color-person: #7b61ff;--color-accent: #00d9ff;--color-text: #f2f1f6;--color-text-muted: #9a97ab;--color-panel-bg: rgba(13, 12, 20, .82);--color-panel-border: rgba(255, 255, 255, .08);--dim-opacity: .18;--focus-opacity: 1;--font-display: "Space Grotesk", "Segoe UI", sans-serif;--font-body: "Inter", system-ui, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, monospace;--transition-fast: .18s;--transition-medium: .42s;--camera-transition-ms: 1200}@media (prefers-reduced-motion: reduce){:root{--transition-fast: 0ms;--transition-medium: 0ms;--camera-transition-ms: 0}}*{box-sizing:border-box}html,body{margin:0;padding:0;width:100%;height:100%;background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);overflow:hidden}#app{position:relative;width:100vw;height:100vh;background:radial-gradient(ellipse at 20% 15%,rgba(123,97,255,.1),transparent 55%),radial-gradient(ellipse at 80% 75%,rgba(232,56,79,.08),transparent 55%),var(--color-bg)}#graph-container{position:absolute;top:0;right:0;bottom:0;left:0}#ui-overlay{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}#ui-overlay>*{pointer-events:auto}#search-bar{position:absolute;top:24px;left:24px;width:min(360px,calc(100vw - 48px))}#search-input{width:100%;padding:12px 16px;font-family:var(--font-body);font-size:14px;color:var(--color-text);background:var(--color-panel-bg);border:1px solid var(--color-panel-border);border-radius:10px;outline:none;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:border-color var(--transition-fast) ease}#search-input:focus{border-color:var(--color-accent)}#search-results{margin-top:8px;background:var(--color-panel-bg);border:1px solid var(--color-panel-border);border-radius:10px;overflow:hidden;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}#search-results:empty{display:none}.search-result{display:flex;align-items:center;gap:10px;padding:10px 14px;font-size:13px;cursor:pointer;border-bottom:1px solid var(--color-panel-border)}.search-result:last-child{border-bottom:none}.search-result:hover{background:#ffffff0d}.search-result-type{font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);flex-shrink:0}#detail-panel{position:absolute;top:24px;right:24px;width:min(320px,calc(100vw - 48px));max-height:calc(100vh - 48px);overflow-y:auto;background:var(--color-panel-bg);border:1px solid var(--color-panel-border);border-radius:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:opacity var(--transition-medium) ease,transform var(--transition-medium) ease}#detail-panel[hidden]{display:block;opacity:0;transform:translateY(-6px);pointer-events:none}#detail-panel:not([hidden]){opacity:1;transform:translateY(0)}.detail-image{width:100%;aspect-ratio:2 / 3;object-fit:cover;border-radius:12px 12px 0 0;display:block;background:#ffffff08}.detail-body{padding:16px}.detail-name{font-family:var(--font-display);font-weight:700;font-size:19px;line-height:1.25;margin:0 0 4px}.detail-meta{font-family:var(--font-mono);font-size:12px;color:var(--color-text-muted);margin:0 0 14px}.detail-section-label{font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);margin:0 0 8px}.connection-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.connection-item{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding:7px 8px;font-size:13px;border-radius:6px;cursor:pointer;color:var(--color-text)}.connection-item:hover{background:#ffffff0f}.connection-role{font-family:var(--font-mono);font-size:11px;color:var(--color-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#breadcrumb{position:absolute;bottom:20px;left:24px;font-family:var(--font-mono);font-size:12px;color:var(--color-text-muted);letter-spacing:.02em}#breadcrumb button{background:none;border:none;color:var(--color-accent);font-family:var(--font-mono);font-size:12px;cursor:pointer;padding:0}
