/* Public diagram presentation. The routes express dependencies, never live project status. */
.pm-map,.pm-case,.pm-roadmap{--pm-aqua:#6ff3ff;--pm-violet:#b06be0;--pm-gold:#d8c48a;background:#0a0b10;border:1px solid #343640;border-radius:24px;padding:clamp(20px,3vw,36px);color:#f3f1ed;isolation:isolate;min-width:0;position:relative}
.pm-map-head,.pm-roadmap-head{display:flex;align-items:start;justify-content:space-between;gap:32px;margin-bottom:28px}
.pm-eyebrow{font:600 11px/1.6 Inter,Arial,sans-serif;letter-spacing:.16em;color:#95cbd1;display:block;margin-bottom:10px}
:root body.vb-type-system .pm-map-head h3,:root body.vb-type-system .pm-roadmap h2{font:400 clamp(24px,2.6vw,36px)/1.2 Georgia,serif;letter-spacing:-.025em;margin:0;max-width:26ch;color:#f3f1ed}
.pm-map-hint{font:400 13px/1.6 Inter,Arial,sans-serif;color:#d8d8df;flex:none;text-align:right}.pm-map-hint small{font-size:12px;color:#999eae}
.pm-route-canvas{position:relative;isolation:isolate;min-width:0}
.pm-map[data-map-layout=hub] .pm-route-canvas{padding-top:20px}.pm-route-wires .pm-hub-wire{stroke:#66507e}
.pm-case-canvas,.pm-roadmap-canvas{position:relative;isolation:isolate;min-width:0}
.pm-stations,.pm-case .vb-topology-rail{list-style:none;margin:0;padding:8px 0;display:grid;grid-template-columns:repeat(var(--pm-cols,3),minmax(0,1fr));gap:48px 36px;position:relative;z-index:1}
.pm-stations>li,.pm-case .vb-topology-rail>li{grid-column:var(--pm-col);grid-row:var(--pm-row);min-width:0;position:relative;display:flex;margin:0;z-index:1}
.pm-stop{background:linear-gradient(140deg,#14171f,#101116);border:1px solid #353a46;border-radius:16px;box-shadow:0 6px 22px #0002;overflow:hidden;width:100%;min-width:0;position:relative}
.pm-stop:before{content:'';position:absolute;top:0;left:20px;width:32px;height:2px;background:var(--pm-accent,#6ff3ff)}
.pm-stop>summary{list-style:none;padding:20px;cursor:pointer;display:flex;flex-direction:column;height:auto;min-height:174px;gap:18px;box-sizing:border-box;text-align:left}
.pm-stop>summary::-webkit-details-marker{display:none}
.pm-station-top{display:flex;align-items:center;justify-content:space-between;gap:16px}
.pm-number{font:600 12px/1 Inter,Arial,sans-serif;color:var(--pm-accent,#6ff3ff);border:1px solid #46505e;background:#141922;border-radius:50%;width:30px;height:30px;display:grid;place-items:center;flex-shrink:0}
.pm-glyph{width:42px;height:42px;display:block;fill:none;stroke:var(--pm-accent,#98d2d8);stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;filter:none!important;flex-shrink:0}
.pm-stop strong{font:500 17px/1.4 Inter,Arial,sans-serif;letter-spacing:-.02em;color:#f3f1ed}
.pm-open{display:flex;justify-content:space-between;gap:8px;margin-top:auto;color:#aeb4c1;font:400 12px/1.5 Inter,Arial,sans-serif}.pm-open>span{color:var(--pm-accent,#6ff3ff);font-size:19px;line-height:1}
.pm-stop-body{padding:0 20px 20px;border-top:1px solid #ffffff0b}.pm-stop-body p{font:400 14px/1.65 Inter,Arial,sans-serif;color:#c0c3cf;margin:12px 0 0}.pm-timing{display:block;font:500 12px/1.5 Inter,Arial,sans-serif;color:#b8e0e4;margin-top:14px}
.pm-stop[open]{border-color:var(--pm-accent,#6ff3ff)}.pm-stop[open] .pm-open>span{font-size:0}.pm-stop[open] .pm-open>span:after{content:'−';font-size:19px}
.pm-stop>summary:hover{background:#ffffff03}.pm-stop>summary:focus-visible,.pm-case .vb-topology-node:focus-visible{outline:2px solid #6ff3ff;outline-offset:-5px;border-radius:14px}
.pm-route-wires{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:0}.pm-route-wires path{fill:none;stroke:#53616f;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;filter:none;vector-effect:non-scaling-stroke}.pm-route-wires .pm-route-arrow{stroke:#8fbdc3;stroke-width:1.5}
.pm-map-note{font:400 13px/1.7 Inter,Arial,sans-serif;color:#aeb2c0;margin:24px 0 0;padding-top:18px;border-top:1px solid #2b2e38}
.vt-topology:has(>.pm-map),.journey-revenue-topology:has(>.pm-map),.vbq-topo:has(>.pm-map),.community-topology:has(>.pm-map){background:transparent;border:0;overflow:visible;max-width:1180px;margin-inline:auto}
.vt-topology:has(>.pm-map) figcaption,.journey-revenue-topology:has(>.pm-map) figcaption,.community-topology:has(>.pm-map) figcaption{padding:14px 4px;display:flex;justify-content:space-between;gap:16px;border:0;line-height:1.6;font-size:13px}
.pm-export{display:inline-flex;min-height:44px;align-items:center;color:#a4d8de;font-size:13px;white-space:normal}
.pm-channels{margin-top:24px;padding-top:20px;border-top:1px solid #2b2e38}.pm-channels .pm-eyebrow{color:#d8c48a}.pm-channels ul{list-style:none;padding:0;margin:12px 0 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.pm-channels li{display:grid;gap:8px;border-left:1px solid #615a43;padding-left:14px;min-width:0}.pm-channels strong{font-size:14px;font-weight:500}.pm-channels li>span{font-size:13px;line-height:1.6;color:#aeb2c0}
.pm-hub-core{margin:0 auto 28px;padding:20px 24px;border:1px solid #65517b;background:#17131f;border-radius:18px;display:flex;align-items:center;gap:18px;width:fit-content;max-width:100%;box-sizing:border-box}.pm-hub-core>span{font-size:11px;letter-spacing:.12em;color:#c8acd9}.pm-hub-core strong{display:block;font-size:16px;line-height:1.6;font-weight:400;letter-spacing:0;color:#f3f1ed}.pm-map[data-map-layout=hub] .pm-stations>li{grid-column:auto;grid-row:auto}
/* The existing case buttons retain their reasoning pane and keyboard behavior. */
.pm-case.vb-topology{padding:clamp(20px,3vw,36px);background:#0a0b10;border-color:#343640;border-radius:24px;overflow:visible}
.pm-case .vb-topology-heading{align-items:start;margin-bottom:24px}.pm-case .vb-topology-heading h2{margin:8px 0 0}.pm-case .vb-topology-heading>p{font-size:13px;margin:0;color:#aeb2c0}
.pm-case .vb-topology-rail{margin:0 0 24px}.pm-case .vb-topology-rail>li:after{display:none!important}
.pm-case .vb-topology-node{border:1px solid #353a46;border-radius:16px;background:#12141b;padding:20px;display:grid;grid-template-columns:1fr 48px;grid-template-rows:48px auto 1fr;gap:14px 8px;align-items:start;text-align:left;position:relative;height:100%;box-sizing:border-box;font-family:Inter,Arial,sans-serif;box-shadow:none}
.pm-case .vb-topology-orbit,.pm-case .vb-topology-node:hover .vb-topology-orbit,.pm-case .vb-topology-node[aria-pressed=true] .vb-topology-orbit{grid-column:2;grid-row:1;width:48px;height:48px;border:0;background:none;box-shadow:none;animation:none;position:static;display:flex;align-items:center;justify-content:center}
.pm-case .vb-topology-orbit svg{width:42px;height:42px;filter:none!important;overflow:visible;stroke-width:1.8}.pm-case .vb-topology-orbit .vt-scene-platform{display:none}.pm-case .vb-topology-orbit .vb-neon-trace{display:none}.pm-case .vb-topology-orbit .vb-neon-ink{filter:none!important}
.pm-case .vb-topology-number{top:20px;left:20px;right:auto;width:30px;height:30px;border:1px solid #46505e;color:#9bd9df;background:#141922;box-shadow:none;font-size:12px;font-weight:600}
.pm-case .vb-topology-label{grid-column:1/-1;grid-row:2;font-size:14px;line-height:1.5;letter-spacing:.015em;font-weight:600;margin:0;color:#f3f1ed}
.pm-case .vb-topology-preview{grid-column:1/-1;grid-row:3;font-size:13px;line-height:1.65;color:#aeb4c1;margin:0}
.pm-case .vb-topology-node[aria-pressed=true]{background:#122027;border-color:#61949d}.pm-case .vb-topology-node:hover{border-color:#6b7e8c}
.pm-case .vb-topology-detail{grid-template-columns:minmax(140px,.33fr) 1fr;padding:20px 24px;border:1px solid #3a515c;background:#101a20;border-radius:14px;gap:20px;min-height:70px;align-items:start}.pm-case .vb-topology-detail strong{font-size:12px;color:#a5d6dc;line-height:1.6}.pm-case .vb-topology-detail p{font-size:14px;line-height:1.7;margin:0;color:#d4d7df}
/* The setup roadmap is one route through four phases, with native disclosures. */
.pm-roadmap.vcr{background:#0a0b10;border:1px solid #343640;border-radius:24px;overflow:visible}
.pm-roadmap .pm-roadmap-head{margin-bottom:32px}.pm-roadmap-intro{font-size:14px;line-height:1.75;color:#b8bdca;max-width:63ch;margin:16px 0 0}.pm-roadmap-tag{font:500 11px/1.5 Inter,Arial,sans-serif;color:#d8c48a;border:1px solid #4e493c;border-radius:6px;padding:7px 10px;flex-shrink:0}
.pm-roadmap-phases{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;position:relative;padding:0;margin:0;list-style:none;isolation:isolate}
.pm-roadmap-phase{min-width:0;position:relative}.pm-phase-head{padding:0 0 24px;display:grid;gap:12px;position:relative;z-index:1}.pm-phase-marker{width:44px;height:44px;border:1px solid #4e7580;border-radius:50%;background:#142028;display:grid;place-items:center;color:#a8e0e7;font:500 13px Inter,Arial,sans-serif;box-shadow:0 0 0 7px #0a0b10}
.pm-roadmap-phase:last-child .pm-phase-marker{border-color:#8c7b50;color:#e6d4a6;background:#211e17}
.pm-phase-head h3{font:500 16px/1.4 Inter,Arial,sans-serif;margin:0;color:#f3f1ed}.pm-phase-head p{font-size:12px;line-height:1.6;color:#9ea5b6;margin:0;max-width:24ch}
.pm-roadmap-steps{margin:0;padding:0 0 0 15px;list-style:none;border-left:1px solid #39414e;display:grid;gap:10px;position:relative}.pm-roadmap-steps>li{min-width:0;position:relative;margin:0}.pm-roadmap-steps>li:before{content:'';position:absolute;top:22px;left:-19px;width:7px;height:7px;border:1px solid #64919a;border-radius:50%;background:#0a0b10;box-sizing:border-box}
.pm-milestone{border:1px solid #2f3541;border-radius:12px;background:#11141b;overflow:hidden}.pm-milestone summary{padding:14px;list-style:none;cursor:pointer;display:grid;grid-template-columns:1fr 12px;gap:7px 6px;align-items:start}.pm-milestone summary::-webkit-details-marker{display:none}.pm-milestone .pm-step-index{font:500 10px/1.3 Inter,Arial,sans-serif;color:#9ba9b9;grid-column:1}.pm-milestone summary strong{font:500 14px/1.45 Inter,Arial,sans-serif;grid-column:1;letter-spacing:-.01em;color:#f3f1ed}.pm-milestone .pm-step-plus{grid-column:2;grid-row:1/4;font-size:18px;line-height:1;color:#7fabb6}.pm-milestone .pm-when{grid-column:1;font:400 11px/1.5 Inter,Arial,sans-serif;color:#aabaca;text-transform:none;letter-spacing:0;overflow-wrap:normal}.pm-milestone-body{padding:0 14px 14px}.pm-milestone-body p{font:400 13px/1.65 Inter,Arial,sans-serif;color:#bcc2d0;margin:0 0 12px}.pm-owner{font:500 11px/1.55 Inter,Arial,sans-serif;color:#cfbd8f;display:block}.pm-milestone[open]{border-color:#527b86}.pm-milestone[open] .pm-step-plus{font-size:0}.pm-milestone[open] .pm-step-plus:after{content:'−';font-size:18px}.pm-milestone summary:focus-visible{outline:2px solid #6ff3ff;outline-offset:-4px;border-radius:10px}.pm-roadmap-note{margin:24px 0 0;padding-top:18px;border-top:1px solid #292e38;color:#aeb2c0;font-size:12px;line-height:1.75}
.pm-roadmap .pm-road-base{stroke:#222b37;stroke-width:8}.pm-roadmap .pm-road-lane{stroke:#7d9aa7;stroke-width:1;stroke-dasharray:3 7}
/* Quiet treatment for bespoke relationship maps; their original edges remain intact. */
[data-premium-legacy] svg :is(.vb-neon-trace,.depth){display:none!important}[data-premium-legacy] svg :is(path,line,circle,rect,ellipse,polygon,polyline){filter:none!important}[data-premium-legacy] svg text{filter:none!important;paint-order:normal;stroke:none!important}[data-premium-legacy]{background:#0a0b10!important;border-color:#343640!important;border-radius:20px}
@media(max-width:1000px) and (min-width:701px){.pm-stations,.pm-case .vb-topology-rail{gap:36px 24px}.pm-stop>summary{padding:16px}.pm-map-hint{display:none}.pm-roadmap-phases{gap:14px}.pm-milestone summary{padding:11px}}
@media(max-width:700px){
 .pm-map,.pm-case.vb-topology,.pm-roadmap.vcr{border-radius:18px;padding:20px 16px}.pm-map-head,.pm-roadmap-head{display:block;margin-bottom:22px}.pm-map-hint{display:block;text-align:left;margin-top:14px;font-size:12px}.pm-map-hint br{display:none}.pm-map-hint small{margin-left:6px}.pm-eyebrow{font-size:10px;letter-spacing:.12em}
 .pm-stations,.pm-case .vb-topology-rail{display:grid;grid-template-columns:minmax(0,1fr);padding-left:40px;gap:16px;margin:0}.pm-stations>li,.pm-case .vb-topology-rail>li{grid-column:1;grid-row:auto;display:block}.pm-stop{overflow:visible}.pm-stop:before{display:none}.pm-stop>summary{padding:16px;min-height:124px;gap:12px}.pm-station-top{height:22px;justify-content:flex-end}.pm-number{position:absolute;left:-40px;top:17px;width:26px;height:26px;font-size:11px;background:#10151c;border-color:#547780;box-shadow:0 0 0 4px #0a0b10}.pm-glyph{width:30px;height:30px}.pm-stop strong{font-size:16px}.pm-open{font-size:11px}.pm-stop-body{padding:0 16px 16px}.pm-stop-body p{font-size:14px}.pm-map-note{font-size:12px;line-height:1.7;margin-top:20px}
 .pm-case .vb-topology-heading{display:block;margin-bottom:20px}.pm-case .vb-topology-heading>p{margin-top:12px}.pm-case .vb-topology-node{padding:16px;grid-template-columns:1fr 34px;grid-template-rows:28px auto 1fr;gap:8px}.pm-case .vb-topology-orbit{width:34px;height:28px!important}.pm-case .vb-topology-orbit svg{width:30px;height:30px}.pm-case .vb-topology-number{left:-40px;top:16px;width:26px;height:26px;font-size:11px;background:#10151c;box-shadow:0 0 0 4px #0a0b10}.pm-case .vb-topology-label{font-size:13px}.pm-case .vb-topology-preview{font-size:13px}.pm-case .vb-topology-detail{display:block;margin-top:20px;padding:16px}.pm-case .vb-topology-detail p{margin-top:8px}
 .pm-channels ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 14px}.pm-channels strong{font-size:13px}.pm-channels li>span{font-size:12px}
 .pm-roadmap-tag{display:inline-flex;margin-top:16px}.pm-roadmap-intro{font-size:14px}.pm-roadmap-phases{grid-template-columns:1fr;gap:28px;padding-left:34px}.pm-phase-head{padding-bottom:16px;gap:6px}.pm-phase-marker{position:absolute;left:-47px;top:0;width:28px;height:28px;font-size:11px;box-shadow:0 0 0 4px #0a0b10}.pm-phase-head h3{font-size:17px}.pm-phase-head p{max-width:none;font-size:12px}.pm-roadmap-steps{gap:8px;padding-left:0;border:0}.pm-roadmap-steps>li:before{display:none}.pm-milestone summary{padding:14px}.pm-milestone summary strong{font-size:15px}.pm-milestone .pm-when{font-size:12px}.pm-roadmap-note{font-size:12px}.pm-milestone-body p{font-size:14px}.pm-hub-core{padding:16px;gap:10px;width:100%}.pm-hub-core strong{font-size:14px}
}
@media(prefers-reduced-motion:reduce){.pm-map *,.pm-case *,.pm-roadmap *{animation:none!important;transition:none!important}}
@media print{.pm-route-wires{display:none}.pm-stop-body,.pm-milestone-body{display:block!important}.pm-stations,.pm-case .vb-topology-rail{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.pm-stations>li,.pm-case .vb-topology-rail>li{grid-column:auto;grid-row:auto}.pm-roadmap-phases{display:block}.pm-roadmap-phase{margin-bottom:20px}.pm-stop,.pm-milestone{break-inside:avoid}}

:root body.vb-type-system .pm-phase-head h3{font:500 18px/1.4 Inter,Arial,sans-serif;margin:0}
:root body.vb-type-system .pm-phase-head p{font:400 13px/1.65 Inter,Arial,sans-serif;margin:0}
:root body.vb-type-system .pm-milestone summary strong{font-size:14px;line-height:1.5}
:root body.vb-type-system .pm-milestone :is(.pm-step-index,.pm-when){font-size:12px}
.pm-transcript{margin:12px 4px;color:#b6c0cf;font-size:13px}.pm-transcript summary{cursor:pointer;min-height:44px;display:flex;align-items:center;gap:8px}.pm-transcript summary:before{content:'+';color:#9bd9df}.pm-transcript[open] summary:before{content:'−'}.pm-transcript ol{padding-left:22px;max-width:80ch}.pm-transcript li{margin-block:12px}.pm-transcript strong{font-weight:500;color:#f3f1ed}
@media(max-width:700px){.pm-eyebrow{font-size:12px;letter-spacing:.08em}.pm-number,.pm-case .vb-topology-number{font-size:12px}.pm-open{font-size:12px}:root body.vb-type-system .pm-milestone summary strong{font-size:15px}.pm-roadmap-tag{font-size:12px}.pm-phase-head{gap:8px}}

@media(min-width:701px) and (max-width:1000px){
 .pm-stations,.pm-case .vb-topology-rail{grid-template-columns:repeat(2,minmax(0,1fr))}
 .pm-stations>li,.pm-case .vb-topology-rail>li{grid-column:var(--pm-col-mid);grid-row:var(--pm-row-mid)}
 .pm-roadmap-phases{grid-template-columns:1fr;gap:28px;padding-left:44px}
 .pm-phase-head{padding-bottom:16px;gap:6px}.pm-phase-marker{position:absolute;left:-56px;top:0;width:30px;height:30px;font-size:12px;box-shadow:0 0 0 4px #0a0b10}
 .pm-phase-head p{max-width:none}.pm-roadmap-steps{grid-template-columns:repeat(2,minmax(0,1fr));border:0;padding:0;gap:12px}.pm-roadmap-steps>li:before{display:none}
}

@media(max-width:700px){.pm-phase-marker,.pm-owner{font-size:12px}}

/* Page-specific guide disclosure rules must not recenter or resize the shared map controls. */
:root body.vb-type-system .pm-stop>summary{display:flex;flex-direction:column;align-items:stretch;text-align:left;justify-content:flex-start;list-style:none;gap:18px;border:0;border-radius:14px;background:transparent}
:root body.vb-type-system .pm-station-top{display:flex;align-items:center;justify-content:space-between;gap:16px}
:root body.vb-type-system .pm-stop .pm-open{display:flex;align-items:center;justify-content:space-between;width:100%;margin-top:auto}
:root body.vb-type-system .pm-stop-body p{text-align:left}
[data-premium-legacy]>article{background:#11141b!important;border-color:#353a46!important}
@media(max-width:700px){:root body.vb-type-system .pm-stop>summary{gap:12px}:root body.vb-type-system .pm-station-top{justify-content:flex-end}}
