
    :root{color-scheme:light;--ink:#172b3e;--muted:#637386;--line:#dce5ed;--background:#f5f7fa;--paper:#fff;--blue:#2865ce;--teal:#088a80;--orange:#d87829;--purple:#8751bb;--co2:#687889;--raw:#9aa8b5}
    *{box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;margin:0;color:var(--ink);background:var(--background)}
    button,input{font:inherit}button{cursor:pointer}a{color:#2563b7}button:focus-visible,input:focus-visible,[tabindex]:focus-visible{outline:3px solid #70a8f4;outline-offset:3px}
    .shell{max-width:1640px;margin:0 auto;padding:0 28px 38px}.mast{background:linear-gradient(115deg,#102237 0%,#16374b 56%,#1d4b50 100%);color:white;position:relative;overflow:hidden}.mast::after{content:'';position:absolute;right:-90px;top:-180px;width:530px;height:530px;border:1px solid #d9fdff22;border-radius:50%;box-shadow:0 0 0 70px #c0e0f006,0 0 0 140px #c0e0f007;pointer-events:none}.mast .shell{padding-top:31px;padding-bottom:36px;position:relative;z-index:1}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:2.1px;font-weight:760;color:#9bd9d4;margin-bottom:12px}.mast h1{font-size:clamp(29px,4vw,46px);letter-spacing:-1.3px;line-height:1.14;margin:0 0 13px;font-weight:800}.mast p{font-size:15px;color:#c7d9e4;max-width:760px;line-height:1.65;margin:0}.mast .context{display:flex;gap:8px;flex-wrap:wrap;margin-top:21px}.context span{font-size:11px;border-radius:6px;border:1px solid #d9ebf124;background:#ffffff08;padding:8px 10px;color:#cfdee9}
    .sectionbar{display:flex;justify-content:space-between;align-items:center;gap:15px;flex-wrap:wrap;margin:26px 0 12px}.sectionbar h2{margin:0;font-size:19px;letter-spacing:-.5px}.sectionbar p{font-size:12px;color:var(--muted);margin:4px 0 0}.actionset{display:flex;gap:8px;flex-wrap:wrap}.plain-btn{background:var(--paper);border:1px solid var(--line);border-radius:9px;color:var(--ink);padding:9px 13px;font-weight:650;font-size:12px;display:flex;align-items:center;gap:7px;box-shadow:0 1px 2px #173a5010}.plain-btn:hover{border-color:#9ab5d1;background:#f9fcff}.plain-btn.strong{background:#154b5b;color:white;border-color:#154b5b}.plain-btn.strong:hover{background:#0f3c48}
    .toolbar{background:white;border:1px solid var(--line);border-radius:13px 13px 0 0;padding:15px 17px}.toolbar .line1{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.toolbar label{font-size:11px;font-weight:750;color:var(--muted);text-transform:uppercase;letter-spacing:.65px}.toolbar .text-field{height:35px;min-width:205px;padding:0 11px;border:1px solid var(--line);background:#fbfcfd;border-radius:8px;color:var(--ink);font-size:12px}.pillbox{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}.pill{font-size:11.5px;font-weight:700;color:#435567;background:#f5f7fa;border:1px solid #e2e8f0;border-radius:20px;padding:8px 12px}.pill:hover{border-color:#a8bbd1}.pill.selected{color:#fff;background:#17485c;border-color:#17485c}.pill .dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:6px;vertical-align:1px;background:var(--c,#98a3b0)}
    .workbench{display:grid;grid-template-columns:minmax(0,1fr) 328px;border:1px solid var(--line);border-top:0;background:white;min-height:710px}.graph-wrap{position:relative;min-width:0;background:#f8fafc}.graph-head{position:absolute;z-index:2;top:11px;left:11px;right:11px;display:flex;align-items:flex-start;justify-content:space-between;gap:10px;pointer-events:none}.graph-tip{padding:8px 11px;background:#fffef6eb;border:1px solid #e7dfbd;border-radius:8px;font-size:11px;color:#716b4d;box-shadow:0 2px 4px #00000007}.graph-scroll{width:100%;height:710px;overflow:auto;scrollbar-width:thin;scrollbar-color:#bfccd7 transparent}.graph-scroll svg{display:block;max-width:none;user-select:none}.graph-scroll .column{fill:white;stroke:#e3eaf1;stroke-width:1}.graph-scroll .coltitle{fill:#5b6c7e;font-size:13px;font-weight:800;letter-spacing:.4px}.graph-scroll .colsub{fill:#8795a4;font-size:10px}.node{cursor:pointer}.node rect{fill:#fff;stroke:#dce5ed;stroke-width:1.3;transition:stroke-width .13s,stroke .13s,fill .13s}.node:hover rect,.node:focus-visible rect{stroke:#528ad5;stroke-width:2}.node.active rect{stroke:#2364c7;stroke-width:2.7;fill:#edf5ff}.node text{pointer-events:none}.node .nt{font-size:12.4px;font-weight:720;fill:#24394c}.node .ns{font-size:10.1px;fill:#738295}.node .ni{font-size:18px}.edge{fill:none;stroke-linecap:round;stroke-linejoin:round;transition:opacity .15s,stroke-width .15s}.phase-name{font-size:10px;fill:#95a3b2;letter-spacing:1.8px;font-weight:760}
    .inspector{border-left:1px solid var(--line);padding:19px 19px 20px;min-width:0;overflow:auto;max-height:710px}.inspector .tiny{font-size:10px;color:#76879a;text-transform:uppercase;letter-spacing:1.25px;font-weight:800}.inspector .headrow{display:flex;gap:12px;align-items:flex-start;margin:13px 0}.inspector .large-icon{font-size:28px;background:#ecf3f7;display:grid;place-items:center;width:51px;height:51px;border-radius:11px;flex-shrink:0}.inspector h3{margin:0 0 5px;font-size:18px;line-height:1.3;letter-spacing:-.35px}.inspector .type{font-size:11px;color:#687a90;font-weight:650}.inspector .copy{font-size:12px;line-height:1.7;color:#40576a;margin:13px 0 15px}.detailbox{padding:12px;background:#f7f9fb;border:1px solid #e4eaf0;border-radius:9px;margin-bottom:9px}.detailbox h4{margin:0 0 6px;font-size:10px;text-transform:uppercase;letter-spacing:.9px;color:#738397}.detailbox p{margin:0;font-size:11.5px;line-height:1.55}.detailbox.exo{border-left:3px solid #4d83d3}.detailbox.endo{border-left:3px solid #1aa090}.detailbox.connections{border-left:3px solid #afbccb}.conn{display:flex;flex-wrap:wrap;gap:5px}.conn button{border:1px solid #d8e0e9;background:white;border-radius:5px;padding:4px 6px;color:#48627b;font-size:10px}.conn button:hover{background:#edf5ff}
    .graph-foot{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap;padding:11px 15px;border:1px solid var(--line);border-top:0;border-radius:0 0 13px 13px;background:white}.legend{display:flex;flex-wrap:wrap;gap:8px 16px}.legend span{font-size:10.5px;color:#67788a;display:flex;align-items:center;gap:6px}.legend i{height:3px;width:18px;background:var(--c);border-radius:3px}.zoom{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:680;color:#607286}.zoom input{width:105px;accent-color:#205fba}.zoom-num{min-width:37px;text-align:right}
    .explanation{display:grid;grid-template-columns:1fr 1fr 1fr;gap:13px;margin-top:20px}.expl-card{background:white;border:1px solid var(--line);border-radius:13px;padding:18px;min-width:0}.expl-card .num{font-size:11px;letter-spacing:1.1px;color:#7890a3;font-weight:800}.expl-card h3{font-size:15px;margin:10px 0 8px}.expl-card p{font-size:12px;line-height:1.62;color:#607386;margin:0}.sources{font-size:11px;color:#7c8a9a;margin-top:17px;line-height:1.7}.sources a{color:#477596}.footer{margin-top:24px;font-size:11px;color:#8291a0}.status{font-size:11px;color:#16856b;min-height:12px}.small-screen-note{display:none}
    @media(max-width:1100px){.workbench{grid-template-columns:minmax(0,1fr) 275px}.inspector{padding:14px}}
    @media(max-width:760px){.shell{padding-left:13px;padding-right:13px}.mast .shell{padding-top:28px;padding-bottom:30px}.mast h1{font-size:31px}.workbench{grid-template-columns:1fr}.graph-scroll{height:460px}.inspector{max-height:none;border-left:0;border-top:1px solid var(--line);display:block}.explanation{grid-template-columns:1fr}.graph-tip{display:none}.small-screen-note{display:block;font-size:11px;color:#76879a}.toolbar .text-field{min-width:0;width:100%}.toolbar .line1{align-items:stretch}.actionset{width:100%}.sectionbar{margin-top:20px}}
    @media print{.mast{print-color-adjust:exact}.toolbar,.graph-head,.graph-foot,.inspector,.actionset{display:none}.workbench{display:block}.graph-scroll{height:auto;overflow:visible}.graph-scroll svg{width:100%!important;height:auto!important}.explanation{break-inside:avoid}body{background:white}}
  
    /* Technology-learning inventory */
    .learning-section{margin-top:29px;scroll-margin-top:20px}
    .learning-hero{background:linear-gradient(108deg,#15344b 0%,#1d4f5b 100%);border-radius:15px 15px 0 0;padding:23px 24px;color:white;display:flex;justify-content:space-between;gap:20px;align-items:flex-start}
    .learning-eyebrow{font-size:10px;letter-spacing:1.55px;text-transform:uppercase;font-weight:800;color:#9bcfcf;margin-bottom:8px}
    .learning-hero h2{font-size:24px;letter-spacing:-.65px;line-height:1.2;margin:0 0 10px}
    .learning-hero p{font-size:13px;color:#d3e1e7;line-height:1.66;margin:0;max-width:930px}
    .learning-hero .learning-icon{font-size:35px;opacity:.9;flex-shrink:0}
    .learning-overview{background:white;border:1px solid var(--line);border-top:0;padding:19px 22px}
    .learning-overview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}
    .learning-metric{background:#f6f9fb;border:1px solid #dfe9ef;border-radius:11px;padding:14px 15px}
    .learning-metric strong{display:block;font-size:12px;margin-bottom:5px;letter-spacing:-.1px}
    .learning-metric p{font-size:11px;color:#64778a;margin:0;line-height:1.6}
    .learning-eq{margin-top:13px;border-left:3px solid #2a86a3;background:#f3fafc;padding:11px 15px;border-radius:0 8px 8px 0;font-size:12px;line-height:1.7;color:#40576a}
    .learning-eq code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;background:#e5f1f5;padding:3px 5px;border-radius:4px;white-space:normal}
    .learning-tools{display:flex;gap:12px;flex-wrap:wrap;align-items:center;justify-content:space-between;background:white;border:1px solid var(--line);border-top:0;padding:14px 18px}
    .learning-filters{display:flex;gap:7px;flex-wrap:wrap}
    .learning-filters button{font-size:11px;font-weight:700;padding:7px 11px;border-radius:20px;background:#f6f8fa;color:#536a7e;border:1px solid #e0e6ed}
    .learning-filters button[aria-pressed="true"]{color:white;border-color:#1e5265;background:#1e5265}
    .learning-tools input{width:240px;max-width:100%;font-size:12px;padding:9px 12px;border:1px solid #dbe3eb;border-radius:8px;background:#fbfcfd;color:var(--ink)}
    .learning-tablewrap{border:1px solid var(--line);border-top:0;background:white;overflow:auto}
    .learning-table{width:100%;min-width:790px;border-collapse:collapse;text-align:left}
    .learning-table th{padding:12px 13px;background:#f3f6f8;font-size:10px;letter-spacing:.5px;text-transform:uppercase;color:#607388;border-bottom:1px solid #dfe7ec}
    .learning-table td{padding:11px 13px;border-bottom:1px solid #ebf0f4;font-size:12px;vertical-align:middle;line-height:1.5}
    .learning-table tr:last-child td{border-bottom:0}.learning-table tr:hover td{background:#fafcfe}
    .learning-table .pbadge{display:inline-flex;align-items:center;gap:6px;font-size:10px;font-weight:760;border-radius:6px;padding:5px 7px;white-space:nowrap}
    .learning-table .pbadge.p1{background:#e7f5ef;color:#147354}.learning-table .pbadge.p2{background:#fff3dc;color:#96621a}.learning-table .pbadge.p3{background:#eef1f5;color:#607184}
    .learning-table .techbtn{display:block;border:0;padding:0;background:transparent;text-align:left;font-size:12px;font-weight:800;color:#253f55;line-height:1.4}
    .learning-table .techbtn:hover{text-decoration:underline;color:#1559a1}
    .learning-table .techgroup{font-size:10px;color:#8b9aa7;margin-top:2px}
    .learning-table .evidence{font-size:10px;font-weight:700;color:#52687e}
    .learning-table .detailrow td{padding:15px 18px 17px;background:#f7fafc!important}
    .learning-table .learning-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
    .learning-table .learning-detail-grid div{font-size:11px;line-height:1.65;color:#465b70}
    .learning-table .learning-detail-grid strong{display:block;margin-bottom:4px;color:#263e52;font-size:10px;text-transform:uppercase;letter-spacing:.4px}
    .learning-detail-note{font-size:11px;color:#52697c;line-height:1.65;margin:9px 0 0}
    .learning-detail-links{font-size:11px;margin-top:10px}
    .learning-detail-links a{display:inline-block;margin-right:14px;font-weight:700}
    .learning-summary{padding:12px 18px;border:1px solid var(--line);border-top:0;background:#f7f9fb;display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:11px;color:#627385;flex-wrap:wrap}
    .learning-export{background:white;border:1px solid #d9e3ea;border-radius:8px;color:#305b79;font-size:11px;padding:8px 10px;font-weight:720}
    .learning-export:hover{background:#eaf4fa}
    .learning-guidance{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:13px 0 0}
    .learning-guidance article{background:white;border:1px solid var(--line);border-radius:11px;padding:16px 18px}
    .learning-guidance h3{font-size:13px;margin:0 0 8px}.learning-guidance p{font-size:12px;line-height:1.67;color:#637589;margin:0}
    .learning-citations{font-size:11px;margin-top:13px;line-height:1.75;color:#64778a}
    .learning-citations a{font-weight:650}
    @media(max-width:760px){.learning-hero{padding:20px 17px}.learning-overview{padding:14px}.learning-overview-grid{grid-template-columns:1fr}.learning-hero h2{font-size:21px}.learning-tools{align-items:stretch}.learning-tools input{width:100%}.learning-guidance{grid-template-columns:1fr}.learning-table .learning-detail-grid{grid-template-columns:1fr}}
    @media print{.learning-tools,.learning-export{display:none}.learning-tablewrap{overflow:visible}.learning-table{min-width:0}.learning-table .detailrow[hidden]{display:none}}
  
.legend .legend-raw{--c:#9aa8b5}
.legend .legend-el{--c:#2865ce}
.legend .legend-heat{--c:#d87829}
.legend .legend-h2{--c:#088a80}
.legend .legend-nh3{--c:#8751bb}
.legend .legend-co2{--c:#687889}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.learning-table .wcol-94{width:94px}
.learning-table .wcol-225{width:225px}
.learning-table .wcol-151{width:151px}
.learning-table .wcol-175{width:175px}
.security-info{margin-top:18px;padding:13px 16px;background:#eaf2f7;border:1px solid #d1e3ed;border-radius:10px;color:#334c5d;font-size:11.5px;line-height:1.65}
