:root{color-scheme:light;font-family:Inter,Noto Sans SC,PingFang SC,Microsoft YaHei,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;background:#edf3ef;color:#1d2b2e;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px}button,select,input{font:inherit}button{cursor:pointer}.appShell{min-height:100vh;padding:28px;background:linear-gradient(90deg,rgba(23,77,89,.055) 1px,transparent 1px),linear-gradient(180deg,rgba(23,77,89,.055) 1px,transparent 1px),#edf3ef;background-size:28px 28px}.masthead{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,360px);gap:24px;align-items:end;max-width:1580px;margin:0 auto 18px}.eyebrow{margin:0 0 8px;color:#49656a;font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace;font-size:.75rem;font-weight:700;letter-spacing:0;text-transform:uppercase}h1,h2,h3,p{margin-top:0}h1{max-width:900px;margin-bottom:12px;color:#153f46;font-size:3.4rem;line-height:1.08}h2{margin-bottom:0;font-size:1.15rem;line-height:1.3}h3{margin-bottom:10px;font-size:.95rem}.intro{max-width:760px;margin-bottom:0;color:#365358;font-size:1.05rem;line-height:1.7}.versionPanel{border:1px solid #9ab0aa;border-left:8px solid #d15336;border-radius:8px;padding:18px;background:#f9fbf7;box-shadow:0 18px 45px #2a3d371f}.versionPanel span,.versionPanel small{display:block;color:#49656a;font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace;font-size:.76rem}.versionPanel strong{display:block;margin:7px 0;color:#143f45;font-size:1.05rem;overflow-wrap:anywhere}.noticeGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;max-width:1580px;margin:0 auto 18px}.notice{border:1px solid #c8d4ce;border-radius:8px;padding:14px 16px;background:#f9fbf7e6}.notice strong{display:block;margin-bottom:6px;color:#173f45}.notice p{margin-bottom:0;color:#49656a;font-size:.88rem;line-height:1.55}.workspace{display:grid;grid-template-columns:minmax(238px,280px) minmax(530px,1fr) minmax(340px,430px);gap:16px;align-items:start;max-width:1580px;margin:0 auto}.controls,.topicList,.detailPanel,.overviewPanel{border:1px solid #bfd0ca;border-radius:8px;background:#f9fbf7f5;box-shadow:0 14px 34px #2b3d371a}.controls{padding:16px;position:sticky;top:18px}.viewSwitch{display:grid;grid-template-columns:1fr 1fr;gap:4px;border:1px solid #cbd9d3;border-radius:7px;margin-bottom:18px;padding:4px;background:#edf4f1}.viewSwitch button{min-height:38px;border:0;border-radius:5px;background:transparent;color:#486166;font-weight:800}.viewSwitch button.active{background:#174d59;color:#fff;box-shadow:0 2px 6px #16434c38}.field{display:grid;gap:7px;margin-bottom:14px}.field span,.toggleRow span{color:#294b50;font-size:.86rem;font-weight:700}select{width:100%;min-height:42px;border:1px solid #aebfba;border-radius:7px;padding:0 12px;background:#fff;color:#1d2b2e}.toggleRow{display:flex;gap:10px;align-items:flex-start;margin-top:4px}.toggleRow input{margin-top:3px}.integrityBlock{border-top:1px solid #d6e2dc;margin-top:18px;padding-top:16px}.integrityGrid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:12px}.metric{min-width:0;border:1px solid #d8e2dd;border-radius:6px;padding:9px 8px;background:#fff}.metric strong,.metric span{display:block}.metric strong{color:#d15336;font-size:1.25rem}.metric span{color:#49656a;font-size:.72rem}.metricButton{color:inherit;text-align:left}.metricButton:hover,.metricButton:focus-visible,.metricButton.active{border-color:#174d59;background:#e9f4f1;outline:none}.metricButton.active{box-shadow:inset 3px 0 #d15336}.clearStatusFilter{width:100%;border:1px solid #b9cdc5;border-radius:6px;margin-top:10px;padding:8px;background:#f7fbf9;color:#294b50;font-size:.78rem;font-weight:800}.clearStatusFilter:hover,.clearStatusFilter:focus-visible{border-color:#174d59;outline:none}.mainColumn{display:grid;gap:16px;min-width:0}.overviewPanel{min-width:0;overflow:hidden}.sectionHeader{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;padding:16px 18px;border-bottom:1px solid #d8e2dd}.graphCaption{max-width:590px;margin:8px 0 0;color:#587075;font-size:.82rem;line-height:1.5}.countPill,.layerBadge,.edgeChip{flex:0 0 auto;border:1px solid #bbcbc5;border-radius:999px;padding:5px 10px;background:#eef5f2;color:#294b50;font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace;font-size:.72rem;font-weight:700}.layerBadge{background:#eaf2ff;color:#26508c}.overviewToolbar{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;padding:11px 18px;border-bottom:1px solid #e0e8e4;background:#fbfdfb}.graphModeSwitch,.mapTools{display:flex;align-items:center;gap:5px}.graphModeSwitch{border:1px solid #cbd9d3;border-radius:6px;padding:3px;background:#edf4f1}.graphModeSwitch button,.mapTools button{min-height:30px;border:1px solid transparent;border-radius:4px;padding:0 9px;background:transparent;color:#466268;font-size:.76rem;font-weight:800}.graphModeSwitch button.active{background:#174d59;color:#fff}.graphModeSwitch button:hover,.graphModeSwitch button:focus-visible,.mapTools button:hover,.mapTools button:focus-visible{border-color:#6e9e93;outline:none}.mapTools{border:1px solid #d4e1db;border-radius:6px;padding:3px;background:#fff}.mapTools span{min-width:38px;color:#49656a;font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace;font-size:.72rem;text-align:center}.mapTools .resetMap{border-left-color:#d4e1db}.legend{display:flex;flex-wrap:wrap;gap:8px 14px;padding:11px 18px;border-bottom:1px solid #e0e8e4;color:#486166;font-size:.78rem}.legend span{display:inline-flex;gap:6px;align-items:center}.legendDot{width:10px;height:10px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px #a7bab3}.legendDot.connected,.overviewNode.connected circle{fill:#1c7c75;background:#1c7c75}.legendDot.root-or-underlinked,.overviewNode.root-or-underlinked circle{fill:#3679ba;background:#3679ba}.legendDot.leaf-or-underlinked,.overviewNode.leaf-or-underlinked circle{fill:#d18a22;background:#d18a22}.legendDot.isolated-underlinked,.overviewNode.isolated-underlinked circle{fill:#9aa8a4;background:#9aa8a4}.overviewScroller,.focusScroller{overflow:auto;background:#f7faf8}.overviewSvg{display:block;min-width:686px;width:100%;height:auto}.domainLane{fill:#fbfdfb;stroke:#dce7e1}.domainLane:nth-of-type(2n){fill:#f5f9f7}.gradeHeader{fill:#e8f0ed;stroke:#cbd9d3}.gradeLabel{fill:#23464d;font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace;font-size:14px;font-weight:800;text-anchor:middle}.domainLabel{fill:#49656a;font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace;font-size:12px;font-weight:700}.overviewEdge{stroke:#628c82;stroke-width:2.8;opacity:.9;marker-end:url(#overview-arrow)}.overviewEdge.muted{opacity:.13}.overviewEdge.selected{stroke:#d15336;stroke-width:4.5;opacity:1}#overview-arrow path{fill:#90aaa2}.overviewNode{cursor:pointer;outline:none}.overviewNode circle{stroke:#fff;stroke-width:3.5;transition:opacity .12s ease,r .12s ease,stroke .12s ease}.overviewNode:hover circle,.overviewNode:focus-visible circle,.overviewNode.selected circle{stroke:#173f45;stroke-width:4.5}.overviewNode.neighbor circle{stroke:#d15336;stroke-width:4}.overviewNode.muted{opacity:.16}.overviewNode.selected{opacity:1}.selectedNodeLabel{fill:#173f45;font-size:12px;font-weight:800;paint-order:stroke;stroke:#fff;stroke-width:4px;stroke-linejoin:round}.panHint{margin:0;padding:8px 18px 10px;color:#587075;font-size:.74rem}.mapEmptyText{fill:#60777c;font-size:15px;font-weight:700;text-anchor:middle}.isolatedAudit{border-top:1px solid #d8e2dd;background:#f7faf8}.auditHeader{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;padding:15px 18px}.auditHeader h3{margin-bottom:5px}.auditHeader p:not(.eyebrow){max-width:560px;margin:0;color:#587075;font-size:.8rem;line-height:1.5}.auditHeader button{flex:0 0 auto;border:1px solid #aebfba;border-radius:6px;padding:8px 10px;background:#fff;color:#294b50;font-size:.78rem;font-weight:800}.auditHeader button:hover,.auditHeader button:focus-visible{border-color:#174d59;outline:none}.auditGroups{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;border-top:1px solid #dce7e1;padding:14px 18px 18px}.auditGroups section{min-width:0;border-left:3px solid #a4b2ae;padding-left:10px}.auditGroups h4{margin:0 0 8px;color:#38565c;font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace;font-size:.8rem}.auditGroups h4 span{color:#708480;font-weight:400}.auditGroups section>div{display:flex;flex-wrap:wrap;gap:5px}.auditGroups button{max-width:100%;border:1px solid #d3dfda;border-radius:4px;padding:5px 7px;background:#fff;color:#536964;font-size:.74rem;text-align:left}.auditGroups button:hover,.auditGroups button:focus-visible{border-color:#657d75;color:#173f45;outline:none}.emptyGraph{min-height:240px;padding:24px}.emptyGraph p{color:#60777c;line-height:1.6}.topicList{overflow:hidden}.listScroller{max-height:356px;overflow:auto;padding:10px}.topicButton{display:grid;width:100%;gap:5px;border:1px solid transparent;border-radius:7px;margin-bottom:7px;padding:10px;background:transparent;color:inherit;text-align:left}.topicButton:hover,.topicButton:focus-visible,.topicButton.selected{border-color:#70a59b;background:#fff;outline:none}.topicButton.selected{box-shadow:inset 4px 0 #d15336}.topicName{color:#183f45;font-weight:800}.topicMeta{color:#567076;font-size:.8rem}.statusTag{justify-self:start;border-radius:999px;padding:3px 7px;font-size:.7rem;font-weight:800}.statusTag.connected{background:#dff3ee;color:#12665f}.statusTag.root-or-underlinked{background:#e5f0fb;color:#265b93}.statusTag.leaf-or-underlinked{background:#fff0d9;color:#936015}.statusTag.isolated-underlinked{background:#e8ecea;color:#52645e}code{color:#577074;font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace;font-size:.7rem;overflow-wrap:anywhere}.detailPanel{min-width:0;overflow:hidden}.description{margin:18px 18px 0;color:#2d4f54;line-height:1.7}.idGrid{display:grid;grid-template-columns:1fr;gap:8px;margin:18px}.idGrid div{min-width:0;border:1px solid #d8e2dd;border-radius:7px;padding:10px;background:#fff}dt{margin-bottom:6px;color:#49656a;font-size:.75rem;font-weight:800}dd{margin:0;color:#183f45;font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace;font-size:.7rem;overflow-wrap:anywhere}.anchorBlock,.standardBlock{margin:0 18px 18px}.anchorBlock p{margin:0;color:#2d4f54;line-height:1.5}.standardButton{display:grid;width:100%;gap:5px;border:1px solid #d8e2dd;border-radius:7px;margin-bottom:8px;padding:10px 12px;background:#fff;color:#183f45;text-align:left}.standardButton:hover,.standardButton:focus-visible{border-color:#70a59b;outline:none}.standardButton small{color:#587075;font-size:.76rem}.relationGrid{display:grid;grid-template-columns:1fr;gap:14px;margin:0 18px 18px}.relationList{min-width:0;border:1px solid #d8e2dd;border-radius:7px;padding:14px;background:#fff}.relationItem{display:grid;width:100%;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;border:1px solid #e0e8e4;border-radius:7px;margin-bottom:8px;padding:10px;background:#fbfcfb;color:inherit;text-align:left}.relationItem:hover,.relationItem:focus-visible{border-color:#70a59b;outline:none}.relationItem strong,.relationItem small{display:block}.relationItem strong{color:#183f45}.relationItem small{margin-top:3px;color:#5d7479;font-size:.74rem}.emptyState{margin:12px;color:#60777c;line-height:1.6}.focusSvg{display:block;min-width:720px;width:100%;height:auto}.focusEdge{stroke:#89a29c;stroke-width:2;marker-end:url(#focus-arrow)}#focus-arrow path{fill:#89a29c}.graphLabel{fill:#49656a;font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace;font-size:13px;font-weight:700}.focusNode rect{stroke:#9fb7b0;stroke-width:1.5;fill:#fff}.focusNode.center rect{stroke:#d15336;stroke-width:2.5;fill:#fff7f2}.focusNode.unlock rect{fill:#f0f7ff}.focusNode text{fill:#173f45;font-size:14px;font-weight:800}.focusNode .nodeSubline{fill:#49656a;font-size:12px;font-weight:600}.focusNode:focus-visible rect{stroke:#173f45;stroke-width:3}@media(max-width:1320px){.workspace{grid-template-columns:260px minmax(0,1fr)}.detailPanel{grid-column:2}.detailPanel .relationGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:820px){.appShell{padding:16px}.masthead,.noticeGrid,.workspace,.detailPanel .relationGrid{grid-template-columns:1fr}.controls{position:static}h1{font-size:2.4rem}.sectionHeader,.overviewToolbar,.auditHeader{flex-direction:column}.listScroller{max-height:430px}.graphModeSwitch{width:100%}.graphModeSwitch button{flex:1;padding:0 5px}}@media(prefers-reduced-motion:reduce){.overviewNode circle{transition:none}}
