/* 方案 A：全景统筹大屏。仅在蓝图总览生效。 */
body.blueprint-view {
  --bp-bg: #041724;
  --bp-plane: #0b2e46;
  --bp-plane-light: #14445e;
  --bp-line: #3f9bb8;
  --bp-cyan: #8af6f6;
  --bp-ink: #061f30;
  --bp-white: #f0f7fb;
  --bp-muted: #b4d5e4;
  background: var(--bp-bg);
  color: var(--bp-white);
  font-family: "Microsoft YaHei", "Microsoft YaHei UI", "PingFang SC", sans-serif;
  scrollbar-color: #277489 var(--bp-bg);
}
.blueprint-view > .sidebar,.blueprint-view .topbar,.blueprint-view .app-footer { display:none }
.blueprint-view .workspace { margin:0 }
.blueprint-view #main { max-width:none; padding:0 }
.blueprint-view .toast { left:50% }
.blueprint-view .drawer,.blueprint-view .edit-dialog { color:#1b3444 }
.bp-board {
  min-height:100dvh;
  height:100dvh;
  min-height:760px;
  padding:14px 18px 10px;
  display:grid;
  grid-template-rows:auto minmax(0,1fr) clamp(62px,8.6vh,94px) 16px;
  gap:clamp(10px,1.45vh,18px);
  background:radial-gradient(ellipse at 45% 50%,#0b3048 0%,#061e30 48%,#031321 90%);
  isolation:isolate;
}
.bp-board button,.bp-board a,.bp-board summary { -webkit-tap-highlight-color:transparent }
.bp-board button { transition:background .18s,border-color .18s,color .18s,box-shadow .18s }
.bp-board button:focus-visible,.bp-board a:focus-visible,.bp-board summary:focus-visible { outline:3px solid #f0ffff; outline-offset:3px }
.bp-board ::selection { color:#061f30; background:#a4ffff }
.bp-header { display:grid;grid-template-columns:28% 44% 28%;grid-template-rows:clamp(54px,7.4vh,80px) clamp(44px,6.3vh,68px);align-items:center;position:relative;padding-bottom:10px;gap:4px 0 }
.bp-school { display:flex;align-items:center;gap:14px;color:var(--bp-white);font-size:clamp(19px,1.8vw,34px);font-weight:700;white-space:nowrap;padding-left:2.8vw;min-width:0 }
.bp-school:hover { color:var(--bp-cyan);text-decoration:none }
.bp-school-mark { width:clamp(38px,4.1vw,74px);height:clamp(38px,4.1vw,74px);display:grid;place-items:center;border:2px solid #8af6f6;border-radius:50%;color:var(--bp-cyan);flex-shrink:0;position:relative }
.bp-school-mark:after { content:'';position:absolute;inset:5px;border:1px solid #3c8799;border-radius:50% }
.bp-school-mark .icon { width:58%;height:58%;stroke-width:1.5 }
.bp-header h1 { font-size:clamp(31px,3.45vw,64px);font-weight:800;letter-spacing:.055em;text-align:center;color:#f3fbff;white-space:nowrap;text-shadow:0 3px 0 #24445b }
.bp-header-tools { display:flex;align-items:center;justify-content:flex-end;gap:8px;padding-left:12px;min-width:0 }
.bp-nav-menu { position:relative;z-index:20;font-size:12px;flex-shrink:0 }
.bp-nav-menu summary { cursor:pointer;display:flex;align-items:center;gap:6px;border:1px solid #387e9a;border-radius:5px;padding:7px 9px;color:#c6ecf6;list-style:none;background:#082338 }
.bp-nav-menu summary::-webkit-details-marker { display:none }
.bp-nav-menu summary .icon { width:16px;height:16px }
.bp-nav-menu nav { display:flex;flex-direction:column;position:absolute;right:0;top:calc(100% + 10px);min-width:184px;padding:8px;border:1px solid #3b9ab2;border-radius:8px;background:#092236;box-shadow:0 16px 40px #0007 }
.bp-nav-menu:not([open]) nav { display:none }
.bp-nav-menu nav a { display:flex;align-items:center;gap:12px;padding:12px;color:#d4e9f5;border-radius:4px;font-size:14px }
.bp-nav-menu nav a:hover,.bp-nav-menu nav a[aria-current] { background:#164456;color:#a9ffff;text-decoration:none }
.bp-nav-menu nav .icon { width:18px;height:18px }
.bp-fullscreen { width:35px;height:35px;display:grid;place-items:center;border:1px solid #387e9a;border-radius:5px;color:#b3ebf8;background:#082338;flex-shrink:0 }
.bp-fullscreen:hover,.bp-nav-menu summary:hover { background:#18506a }
.bp-fullscreen .icon { width:17px;height:17px }
.bp-phase-control { display:flex;gap:10px;grid-column:3;position:relative;z-index:1;justify-content:flex-end;padding-left:24px }
.bp-phase-control button { flex:1;max-width:160px;min-width:0;font-size:clamp(18px,1.8vw,31px);font-weight:700;padding:7px 12px;color:#e8f7ff;background:linear-gradient(115deg,#0b2d44,#06192c);border:1px solid #5ca6bf;border-radius:6px;transform:skewX(-10deg) }
.bp-phase-control button:hover { border-color:#a9ffff;background:#144459 }
.bp-phase-control button.is-active { color:#082236;background:linear-gradient(115deg,#c1ffff,#7cf5f3);border-color:#baffff;box-shadow:0 4px 16px #36bfda25 }
.bp-header-line { position:absolute;bottom:2px;left:-18px;width:calc(100% + 36px);height:30px;z-index:0;pointer-events:none;fill:none;stroke:#2aa9d6;stroke-width:2 }
.bp-header-line path:last-child { stroke:#3a87a2;stroke-width:1 }
.bp-main { position:relative;display:grid;grid-template-columns:minmax(0,1fr) 27%;gap:16px;min-height:0 }
.bp-architecture { display:grid;grid-template-rows:clamp(125px,17.8vh,192px) minmax(0,1fr) clamp(63px,8.5vh,92px);gap:clamp(14px,2vh,23px);min-width:0;min-height:0 }
.bp-outcome-section,.bp-domain-section,.bp-road-section { display:grid;grid-template-columns:8.1vw minmax(0,1fr);gap:10px;align-items:center;min-height:0 }
.bp-section-label { display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:78px;padding:12px 12px 12px 4px;position:relative;isolation:isolate;line-height:1.3 }
.bp-section-label:before { content:'';position:absolute;inset:0;z-index:-1;background:#5bcbe2;clip-path:polygon(0 0,82% 0,100% 50%,82% 100%,0 100%) }
.bp-section-label:after { content:'';position:absolute;inset:1px 2px 1px 1px;z-index:-1;background:linear-gradient(105deg,#08283e,#0e3c55);clip-path:polygon(0 0,82% 0,100% 50%,82% 100%,0 100%) }
.bp-section-label strong { font-size:clamp(16px,1.42vw,27px);font-weight:700;white-space:nowrap;color:#effaff }
.bp-section-label span { font-size:clamp(12px,1.04vw,19px);color:#c2ddea }
.bp-outcome-group { height:100%;display:flex;flex-direction:column;justify-content:flex-end;position:relative;min-width:0 }
.bp-roof { height:35px;width:100%;position:relative;flex-shrink:0;fill:none;stroke:#62cde9;stroke-width:2;filter:drop-shadow(0 3px 4px #1b79a166) }
.bp-outcomes { display:grid;grid-template-columns:repeat(3,1fr) 1.15fr;gap:10px;min-height:85px }
.bp-outcome { display:flex;justify-content:center;align-items:center;position:relative;gap:12px;padding:16px 10px;color:#e5f8ff;border:1px solid #48a4c3;border-radius:7px;background:linear-gradient(120deg,#123954,#155078 55%,#0b2c44);box-shadow:inset 0 1px 0 #71b9d866;font-size:clamp(18px,1.8vw,31px);font-weight:700;line-height:1.25 }
.bp-outcome>.icon { width:clamp(26px,3vw,48px);height:clamp(26px,3vw,48px);stroke-width:1.5 }
.bp-outcome-title>span { display:block;white-space:nowrap }
.bp-outcome:hover { background:#216083;border-color:#9bf3ff }
.bp-outcome.is-active { color:#062638;background:linear-gradient(120deg,#c1ffff,#80ecef);border-color:#bdfdff }
.bp-outcome-check { position:absolute;top:5px;right:6px }
.bp-outcome-check .icon { height:15px;width:15px }
.bp-support-arrows { display:grid;grid-template-columns:repeat(4,1fr);height:25px;flex-shrink:0 }
.bp-support-arrows span { position:relative;width:6px;height:21px;justify-self:center;background:#5ec3f1;margin-top:6px }
.bp-support-arrows span:before { content:'';position:absolute;top:-7px;left:-5px;border-left:8px solid transparent;border-right:8px solid transparent;border-bottom:10px solid #8adcfb }
.bp-domain-section { align-items:stretch }
.bp-domain-section>.bp-section-label { align-self:center }
.bp-domain-frame { position:relative;min-height:0;display:flex;flex-direction:column;padding:11px 14px 14px;isolation:isolate;background:linear-gradient(110deg,#06283b8c,#061e348c);border-radius:18px }
.bp-frame-art { position:absolute;inset:0;width:100%;height:100%;z-index:-1;fill:none;stroke:#48c9e9;stroke-width:1.4;pointer-events:none }
.bp-frame-art>path { vector-effect:non-scaling-stroke }
.bp-frame-art>path:nth-child(2) { stroke:#287e9c;stroke-width:.8 }
.bp-frame-art .bp-frame-emphasis { stroke:#a9f6ff;stroke-width:2 }
.bp-map-tools { display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:11px;color:#b9d5e4;min-height:24px;margin-bottom:8px;white-space:nowrap }
.bp-clear { background:none;border:0;border-bottom:1px solid #82c9d9;padding:0 0 1px;margin-left:10px;color:#a0eff7;font-size:inherit }
.bp-layer-control { display:flex;gap:12px }
.bp-layer-control button { border:0;border-bottom:2px solid transparent;padding:0 0 3px;color:#b9d8e5;background:transparent;font-size:11px }
.bp-layer-control button.is-active { color:#aeffff;border-color:#8af6f6 }
.bp-domain-grid { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:12px;flex:1;min-height:0 }
.bp-domain { position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:18px 10px 5px;min-width:0;min-height:0;border:1px solid #438ba9;border-radius:9px;background:linear-gradient(125deg,#143e57 0%,#0b2c45 54%,#093142 100%);color:#effaff;box-shadow:inset 0 1px 0 #79b8ce66;text-align:center }
.bp-domain:hover { background:linear-gradient(130deg,#24607b,#123e52);border-color:#9cf4ff }
.bp-domain strong { font-size:clamp(22px,1.7vw,32px);font-weight:700;line-height:1.2;letter-spacing:.025em;white-space:nowrap }
.bp-domain-icon { flex-shrink:0;line-height:1 }
.bp-domain-icon .icon { width:clamp(26px,1.9vw,36px);height:clamp(26px,1.9vw,36px);stroke-width:1.55 }
.bp-domain-goal { font-size:clamp(12px,.84vw,16px);line-height:1.4;color:#d8edf7;max-width:100%;text-wrap:pretty;min-height:2.8em;display:flex;align-items:center;justify-content:center;flex-shrink:0 }
.bp-selection-tag { position:absolute;top:6px;right:7px;font-size:10px;line-height:1.3;color:#acd6e5;display:flex;align-items:center;gap:4px }
.bp-selection-tag .icon { width:12px;height:12px }
.bp-domain.is-related { border-color:#a4dfe9 }
.bp-domain.is-related .bp-selection-tag { color:#a7ffff }
.bp-domain.is-unrelated { background:#0b2437;border-color:#34536b;box-shadow:none }
.bp-domain.is-unrelated strong,.bp-domain.is-unrelated .bp-domain-goal { color:#a7c6d9 }
.bp-domain.is-selected { border:2px solid #b2ffff;color:#042638;background:linear-gradient(120deg,#c5ffff 0%,#93f4f1 42%,#6dece8 100%);box-shadow:0 5px 20px #1ab7c12b;z-index:2 }
.bp-domain.is-selected strong { font-size:clamp(26px,2.02vw,38px);color:#062032 }
.bp-domain.is-selected .bp-domain-icon .icon { width:clamp(23px,1.55vw,30px);height:clamp(23px,1.55vw,30px) }
.bp-domain.is-selected .bp-domain-goal { color:#07384a;font-weight:600 }
.bp-domain.is-selected .bp-selection-tag { padding:3px 6px;right:5px;top:4px;background:#063748;color:#caffff;border-radius:4px;font-weight:600 }
.bp-road-section .bp-section-label { min-height:63px }
.bp-roadmap { display:grid;grid-template-columns:repeat(3,1fr);gap:35px;align-items:center }
.bp-roadmap button { position:relative;display:flex;align-items:center;justify-content:center;gap:9px;min-height:56px;padding:10px 8px;background:linear-gradient(120deg,#0f3951,#08273c);border:1px solid #6ac3db;border-radius:7px;color:#eefaff;font-size:clamp(17px,1.58vw,29px);font-weight:700;white-space:nowrap }
.bp-roadmap button:hover { background:#174d61 }
.bp-roadmap button i { width:3px;height:3px;border-radius:50%;background:currentColor }
.bp-roadmap button:after { content:'';position:absolute;right:-24px;top:50%;width:10px;height:10px;border-top:3px solid #c6f0f8;border-right:3px solid #c6f0f8;transform:translateY(-50%) rotate(45deg) }
.bp-roadmap button:last-child:after { display:none }
.bp-roadmap button.is-active { background:linear-gradient(115deg,#b4fffd,#76eee8);color:#062736;border:2px solid #b4ffff;box-shadow:0 5px 18px #45c5c72e }
.bp-focus-panel { min-width:0;min-height:0;position:relative;isolation:isolate;padding:20px 19px 16px;border-radius:17px;background:linear-gradient(115deg,#09283c,#052538 60%,#061d31);display:flex;flex-direction:column }
.bp-focus-panel>.bp-frame-art { stroke-width:2;stroke:#6fe4fa }
.bp-focus-banner { position:relative;margin-top:9px;margin-bottom:13px;border-radius:8px;background:linear-gradient(110deg,#b6ffff,#80f0ed);color:#062335;padding:21px 12px 14px;flex-shrink:0 }
.bp-focus-label { position:absolute;left:0;top:-12px;padding:2px 15px;font-size:clamp(15px,1.4vw,24px);font-weight:700;color:#063343;background:#a9fbf8;transform:skewX(-9deg);border:1px solid #deffff;border-radius:4px }
.bp-focus-banner>div { display:flex;align-items:center;justify-content:center;gap:17px }
.bp-focus-banner .icon { width:clamp(32px,3.5vw,60px);height:clamp(32px,3.5vw,60px);stroke-width:1.5 }
.bp-focus-banner h2 { font-size:clamp(32px,3.08vw,55px);font-weight:800;letter-spacing:.015em;line-height:1.25;white-space:nowrap }
.bp-focus-content { display:flex;flex-direction:column;gap:10px;flex:1;min-height:0;overflow:auto;scrollbar-width:thin;scrollbar-color:#33829c transparent;padding:0 2px 1px }
.bp-focus-content>section,.bp-focus-status { flex-shrink:0 }
.bp-focus-actions { display:flex;flex-direction:column;gap:10px;flex-shrink:0;margin:10px 2px 0 }
.bp-focus-content h3 { color:#eaf7ff;font-size:clamp(15px,1.25vw,23px);font-weight:700;line-height:1.4 }
.bp-focus-stages h3 { margin:0 0 8px }
.bp-focus-stages>div { display:flex;flex-direction:column;gap:7px }
.bp-focus-stages button { display:grid;grid-template-columns:max-content 1fr;align-items:center;gap:10px;text-align:left;width:100%;padding:4px 10px;border:1px solid #3e8aab;border-radius:6px;background:linear-gradient(110deg,#123d55,#0a2a41);color:#e4f3fc;min-height:37px }
.bp-focus-stages button strong { font-size:clamp(15px,1.35vw,24px);border-right:1px solid #669fb2;padding-right:9px;line-height:1.4;white-space:nowrap }
.bp-focus-stages button span { font-size:clamp(12px,1vw,18px);font-weight:500;line-height:1.5 }
.bp-focus-stages button:hover { background:#195065 }
.bp-focus-stages button.is-active { background:linear-gradient(100deg,#b8fffc,#7af0eb);color:#042b39;border-color:#b0ffff;box-shadow:0 3px 10px #19b7ba1a }
.bp-focus-stages button.is-active strong { border-color:#2a6a74 }
.bp-section-heading { display:flex;justify-content:space-between;align-items:center;gap:9px;margin-bottom:9px }
.bp-section-heading>span { color:#bcddea;font-size:clamp(11px,.95vw,16px);white-space:nowrap }
.bp-module-chips { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px }
.bp-module-chips button { display:flex;justify-content:center;align-items:center;gap:6px;text-align:left;border:1px solid #6aa8bd;border-radius:6px;background:linear-gradient(115deg,#0d344c,#082438);padding:8px 5px;color:#e6f7fd;min-height:41px;font-size:clamp(11px,.94vw,17px);line-height:1.4;font-weight:600 }
.bp-module-chips .icon { width:clamp(16px,1.4vw,24px);height:clamp(16px,1.4vw,24px);stroke-width:1.6 }
.bp-module-chips button:hover { color:#b5ffff;border-color:#adffff;background:#155264 }
.bp-focus-status { margin-top:auto;border-top:1px solid #4b849b;padding-top:8px;display:flex;flex-direction:column;gap:6px }
.bp-focus-status button { display:flex;align-items:center;gap:9px;border:0;background:transparent;color:#dff5ff;padding:0;text-align:left;font-size:clamp(13px,1.1vw,20px);line-height:1.5 }
.bp-focus-status button>.icon { width:clamp(19px,1.7vw,28px);height:clamp(19px,1.7vw,28px) }
.bp-focus-status button>.icon:last-child { width:14px;height:14px;margin-left:auto;opacity:.6 }
.bp-focus-status strong { font-weight:500;color:#daedf7 }
.bp-focus-status button:hover,.bp-focus-status button:hover strong { color:#9ffffa }
.bp-detail-button { display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:6px 10px;color:#a7eff2;background:#0d3849;border:1px solid #3f91a6;border-radius:5px;font-size:12px;font-weight:500;margin-top:0 }
.bp-detail-button:hover { color:#071f2d;background:#a4fbf7 }
.bp-detail-button .icon { width:16px;height:16px }
.bp-back-to-map { display:none }
.bp-selection-link { position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible;z-index:4 }
.bp-selection-link .bp-link-path { fill:none;stroke:#a4ffff;stroke-width:2;vector-effect:non-scaling-stroke }
.bp-selection-link marker path { fill:#a4ffff }
.bp-governance { display:flex;align-items:center;justify-content:space-between;gap:20px;position:relative;isolation:isolate;padding:16px 27px;color:#e5f8ff;background:linear-gradient(90deg,#092d42,#0b344a,#07263b);border-radius:14px }
.bp-governance>strong { font-size:clamp(18px,1.7vw,31px);padding:10px 25px;background:linear-gradient(120deg,#12435d,#0a2f46);border:1px solid #4cacc9;clip-path:polygon(10% 0,90% 0,100% 50%,90% 100%,10% 100%,0 50%);font-weight:700;white-space:nowrap }
.bp-governance>span { display:flex;align-items:center;justify-content:center;gap:13px;flex:1;font-size:clamp(17px,1.7vw,31px);font-weight:600;white-space:nowrap }
.bp-governance>span+span { border-left:1px solid #5492a9 }
.bp-governance .icon { width:clamp(25px,2.2vw,42px);height:clamp(25px,2.2vw,42px) }
.bp-footnote { display:flex;align-items:center;justify-content:space-between;gap:15px;color:#95bbd1;font-size:10px;line-height:1.4 }
.bp-sr-status { position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0 }

@media(min-width:1800px) {
  .bp-board { padding:18px 24px 12px }
  .bp-main { gap:20px }
  .bp-domain-frame { padding:14px 18px 18px }
  .bp-domain-grid { gap:16px }
  .bp-focus-panel { padding:25px 24px 18px }
  .bp-focus-content { gap:12px }
  .bp-focus-stages button { padding:9px 12px;min-height:48px }
  .bp-module-chips { gap:11px }
  .bp-module-chips button { min-height:49px }
  .bp-selection-tag { font-size:13px }
  .bp-map-tools,.bp-layer-control button { font-size:13px }
  .bp-detail-button { font-size:15px;padding:10px 12px }
  .bp-footnote { font-size:12px }
}
@media(max-width:1450px) and (min-width:1101px) {
  .bp-school { padding-left:10px;gap:10px;font-size:21px }
  .bp-school-mark { width:44px;height:44px }
  .bp-header-tools { gap:5px;padding-left:10px }
  .bp-nav-menu summary { padding:7px }
  .bp-nav-menu summary span { display:none }
  .bp-phase-control { gap:8px;padding-left:16px }
  .bp-outcome { gap:7px;padding:13px 9px;font-size:22px }
  .bp-outcome>.icon { width:31px;height:31px }
  .bp-outcomes { gap:8px }
  .bp-domain-frame { padding:9px 12px 12px }
  .bp-domain-grid { gap:10px }
  .bp-domain { padding:18px 8px 5px;gap:3px }
  .bp-map-tools { font-size:10px }
  .bp-layer-control { gap:10px }
  .bp-layer-control button { font-size:10px }
  .bp-focus-panel { padding:18px 15px 13px }
  .bp-focus-banner h2 { font-size:38px }
  .bp-focus-banner { padding-top:21px;padding-bottom:12px;margin-bottom:13px }
  .bp-focus-banner .icon { width:40px;height:40px }
  .bp-focus-content { gap:13px }
  .bp-focus-stages button { gap:7px;padding:7px 8px }
  .bp-focus-stages button strong { font-size:17px;padding-right:7px }
  .bp-focus-stages button span { font-size:13px }
  .bp-module-chips { grid-template-columns:repeat(3,minmax(0,1fr));gap:7px }
  .bp-module-chips button { font-size:12px;gap:4px;padding:9px 4px }
  .bp-module-chips .icon { width:16px;height:16px }
  .bp-governance { padding:12px 16px;gap:12px }
  .bp-governance>strong { padding:9px 19px }
}
@media(max-height:820px) and (min-width:1101px) {
  .bp-board { min-height:720px;gap:10px;padding-top:10px;grid-template-rows:auto minmax(0,1fr) 60px 14px }
  .bp-header { grid-template-rows:53px 44px;padding-bottom:8px }
  .bp-header h1 { font-size:40px }
  .bp-architecture { grid-template-rows:112px minmax(0,1fr) 56px;gap:10px }
  .bp-outcomes { min-height:76px }
  .bp-outcome { font-size:22px }
  .bp-domain-icon .icon { width:26px;height:26px }
  .bp-domain strong { font-size:22px }
  .bp-domain.is-selected strong { font-size:26px }
  .bp-domain-goal { font-size:11px;line-height:1.4;min-height:2.8em }
  .bp-domain { gap:3px;padding-top:16px;padding-bottom:5px }
  .bp-focus-panel { padding-top:17px }
  .bp-focus-banner { padding-top:17px;padding-bottom:9px;margin-bottom:10px }
  .bp-focus-banner h2 { font-size:35px }
  .bp-focus-banner .icon { width:35px;height:35px }
  .bp-focus-content { gap:6px }
  .bp-focus-stages h3,.bp-section-heading { margin-bottom:5px }
  .bp-focus-stages button { min-height:32px;padding:4px 7px }
  .bp-focus-stages button strong { font-size:16px }
  .bp-focus-stages button span { font-size:12px }
  .bp-focus-content h3 { font-size:15px }
  .bp-module-chips button { min-height:33px;padding:6px 4px;font-size:12px }
  .bp-focus-status { gap:5px;padding-top:8px }
  .bp-focus-status button { font-size:13px }
  .bp-focus-status button>.icon { width:19px;height:19px }
  .bp-detail-button { padding:5px 9px;font-size:11px }
  .bp-roadmap button { min-height:47px;font-size:20px }
  .bp-governance>strong,.bp-governance>span { font-size:20px }
}
@media(max-width:1100px) {
  .bp-board { height:auto;min-height:100dvh;grid-template-rows:auto auto auto auto;padding:16px;gap:22px }
  .bp-header { grid-template-columns:1fr 1fr;grid-template-rows:auto auto auto;row-gap:18px;padding-bottom:18px }
  .bp-school { grid-column:1;padding:0;font-size:21px;gap:10px }
  .bp-school-mark { width:40px;height:40px }
  .bp-header h1 { grid-column:1/-1;grid-row:2;font-size:43px }
  .bp-header-tools { grid-column:2;grid-row:1;justify-content:flex-end;gap:12px }
  .bp-phase-control { grid-column:2;grid-row:3;padding:0;gap:10px }
  .bp-phase-control button { font-size:20px }
  .bp-header-line { height:12px;left:-16px;width:calc(100% + 32px) }
  .bp-main { grid-template-columns:minmax(0,1fr) 290px;gap:18px }
  .bp-architecture { grid-template-rows:160px auto auto;gap:22px }
  .bp-outcome-section,.bp-domain-section,.bp-road-section { grid-template-columns:1fr;gap:10px }
  .bp-section-label { min-height:0;flex-direction:row;justify-content:flex-start;gap:10px;padding:0;background:none }
  .bp-road-section .bp-section-label { min-height:0 }
  .bp-section-label:before,.bp-section-label:after { display:none }
  .bp-section-label strong { font-size:16px }
  .bp-section-label span { font-size:12px;color:#a7c9dc }
  .bp-outcome-section { grid-template-rows:auto 1fr }
  .bp-outcome-group { min-height:0 }
  .bp-roof { height:20px }
  .bp-outcomes { grid-template-columns:repeat(2,1fr);gap:8px;min-height:0 }
  .bp-outcome { min-height:48px;padding:10px 8px;font-size:16px;gap:8px }
  .bp-outcome>.icon { height:24px;width:24px }
  .bp-support-arrows { display:none }
  .bp-domain-frame { padding:12px }
  .bp-map-tools { flex-wrap:wrap;gap:8px;margin-bottom:12px;font-size:11px }
  .bp-layer-control { gap:14px }
  .bp-layer-control button { font-size:11px }
  .bp-domain-grid { grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(4,minmax(170px,auto));gap:10px }
  .bp-domain { padding:24px 10px 14px;gap:9px }
  .bp-domain strong { font-size:23px }
  .bp-domain.is-selected strong { font-size:28px }
  .bp-domain-icon .icon { width:34px;height:34px }
  .bp-domain-goal { font-size:13px }
  .bp-focus-panel { align-self:start;position:sticky;top:16px;padding:19px 14px 14px;max-height:calc(100dvh - 32px) }
  .bp-focus-banner h2 { font-size:32px }
  .bp-focus-banner .icon { width:33px;height:33px }
  .bp-focus-banner>div { gap:13px }
  .bp-focus-label { font-size:16px }
  .bp-focus-content { gap:16px }
  .bp-focus-content h3 { font-size:16px }
  .bp-focus-stages button { padding:7px;gap:7px }
  .bp-focus-stages button strong { font-size:16px;padding-right:7px }
  .bp-focus-stages button span { font-size:12px }
  .bp-module-chips { grid-template-columns:repeat(2,minmax(0,1fr));gap:7px }
  .bp-module-chips button { font-size:12px;min-height:38px;padding:8px 5px }
  .bp-focus-status button { font-size:13px }
  .bp-roadmap { gap:20px }
  .bp-roadmap button { font-size:14px;padding:10px 6px;gap:5px;min-height:48px }
  .bp-roadmap button:after { right:-15px;width:7px;height:7px;border-width:2px }
  .bp-selection-link { display:none }
  .bp-governance { gap:12px;padding:17px 16px }
  .bp-governance>strong,.bp-governance>span { font-size:16px }
  .bp-governance>strong { padding:7px 15px }
  .bp-governance>span { gap:8px }
  .bp-governance .icon { width:23px;height:23px }
}
@media(max-width:760px) {
  .bp-board { padding:12px;gap:22px }
  .bp-header { grid-template-columns:1fr;grid-template-rows:repeat(4,auto);gap:13px;padding-bottom:18px }
  .bp-school { grid-column:1;grid-row:1;font-size:19px;justify-content:center;gap:10px }
  .bp-school-mark { width:35px;height:35px }
  .bp-header h1 { grid-column:1;grid-row:2;font-size:28px;letter-spacing:.035em }
  .bp-header-tools { grid-column:1;grid-row:3;justify-content:center;gap:12px;padding:0 }
  .bp-nav-menu { font-size:12px }
  .bp-nav-menu nav { right:-30px }
  .bp-fullscreen { width:32px;height:32px }
  .bp-phase-control { grid-column:1;grid-row:5;justify-content:center;gap:10px;margin:2px 5px 0 }
  .bp-phase-control button { font-size:18px;padding:7px 12px }
  .bp-header-line { left:-12px;width:calc(100% + 24px);height:12px }
  .bp-main { display:flex;flex-direction:column;gap:28px }
  .bp-architecture { grid-template-rows:auto auto auto;gap:20px }
  .bp-outcome-section { gap:11px }
  .bp-section-label strong { font-size:17px }
  .bp-section-label span { font-size:12px }
  .bp-roof { height:21px }
  .bp-outcome { min-height:61px;font-size:15px;padding:12px 9px;gap:9px;line-height:1.35 }
  .bp-outcome>.icon { width:25px;height:25px }
  .bp-domain-frame { padding:12px 10px 13px }
  .bp-map-tools { flex-direction:column;align-items:flex-start;gap:11px;margin:2px 0 15px;font-size:11px }
  .bp-layer-control { width:100%;justify-content:space-between;gap:6px }
  .bp-layer-control button { font-size:12px;padding:2px 0 5px }
  .bp-domain-grid { gap:10px;grid-template-rows:repeat(4,minmax(183px,auto)) }
  .bp-domain { padding:27px 10px 13px;gap:9px;justify-content:center }
  .bp-domain strong { font-size:21px }
  .bp-domain.is-selected strong { font-size:25px }
  .bp-domain-icon .icon { width:32px;height:32px }
  .bp-domain-goal { font-size:12px;line-height:1.7;min-height:3.4em }
  .bp-selection-tag { font-size:9px;top:7px;right:7px }
  .bp-domain.is-selected .bp-selection-tag { padding:2px 5px }
  .bp-road-section { gap:12px }
  .bp-roadmap { gap:16px }
  .bp-roadmap button { flex-direction:column;gap:3px;font-size:14px;line-height:1.5;min-height:70px;padding:8px 4px }
  .bp-roadmap button strong { font-size:13px }
  .bp-roadmap button i { display:none }
  .bp-roadmap button:after { right:-12px;width:6px;height:6px }
  .bp-focus-panel { position:relative;top:0;width:100%;align-self:auto;max-height:none;padding:22px 20px 20px;scroll-margin-top:12px }
  .bp-focus-banner { margin-bottom:20px }
  .bp-focus-banner h2 { font-size:38px }
  .bp-focus-banner .icon { width:42px;height:42px }
  .bp-focus-content { overflow:visible;gap:22px }
  .bp-focus-content h3 { font-size:17px }
  .bp-focus-stages button { padding:10px;grid-template-columns:40px 1fr;gap:10px;min-height:46px }
  .bp-focus-stages button strong { font-size:17px }
  .bp-focus-stages button span { font-size:13px }
  .bp-module-chips { gap:9px }
  .bp-module-chips button { font-size:13px;min-height:44px;padding:10px 7px }
  .bp-module-chips .icon { width:20px;height:20px }
  .bp-focus-status { gap:12px;padding-top:18px }
  .bp-focus-status button { font-size:15px }
  .bp-focus-status button>.icon { width:22px;height:22px }
  .bp-detail-button { padding:12px;font-size:14px }
  .bp-back-to-map { display:flex;justify-content:center;align-items:center;gap:7px;border:0;color:#bddfeb;background:transparent;font-size:12px;padding:3px }
  .bp-back-to-map .icon { width:15px;height:15px }
  .bp-governance { display:grid;grid-template-columns:1fr 1fr;gap:19px 10px;padding:20px 18px 23px }
  .bp-governance>strong { grid-column:1/-1;justify-self:center;padding:7px 25px;font-size:18px }
  .bp-governance>span { border:0!important;justify-content:flex-start;font-size:14px;gap:9px }
  .bp-governance .icon { width:23px;height:23px }
  .bp-footnote { flex-direction:column;align-items:flex-start;gap:6px;font-size:9px;line-height:1.7 }
}
@media(prefers-reduced-motion:reduce) { .bp-board * { transition:none!important;animation:none!important;scroll-behavior:auto!important } }
@media print { .bp-board { height:auto;min-height:900px;-webkit-print-color-adjust:exact;print-color-adjust:exact }.bp-header-tools .bp-nav-menu,.bp-fullscreen { display:none }.blueprint-view .workspace { margin:0 } }
/* 第二轮：左侧架构 / 右侧聚焦，阶段控制仅在聚焦区。 */
.bp-v2 { grid-template-rows:auto minmax(0,1fr) 16px }
.bp-v2 .bp-header { grid-template-columns:28% 43% 29%;grid-template-rows:clamp(54px,7.4vh,80px) 48px }
.bp-title-button { border:0;background:none;color:inherit;font:inherit;letter-spacing:inherit;text-shadow:inherit;padding:0 5px;cursor:pointer }
.bp-title-button:hover,.bp-title-button.is-active { color:#c5ffff }
.bp-title-button.is-active { text-decoration:underline;text-decoration-color:#65cbd5;text-underline-offset:12px;text-decoration-thickness:2px }
.bp-view-switch { display:flex;gap:8px;justify-content:flex-end;grid-column:3;z-index:1 }
.bp-view-switch button { background:#0d3046;border:1px solid #469db8;color:#d6ecf5;border-radius:6px;padding:8px 18px;font-size:16px;font-weight:600 }
.bp-view-switch .is-active { background:#8af6f6;color:#062538;border-color:#b7ffff }
.bp-v2 .bp-main { grid-template-columns:repeat(2,minmax(0,1fr));gap:18px }
.bp-v2 .bp-architecture { grid-template-rows:clamp(125px,17vh,180px) minmax(0,1fr) 76px;gap:18px }
.bp-v2 .bp-outcome-section,.bp-v2 .bp-domain-section { grid-template-columns:clamp(92px,7.5vw,130px) minmax(0,1fr);gap:10px }
.bp-v2 .bp-outcome { font-size:clamp(17px,1.5vw,26px);gap:8px;padding:12px 7px }
.bp-v2 .bp-outcome>.icon { width:30px;height:30px;flex-shrink:0 }
.bp-v2 .bp-domain { padding:22px 10px 12px;gap:8px }
.bp-v2 .bp-domain strong { font-size:clamp(21px,1.7vw,31px) }
.bp-v2 .bp-domain.is-selected strong { font-size:clamp(25px,2vw,37px) }
.bp-v2 .bp-domain-goal { font-size:clamp(12px,.88vw,16px);line-height:1.6 }
.bp-v2 .bp-domain.is-related { background:#174a60;border-color:#9feef4;box-shadow:inset 0 0 0 1px #71c7d8 }
.bp-v2 .bp-governance { padding:12px 16px;gap:10px }
.bp-v2 .bp-governance>strong { font-size:clamp(16px,1.35vw,24px);padding:7px 17px }
.bp-v2 .bp-governance>button { display:flex;align-items:center;justify-content:center;gap:7px;flex:1;min-width:0;border:1px solid transparent;border-radius:5px;color:#d9f3fc;background:transparent;padding:10px 3px;font-size:clamp(14px,1.2vw,22px);white-space:nowrap }
.bp-v2 .bp-governance>button:hover { border-color:#8af6f6;background:#16475a }
.bp-v2 .bp-governance>button.is-active { background:#8af6f6;color:#052639;border-color:#c1ffff }
.bp-v2 .bp-governance .icon { width:24px;height:24px;flex-shrink:0 }
.bp-v2 .bp-focus-panel { padding:20px 16px 15px }
.bp-v2 .bp-focus-banner { padding:20px 12px 12px;margin-bottom:12px }
.bp-v2 .bp-focus-banner h2 { font-size:clamp(23px,2vw,37px);white-space:normal;text-align:center;line-height:1.35;text-wrap:balance;overflow-wrap:anywhere }
.bp-v2 .bp-focus-banner .icon { width:34px;height:34px;flex-shrink:0 }
.bp-v2 .bp-focus-label { font-size:16px }
.bp-v2 .bp-focus-content { gap:18px;scrollbar-gutter:stable;padding-right:6px }
.bp-v2 .bp-focus-content h3 { font-size:17px }
.bp-v2 h3 small { font-size:11px;font-weight:400;color:#b4d5e4;margin-left:6px }
.bp-focus-description { font-size:12px;color:#bad8e7;line-height:1.6;margin:0 }
.bp-v2 .bp-focus-stages button { grid-template-columns:78px 1fr;gap:10px;padding:8px;min-height:58px }
.bp-v2 .bp-focus-stages button strong { font-size:19px }
.bp-v2 .bp-focus-stages button strong small { display:block;font-size:10px;font-weight:400;line-height:1.5 }
.bp-v2 .bp-focus-stages button span { font-size:13px;line-height:1.65 }
.bp-budget { background:#0c3546;border:1px solid #4694a7;border-radius:7px;padding:13px }
.bp-budget>div:first-child { display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap }
.bp-budget span { font-size:12px;color:#c4e0e9 }
.bp-budget strong { font-size:24px;color:#a5ffff;line-height:1.4 }
.bp-budget p { font-size:11px;line-height:1.7;color:#c1dbe6;margin:6px 0 }
.bp-budget-total { display:flex;justify-content:space-between;gap:10px;padding-top:7px;margin-top:7px;border-top:1px solid #346274;font-size:14px }
.bp-budget summary { color:#abeeee;font-size:11px;cursor:pointer;margin-top:9px }
.bp-budget a { color:#9df5f4;text-decoration:underline;text-underline-offset:3px }
.bp-budget .outcome-budget-table { font-size:12px;table-layout:fixed }
.bp-budget .outcome-budget-table th:first-child { width:42% }
.bp-budget .outcome-budget-table th,.bp-budget .outcome-budget-table td { padding:7px 3px;border-color:#346274;color:#e0f2f7;background:transparent }
.bp-budget .outcome-budget-table caption { color:#e0f2f7;font-size:13px }
.bp-budget .outcome-budget-table caption span { color:#c4e0e9 }
.bp-budget .outcome-budget-table thead th { color:#c4e0e9;font-size:11px;font-weight:400 }
.bp-budget .outcome-budget-table tfoot { background:#144958 }
.bp-budget .outcome-budget-table tfoot td,.bp-budget .outcome-budget-table tfoot th { color:#b5ffff }
.bp-budget-attribution { border-top:1px solid #346274;padding-top:8px }
.bp-v2 .bp-deliverables ul { list-style:disc;margin:10px 0 0;padding-left:20px }
.bp-deliverables li { font-size:13px;line-height:1.8;margin-bottom:8px;color:#deeff6 }
.bp-responsibilities p { font-size:12px;line-height:1.8;margin:8px 0;color:#bddbe8 }
.bp-dept-chips { display:flex;flex-wrap:wrap;gap:6px }
.bp-dept-chips button { font-size:11px;background:#0c2c41;color:#cdebf4;border:1px solid #3e728b;padding:5px 8px;border-radius:4px;text-align:left }
.bp-dept-chips button:hover { border-color:#b2ffff;color:#b2ffff }
.bp-work-list { display:flex;flex-direction:column;gap:6px }
.bp-work-list button { display:grid;grid-template-columns:1fr auto 14px;align-items:center;gap:8px;padding:10px;background:#0c2e42;border:1px solid #315d75;border-radius:5px;color:#e3f4fa;text-align:left;font-size:13px }
.bp-work-list button small { max-width:125px;color:#b3d4e3;font-size:10px }
.bp-work-list .icon { width:14px;height:14px }
.bp-work-list button:hover { background:#155367;border-color:#99e6e8 }
.bp-v2 .bp-focus-status { margin:0 }
.bp-v2 .bp-focus-actions { margin-top:12px }
.bp-v2 .bp-architecture.bp-dept-mode { grid-template-rows:minmax(0,1fr) 76px }
.bp-department-section { display:flex;flex-direction:column;gap:14px;position:relative;isolation:isolate;min-height:0;padding:20px 16px 12px;background:#082537 }
.bp-dept-heading { display:flex;justify-content:space-between;align-items:center;gap:10px }
.bp-dept-heading h2 { font-size:22px;color:#e4f6fc }
.bp-dept-heading>span { font-size:11px;color:#b8dce8 }
.bp-dept-filters { display:flex;gap:7px;flex-wrap:wrap }
.bp-dept-filters button { padding:5px 10px;color:#c1dfeb;border:1px solid #396d86;background:#0a2c40;border-radius:4px;font-size:12px }
.bp-dept-filters .is-active { background:#8af6f6;color:#073043 }
.bp-department-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;overflow:auto;min-height:0;align-content:start;scrollbar-width:thin;padding:3px }
.bp-department { min-width:0;min-height:137px;display:flex;flex-direction:column;gap:7px;border:1px solid #377d98;border-radius:7px;background:#0e354b;color:#e6f6fc;padding:12px;text-align:left }
.bp-department strong { font-size:17px;line-height:1.5;overflow-wrap:anywhere }
.bp-department>span { font-size:11px;color:#b8d8e4 }
.bp-department small { font-size:11px;line-height:1.6;color:#b7d2e0 }
.bp-department .bp-dept-category { font-size:10px }
.bp-department.is-selected { color:#062a3a;background:#92f4f2;border-color:#cdffff }
.bp-department.is-selected>span,.bp-department.is-selected small { color:#123e4c }
.bp-map-hint { font-size:11px;line-height:1.6;color:#bdd6e4;margin:0 }
@media(min-width:1101px) and (max-width:1450px) {
 .bp-v2 .bp-outcome { gap:5px;font-size:17px }
 .bp-v2 .bp-outcome>.icon { width:24px;height:24px }
 .bp-v2 .bp-section-label strong { font-size:17px }
 .bp-v2 .bp-governance>button { font-size:13px;gap:4px }
 .bp-v2 .bp-governance .icon { width:19px;height:19px }
 .bp-v2 .bp-governance>strong { padding:6px 10px;font-size:16px }
 .bp-v2 .bp-governance { gap:5px;padding:10px }
 .bp-v2 .bp-header h1 { font-size:3.3vw }
 .bp-v2 .bp-department-grid { grid-template-columns:repeat(2,minmax(0,1fr)) }
}
@media(max-height:820px) and (min-width:1101px) {
 .bp-v2 .bp-header { grid-template-rows:48px 40px }
 .bp-v2 .bp-architecture { grid-template-rows:110px minmax(0,1fr) 62px;gap:12px }
 .bp-v2 .bp-architecture.bp-dept-mode { grid-template-rows:minmax(0,1fr) 62px }
 .bp-v2 .bp-focus-banner h2 { font-size:25px }
 .bp-v2 .bp-outcomes { min-height:66px }
 .bp-v2 .bp-domain { gap:3px;padding:18px 7px 7px }
 .bp-v2 .bp-domain strong { font-size:22px }
 .bp-v2 .bp-domain.is-selected strong { font-size:26px }
 .bp-v2 .bp-domain-goal { font-size:11px;line-height:1.5 }
}
@media(max-width:1100px) {
 .bp-v2 .bp-board { height:auto }
 .bp-v2 .bp-header { grid-template-columns:1fr 1fr;grid-template-rows:auto auto auto }
 .bp-v2 .bp-header h1 { grid-column:1/-1;grid-row:2 }
 .bp-v2 .bp-view-switch { grid-column:2;grid-row:3 }
 .bp-view-switch button { padding:8px 12px;font-size:14px }
 .bp-v2 .bp-architecture { grid-template-rows:170px auto auto;gap:20px }
 .bp-v2 .bp-outcome-section,.bp-v2 .bp-domain-section { grid-template-columns:1fr }
 .bp-v2 .bp-outcome { font-size:16px }
 .bp-v2 .bp-domain { gap:9px }
 .bp-v2 .bp-governance { display:grid;grid-template-columns:repeat(2,1fr);padding:14px }
 .bp-v2 .bp-governance>strong { grid-column:1/-1;justify-self:start }
 .bp-v2 .bp-governance>button { justify-content:flex-start;font-size:15px }
 .bp-v2 .bp-focus-panel { max-height:calc(100dvh - 32px);padding:20px 12px 14px }
 .bp-v2 .bp-focus-banner h2 { font-size:25px }
 .bp-v2 .bp-focus-banner .icon { width:28px;height:28px }
 .bp-v2 .bp-focus-banner>div { gap:8px }
 .bp-v2 .bp-focus-stages button { grid-template-columns:68px 1fr;gap:6px }
 .bp-v2 .bp-focus-stages button span { font-size:12px }
 .bp-v2 .bp-architecture.bp-dept-mode { grid-template-rows:auto auto }
 .bp-department-grid { grid-template-columns:repeat(2,minmax(0,1fr));max-height:none;overflow:visible }
 .bp-dept-heading { flex-direction:column;align-items:flex-start }
}
@media(max-width:760px) {
 .bp-v2 { grid-template-rows:auto auto auto }
 .bp-v2 .bp-header { grid-template-columns:1fr;grid-template-rows:repeat(4,auto) }
 .bp-v2 .bp-header h1 { grid-column:1;grid-row:2;font-size:27px }
 .bp-v2 .bp-view-switch { grid-column:1;grid-row:4;justify-content:center }
 .bp-v2 .bp-main { display:flex }
 .bp-v2 .bp-architecture { grid-template-rows:auto auto auto }
 .bp-v2 .bp-domain strong { font-size:21px }
 .bp-v2 .bp-outcome { font-size:15px }
 .bp-v2 .bp-focus-panel { max-height:none;padding:22px 17px 17px }
 .bp-v2 .bp-focus-content { overflow:visible;scrollbar-gutter:auto;padding:0 }
 .bp-v2 .bp-focus-banner h2 { font-size:28px }
 .bp-v2 .bp-governance { grid-template-columns:repeat(2,1fr) }
 .bp-v2 .bp-governance>button { font-size:16px;padding:10px }
 .bp-budget strong { font-size:23px }
 .bp-v2 .bp-work-list button { grid-template-columns:1fr 90px 14px }
 .bp-department-grid { gap:8px }
 .bp-department { padding:10px }
 .bp-department strong { font-size:15px }
 .bp-v2 .bp-footnote { height:auto }
}
.bp-more-work summary{cursor:pointer;padding:10px;font-size:12px;color:#a6eeee;border:1px dashed #407c90;border-radius:4px;margin-bottom:8px}.bp-role-summary{display:flex;align-items:center;gap:12px;flex-wrap:wrap;color:#badde9;font-size:12px}.bp-role-summary b{color:#a4ffff;font-size:16px}.bp-role-summary a{color:#a2eeee;text-decoration:underline;text-underline-offset:3px}.bp-responsibilities{scroll-margin-top:8px}

/* The environment drill-down is part of the same two-column blueprint. */
.bp-env-intro,.bp-env-chart,.bp-env-path,.bp-env-support {flex:none;min-width:0}
.bp-env-intro p {margin:0;color:#c2dce7;font-size:14px;line-height:1.8}
.bp-env-chart {--tree-line:#589caa;padding:15px 20px 17px;border:1px solid #376076;background:#082c3e;border-radius:8px}
.bp-env-chart-heading,.bp-env-path {display:flex;gap:8px 16px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.bp-env-chart-heading small,.bp-env-path a {font-size:12px;color:#bfdde7}
.bp-env-root {position:relative;width:max-content;max-width:100%;margin:14px auto 16px;display:flex;align-items:center;justify-content:center;gap:8px;border:1px solid #6de1df;background:#175064;color:#e3ffff;padding:7px 20px;border-radius:5px;font-size:17px;font-weight:700}
.bp-env-root .icon {width:21px;height:21px}
.bp-env-root::after {content:'';position:absolute;top:100%;left:50%;height:16px;border-left:1px solid var(--tree-line)}
.bp-env-chart {container-type:inline-size}
.bp-env-families {position:relative;list-style:none;padding:10px 0 0;margin:0}
.bp-env-families::before {content:'';position:absolute;top:0;left:4px;right:50%;border-top:1px solid var(--tree-line)}
.bp-env-family {position:relative;display:grid;grid-template-columns:minmax(97px,24%) minmax(0,1fr);align-items:center;column-gap:16px;padding:4px 0 4px 16px;min-width:0}
.bp-env-family::before {content:'';position:absolute;left:4px;top:0;bottom:0;border-left:1px solid var(--tree-line)}
.bp-env-family:first-child::before {top:-10px}.bp-env-family:last-child::before {bottom:50%}
.bp-env-family::after {content:'';position:absolute;left:4px;top:50%;width:12px;border-top:1px solid var(--tree-line)}
.bp-env-family h4 {position:relative;display:flex;align-items:center;gap:7px;min-width:0;margin:0;padding:10px 8px;border-radius:5px;background:#123f52;border:1px solid #518a9a;color:#deffff;font-size:14px;line-height:1.5}
.bp-env-family h4 .icon {width:18px;height:18px;flex:none;color:#92dfe3}.bp-env-family h4::after {content:'';position:absolute;left:100%;top:50%;width:17px;border-top:1px solid var(--tree-line)}
.bp-env-items {position:relative;display:flex;align-items:stretch;flex-wrap:wrap;gap:5px;list-style:none;margin:0;padding:3px 0 3px 9px;border-left:1px solid var(--tree-line)}
.bp-env-items>li {display:flex;min-width:0;margin:0;padding:0}.bp-env-node {display:block;width:100%;min-height:31px;text-align:left;padding:5px 9px;background:#103346;border:1px solid #397589;border-radius:4px;color:#e5f7fc;cursor:pointer;font-size:13px;line-height:1.45}
.bp-env-node:hover,.bp-env-node:focus-visible {border-color:#9aefec;background:#185269;color:white}
@container (min-width:416px){
 .bp-env-family[data-area-module] {grid-template-columns:minmax(132px,32%) minmax(0,1fr)}
 .bp-env-family[data-area-module] .bp-env-items {display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
 .bp-env-family[data-area-module] .bp-env-node {min-height:34px}
}
.bp-env-current {margin-left:8px;padding-left:9px;border-left:1px solid #497889;color:#e2f7fa;font-size:13px;font-weight:650}
.bp-env-scope,.bp-env-basis {min-width:0}
.bp-env-scope h3,.bp-env-basis h3 {margin:0}
.bp-env-scope>p,.bp-env-basis>p {margin:6px 0 12px;color:#c2dce7;font-size:14px;line-height:1.8}
.bp-outline-number {color:#91e7e5;font-variant-numeric:tabular-nums;white-space:nowrap}
.bp-focus-content h3:has(>.bp-outline-number) {margin:0 0 10px;padding:5px 10px;border-left:3px solid #71d9d4;background:#12394a;color:#f0fbff;font-size:18px;line-height:1.45}
.bp-env-subsection,.bp-env-peers article:has(.bp-outline-number) {margin-inline-start:clamp(6px,1vw,14px)}
.bp-env-subsection {padding:10px 0;border-top:1px solid #315768}
.bp-env-subsection h4 {display:inline;margin:0;color:#dcf7f7;font-weight:650;font-size:15px;line-height:1.6}
.bp-env-clause {display:inline-block;margin-left:6px;color:#abcbd5;font-size:12px}
.bp-env-subsection p {margin:4px 0 0;color:#c9e0e9;font-size:14px;line-height:1.75}
.bp-env-subsection summary,.bp-env-subsection a {color:#9de5e5;font-size:13px}
.bp-env-subsection summary {cursor:pointer}.bp-env-subsection a {display:inline-block;margin-right:10px}
.bp-env-basis b {color:#b1e9e8}
.bp-env-timeline .bp-env-numbered-stage {display:block;margin-inline-start:clamp(6px,1vw,14px);padding:12px 0;border-top:1px solid #315768}
.bp-env-timeline .bp-env-numbered-stage::before {display:none}
.bp-env-stage-body .bp-env-results {list-style:none;margin-block:10px;padding:0 0 0 12px;border-left:1px solid #356978}
.bp-env-results h5 {margin:0;color:#d4edee;font-size:14px;line-height:1.65}
.bp-env-results p {margin:2px 0}.bp-env-results li+li {margin-top:10px}
 .bp-env-family h4 small {display:block;color:#b4d7df;font-size:11px;font-weight:500}
@container (min-width:416px) and (max-width:670px){.bp-env-family h4 .icon {display:none}.bp-env-family h4 {padding:8px 6px}.bp-env-node {padding-inline:7px}.bp-env-root {margin-top:7px}.bp-env-items {gap:4px}}
@container (max-width:415px){
 .bp-env-family {grid-template-columns:1fr;gap:0;padding-top:8px;padding-bottom:8px}.bp-env-family::after {top:25px}.bp-env-family:last-child::before {bottom:calc(100% - 25px)}
 .bp-env-family h4 {justify-self:start;padding:5px 10px}.bp-env-family h4::after {display:none}
 .bp-env-items {margin-left:15px;padding:7px 0 2px 10px}.bp-env-node {min-height:36px;padding:6px 9px}
}
.bp-env-path button {border:0;background:transparent;padding:3px 0;color:#92ece8;text-decoration:underline;text-underline-offset:3px;cursor:pointer;font:inherit}
.bp-env-path {font-size:13px}.bp-env-path a,.bp-env-peers a {color:#a4efef;text-decoration:underline;text-underline-offset:3px}
.bp-env-roadmap>h3,.bp-env-peers>h3 {margin:0 0 12px}
.bp-env-timeline {list-style:none;margin:0;padding:0}.bp-env-stage {position:relative;display:grid;grid-template-columns:72px minmax(0,1fr);gap:14px;margin:0;padding:0 0 16px}
.bp-env-stage:last-child {padding:0}.bp-env-stage:not(:last-child)::before {content:'';position:absolute;top:42px;bottom:0;left:35px;border-left:1px solid #47788a}
.bp-env-milestone {align-self:start;position:relative;text-align:center;color:#adf3f1;padding:6px 3px;background:#123f50;border:1px solid #467e8e;border-radius:5px}
.bp-env-milestone strong,.bp-env-milestone small {display:block}.bp-env-milestone strong {font-size:16px}.bp-env-milestone small {font-size:11px;color:#c3dde5;line-height:1.6}
.bp-env-stage-body h4,.bp-env-peers h4 {margin:0;font-size:16px;color:#f0faff;line-height:1.6}.bp-env-stage-body>p,.bp-env-peers p {color:#d0e5ef;font-size:14px;line-height:1.8;margin:4px 0 6px}
.bp-env-stage-body summary,.bp-env-support>summary {color:#96e8e8;font-size:13px;cursor:pointer;padding:5px 0;line-height:1.5}
.bp-env-stage-body details[open] {background:#0b3042;border-radius:6px;padding:6px 12px}.bp-env-stage-body ol {margin:4px 0 8px;padding-left:22px;list-style:decimal}
.bp-env-stage-body ol li,.bp-env-verify {font-size:13px;line-height:1.75;color:#d7e9ef}.bp-env-verify b {color:#a6e9e9}
.bp-env-peers article {padding:12px 0;border-top:1px solid #345e70}.bp-env-peers small {color:#b9d7e4;font-size:12px}.bp-env-peers a {font-size:13px}.bp-env-peers .bp-env-comparison {font-size:12px;color:#bdd6df}
.bp-env-support {border-top:1px solid #386174;margin-top:2px}.bp-env-support>summary {padding:12px 0}.bp-env-support>div {display:grid;gap:18px}
@media(min-width:1101px) and (max-width:1550px){
 .bp-v2 .bp-outcome-section,.bp-v2 .bp-domain-section {grid-template-columns:77px minmax(0,1fr);gap:7px}
 .bp-v2 .bp-section-label strong {font-size:15px}.bp-v2 .bp-section-label span {font-size:12px}
 .bp-v2 .bp-outcome {font-size:15px;gap:4px;padding:8px 4px}.bp-v2 .bp-outcome>.icon {width:20px;height:20px}
 .bp-v2 .bp-domain-grid,.bp-v2 .bp-outcomes {gap:7px}.bp-v2 .bp-domain {padding-left:5px;padding-right:5px}.bp-v2 .bp-domain strong {font-size:20px}.bp-v2 .bp-domain.is-selected strong {font-size:23px}
 .bp-v2 .bp-map-tools {gap:4px}.bp-v2 .bp-domain-frame {padding-left:9px;padding-right:9px}
}
@media(max-width:1100px){.bp-env-chart {padding:12px}.bp-env-stage {grid-template-columns:58px minmax(0,1fr);gap:10px}.bp-env-stage:not(:last-child)::before {left:28px}}
@media(max-width:760px){.bp-env-chart {padding:12px 8px}.bp-env-node {min-height:44px}.bp-env-chart-heading small {font-size:11px}.bp-env-path button {min-height:40px}}

.bp-env-intro h3 {margin:0 0 6px}
.bp-leadership-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}
.bp-leadership-grid button {display:flex;align-items:center;gap:9px;text-align:left;color:#eaf8ff;background:#103549;border:1px solid #3d768a;border-radius:5px;padding:11px;cursor:pointer}
.bp-leadership-grid button:hover,.bp-leadership-grid button:focus-visible {background:#175064;border-color:#79e2df}
.bp-leadership-grid button>.icon {color:#8adfdc;flex:none;width:18px}
.bp-leadership-grid button>.icon:last-child {width:13px;margin-left:auto}
.bp-leadership-grid small,.bp-leadership-grid strong {display:block;line-height:1.55}
.bp-leadership-grid small {color:#aed8e2;font-size:12px}.bp-leadership-grid strong {font-size:14px}
.bp-focus-content .bp-eval-caption {margin:10px 0 0;color:#a8cdda;font-size:12px;text-align:right}
.bp-env-chart-heading a,.bp-source-links a {color:#9de8e5;font-size:12px;text-decoration:underline;text-underline-offset:3px}
.bp-source-links {display:flex;flex-wrap:wrap;gap:5px 15px}
.bp-planning-basis p {color:#c2dce7;line-height:1.75;font-size:14px}
.bp-indicators {padding-left:1.5em;line-height:1.85;color:#e5f5fa}
.bp-indicators li::marker {color:#7ed3d2}
.bp-leadership-results {list-style:none;display:grid;gap:11px;padding:0;margin:0}
.bp-leadership-results li {display:grid;grid-template-columns:6em 1fr;gap:10px;line-height:1.7;color:#d0e6ed}
.bp-leadership-results b {color:#a0e7e3}
@container (max-width:430px){.bp-leadership-grid {grid-template-columns:1fr}.bp-leadership-results li {grid-template-columns:1fr;gap:2px}}
@media(min-width:1101px) and (max-height:820px){.bp-env-chart {padding-block:10px}.bp-env-root {margin-top:7px;padding-block:5px}.bp-env-family {padding-block:4px}.bp-env-node {min-height:28px;padding-block:4px}}
.bp-linked-entry { display:inline-flex;align-items:center;gap:.35em;white-space:nowrap;border:1px solid #53bbdd;border-radius:5px;padding:.34em .65em;color:#bef6ff;background:#103d58;text-decoration:none;font-size:14px;font-weight:650 }
.bp-linked-entry svg { width:1em;height:1em }
.bp-linked-entry:hover,.bp-linked-entry:focus-visible { background:#195b78;color:white }
@media print { .bp-linked-entry { display:none } }
