/* 关系长卷沿用首页的水墨、纸本、朱砂色；仅作用于公开关系页。 */
body:has(#main-content.relations-page) { background:#090807 !important; }
html.light-mode body:has(#main-content.relations-page) { background:#fdfbf6 !important; }
body:has(#main-content.relations-page) app-particles, body:has(#main-content.relations-page) .global-chinese-watermark { display:none; }
body:has(#main-content.relations-page) nav[aria-label="面包屑导航"] { display:none; }
body:has(#main-content.relations-page) app-breadcrumb { display:none; }
body:has(#main-content.relations-page) footer { background:#15110f; border-color:#514431; color:#bcb09d; }
html.light-mode body:has(#main-content.relations-page) footer { background:#f5efe4; border-color:#d6c5a8; color:#6c6053; }
#main-content.relations-page {
  --bg:#090807; --card:#15110f; --inner:#1b1612; --text:#f6f0e6;
  --muted:#bcb09d; --border:#514431; --node:#c8a35d; --link:#ac936c;
  --selection:#ef7770; --action:#b8322e; --action-text:#fff9f0;
  padding:1.2rem 1.5rem 3rem; background:var(--bg);
  font-family:Inter,"Noto Sans SC","Microsoft YaHei",sans-serif;
}
#main-content.relations-page.light {
  --bg:#fdfbf6; --card:#fdfbf6; --inner:#f5efe4; --text:#251c16;
  --muted:#6c6053; --border:#d6c5a8; --node:#9f742c; --link:#977c57;
  --selection:#b8322e; --action:#b8322e; --action-text:#fff9f0;
  background:var(--bg);
}
#main-content.relations-page .relations-shell { max-width:1440px; }
#main-content.relations-page .relations-shell:not(.relations-entry) { display:flex; flex-direction:column; }
#main-content.relations-page .relations-shell:not(.relations-entry)>.relations-context { order:0; }
#main-content.relations-page .relations-shell:not(.relations-entry)>.workspace-controls { order:1; }
#main-content.relations-page .relations-shell:not(.relations-entry)>.explorer { order:2; }
#main-content.relations-page .relations-shell:not(.relations-entry)>.relations-query-panel { order:3; margin-top:1rem; }
#main-content.relations-page h1,#main-content.relations-page .graph-toolbar h2,#main-content.relations-page .focus-content h3,
#main-content.relations-page .relations-guide-intro h2 { font-family:"STKaiti","KaiTi","Noto Serif SC",serif; font-weight:700; letter-spacing:.02em; }
#main-content.relations-page h1 { font-size:clamp(2rem,3vw,2.65rem); line-height:1.15; margin:0; }
#main-content.relations-page .relations-context { display:flex; align-items:center; gap:1.3rem; margin:0 0 1.1rem; }
.relations-context p { border-left:1px solid var(--border); padding-left:1.3rem; margin:0; color:var(--muted); font-size:.85rem; }
#main-content.relations-page .workspace-controls { gap:.7rem; margin-bottom:1rem; align-items:center; }
#main-content.relations-page .workspace-controls.exploring .search-card { width:min(100%,480px); }
#main-content.relations-page .search-row { min-height:2.9rem; border-radius:5px; padding:0; background:var(--inner); }
#main-content.relations-page .search-row button,#main-content.relations-page .expand-primary { border-radius:4px; background:var(--action); font-weight:650; }
#main-content.relations-page .search-row button { min-height:2.9rem; padding:.5rem 1.35rem; }
#main-content.relations-page .filters button { min-height:2.9rem; font-size:.85rem; border-color:var(--border); background:transparent; }
#main-content.relations-page .filters button.selected { box-shadow:none; border-color:var(--node); background:color-mix(in srgb,var(--node) 8%,var(--bg)); }
#main-content.relations-page .text-button { min-height:2.75rem; border-radius:4px; background:transparent; font-size:.85rem; }
#main-content.relations-page .dot.teammate,#main-content.relations-page .tag.teammate { background:#c85a4e; }
#main-content.relations-page .dot.opponent,#main-content.relations-page .tag.opponent { background:#c8a35d; }
#main-content.relations-page .dot.follow,#main-content.relations-page .tag.follow { background:#819da7; }
#main-content.relations-page .dot.reference,#main-content.relations-page .tag.reference { background:#b8a281; }
#main-content.relations-page .explorer-grid { display:grid; grid-template-columns:minmax(0,1fr); gap:.85rem; }
#main-content.relations-page .map-column { gap:0; }
#main-content.relations-page .graph-card,#main-content.relations-page .neighbor-strip { background:transparent; border:0; border-radius:0; box-shadow:none; }
#main-content.relations-page .graph-card { isolation:isolate; }
#main-content.relations-page .relations-scroll-emblem { position:absolute; right:-1.8rem; top:0; width:30rem; height:36rem; object-fit:cover; object-position:center; opacity:.08; mix-blend-mode:screen; pointer-events:none; z-index:-1; }
#main-content.relations-page.light .relations-scroll-emblem { filter:invert(1); mix-blend-mode:multiply; opacity:.11; }
#main-content.relations-page .graph-toolbar { padding:.2rem .4rem 0; align-items:center; }
#main-content.relations-page .graph-toolbar h2 { font-size:1.2rem; display:inline; margin-right:.8rem; }
#main-content.relations-page .graph-toolbar p { display:inline; font-size:.8rem; }
#main-content.relations-page .zoom-actions button { min-width:44px; min-height:44px; border-radius:4px; background:var(--bg); }
#main-content.relations-page .graph { height:clamp(340px,27vw,380px); flex:none; }
#main-content.relations-page .graph text { font-size:20px; }
#main-content.relations-page .graph-hint { padding:.2rem .4rem .4rem; font-size:.8rem; }
#main-content.relations-page .relation-node:has(.selection-ring[opacity="1"])>circle:not(.selection-ring) { fill:var(--action); stroke:var(--selection); }
#main-content.relations-page .relation-node:has(.selection-ring[opacity="1"])>text { fill:var(--selection); }
#main-content.relations-page .neighbor-strip { display:flex; gap:1rem; align-items:center; padding:.25rem .4rem .65rem; }
#main-content.relations-page .strip-heading { gap:.7rem; flex:none; }
#main-content.relations-page .strip-heading h3 { font-size:.85rem; font-weight:500; color:var(--muted); }
#main-content.relations-page .strip-heading span { font-size:.8rem; }
#main-content.relations-page .neighbor-pills { padding:.25rem 0; gap:.45rem; min-width:0; }
#main-content.relations-page .neighbor-pill { flex-direction:row; align-items:center; gap:.4rem; min-width:0; min-height:2.6rem; padding:.35rem .8rem; border-radius:99px; background:transparent; }
#main-content.relations-page .neighbor-name { font-size:.88rem; font-weight:500; }
#main-content.relations-page .neighbor-pill small { display:none; }
#main-content.relations-page .neighbor-pill.selected { background:var(--action); color:var(--action-text); border-color:var(--action); }
#main-content.relations-page .focus-card { position:relative; min-height:0; padding:1.2rem 1.35rem; border-radius:5px; box-shadow:none; background:var(--card); }
#main-content.relations-page .focus-path { margin:0 5rem .6rem 0; font-size:.8rem; }
#main-content.relations-page .source-drawer-toggle { position:absolute; right:1rem; top:.65rem; min-height:44px; border:0; color:var(--muted); background:transparent; font-size:.8rem; }
#main-content.relations-page .focus-content { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,.9fr) minmax(0,1.2fr); gap:.35rem 1.5rem; padding:0; border:0; border-radius:0; background:transparent; min-height:0; }
#main-content.relations-page .focus-content h3 { grid-column:1; grid-row:1; font-size:2rem; }
#main-content.relations-page .focus-content>.external-badge { grid-column:1; grid-row:2; font-size:.75rem; }
#main-content.relations-page .reference-profile { grid-column:1; grid-row:3 / 6; margin:.25rem 0; padding:0; border:0; border-radius:0; background:transparent; align-content:start; gap:.4rem; }
#main-content.relations-page .reference-profile div { grid-template-columns:4.5rem minmax(0,1fr); gap:.4rem; }
#main-content.relations-page .reference-profile-source { grid-column:1; grid-row:6; margin:0; font-size:.7rem; }
#main-content.relations-page .focus-status { grid-column:2; grid-row:2; flex-wrap:wrap; margin:0; color:var(--selection); font-size:.8rem; }
#main-content.relations-page .tag { background:color-mix(in srgb,var(--node) 12%,var(--card)) !important; color:var(--node); border:1px solid var(--border); font-size:.75rem; font-weight:600; }
#main-content.relations-page .focus-description { grid-column:2; grid-row:3; margin:.25rem 0; font-size:.8rem; line-height:1.65; }
#main-content.relations-page .evidence-section { display:contents; }
#main-content.relations-page .evidence-section h4 { grid-column:2; grid-row:1; margin:0; padding-bottom:.5rem; border-bottom:1px solid var(--border); font-size:1rem; font-family:"STKaiti","KaiTi",serif; }
#main-content.relations-page .evidence-metrics { grid-column:2; grid-row:4 / 6; padding:.4rem 0; align-self:start; border:0; border-radius:0; }
#main-content.relations-page .evidence-metrics>div { padding:0 .7rem; }
#main-content.relations-page .evidence-metrics>div:first-child { padding-left:0; }
#main-content.relations-page .evidence-metrics strong { font-size:1.5rem; }
#main-content.relations-page .evidence-metrics span { font-size:.75rem; }
#main-content.relations-page .evidence-card { grid-column:3; grid-row:1 / 5; align-self:start; gap:.4rem; margin:0; padding:0 0 .6rem 1.3rem; border:0; border-left:1px solid var(--border); border-radius:0; font-size:.8rem; }
#main-content.relations-page .evidence-card>strong { font-weight:500; color:var(--muted); font-size:.78rem; }
#main-content.relations-page .evidence-card .source-heading { grid-column:1; grid-row:auto; margin:0 0 .3rem; padding:0 0 .5rem; border-bottom:1px solid var(--border); font-size:1rem; }
#main-content.relations-page .evidence-card details { font-size:.8rem; }
#main-content.relations-page .evidence-copy { grid-column:3; grid-row:1 / 5; margin:0; font-size:.85rem; }
#main-content.relations-page .expand-primary { grid-column:3; grid-row:5; width:100%; min-height:2.75rem; margin:0; font-size:.85rem; }
#main-content.relations-page .expand-primary+.muted { grid-column:3; grid-row:6; margin:0; text-align:left; font-size:.72rem; }
#main-content.relations-page .source-collapsed .focus-content { display:none; }
#main-content.relations-page .source-collapsed .focus-path { margin-bottom:0; }
#main-content.relations-page :is(button,a,input,summary):focus-visible { outline:2px solid var(--selection); outline-offset:3px; }
/* 初始页也使用同一长卷结构；公开姓名只是探索入口，没有虚构连接。 */
#main-content.relations-page .relations-shell.relations-entry { display:grid; grid-template-columns:minmax(0,1fr); grid-template-areas:"hero" "search" "visual" "query" "guide"; gap:1rem; }
.relations-entry>.hero { margin:0; max-width:none; display:flex; flex-wrap:wrap; align-items:center; gap:.5rem 1.25rem; }
.relations-entry>.hero .eyebrow { display:none; }
.relations-entry>.hero h1 { font-size:clamp(2rem,3vw,2.65rem); margin:0; }
.relations-entry>.hero>p:last-of-type { font-size:.88rem; line-height:1.7; max-width:55em; }
.relations-entry>.hero .admin-entry { margin:0 0 0 auto; border-color:var(--border); font-size:.8rem; background:transparent; border-radius:4px; }
#main-content.relations-page .relations-entry .search-card { padding:0; border:0; border-radius:0; box-shadow:none; background:transparent; width:min(100%,660px); }
#main-content.relations-page .relations-entry .search-form label { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
#main-content.relations-page .relations-entry .search-row { min-height:2.9rem; border-radius:4px; }
.relations-entry-search-help { font-size:.78rem; margin:.6rem 0 0; }
#main-content.relations-page .relations-entry-visual { min-height:330px; border:0; border-bottom:1px solid var(--border); border-radius:0; box-shadow:none; background:transparent; color:var(--text); }
#main-content.relations-page .relations-entry-visual::after { display:none; }
#main-content.relations-page .relations-entry-visual .relations-nebula-backdrop { left:auto; right:0; top:-3rem; width:27rem; height:34rem; object-fit:cover; opacity:.07; mix-blend-mode:screen; animation:none; transform:none; }
#main-content.relations-page.light .relations-entry-visual .relations-nebula-backdrop { filter:invert(1); mix-blend-mode:multiply; opacity:.09; }
#main-content.relations-page .relations-nebula-particles { display:none; }
#main-content.relations-page .relations-preview-top { padding:0 0 .7rem; font-size:.8rem; justify-content:flex-start; }
#main-content.relations-page .relations-preview-label { border:0; padding:0; color:var(--node); background:none; border-radius:0; }
#main-content.relations-page .relations-preview-top>span:last-child { color:var(--muted); }
#main-content.relations-page .relations-nebula-names { position:relative; inset:auto; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.5rem 1rem; max-width:960px; padding:0; }
#main-content.relations-page .relations-star { position:static; display:grid; grid-template-columns:minmax(0,1fr); transform:none; width:auto; max-width:none; min-height:70px; padding:.75rem 1rem; border:1px solid var(--border); border-radius:4px; background:var(--card); box-shadow:none; color:var(--text); gap:.25rem; }
#main-content.relations-page .relations-star:nth-child(3n+2) { border-color:var(--border); box-shadow:none; }
#main-content.relations-page .relations-star:hover { border-color:var(--node); background:var(--inner); box-shadow:none; }
#main-content.relations-page .relations-star-glow { display:none; }
#main-content.relations-page .relations-star small { grid-column:1; color:var(--muted); font-size:.7rem; }
#main-content.relations-page .relations-star-name { font-size:1rem; }
#main-content.relations-page .relations-nebula-status { position:relative; top:auto; left:auto; max-width:100%; color:var(--muted); background:none; padding:0; }
#main-content.relations-page .relations-nebula-status.ready { position:absolute; }
#main-content.relations-page .relations-preview-bottom { display:none; }
#main-content.relations-page .relations-entry-guide { padding-top:0; margin:0; border:0; }
#main-content.relations-page .relations-guide-intro>p { display:none; }
#main-content.relations-page .relations-guide-intro h2 { font-size:1.35rem; margin:0 0 .9rem; }
#main-content.relations-page .relations-entry-guide ol { gap:1.5rem; }
#main-content.relations-page .relations-entry-guide li { padding:.3rem 1rem .3rem 0; border:0; border-right:1px solid var(--border); border-radius:0; background:none; }
#main-content.relations-page .relations-entry-guide li:last-child { border-right:0; }
#main-content.relations-page .relations-entry-guide h3 { font-size:1rem; margin:.35rem 0; }
#main-content.relations-page .relations-entry-guide li p { font-size:.8rem; }
#main-content.relations-page .relations-entry-caveat { font-size:.75rem; margin-top:1rem; }
#main-content.relations-page .relations-query-panel { border-radius:5px; background:var(--card); box-shadow:none; }
#main-content.relations-page .relations-query-panel>summary { min-height:44px; }
#main-content.relations-page .relations-query-tabs,#main-content.relations-page .relations-person-form { border-radius:4px; }
#main-content.relations-page .relations-query-row input,#main-content.relations-page .relations-query-row button { border-radius:4px; }
@media(max-width:950px) {
  #main-content.relations-page .workspace-controls.exploring .search-card { width:100%; }
  #main-content.relations-page .focus-content { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:.4rem 1.25rem; }
  #main-content.relations-page .evidence-card,#main-content.relations-page .evidence-copy { grid-column:1 / -1; grid-row:7; margin-top:.8rem; padding:.8rem 0 0; border-left:0; border-top:1px solid var(--border); }
  #main-content.relations-page .expand-primary { grid-column:1 / -1; grid-row:8; }
  #main-content.relations-page .expand-primary+.muted { grid-column:1 / -1; grid-row:9; }
}
@media(max-width:600px) {
  #main-content.relations-page { padding:1rem .8rem 2rem; }
  #main-content.relations-page .relations-context { display:block; }
  .relations-context p { border:0; padding:0; margin:.5rem 0 0; line-height:1.6; }
  #main-content.relations-page .filters { gap:.35rem; }
  #main-content.relations-page .filters button { font-size:.75rem; min-height:44px; padding:.4rem .65rem; }
  #main-content.relations-page .text-button { min-height:44px; }
  #main-content.relations-page .graph-toolbar { flex-wrap:wrap; }
  #main-content.relations-page .graph-toolbar p { display:block; margin-top:.25rem; }
  #main-content.relations-page .graph { height:350px; }
  #main-content.relations-page .graph text { font-size:16px; }
  #main-content.relations-page .relations-scroll-emblem { right:-4rem; width:19rem; height:24rem; }
  #main-content.relations-page .neighbor-strip { display:block; padding:.5rem 0; }
  #main-content.relations-page .strip-heading { justify-content:flex-start; }
  #main-content.relations-page .neighbor-pills { margin-top:.4rem; }
  #main-content.relations-page .focus-card { padding:1rem; }
  #main-content.relations-page .focus-content { display:flex; flex-direction:column; gap:.5rem; }
  #main-content.relations-page .focus-content h3 { font-size:1.8rem; }
  #main-content.relations-page .reference-profile-source { margin:.1rem 0 .4rem; }
  #main-content.relations-page .evidence-section h4 { order:0; margin-top:.8rem; }
  #main-content.relations-page .evidence-card { padding-top:.75rem; margin:.4rem 0; }
  #main-content.relations-page .expand-primary { min-height:44px; }
  .relations-entry>.hero .admin-entry { margin:0; }
  .relations-entry>.hero h1 { font-size:2rem !important; }
  #main-content.relations-page .relations-entry .search-row button { min-width:4.5rem; }
  #main-content.relations-page .relations-nebula-names { grid-template-columns:repeat(2,minmax(0,1fr)); gap:.5rem; }
  #main-content.relations-page .relations-entry-visual { min-height:0; padding-bottom:1rem; }
  #main-content.relations-page .relations-entry-visual .relations-nebula-backdrop { width:19rem; }
  #main-content.relations-page .relations-star { padding:.65rem; }
  #main-content.relations-page .relations-star-name { font-size:.95rem; }
  #main-content.relations-page .relations-entry-guide ol { grid-template-columns:1fr; gap:.8rem; }
  #main-content.relations-page .relations-entry-guide li { border-right:0; border-bottom:1px solid var(--border); padding:0 0 .8rem; }
}
