/* G9.1｜严格对齐 Web Graph UI V1 视觉标准 */
:root{--bg:#F7F9FC;--solid:#FFFFFF;--soft:#F7F9FC;--blue:#2563FF;--cyan:#00C2B5;--violet:#8E6DFF;--place:#9CA3AF;--line:#BFD0E6;--text:#0F141E}
:root[data-theme=dark]{--bg:#0B0F15;--surface:rgba(6,9,15,.86);--solid:#06090F;--soft:#101722;--blue:#3B82F6;--cyan:#00D1C1;--violet:#A78BFA;--place:#6B7280;--line:#334155;--text:#F5F8FC;--text2:#D6DFEC;--muted:#8A98AC;--border:rgba(148,163,184,.36)}
.asset-brand{padding:0!important;background:none!important;box-shadow:none!important;overflow:hidden}.asset-brand img{display:block;width:100%;height:100%;object-fit:contain}
.icon-btn img,.send-btn img,.peek-close img,.modal-close img,.g6-back img,.g7-recall-hud button img,.g8-found-head button img{display:block;object-fit:contain}.icon-btn img{width:20px;height:20px}.send-btn img{width:28px;height:28px}.composer-icon{display:grid;place-items:center}.composer-icon img{width:24px;height:24px}.g7-recall-spark img{width:26px;height:26px;display:block}
.universe-topbar .top-actions .icon-btn{display:none}
.account-btn{width:44px;height:44px;border:0;background:transparent;position:relative}
.account-btn #accountInitial{display:none}
.account-btn::before{content:"";position:absolute;left:12px;right:12px;top:16px;height:0;border-top:1.6px solid currentColor;box-shadow:0 5px 0 currentColor,0 10px 0 currentColor}
.floating-composer .g93b-attach{width:44px;height:44px;border:0;background:transparent;display:grid;place-items:center;flex:0 0 44px}
.floating-composer .g93b-attach-label{display:none}
.g93b-toolbar{display:none}
.g7-recall-hud{display:none!important}
.node-asset,.g9-local-asset{pointer-events:none}.node-asset-project,.node-asset-topic{filter:drop-shadow(0 4px 12px color-mix(in srgb,var(--cyan) 24%,transparent))}.node-asset-organization{filter:drop-shadow(0 4px 12px color-mix(in srgb,var(--violet) 24%,transparent))}.node-asset-place{filter:drop-shadow(0 4px 10px color-mix(in srgb,var(--place) 22%,transparent))}
:root[data-theme=dark] .node-asset-project,:root[data-theme=dark] .node-asset-topic{filter:brightness(1.08) saturate(1.08) drop-shadow(0 0 10px color-mix(in srgb,var(--cyan) 38%,transparent))}:root[data-theme=dark] .node-asset-organization{filter:brightness(1.08) saturate(1.08) drop-shadow(0 0 10px color-mix(in srgb,var(--violet) 38%,transparent))}:root[data-theme=dark] .node-asset-place{filter:brightness(1.06) drop-shadow(0 0 9px color-mix(in srgb,var(--place) 30%,transparent))}
/* Light：增强鼠标和图谱连线可见性。 */
:root:not([data-theme=dark]) .universe-view,:root:not([data-theme=dark]) .graph-svg{cursor:url('../../assets/icons/cursor-light.svg') 3 3,default}
:root:not([data-theme=dark]) .graph-node{cursor:url('../../assets/icons/cursor-light.svg') 3 3,pointer}
:root:not([data-theme=dark]) .graph-edge{stroke:#B4C6DF!important;opacity:.86}
:root:not([data-theme=dark]) .g6-local-edge{stroke:#B9C9DD;opacity:.9}
:root:not([data-theme=dark]) .g6-local-edge.explicit{stroke:#5B8FFF;opacity:1}
/* Dark：所有工具按钮和关闭/返回按钮保持足够对比度。 */
:root[data-theme=dark] .universe-view,:root[data-theme=dark] .graph-svg{cursor:url('../../assets/icons/cursor-dark.svg') 3 3,default}
:root[data-theme=dark] .graph-node{cursor:url('../../assets/icons/cursor-dark.svg') 3 3,pointer}
:root[data-theme=dark] .icon-btn,:root[data-theme=dark] .g6-back,:root[data-theme=dark] .peek-close,:root[data-theme=dark] .modal-close,:root[data-theme=dark] .g7-recall-hud button,:root[data-theme=dark] .g8-found-head button{background:#141E2C!important;border:1px solid rgba(148,163,184,.46)!important;color:#F8FAFC!important;box-shadow:0 5px 18px rgba(0,0,0,.34),inset 0 0 0 1px rgba(255,255,255,.025)}
:root[data-theme=dark] .icon-btn:hover,:root[data-theme=dark] .g6-back:hover,:root[data-theme=dark] .peek-close:hover,:root[data-theme=dark] .modal-close:hover,:root[data-theme=dark] .g7-recall-hud button:hover,:root[data-theme=dark] .g8-found-head button:hover{background:#1C2A3C!important;border-color:rgba(96,165,250,.7)!important;box-shadow:0 0 0 3px rgba(59,130,246,.12),0 7px 22px rgba(0,0,0,.4)}
:root[data-theme=dark] .icon-btn img,:root[data-theme=dark] .g6-back img,:root[data-theme=dark] .peek-close img,:root[data-theme=dark] .modal-close img,:root[data-theme=dark] .g7-recall-hud button img,:root[data-theme=dark] .g8-found-head button img{filter:brightness(0) invert(1);opacity:.96}
:root[data-theme=dark] .graph-edge{stroke:#3B4C63!important;opacity:.8}
:root[data-theme=dark] .g6-local-edge{stroke:#46586E;opacity:.82}:root[data-theme=dark] .g6-local-edge.explicit{stroke:#60A5FA;opacity:1}
/* 输入框：单行保持约 44px 的视觉骨架，多行向上自动生长，最多约 5 行。 */
.floating-composer{align-items:end;min-height:64px;transition:width .25s,border-color .2s,box-shadow .25s,padding .2s,border-radius .2s}.floating-composer textarea{min-height:28px;height:28px;max-height:132px;overflow-y:hidden;line-height:1.55;padding:5px 3px;resize:none}.floating-composer.is-multiline{padding-top:14px;padding-bottom:12px;border-radius:24px}.floating-composer.is-multiline .composer-icon,.floating-composer.is-multiline .send-btn{align-self:end;margin-bottom:1px}
:root[data-theme=dark] .floating-composer{background:rgba(12,23,38,.9);box-shadow:0 20px 60px rgba(0,0,0,.42),0 0 0 1px rgba(96,165,250,.04)}:root[data-theme=dark] .floating-composer:focus-within{box-shadow:0 22px 70px rgba(0,0,0,.48),0 0 24px rgba(96,165,250,.09)}
@media(max-width:760px){.floating-composer textarea{max-height:116px}}
