.dependency-network-page{background:var(--paper)}
.dependency-hero{background:linear-gradient(118deg,#071119 0%,#0d1d26 58%,#153946 100%);color:#fff;border-bottom:1px solid #1d414e}
.dependency-local-nav{display:flex;gap:24px;padding-top:18px;border-bottom:1px solid rgba(145,184,199,.22)}
.dependency-local-nav a{position:relative;padding:0 0 14px;color:#9fb2bb;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.dependency-local-nav a.active{color:#fff}.dependency-local-nav a.active:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:#5be0fb}
.dependency-hero-grid{min-height:330px;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.6fr);gap:70px;align-items:center;padding:52px 0 42px}
.dependency-hero h1{margin:0 0 20px;font:500 clamp(43px,5.4vw,68px)/1.02 var(--serif);letter-spacing:-.03em}
.dependency-hero p{margin:0;max-width:790px;color:#c6d5db;font-size:17px;line-height:1.65}
.dependency-hero aside{border-left:1px solid #31505d;padding:22px 0 22px 28px}.dependency-hero aside strong{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#60e2ff}.dependency-hero aside p{font-size:13px;margin-top:10px}
.dependency-metrics{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(145,184,199,.22)}.dependency-metrics>div{padding:20px 22px 21px 0}.dependency-metrics>div+div{border-left:1px solid rgba(145,184,199,.18);padding-left:22px}.dependency-metrics strong{display:block;font:500 23px/1.1 var(--serif)}.dependency-metrics span{display:block;margin-top:5px;color:#91aab5;font-size:9px;letter-spacing:.12em;text-transform:uppercase}
.dependency-network-section{background:#edf1f3}.dependency-section-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.7fr);gap:60px;align-items:end;margin-bottom:26px}.dependency-section-head h2,.dependency-method h2{margin:7px 0 0;font:500 clamp(31px,3.3vw,44px)/1.06 var(--serif);letter-spacing:-.02em}.dependency-section-head>p{margin:0;color:var(--muted);font-size:14px;line-height:1.65}
.dependency-filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}.dependency-filters button{border:1px solid #b9c5ca;background:#fff;padding:10px 12px;cursor:pointer;font-size:10px;font-weight:600;line-height:1.25}.dependency-filters button span{margin-left:8px;color:var(--muted)}.dependency-filters button.active{background:var(--navy);border-color:var(--navy);color:#fff}.dependency-filters button.active span{color:#a8bbc4}
.dependency-stage{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.45fr);background:#08151c;border:1px solid #203741;box-shadow:0 18px 48px rgba(8,18,25,.1);min-width:0}.dependency-graph-scroll{overflow:auto;min-width:0;padding:12px;background:radial-gradient(circle at 48% 34%,#102934 0,#091820 55%,#071218 100%)}.dependency-svg{display:block;width:100%;min-width:860px;height:auto}
.dependency-band rect{fill:#0d222c;stroke:#1f3b47;stroke-width:1}.dependency-band text{fill:#718e99;font:600 10px "IBM Plex Sans",sans-serif;letter-spacing:.08em;text-transform:uppercase}
.dependency-edge{cursor:pointer;outline:none}.edge-line{fill:none;stroke:#5b7a86;stroke-width:1.25;opacity:.62;marker-end:url(#dependency-arrow);transition:opacity .16s ease,stroke-width .16s ease,stroke .16s ease}.criticality-high .edge-line{stroke:#62dff9;stroke-width:2.4;opacity:.88}.criticality-medium .edge-line{stroke:#6c8d99;stroke-width:1.5}.criticality-low .edge-line{stroke:#53666e;stroke-width:1}.edge-hit{fill:none;stroke:transparent;stroke-width:14}
.dependency-node{cursor:pointer;outline:none;transition:opacity .15s ease}.dependency-node rect{fill:#122832;stroke:#47636e;stroke-width:1.1}.dependency-node .node-label{fill:#eef7f9;font:600 10.3px "IBM Plex Sans",sans-serif;text-anchor:middle}.dependency-node .node-type{fill:#7f9aa5;font:500 7.7px "IBM Plex Sans",sans-serif;text-anchor:middle;letter-spacing:.04em}
.node-type-chokepoint rect{fill:#15323c;stroke:#76e5ff}.node-type-finance rect{fill:#242d3d;stroke:#7d8bb6}.node-type-institution rect{fill:#263029;stroke:#789681}.node-type-technology rect{fill:#1d2937;stroke:#7899ba}.node-type-resource rect{fill:#342c21;stroke:#a68d64}.node-type-labor rect{fill:#322637;stroke:#9a7ba2}
.dependency-node:hover rect,.dependency-node:focus rect,.dependency-node.is-active rect{stroke:#c8f7ff;stroke-width:2;filter:drop-shadow(0 0 8px rgba(91,224,251,.25))}.dependency-node.is-neighbor rect{stroke:#75d8ec;stroke-width:1.5}.dependency-node.is-muted,.dependency-edge.is-muted{opacity:.12}.dependency-edge.is-active .edge-line{stroke:#fff;stroke-width:3.4;opacity:1}
.dependency-detail-panel{background:#0d1d25;color:#fff;border-left:1px solid #28404b;padding:28px 24px;min-width:0}.dependency-detail h3{margin:8px 0 12px;font:500 25px/1.1 var(--serif)}.dependency-detail p{margin:0;color:#aec0c8;font-size:12px;line-height:1.65}.detail-kicker{font-size:8px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#64e0fb}
.dependency-detail dl{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#2a404a;margin:20px 0}.dependency-detail dl div{background:#10242d;padding:10px}.dependency-detail dt{color:#718f9b;font-size:8px;text-transform:uppercase;letter-spacing:.1em}.dependency-detail dd{margin:5px 0 0;font-size:10px;color:#e7eff2}
.detail-research{margin-top:18px;padding-top:16px;border-top:1px solid #2b424d}.detail-research strong{display:block;margin-bottom:8px;font-size:8px;letter-spacing:.12em;text-transform:uppercase;color:#7894a0}.detail-research a{display:block;padding:7px 0;color:#d7e7ec;font-size:10px;line-height:1.45;border-bottom:1px solid #233c46}.detail-history-link,.dependency-detail-default>a{display:inline-block;margin-top:18px;color:#7ce7ff;font-size:10px;border-bottom:1px solid #37606c}
.dependency-legend{display:flex;gap:12px 18px;flex-wrap:wrap;margin-top:14px;color:#60727c;font-size:9px}.dependency-legend-item{display:inline-flex;align-items:center;gap:6px}.dependency-legend-item i{width:8px;height:8px;border-radius:2px;background:#47636e}.dependency-legend-item.node-type-chokepoint i{background:#62dff9}.dependency-legend-item.node-type-finance i{background:#7d8bb6}.dependency-legend-item.node-type-institution i{background:#789681}.dependency-legend-item.node-type-technology i{background:#7899ba}.dependency-legend-item.node-type-resource i{background:#a68d64}.dependency-legend-item.node-type-labor i{background:#9a7ba2}
.dependency-index-section{background:#f8fafb}.dependency-relation-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.dependency-relation-card{background:#fff;border:1px solid var(--line);padding:20px;min-width:0}.relation-card-top{display:flex;justify-content:space-between;gap:16px;font-size:8px;letter-spacing:.09em;text-transform:uppercase;color:#58727e}.relation-card-top em{font-style:normal;color:#315a6a}.dependency-relation-card h3{margin:9px 0 8px;font:500 21px/1.15 var(--serif)}.dependency-relation-card p{margin:0;color:var(--muted);font-size:12px;line-height:1.6}.relation-card-meta{display:flex;gap:16px;flex-wrap:wrap;margin-top:13px;padding-top:11px;border-top:1px solid var(--line);color:#6e7f87;font-size:9px}.relation-card-meta strong{color:var(--ink)}
.dependency-method{background:var(--navy);color:#fff}.dependency-method-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px}.dependency-method p{margin:0 0 14px;color:#b7c7ce;line-height:1.7}.dependency-method a{color:#fff;border-bottom:1px solid #6be4ff}
.dependency-history-section{background:#f4f7f8}.dependency-history-list{border-top:1px solid #aebcc2}.dependency-history-event{display:grid;grid-template-columns:30px minmax(0,1fr);background:#fff;border-bottom:1px solid var(--line)}.dependency-history-event .history-event-rail{position:relative}.dependency-history-event .history-event-rail:before{content:"";position:absolute;top:0;bottom:0;left:14px;width:1px;background:#c6d3d8}.dependency-history-event .history-event-rail span{position:absolute;top:31px;left:10px;width:9px;height:9px;border-radius:50%;background:#1f7387;border:2px solid #d9f7fc;box-shadow:0 0 0 3px #d9e6ea}.dependency-history-body{padding:23px 25px 24px 10px}.dependency-history-meta{display:flex;justify-content:space-between;gap:18px;color:#5f747e;font-size:9px;text-transform:uppercase;letter-spacing:.1em}.dependency-history-body h3{margin:8px 0 8px;font:500 24px/1.12 var(--serif)}.dependency-history-body p{margin:0;color:#4b5c64;font-size:12px;line-height:1.65}.dependency-history-state{display:flex;gap:18px;flex-wrap:wrap;margin-top:13px;font-size:9px;color:#71838b}
@media(max-width:980px){.dependency-hero-grid,.dependency-section-head,.dependency-method-grid{grid-template-columns:1fr;gap:28px}.dependency-hero-grid{min-height:0;padding:46px 0 38px}.dependency-hero aside{border-left:0;border-top:1px solid #31505d;padding:20px 0 0}.dependency-metrics{grid-template-columns:repeat(2,1fr)}.dependency-metrics>div:nth-child(3){border-left:0;padding-left:0}.dependency-metrics>div:nth-child(n+3){border-top:1px solid rgba(145,184,199,.18)}.dependency-stage{grid-template-columns:1fr}.dependency-detail-panel{border-left:0;border-top:1px solid #28404b}.dependency-relation-grid{grid-template-columns:1fr}}
@media(max-width:560px){.dependency-local-nav{gap:18px}.dependency-metrics>div{padding:15px 10px 15px 0}.dependency-metrics>div+div{padding-left:12px}.dependency-metrics strong{font-size:19px}.dependency-filters{display:grid;grid-template-columns:1fr 1fr}.dependency-filters button{text-align:left}.dependency-graph-scroll{padding:8px}.dependency-svg{min-width:780px}.dependency-detail-panel{padding:22px 18px}.dependency-detail dl{grid-template-columns:1fr 1fr}.dependency-relation-card{padding:17px}.relation-card-top{display:block}.relation-card-top em{display:block;margin-top:5px}.dependency-history-event{grid-template-columns:22px minmax(0,1fr)}.dependency-history-event .history-event-rail:before{left:10px}.dependency-history-event .history-event-rail span{left:6px}.dependency-history-body{padding:20px 15px 22px 8px}}
html[data-theme="dark"] .dependency-network-section,html[data-theme="dark"] .dependency-history-section{background:#0c1419}html[data-theme="dark"] .dependency-index-section{background:#0a1116}html[data-theme="dark"] .dependency-filters button{background:#10191f;color:#d7e1e6;border-color:#304048}html[data-theme="dark"] .dependency-filters button.active{background:#e8eef2;color:#0a1015;border-color:#e8eef2}html[data-theme="dark"] .dependency-relation-card,html[data-theme="dark"] .dependency-history-event{background:#0f171d;border-color:#2d3b42}html[data-theme="dark"] .dependency-relation-card p,html[data-theme="dark"] .dependency-history-body p{color:#b6c4cb}

/* Node dossiers: progressive disclosure keeps the graph readable while exposing full structural context. */
.node-detail-header{padding-bottom:16px}.node-detail-header h3{margin:8px 0 10px;font:500 27px/1.08 var(--serif)}.node-detail-header>p{margin:0;color:#aec0c8;font-size:12px;line-height:1.65}.node-detail-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:13px}.node-detail-meta span{padding:5px 7px;border:1px solid #2c4752;color:#8ba5b0;font-size:8px;letter-spacing:.06em;text-transform:uppercase}
.node-tabs{display:flex;gap:0;overflow:auto;border-top:1px solid #28414c;border-bottom:1px solid #28414c;margin:0 -24px 20px;padding:0 24px;scrollbar-width:thin}.node-tabs button{flex:0 0 auto;border:0;border-bottom:2px solid transparent;background:transparent;color:#7f98a3;padding:12px 10px 10px;font-size:8px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}.node-tabs button:first-child{padding-left:0}.node-tabs button.active{color:#ecf8fb;border-bottom-color:#63e1fc}.node-tab-panel[hidden]{display:none!important}
.node-profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:#29404a;border:1px solid #29404a}.node-profile-grid>div{background:#10232c;padding:11px}.node-profile-grid strong{display:block;font:500 20px/1 var(--serif);color:#f2f8fa}.node-profile-grid span{display:block;margin-top:5px;color:#76909b;font-size:7.5px;letter-spacing:.08em;text-transform:uppercase;line-height:1.3}
.node-network-role{margin-top:16px;padding-top:14px;border-top:1px solid #29414b}.node-network-role strong,.node-redundancy-block>h4,.node-two-col h4,.node-path-columns h4{display:block;margin:0 0 8px;color:#7b98a4;font-size:8px;letter-spacing:.11em;text-transform:uppercase}.node-network-role p{margin:0;color:#b5c5cb;font-size:11px;line-height:1.6}.node-alert{display:flex;justify-content:space-between;gap:16px;margin-top:14px;padding:10px 11px;background:#102a32;border:1px solid #285260}.node-alert strong{font-size:9px;color:#cceef5}.node-alert span{font-size:8px;color:#74cfe2}
.node-two-col,.node-path-columns{display:grid;grid-template-columns:1fr;gap:18px}.node-two-col>section+section,.node-path-columns>section+section{padding-top:16px;border-top:1px solid #29414b}.node-relation-item{padding:12px 0;border-bottom:1px solid #253c46}.node-relation-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.node-relation-head strong{color:#edf7f9;font:500 14px/1.25 var(--serif)}.node-relation-head span{flex:0 0 auto;color:#68dff9;font-size:7.5px;letter-spacing:.07em;text-transform:uppercase}.node-relation-item p{margin:7px 0 0;color:#9fb3bc;font-size:10.5px;line-height:1.55}.node-relation-meta{display:flex;gap:9px 12px;align-items:center;flex-wrap:wrap;margin-top:8px;color:#708b97;font-size:7.5px}.node-relation-meta b{color:#d5e6eb}.node-relation-meta button{margin-left:auto;border:0;background:transparent;padding:0;color:#72e4fb;font-size:8px;cursor:pointer}
.node-redundancy-block{margin-top:18px;padding-top:16px;border-top:1px solid #29414b}.node-empty{padding:12px 0!important;color:#718a95!important;font-size:10px!important;font-style:italic}.node-tab-note{margin:0 0 14px!important;padding:10px 11px;border-left:2px solid #345966;background:#10242d;color:#97adb6!important;font-size:10px!important;line-height:1.55!important}.node-path{display:flex;gap:6px;align-items:center;flex-wrap:wrap;padding:10px 0;border-bottom:1px solid #253b45}.path-node{padding:5px 7px;background:#132b35;border:1px solid #34505b;color:#e4f1f4;font-size:8px;line-height:1.2}.path-relation{color:#65dff8;font-size:7px;text-transform:uppercase;letter-spacing:.05em}
.node-history-list{border-top:1px solid #29414b}.node-history-item{padding:11px 0;border-bottom:1px solid #253b45}.node-history-item>div{display:flex;justify-content:space-between;gap:12px;color:#6f8c97;font-size:7.5px;letter-spacing:.08em;text-transform:uppercase}.node-history-item>strong{display:block;margin-top:5px;color:#e8f2f5;font:500 13px/1.25 var(--serif)}.node-history-item>p{margin-top:5px;color:#95aab3;font-size:9.5px;line-height:1.5}.node-research-list a{display:block;padding:10px 0;border-bottom:1px solid #29414b;color:#e2f2f5;font-size:10px;line-height:1.45}
.dependency-history-filters{display:flex;gap:8px;flex-wrap:wrap;margin:-4px 0 24px}.dependency-history-filters button{border:1px solid #b9c5ca;background:#fff;padding:9px 11px;cursor:pointer;font-size:9px;font-weight:600}.dependency-history-filters button span{margin-left:7px;color:var(--muted)}.dependency-history-filters button.active{background:var(--navy);border-color:var(--navy);color:#fff}.history-entity-row{margin-top:8px}.history-entity-row>span{display:block;color:#5d7884;font-size:8px;letter-spacing:.1em;text-transform:uppercase}.history-entity-row h3{margin-top:5px}
html[data-theme="dark"] .dependency-history-filters button{background:#10191f;color:#d7e1e6;border-color:#304048}html[data-theme="dark"] .dependency-history-filters button.active{background:#e8eef2;color:#0a1015;border-color:#e8eef2}
@media(min-width:1180px){.node-profile-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:980px){.node-tabs{margin-inline:-18px;padding-inline:18px}.dependency-detail-panel{scroll-margin-top:16px}}@media(max-width:560px){.node-detail-header h3{font-size:24px}.node-tabs{margin-inline:-18px;padding-inline:18px}.node-tabs button{padding-inline:8px}.node-profile-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.node-relation-head{display:block}.node-relation-head span{display:block;margin-top:5px}.node-relation-meta button{width:100%;text-align:left;margin-left:0;padding-top:3px}.path-node{font-size:7.5px}.path-relation{font-size:6.5px}}
