.relationship-shell{z-index:110;background:var(--network-paper);color:var(--network-ink);isolation:isolate;transform-origin:7% 4%;--network-place:color-mix(in srgb,#639f99 72%,var(--network-ink));--network-event:color-mix(in srgb,#c29462 72%,var(--network-ink));--network-period:color-mix(in srgb,#9382ad 72%,var(--network-ink));flex-direction:column;font-family:system-ui;display:flex;position:fixed;inset:0;overflow:hidden}.relationship-shell *{box-sizing:border-box}.relationship-shell button{color:inherit;font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}.relationship-shell button:disabled{opacity:.45;cursor:default}.relationship-shell button svg{flex-shrink:0}.relationship-record .relationship-excerpt{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:5px;font:12px/1.7 serif;display:-webkit-box;overflow:hidden}@media (width<=600px){.relationship-shell .relationship-field input,.relationship-shell .relationship-field textarea,.relationship-shell .relationship-field select,.relationship-shell .relationship-search input{font-size:16px}.relationship-detail-tabs button{min-height:40px}.relationship-filter .relationship-icon-button{min-width:36px;min-height:36px}}.relationship-node-icon{color:var(--node-accent)!important;border-color:var(--node-accent)!important}.relationship-node[data-selected=true]{border-color:var(--node-accent)!important}.relationship-custom-group{border:0;min-width:0;margin:14px 0;padding:0}.relationship-custom-group legend{color:var(--network-muted);font-size:11px}.relationship-custom-group .relationship-segments{margin:8px 0 0}.relationship-text-button{text-underline-offset:3px;background:0 0;border:0;padding:8px 0;text-decoration:underline;color:var(--network-muted)!important;font-size:12px!important}.relationship-node-custom{border-top:1px solid var(--network-faint);margin-top:14px;padding-top:12px;font-size:12px}.relationship-node-custom summary{cursor:pointer;color:var(--network-muted)}.relationship-swatches,.relationship-symbols{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.relationship-swatches button{color:#fff;border:0;border-radius:50%;place-items:center;width:28px;height:28px;display:grid}.relationship-swatches button[aria-pressed=true]{outline:1px solid var(--network-ink);outline-offset:3px}.relationship-symbols button{border:1px solid var(--network-faint);background:var(--network-paper);width:34px;height:34px;color:var(--network-muted);border-radius:12px;place-items:center;display:grid}.relationship-symbols button[aria-pressed=true]{border-color:var(--network-accent);color:var(--network-accent)}.relationship-detail-tabs{border-bottom:1px solid var(--network-faint);gap:22px;margin:10px 0 4px;display:flex}.relationship-detail-tabs button{color:var(--network-muted);background:0 0;border:0;padding:8px 0;font-size:12px}.relationship-detail-tabs button[aria-selected=true]{color:var(--network-ink);box-shadow:0 2px 0 var(--network-accent)}.relationship-detail-tabs span{color:var(--network-muted);margin-left:7px;font-size:10px}.relationship-detail-header .relationship-kicker{margin-right:auto}.relationship-shell button:focus-visible,.relationship-shell input:focus-visible,.relationship-shell textarea:focus-visible,.relationship-shell select:focus-visible,.relationship-shell summary:focus-visible{outline:2px solid var(--network-accent);outline-offset:3px}.relationship-tools{padding:calc(14px + env(safe-area-inset-top)) 22px 12px;flex-shrink:0;align-items:center;gap:14px;display:flex}.relationship-icon-button{border:1px solid var(--network-faint);background:var(--network-surface);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;padding:0;display:inline-flex}.relationship-icon-button.is-accent{color:var(--network-accent)}.relationship-heading{flex:1;align-items:baseline;gap:12px;display:flex}.relationship-heading strong{letter-spacing:1px;font:600 23px/1.3 serif}.relationship-heading span{color:var(--network-muted);font-size:11px}.relationship-filter{align-items:center;gap:5px;width:100%;max-width:640px;padding:0 22px 12px;display:flex}.relationship-filter>button:not(.relationship-icon-button){color:var(--network-muted);background:0 0;border:0;border-radius:20px;align-items:center;gap:8px;padding:8px 13px;font-size:12px;display:flex}.relationship-filter>button[aria-pressed=true]{background:var(--network-surface);color:var(--network-ink)}.relationship-filter>button span{opacity:.7;font-variant-numeric:tabular-nums;font-size:10px}.relationship-filter>.relationship-icon-button{background:0 0;border:0;width:32px;height:32px;margin-left:auto}.relationship-filter{min-height:57px;padding-right:64px;position:relative}.relationship-search{box-sizing:border-box;width:32px;max-width:calc(100% - 44px);height:34px;color:var(--network-muted);box-shadow:none;background:0 0;border:1px solid #0000;border-radius:999px;align-items:center;gap:0;height:43px;padding:0;transition:width .3s cubic-bezier(.22,.72,.22,1),background-color .2s,border-color .2s,box-shadow .2s;display:flex;position:absolute;top:1px;right:22px;overflow:hidden;margin:0!important}.relationship-search[data-open=true]{border-color:var(--network-faint);background:color-mix(in srgb,var(--network-surface) 92%,transparent);width:300px;box-shadow:inset 0 1px 0 color-mix(in srgb,var(--network-paper) 65%,transparent),0 3px 10px color-mix(in srgb,var(--network-ink) 5%,transparent);padding:0 8px}.relationship-search[data-open=true] button svg{width:18px;height:18px}.relationship-search input{width:0;min-width:0;height:100%;color:var(--network-ink);opacity:0;background:0 0;border:0;flex:1;padding:0 4px;font:13px system-ui;transition:opacity .16s;box-shadow:none!important;outline:none!important}.relationship-search input::placeholder{font-size:13px}.relationship-search button{width:30px;height:30px;color:var(--network-muted);background:0 0;border:0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex}.relationship-search .relationship-search-trigger{color:var(--network-accent)}.relationship-search-close{opacity:0;visibility:hidden;transition:opacity .16s}.relationship-search[data-open=true] input,.relationship-search[data-open=true] .relationship-search-close{opacity:1;visibility:visible}.relationship-filter[data-search-open=true]>.relationship-category-control,.relationship-filter[data-search-open=true]>.relationship-time-control{visibility:hidden;pointer-events:none}@media (width<=600px){.relationship-search{max-width:calc(100% - 32px);right:16px}.relationship-search input{font-size:16px}}.relationship-shell[data-reduce-motion=true] .relationship-search,.relationship-shell[data-reduce-motion=true] .relationship-search input,.relationship-shell[data-reduce-motion=true] .relationship-search-close{transition:none}@media (prefers-reduced-motion:reduce){.relationship-search,.relationship-search input,.relationship-search-close{transition:none}}.relationship-main{flex:1;min-height:0;position:relative}.relationship-error{background:var(--network-surface);align-items:center;gap:12px;padding:10px 22px;font-size:12px;display:flex}.relationship-error button{background:0 0;border:0;text-decoration:underline}.relationship-shell .react-flow__node{background:0 0;border:0;border-radius:20px;padding:0}.relationship-node{border:1px solid var(--network-faint);background:var(--network-surface);border-radius:20px;align-items:center;gap:12px;width:180px;height:100px;padding:18px 14px;transition:border-color .18s,box-shadow .18s;display:flex;box-shadow:0 5px 16px #3c2c200d}.relationship-node[data-selected=true]{border-color:var(--network-accent);box-shadow:0 0 0 3px var(--network-faint)}.relationship-node.is-self{border-color:var(--network-accent)}.relationship-node-icon{border:1px solid var(--network-faint);width:38px;height:38px;color:var(--network-accent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.relationship-node-text{flex:1;min-width:0}.relationship-node strong{white-space:nowrap;text-overflow:ellipsis;font:600 20px/1.4 serif;display:block;overflow:hidden}.relationship-node-text>span{color:var(--network-muted);white-space:nowrap;margin-top:6px;font-size:10px;line-height:1.5;display:block}.relationship-line-label{pointer-events:all;border:1px solid var(--network-faint);background:var(--network-paper);white-space:nowrap;text-overflow:ellipsis;border-radius:20px;max-width:160px;padding:4px 10px;position:absolute;overflow:hidden;color:var(--network-muted)!important;font-size:11px!important}.relationship-line-label[data-active=true]{border-color:var(--network-accent);color:var(--network-ink)!important}.relationship-detail,.relationship-results{border:1px solid var(--network-faint);background:var(--network-surface);z-index:6;overscroll-behavior:contain;scrollbar-width:thin;border-radius:26px;width:340px;max-width:calc(100% - 44px);max-height:calc(100% - 86px);padding:20px;animation:.18s ease-out network-detail;position:absolute;top:12px;right:22px;overflow:auto;box-shadow:0 12px 36px #3c2c2017}@keyframes network-detail{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.relationship-detail-header{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.relationship-detail-header .relationship-icon-button{width:30px;height:30px;color:var(--network-muted);background:0 0;border:0}.relationship-kicker{color:var(--network-accent);letter-spacing:2px;font-size:11px}.relationship-detail h2{margin:3px 0 10px;font:600 25px/1.4 serif}.relationship-description{color:var(--network-muted);margin:0 0 14px;font:14px/1.8 serif}.relationship-join{color:var(--network-accent);margin:0 6px}.relationship-empty{color:var(--network-muted);margin:10px 0;font-size:12px;line-height:1.8}.relationship-actions{flex-wrap:wrap;gap:8px;margin:14px 0 18px;display:flex}.relationship-actions button,.relationship-edit-footer>button:not(.relationship-icon-button),.relationship-primary{border:1px solid var(--network-faint);background:var(--network-paper);border-radius:22px;justify-content:center;align-items:center;gap:7px;padding:9px 13px;font-size:12px;display:inline-flex}.relationship-primary{min-height:40px;background:var(--network-accent)!important;color:var(--network-on-accent)!important;border-color:#0000!important}.relationship-section-title{color:var(--network-muted);letter-spacing:1px;justify-content:space-between;align-items:center;margin:18px 0 8px;font-size:11px;display:flex}.relationship-section-title>span{font-variant-numeric:tabular-nums;letter-spacing:0;color:var(--network-accent)}.relationship-records{gap:0;display:grid}.relationship-record{border:0;border-top:1px solid var(--network-faint);text-align:left;background:0 0;align-items:center;gap:10px;width:100%;padding:12px 0;display:flex}.relationship-record-index{color:var(--network-accent);font-variant-numeric:tabular-nums;font-size:10px}.relationship-record>span:nth-child(2){flex:1;min-width:0}.relationship-record strong{font:500 15px/1.5 serif;display:block}.relationship-record small{color:var(--network-muted);margin-top:4px;font-size:10px;display:block}.relationship-record svg{color:var(--network-muted)}.relationship-links{gap:6px;display:grid}.relationship-links button{background:var(--network-paper);text-align:left;border:0;border-radius:14px;justify-content:space-between;align-items:center;padding:10px 12px;font-size:13px;display:flex}.relationship-links small{color:var(--network-muted);margin-top:4px;font-size:11px;display:block}.relationship-tags{flex-wrap:wrap;gap:6px;display:flex}.relationship-tags span{border:1px solid var(--network-faint);color:var(--network-muted);border-radius:14px;padding:3px 8px;font-size:10px}.relationship-field{color:var(--network-muted);gap:6px;margin:12px 0;font-size:11px;display:grid}.relationship-field input,.relationship-field textarea,.relationship-field select{border:1px solid var(--network-faint);background:var(--network-paper);width:100%;min-width:0;color:var(--network-ink);border-radius:12px;padding:10px 12px;font:13px/1.5 system-ui}.relationship-field textarea{resize:vertical;min-height:72px}.relationship-edit-footer{border-top:1px solid var(--network-faint);justify-content:flex-end;align-items:center;gap:8px;margin-top:18px;padding-top:12px;display:flex}.relationship-edit-footer>.relationship-icon-button{color:var(--network-muted);background:0 0;border:0;margin-right:auto}.relationship-picker{margin:12px 0;font-size:12px}.relationship-picker summary{cursor:pointer;border-bottom:1px solid var(--network-faint);justify-content:space-between;align-items:center;padding:10px 0;list-style:none;display:flex}.relationship-picker summary:before{content:"＋";color:var(--network-accent);margin-right:8px}.relationship-picker summary>span{color:var(--network-muted);margin-left:auto}.relationship-picker[open] summary:before{content:"−"}.relationship-picker>div{max-height:160px;padding:6px 0;overflow:auto}.relationship-picker label{align-items:flex-start;gap:8px;padding:7px 0;line-height:1.6;display:flex}.relationship-picker input{accent-color:var(--network-accent)}.relationship-segments{background:var(--network-paper);border-radius:22px;gap:4px;margin:12px 0;padding:4px;display:flex}.relationship-segments button{color:var(--network-muted);background:0 0;border:0;border-radius:18px;flex:1;justify-content:center;align-items:center;gap:8px;padding:9px 12px;font-size:12px;display:flex}.relationship-segments button[aria-pressed=true]{background:var(--network-surface);color:var(--network-ink);box-shadow:0 2px 5px #3c2c200a}.relationship-results{z-index:8;max-height:220px;padding:10px}.relationship-results button{text-align:left;background:0 0;border:0;border-radius:14px;align-items:center;gap:10px;width:100%;padding:12px;display:flex}.relationship-results strong{flex:1;font:500 16px serif}.relationship-results button:hover{background:var(--network-paper)}.relationship-map-tools{left:22px;bottom:calc(18px + env(safe-area-inset-bottom));border:1px solid var(--network-faint);background:var(--network-surface);z-index:7;border-radius:26px;align-items:center;gap:3px;padding:5px;display:flex;position:absolute;box-shadow:0 4px 14px #3c2c200a}.relationship-map-tools button{background:0 0;border:0;border-radius:20px;align-items:center;gap:7px;min-width:34px;height:34px;padding:0 10px;font-size:11px;display:flex}.relationship-map-tools button:hover{background:var(--network-paper)}.relationship-map-tools>span{background:var(--network-faint);width:1px;height:18px;margin:0 4px}.relationship-hint{color:var(--network-muted);pointer-events:none;font-size:11px;line-height:1.7;position:absolute;top:10px;left:22px;right:22px}@media (width<=600px){.relationship-tools{gap:10px;padding-left:16px;padding-right:16px}.relationship-heading{gap:10px}.relationship-heading strong{font-size:22px}.relationship-filter{padding:0 16px 9px}.relationship-search{margin:0 16px 10px}.relationship-detail{top:auto;bottom:calc(78px + env(safe-area-inset-bottom));border-radius:26px;width:calc(100% - 24px);max-width:none;max-height:46%;padding:16px 18px;right:12px}.relationship-detail h2{font-size:23px}.relationship-map-tools{left:50%;bottom:calc(16px + env(safe-area-inset-bottom));white-space:nowrap;transform:translate(-50%)}.relationship-hint{top:8px;left:18px}.relationship-results{width:calc(100% - 24px);max-width:none;top:8px;right:12px}.relationship-filter>button:not(.relationship-icon-button){padding:8px 12px}}@media (prefers-reduced-motion:reduce){.relationship-shell,.relationship-detail{animation:none!important}.relationship-node{transition:none}}.relationship-shell[data-reduce-motion=true],.relationship-shell[data-reduce-motion=true] .relationship-detail{animation:none!important}.relationship-shell[data-reduce-motion=true] .relationship-node{transition:none}.relationship-discard-backdrop{z-index:30;background:#1e181429;justify-content:center;align-items:center;padding:24px;display:flex;position:absolute;inset:0}.relationship-discard{border:1px solid var(--network-faint);background:var(--network-paper);border-radius:26px;width:100%;max-width:330px;padding:22px;box-shadow:0 12px 36px #1e18141f}.relationship-discard h2{margin:0 0 12px;font:500 21px serif}.relationship-discard p{color:var(--network-muted);font-size:13px;line-height:1.7}.relationship-discard>div{gap:10px;margin-top:18px;display:flex}.relationship-discard button{border:1px solid var(--network-faint);background:var(--network-surface);border-radius:18px;flex:1;padding:10px;font-size:12px}.relationship-time-presets{gap:7px;margin-top:8px;display:flex}.relationship-time-presets button,.relationship-time-range button{border:1px solid var(--network-faint);background:var(--network-surface);border-radius:14px;padding:6px 10px;font-size:11px!important}.relationship-time-presets button[aria-pressed=true]{border-color:var(--network-accent);color:var(--network-accent)}.relationship-time-range{align-items:center;gap:7px;margin:8px 0;display:flex}.relationship-time-range input{border:1px solid var(--network-faint);background:var(--network-surface);width:100%;min-width:0;color:var(--network-ink);border-radius:10px;padding:7px;font-size:12px}.relationship-time-range button{flex-shrink:0}.relationship-time-context{color:var(--network-muted);margin:10px 0;font-size:11px;line-height:1.7}.relationship-time-context button{color:var(--network-accent);background:0 0;border:0;text-decoration:underline;font-size:11px!important}.relationship-record-time{color:var(--network-muted);margin-top:3px;display:block;font:10px/1.6 system-ui!important}@media (width<=600px){.relationship-time-range input{font-size:16px}.relationship-detail[data-mode=view]{max-height:56%}.relationship-detail[data-mode=view] .relationship-time-context{margin:6px 0;font-size:10px}.relationship-detail[data-mode=view] .relationship-description{margin-bottom:8px}.relationship-detail[data-mode=view] .relationship-section-title{margin-top:10px}}.relationship-top-chrome{z-index:10;pointer-events:none;isolation:isolate;position:absolute;inset:0 0 auto}.relationship-top-chrome:before{content:"";z-index:-1;pointer-events:none;background:linear-gradient(to bottom,color-mix(in srgb,var(--network-paper) 16%,transparent) 0%,color-mix(in srgb,var(--network-paper) 8%,transparent) 72%,transparent 100%);backdrop-filter:blur(1.5px);position:absolute;inset:0 0 -36px;-webkit-mask-image:linear-gradient(#000 0% calc(100% - 44px),#0000 100%);mask-image:linear-gradient(#000 0% calc(100% - 44px),#0000 100%)}.relationship-top-chrome>header,.relationship-top-chrome>nav,.relationship-top-chrome>section,.relationship-top-chrome>.relationship-search,.relationship-top-chrome>.relationship-error{pointer-events:auto}.relationship-shell .relationship-main{z-index:0;min-height:0;position:absolute;inset:0}.relationship-detail,.relationship-results{top:calc(var(--network-controls-height) + 12px);max-height:calc(100% - var(--network-controls-height) - 98px)}.relationship-hint{top:calc(var(--network-controls-height) + 10px)}@media (width<=600px){.relationship-detail{max-height:calc(46% - var(--network-controls-height) * .46);top:auto}.relationship-detail[data-mode=view]{max-height:calc(56% - var(--network-controls-height) * .56)}.relationship-results,.relationship-hint{top:calc(var(--network-controls-height) + 8px)}}@supports not (backdrop-filter:blur(1px)){.relationship-top-chrome:before{background:linear-gradient(to bottom,color-mix(in srgb,var(--network-paper) 16%,transparent) 0%,color-mix(in srgb,var(--network-paper) 8%,transparent) 75%,transparent 100%)}}.relationship-time-control{pointer-events:auto;min-width:0;margin-left:auto;position:relative}.relationship-time-button{color:var(--network-muted);white-space:nowrap;background:0 0;border:0;border-radius:20px;align-items:center;gap:6px;padding:8px 10px;font-size:12px;display:flex}.relationship-time-button[data-active=true],.relationship-time-button[aria-expanded=true]{background:var(--network-surface);color:var(--network-accent)}.relationship-filter .relationship-time-button span{opacity:1;text-overflow:ellipsis;max-width:110px;font-size:12px;overflow:hidden}.relationship-filter>.relationship-icon-button{flex-shrink:0;margin-left:0}.relationship-time-popover{border:1px solid var(--network-faint);background:var(--network-surface);width:300px;max-width:calc(100vw - 32px);box-shadow:0 8px 24px color-mix(in srgb,var(--network-ink) 10%,transparent);z-index:12;border-radius:22px;padding:14px;position:absolute;top:calc(100% + 9px);right:-36px}.relationship-time-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.relationship-time-heading strong{font-size:13px;font-weight:500}.relationship-time-heading .relationship-icon-button{background:0 0;border:0;width:26px;height:26px}.relationship-time-popover small{color:var(--network-muted);font-size:10px;line-height:1.7;display:block}.relationship-time-popover p{color:#a34336;font-size:11px}.relationship-time-popover .relationship-time-range{margin:12px 0}.relationship-time-popover .relationship-time-range button{background:var(--network-accent);color:var(--network-on-accent);border:0;justify-content:center;align-items:center;padding:8px;display:flex}.relationship-time-popover .relationship-time-presets{margin-top:10px}.relationship-time-popover .relationship-time-presets button{background:var(--network-paper)}@media (width<=390px){.relationship-filter{gap:2px}.relationship-filter>button:not(.relationship-icon-button){padding:8px}.relationship-time-button{padding:8px 6px}.relationship-filter .relationship-time-button span{max-width:88px}}.relationship-category-control{pointer-events:auto;flex-shrink:0;position:relative}.relationship-category-trigger{border:1px solid var(--network-faint);background:var(--network-surface);color:var(--network-ink);border-radius:22px;align-items:center;gap:8px;padding:8px 13px;font-size:12px;display:flex}.relationship-category-trigger span{opacity:.65;font-size:10px}.relationship-category-trigger[aria-expanded=true] svg{transform:rotate(180deg)}.relationship-category-options{z-index:12;border:1px solid var(--network-faint);background:var(--network-surface);width:150px;box-shadow:0 8px 24px color-mix(in srgb,var(--network-ink) 10%,transparent);border-radius:18px;padding:5px;position:absolute;top:calc(100% + 8px);left:0}.relationship-category-options button{width:100%;color:var(--network-muted);background:0 0;border:0;border-radius:13px;align-items:center;gap:8px;padding:10px 12px;font-size:12px;display:flex}.relationship-category-options button[aria-pressed=true]{background:var(--network-paper);color:var(--network-ink)}.relationship-category-options button span{opacity:.65;margin-left:auto;font-size:10px}.relationship-category-options button svg{color:var(--network-accent)}.relationship-filter{padding-right:64px}.relationship-time-control{position:static}.relationship-time-popover{top:calc(100% - 3px);right:22px}@media (width<=600px){.relationship-filter{padding-right:58px}.relationship-time-popover{right:16px}}.relationship-shell{--network-shadow:color-mix(in srgb,var(--network-ink) 8%,transparent);--network-outline:color-mix(in srgb,var(--network-ink) 12%,transparent)}.relationship-shell .react-flow__background{opacity:.48}.relationship-tools>.relationship-icon-button,.relationship-map-tools{border-color:var(--network-outline);box-shadow:0 2px 8px var(--network-shadow);background:color-mix(in srgb,var(--network-surface) 94%,transparent)}.relationship-heading strong{letter-spacing:2px;font-weight:500}.relationship-heading span{letter-spacing:.4px}.relationship-category-trigger{border-color:var(--network-outline);background:color-mix(in srgb,var(--network-surface) 92%,transparent)}.relationship-time-button{min-height:34px}.relationship-time-button[data-active=true]{box-shadow:inset 0 0 0 1px var(--network-outline)}.relationship-category-options,.relationship-time-popover,.relationship-detail,.relationship-results{border-color:var(--network-outline);box-shadow:0 12px 32px var(--network-shadow)}.relationship-map-tools{padding:5px 7px}.relationship-map-tools>span{background:var(--network-outline);height:16px}.relationship-shell button{transition:background-color .15s,color .15s,border-color .15s}@media (hover:hover){.relationship-tools>.relationship-icon-button:hover,.relationship-category-trigger:hover,.relationship-category-options button:hover{background:var(--network-paper)}}@media (prefers-reduced-motion:reduce){.relationship-shell button{transition:none}}.relationship-shell[data-reduce-motion=true] button{transition:none}.relationship-node{border-color:var(--network-outline);background:linear-gradient(145deg,var(--network-surface),color-mix(in srgb,var(--network-surface) 92%,var(--network-paper)));box-shadow:0 3px 9px var(--network-shadow);border-radius:18px;gap:11px;padding:18px 15px;position:relative}.relationship-node-icon{background:color-mix(in srgb,var(--node-accent) 9%,transparent);border-radius:13px;width:36px;height:42px;border:0!important}.relationship-node[data-kind=place] .relationship-node-icon{background:color-mix(in srgb,var(--node-accent) 6%,transparent);border-radius:10px 10px 15px 15px}.relationship-node strong{letter-spacing:.3px;font-size:22px;font-weight:500}.relationship-node-text>span{letter-spacing:.2px;align-items:center;gap:7px;margin-top:7px;font-size:11px;display:flex}.relationship-node-text i{opacity:.6;background:currentColor;border-radius:50%;width:2px;height:2px}.relationship-node.is-self{border-color:color-mix(in srgb,var(--node-accent) 48%,var(--network-faint));background:linear-gradient(145deg,var(--network-surface),color-mix(in srgb,var(--node-accent) 6%,var(--network-surface)))}.relationship-node.is-self .relationship-node-icon{background:color-mix(in srgb,var(--node-accent) 14%,transparent);border-radius:50%;width:38px;height:38px}.relationship-node[data-selected=true]{box-shadow:0 0 0 2px color-mix(in srgb,var(--node-accent) 15%,transparent),0 6px 18px var(--network-shadow)}.relationship-node.is-overview{gap:8px}.relationship-node.is-overview strong{font-size:24px}.relationship-node.is-overview .relationship-node-icon{background:0 0;width:28px;height:32px}.relationship-node[data-kind=person] .relationship-node-icon{border-radius:50%;width:38px;height:38px}.relationship-node[data-kind=place]{background:linear-gradient(90deg,color-mix(in srgb,var(--node-accent) 8%,var(--network-surface)),var(--network-surface));border-color:color-mix(in srgb,var(--node-accent) 30%,var(--network-outline))}.relationship-node[data-kind=place]:after{content:"";border-top:1px solid var(--node-accent);border-right:1px solid var(--node-accent);opacity:.35;pointer-events:none;width:20px;height:14px;position:absolute;top:10px;right:12px}.relationship-node[data-kind=place] .relationship-node-icon{background:color-mix(in srgb,var(--node-accent) 13%,transparent);border-radius:18px 18px 20px 6px;height:46px}.relationship-node[data-kind=place] .relationship-node-icon svg{width:27px;height:27px}.relationship-node[data-kind=event] .relationship-node-icon{background:color-mix(in srgb,var(--node-accent) 12%,transparent);border-radius:9px}.relationship-node[data-kind=period] .relationship-node-icon{background:color-mix(in srgb,var(--node-accent) 12%,transparent);border-radius:50%}.relationship-node-text>span{font-weight:400;font-size:11px!important}.relationship-node.is-overview .relationship-node-text>span{display:none}.relationship-node.is-overview[data-kind=place] .relationship-node-icon{background:color-mix(in srgb,var(--node-accent) 10%,transparent);width:28px;height:36px}.relationship-legend{left:22px;top:calc(var(--network-controls-height) + 8px);z-index:4;background:color-mix(in srgb,var(--network-paper) 88%,transparent);backdrop-filter:blur(10px);pointer-events:none;max-width:calc(100% - 44px);color:var(--network-muted);border-radius:14px;flex-wrap:wrap;gap:6px 14px;padding:7px 11px;font-size:10px;display:flex;position:absolute}.relationship-legend:empty{display:none}.relationship-legend>span{align-items:center;gap:6px;display:flex}.relationship-legend i{border-top:2px solid var(--network-accent);width:18px}.relationship-legend-help{color:var(--network-muted);margin:12px 0 18px;font-size:12px}.relationship-legend-help summary{cursor:pointer;padding:8px 0}.relationship-legend-help .relationship-legend{backdrop-filter:none;pointer-events:auto;background:0 0;border-radius:0;gap:10px 16px;max-width:none;padding:10px 0;position:static}.relationship-legend [data-thread=place] i{border-color:var(--network-place);border-top-style:dashed}.relationship-legend [data-thread=event] i{border-color:var(--network-event)}.relationship-legend [data-thread=period] i{border-color:var(--network-period);border-top-style:dotted}@media (width<=600px){.relationship-legend{gap:5px 10px;max-width:calc(100% - 32px);left:16px}}@media (hover:hover){.react-flow__node:hover .relationship-node{border-color:color-mix(in srgb,var(--node-accent) 40%,var(--network-outline));box-shadow:0 5px 14px var(--network-shadow)}}.relationship-line-label{border-color:var(--network-outline);background:color-mix(in srgb,var(--network-paper) 94%,var(--network-surface));max-width:180px;box-shadow:0 1px 4px var(--network-shadow);align-items:center;gap:7px;padding:5px 10px;line-height:1.4;display:flex;font-size:11px!important}.relationship-line-label>span{text-overflow:ellipsis;min-width:0;overflow:hidden}.relationship-line-label small{border-left:1px solid var(--network-outline);color:var(--network-accent);flex-shrink:0;padding-left:7px;font:10px/1.2 system-ui}.relationship-line-label[data-active=true]{background:var(--network-surface);border-color:var(--network-accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--network-accent) 10%,transparent)}.relationship-line-label{border-color:color-mix(in srgb,var(--thread-color) 24%,var(--network-outline))}.relationship-line-label:before{content:"";background:var(--thread-color);border-radius:50%;flex-shrink:0;width:5px;height:5px}.relationship-line-label[data-thread=place]:before{border-radius:1px;transform:rotate(45deg)}.relationship-line-label[data-active=true]{border-color:var(--thread-color);box-shadow:0 0 0 2px color-mix(in srgb,var(--thread-color) 10%,transparent)}.relationship-line-label[data-nearby=false]{opacity:.2}.relationship-line-label[data-time-relevant=false]{opacity:.28}@media (hover:hover){.relationship-line-label:hover{border-color:var(--network-accent);color:var(--network-ink)!important}}.relationship-shell[data-open=true]{animation:.3s ease-out both network-paper-in}.relationship-shell[data-open=false]{pointer-events:none;animation:.5s ease-in both network-paper-out}@keyframes network-paper-in{0%{opacity:0}to{opacity:1}}@keyframes network-paper-out{0%,30%{opacity:1}to{opacity:0}}.relationship-shell[data-entrance=pending] .relationship-node,.relationship-shell[data-entrance=pending] .relationship-branch,.relationship-shell[data-entrance=pending] .relationship-line-label{opacity:0}.relationship-shell[data-entrance=growing][data-open=true] .relationship-node{animation:network-sprout .44s cubic-bezier(.16,1,.3,1) var(--growth-delay) both;transform-origin:50% 65%}@keyframes network-sprout{0%{opacity:0;transform:translateY(12px)scale(.78)}to{opacity:1;transform:translateY(0)scale(1)}}.relationship-shell[data-entrance=growing][data-open=true] .relationship-branch>.react-flow__edge-path{animation:network-thread-grow .48s cubic-bezier(.22,.7,.3,1) var(--growth-delay) both;stroke-dasharray:1!important}@keyframes network-thread-grow{0%{stroke-dashoffset:1px;opacity:0}20%{opacity:1}to{stroke-dashoffset:0}}.relationship-shell[data-entrance=growing][data-open=true] .relationship-branch>g,.relationship-shell[data-entrance=growing][data-open=true] .relationship-line-label{animation:network-reveal .26s ease-out var(--growth-delay) both}@keyframes network-reveal{0%{opacity:0}to{opacity:1}}.relationship-shell[data-open=true] .relationship-tools>button:first-child{animation:.48s cubic-bezier(.16,1,.3,1) 80ms both network-ui-left}.relationship-shell[data-open=true] .relationship-heading{animation:.5s cubic-bezier(.16,1,.3,1) .1s both network-ui-top}.relationship-shell[data-open=true] .relationship-tools>button:nth-last-child(-n+2){animation:.48s cubic-bezier(.16,1,.3,1) .14s both network-ui-right}.relationship-shell[data-open=true] .relationship-filter{animation:.5s cubic-bezier(.16,1,.3,1) .18s both network-ui-top}.relationship-shell[data-open=true] .relationship-map-tools{animation:.54s cubic-bezier(.16,1,.3,1) .22s both network-ui-bottom}@keyframes network-ui-left{0%{opacity:0;translate:-28px}to{opacity:1;translate:0}}@keyframes network-ui-right{0%{opacity:0;translate:28px}to{opacity:1;translate:0}}@keyframes network-ui-top{0%{opacity:0;translate:0 -20px}to{opacity:1;translate:0}}@keyframes network-ui-bottom{0%{opacity:0;translate:0 28px}to{opacity:1;translate:0}}.relationship-shell[data-open=false] .relationship-node{animation:.3s ease-in both network-fold}@keyframes network-fold{to{opacity:0;transform:scale(.9)translateY(6px)}}.relationship-shell[data-open=false] .relationship-branch,.relationship-shell[data-open=false] .relationship-line-label,.relationship-shell[data-open=false] .relationship-detail{animation:.18s ease-in both network-fade-out}@keyframes network-fade-out{to{opacity:0}}.relationship-shell[data-open=false] .relationship-tools>button:first-child{animation:.25s ease-in reverse both network-ui-left}.relationship-shell[data-open=false] .relationship-tools>button:nth-last-child(-n+2){animation:.25s ease-in reverse both network-ui-right}.relationship-shell[data-open=false] .relationship-heading,.relationship-shell[data-open=false] .relationship-filter{animation:.25s ease-in reverse both network-ui-top}.relationship-shell[data-open=false] .relationship-map-tools{animation:.25s ease-in reverse both network-ui-bottom}@media (prefers-reduced-motion:reduce){.relationship-shell,.relationship-shell *{animation:none!important}.relationship-shell[data-entrance=pending] .relationship-node,.relationship-shell[data-entrance=pending] .relationship-branch,.relationship-shell[data-entrance=pending] .relationship-line-label{opacity:1}}.relationship-shell[data-reduce-motion=true],.relationship-shell[data-reduce-motion=true] *{animation:none!important}.relationship-shell[data-reduce-motion=true][data-entrance=pending] .relationship-node,.relationship-shell[data-reduce-motion=true][data-entrance=pending] .relationship-branch,.relationship-shell[data-reduce-motion=true][data-entrance=pending] .relationship-line-label{opacity:1}.relationship-merge-preview{background:var(--network-paper);border-radius:16px;padding:12px 14px;font-size:12px;line-height:1.7}.relationship-merge-preview p{color:var(--network-muted);margin:6px 0}.relationship-undo{z-index:8;border:1px solid var(--network-outline);background:var(--network-surface);white-space:nowrap;box-shadow:0 3px 12px var(--network-shadow);border-radius:22px;align-items:center;gap:12px;padding:9px 14px;font-size:11px;display:flex;position:absolute;bottom:78px;left:50%;transform:translate(-50%)}.relationship-undo button{color:var(--network-accent);background:0 0;border:0;font-size:12px}.relationship-timeline{z-index:8;background:var(--network-surface);border:1px solid var(--network-outline);width:calc(100% - 32px);max-width:460px;box-shadow:0 4px 18px var(--network-shadow);border-radius:22px;padding:10px 14px;position:absolute;bottom:82px;left:50%;transform:translate(-50%)}.relationship-timeline header,.relationship-timeline>div,.relationship-timeline footer{align-items:center;gap:10px;display:flex}.relationship-timeline header{justify-content:space-between;font-size:13px}.relationship-timeline strong{font-weight:500}.relationship-timeline button{color:var(--network-muted);background:0 0;border:0;padding:4px 7px;font-size:12px}.relationship-timeline>div{margin:6px 0}.relationship-timeline input{min-width:0;accent-color:var(--network-accent);flex:1;height:22px}.relationship-timeline footer{color:var(--network-muted);justify-content:space-between;font-size:10px}.relationship-timeline footer button{white-space:nowrap;font-size:10px}.relationship-shell[data-timeline=true] .relationship-undo{bottom:210px}.relationship-shell[data-timeline=true] .relationship-detail{bottom:calc(210px + env(safe-area-inset-bottom));max-height:calc(100% - var(--network-controls-height) - 240px)}.relationship-shell .react-flow__node,.relationship-line-label{transition:opacity .22s}@media (prefers-reduced-motion:reduce){.relationship-shell .react-flow__node,.relationship-line-label{transition:none}}.relationship-shell[data-reduce-motion=true] .react-flow__node,.relationship-shell[data-reduce-motion=true] .relationship-line-label{transition:none}@media (width<=600px){.relationship-timeline footer{flex-wrap:wrap;gap:2px 8px}.relationship-timeline footer span{flex:1;min-width:160px}.relationship-map-tools button{padding:0 8px}.relationship-map-tools>span{margin:0 2px}}.relationship-category-trigger{white-space:nowrap;text-overflow:ellipsis;max-width:180px;overflow:hidden}.relationship-map-tools button[aria-pressed=true]{background:var(--network-paper);color:var(--network-accent)}.relationship-timeline{padding-bottom:calc(10px + env(safe-area-inset-bottom))}.relationship-merge{max-height:calc(100% - var(--network-controls-height) - 98px)}.relationship-merge .relationship-edit-footer{margin-top:12px}.relationship-merge-preview summary{cursor:pointer;color:var(--network-muted);font-size:11px}.relationship-timeline{animation:.2s ease-out both network-ui-bottom}@media (width<=600px){.relationship-merge{max-height:calc(75% - var(--network-controls-height) * .75)}}@media (width<=600px),(any-pointer:coarse){.relationship-top-chrome:before{backdrop-filter:none;background:linear-gradient(to bottom,color-mix(in srgb,var(--network-paper) 16%,transparent) 0%,color-mix(in srgb,var(--network-paper) 8%,transparent) 72%,transparent 100%);-webkit-mask-image:none;mask-image:none}}.relationship-shell[data-readonly=true] button[aria-label=画布外观],.relationship-shell[data-readonly=true] button[aria-label=添加人物或地点],.relationship-shell[data-readonly=true] button[aria-label=编辑联系],.relationship-shell[data-readonly=true] button[aria-label=编辑资料],.relationship-shell[data-readonly=true] button[aria-label=整理画布],.relationship-shell[data-readonly=true] .relationship-actions>button:not(:first-child){display:none}.relationship-ai-bar{border:1px solid var(--network-faint);background:var(--network-surface);color:var(--network-ink);border-radius:20px;gap:6px;margin:8px 14px 0;padding:10px 12px;display:grid}.relationship-ai-bar strong{font-size:13px}.relationship-ai-bar small{color:var(--network-muted);font-size:11px}.relationship-ai-bar>div{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.relationship-ai-bar button{border:1px solid var(--network-faint);background:var(--network-paper);color:var(--network-ink);font:inherit;cursor:pointer;border-radius:999px;padding:7px 12px;font-size:12px}.relationship-ai-bar button:disabled{opacity:.45}.relationship-ai-bar p{margin:0;font-size:12px;line-height:1.5}