/* Interactive adaptation of public-site/adoption/site/diagram-system.css.
   Public primitives and icons are imported by build.mjs, never rasterized. */
@font-face{font-family:Roobert;src:url('fonts/Roobert-Regular.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Roobert;src:url('fonts/Roobert-SemiBold.woff2') format('woff2');font-weight:600;font-display:swap}
@font-face{font-family:Roobert;src:url('fonts/Roobert-Bold.woff2') format('woff2');font-weight:700;font-display:swap}
body{font-family:Roobert,system-ui,sans-serif}header{border-radius:24px}h1{font-weight:600}
#map.cw-diagram{margin:20px 0;padding:30px 26px;gap:42px;grid-template-columns:minmax(0,1fr) 225px;background:linear-gradient(145deg,white,var(--soft));border-radius:24px;overflow:visible}
#map .layer{display:grid;grid-template-columns:138px minmax(0,1fr);gap:26px;align-items:center;border:0;border-radius:0;box-shadow:none;background:none;padding:0;margin:0 0 48px;position:relative}
#map .layer:last-child{margin-bottom:0}#map .layer-title{display:flex;flex-direction:column;gap:12px;margin:0;text-align:center;position:relative;z-index:3}
#map .layer-hub{width:128px;min-height:128px;border-radius:50%;border:5px solid var(--dg-line);outline:1px solid var(--dg-blue);outline-offset:4px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:15px 9px;background:linear-gradient(145deg,white,var(--soft));box-shadow:0 4px 12px var(--dg-shadow)}
#map .layer-hub b{font-size:11px;letter-spacing:.13em;color:var(--cw-brand);margin-bottom:7px}#map .layer-hub h2{font-size:16px;line-height:1.2;font-weight:600}#map .layer-title>p{font-size:11px;line-height:1.45;max-width:138px;margin:0;color:var(--cw-brand)}
#map .layer-nodes{align-items:stretch;gap:22px;padding-top:25px}
#map .node{display:flex;flex-direction:column;text-align:center;justify-content:flex-start;align-items:center;gap:0;min-height:148px;padding:0 13px 18px;border-radius:22px;border:1px solid var(--dg-line);border-top:3px solid var(--dg-blue);background:linear-gradient(150deg,white,color-mix(in srgb,var(--wwt-blue) 6%,white));box-shadow:0 4px 12px var(--dg-shadow)}
#map .node .cw-diagram__badge{width:52px;height:52px;flex:none;float:none;margin:-28px auto 13px;border:3px solid white;box-shadow:0 0 0 1px var(--dg-line),0 4px 10px var(--dg-shadow);background:linear-gradient(135deg,var(--cw-brand),var(--cw-depth));color:white}
#map .node .cw-diagram__badge svg{width:26px;height:26px;stroke-width:1.5;flex:none}
#map .node .type{font-size:9px;letter-spacing:.06em;color:var(--cw-brand);margin-bottom:8px}#map .node strong{font-size:16px;line-height:1.25;font-weight:600}#map .node-copy>span{font-size:12px;line-height:1.4;color:var(--cw-brand);margin-top:8px}
#map .node.context{border-style:dashed;border-top-style:solid;border-top-color:color-mix(in srgb,var(--cw-brand) 45%,white);background:linear-gradient(145deg,white,var(--soft))}#map .node.context .cw-diagram__badge{background:white;color:var(--cw-brand);box-shadow:0 0 0 1px var(--dg-line),0 3px 8px var(--dg-shadow)}
#map .node.advisory{border-top-color:var(--cw-brand);background:linear-gradient(145deg,white,color-mix(in srgb,var(--cw-brand) 7%,white))}#map .node.advisory .cw-diagram__badge{background:var(--cw-brand)}
#map .node.in-flow{box-shadow:0 4px 12px var(--dg-shadow)}#map .node.muted,#map .node.baseline-out{background:var(--soft);box-shadow:none}#map .node[aria-pressed=true]{outline:2px solid var(--wwt-blue);outline-offset:5px;box-shadow:0 6px 16px var(--dg-shadow)}
#map .crosscut{gap:44px;padding:12px 0 0 20px;border-left:1px solid var(--dg-line)}#map .crosscut>h2{font-size:19px;font-weight:600}#map .crosscut>p{margin:-38px 0 4px;font-size:12px}#map .crosscut .node{min-height:145px}#map .rail-note{margin-top:auto;border:1px solid var(--dg-line);border-radius:20px;background:white;padding:18px;font-size:13px}#map .rail-note p{font-size:12px}
.wire{stroke-width:1.25;stroke-dasharray:3 5;opacity:.6}.selected-wire{stroke-width:2.5;opacity:1}
#collection-choice{margin:24px 0;border-radius:24px}#pattern-detail{border-radius:22px}#pattern-route{padding-top:25px;gap:28px}#pattern-route li.cw-diagram__stage{text-align:center;display:flex;flex-direction:column;align-items:center;padding:0 18px 20px;border-top:3px solid var(--dg-blue);border-radius:22px;font-size:16px;font-weight:600;box-shadow:0 4px 12px var(--dg-shadow)}#pattern-route .cw-diagram__badge{float:none;width:48px;height:48px;flex:none;margin:-25px auto 15px;font-size:17px;font-weight:600}#pattern-route li:not(:last-child):after{content:'';width:24px;height:1px;right:-27px;background:var(--dg-blue)}#pattern-route li:not(:last-child):before{content:'';position:absolute;right:-18px;top:calc(50% - 4px);width:7px;height:7px;border:1px solid var(--dg-blue);border-radius:50%;background:white;z-index:1}
.handoff-panel,.inspector{border-radius:24px}.handoff-grid article,.pattern-grid article{border-top:1px solid color-mix(in srgb,var(--wwt-blue) 24%,white);padding-top:10px}
@media(max-width:1200px){#map.cw-diagram{padding:28px 20px;gap:32px;grid-template-columns:minmax(0,1fr) 195px}#map .layer{grid-template-columns:108px minmax(0,1fr);gap:20px;margin-bottom:42px}#map .layer-hub{width:102px;min-height:102px;padding:12px 6px}#map .layer-hub h2{font-size:14px}#map .layer-nodes{gap:16px}#map .node{padding:0 9px 15px;min-height:155px}#map .node strong{font-size:14px}#map .node-copy>span{font-size:11px}#map .crosscut{padding-left:12px}#map .node .type{font-size:8px}}
@media(max-width:950px){#map.cw-diagram{grid-template-columns:1fr;padding:30px 22px}#map .crosscut{border-left:0;border-top:1px solid var(--dg-line);padding:28px 0 0;gap:42px 24px}#map .crosscut>p{margin:-34px 0 8px}#map .layer{grid-template-columns:125px minmax(0,1fr);gap:22px}#map .layer-hub{width:114px;min-height:114px}#map .layer-hub h2{font-size:15px}#map .node strong{font-size:15px}#map .node .type{font-size:9px}}
@media(max-width:600px){#map.cw-diagram{padding:25px 18px}#map .layer{display:block;margin-bottom:38px;padding-bottom:26px;border-bottom:1px solid var(--dg-line)}#map .layer:last-child{padding-bottom:0;border-bottom:0}#map .layer-title{margin-bottom:30px;gap:14px}#map .layer-hub{width:128px;min-height:128px}#map .layer-hub h2{font-size:17px}#map .layer-title>p{max-width:230px;font-size:12px}#map .layer-nodes{gap:36px;padding-top:0}#map .node{min-height:130px;padding:0 18px 20px}#map .node strong{font-size:18px}#map .node-copy>span{font-size:13px}#map .node .type{font-size:10px}#map .node .cw-diagram__badge{width:48px;height:48px;margin:-24px auto 12px}#map .crosscut{gap:40px}#map .crosscut .node{min-height:130px}#pattern-route{gap:36px}#pattern-route li:not(:last-child):after{width:1px;height:29px;left:50%;right:auto;top:auto;bottom:-30px}#pattern-route li:not(:last-child):before{left:calc(50% - 3px);right:auto;top:auto;bottom:-16px}#pattern-route li{z-index:1}}
@media print{#map.cw-diagram{padding:0;box-shadow:none;background:white}#map .layer{break-inside:avoid;margin-bottom:35px}#map .node{box-shadow:none}#map .crosscut{border-left:0}.layer-hub{box-shadow:none!important}.cw-diagram{break-inside:auto}#collection-choice{border:0;padding:0}}

/* Compact presentation: preserve readable type before reducing stage spacing. */
.mockup-note{font-size:13px!important;color:white}.mockup-note a{color:white;text-underline-offset:3px}
#map .node .cw-diagram__badge{position:relative;z-index:1}#map .node[aria-pressed=true]{outline:none;background:linear-gradient(145deg,white,color-mix(in srgb,var(--wwt-blue) 12%,white));border-color:var(--wwt-blue)}#map .node[aria-pressed=true] .cw-diagram__badge{outline:2px solid var(--wwt-blue);outline-offset:3px}
@media(min-width:951px){#map .node{min-height:126px}#map .layer{margin-bottom:35px}#map .crosscut .node{min-height:135px}}
@media print{.mockup-note{color:var(--cw-brand)}.mockup-note a{color:var(--cw-brand)}}

/* One master architecture, with service-offering viewpoints. */
.controls label{min-width:0}.controls select{max-width:100%}.offering-panel{margin:24px 0;padding:24px;border:1px solid var(--dg-line);border-radius:20px;background:var(--dg-surface,#fff)}
.offering-panel[hidden]{display:none}.offering-panel h2{margin:0 0 12px;color:var(--cw-brand)}#offering-question{font-weight:600;font-size:20px}#offering-stages{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;list-style:none;counter-reset:offering;padding:0;margin:24px 0}#offering-stages li{counter-increment:offering;padding:20px;border:1px solid var(--dg-line);border-radius:16px;background:var(--dg-soft,#f4f8fc)}#offering-stages li:before{content:'0' counter(offering);color:var(--wwt-blue);font-weight:700}#offering-stages h3{font-size:18px}#offering-stages p{line-height:1.55}.offering-outcome{border-left:3px solid var(--wwt-blue);padding-left:20px}#offering-related{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:20px}#offering-related a{display:inline-flex;align-items:center;min-height:44px;padding:8px 12px;border:1px solid var(--dg-line);border-radius:12px;color:var(--cw-brand)}#offering-related a:focus-visible{outline:3px solid var(--wwt-blue);outline-offset:2px}@media(max-width:800px){#offering-stages{grid-template-columns:1fr}.offering-panel{padding:18px}}@media print{.offering-panel{break-inside:auto}#offering-related{display:none}#offering-stages li{break-inside:avoid}.offering-panel .caption{display:block}}
/* Workshop dimensions are distinct from capability type and connector state. */
.dimension-key{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;margin:22px 0 12px;font-size:14px}.dimension-key>p{flex-basis:100%;margin:0;font-size:13px;color:#526077}
.dimension{display:inline-block;border:1px solid currentColor;border-radius:5px;padding:2px 6px;font-size:11px;line-height:1.4;font-weight:600;white-space:nowrap}.dimension.people{color:#1D1E48;background:#EDF0F5}.dimension.process{color:#330072;background:#F2EFF8}.dimension.technology{color:#162FB4;background:#EDF5FC}
#map .node .people-process-tags{display:flex;flex-wrap:wrap;justify-content:center;gap:4px;margin-top:10px}#map .node .dimension{font-size:10px;letter-spacing:0;text-transform:none}
.responsibility-panel{padding:26px;margin:26px 0;border:1px solid var(--dg-line);border-radius:24px;background:white}.responsibility-panel label{display:block;font-weight:600;margin:18px 0 12px}.responsibility-panel select{display:block;max-width:100%;width:410px;padding:10px;margin-top:7px;font:inherit;color:var(--cw-brand);background:white;border:1px solid var(--dg-line);border-radius:8px}.raci-key{font-size:14px;line-height:1.7}.raci-scroll{overflow-x:auto;max-width:100%;border:1px solid var(--dg-line);border-radius:10px}.raci-scroll:focus-visible{outline:3px solid var(--wwt-blue);outline-offset:3px}.raci-scroll table{border-collapse:collapse;table-layout:fixed;width:100%;min-width:900px;font-size:14px;line-height:1.45}.raci-scroll caption{text-align:left;padding:12px 14px;color:var(--cw-brand);font-weight:600;background:#EDF5FC}.raci-scroll th,.raci-scroll td{padding:13px 12px;text-align:left;vertical-align:top;border-bottom:1px solid var(--dg-line);overflow-wrap:anywhere}.raci-scroll thead th{background:#F3F5F8}.raci-scroll th:first-child{width:24%}.raci-scroll tbody th small{display:block;font-size:12px;line-height:1.4;color:#526077;font-weight:400;margin-top:7px}.raci-scroll tbody tr:last-child>*{border-bottom:0}.responsibility-panel .authority-note{margin-top:18px}.responsibility-panel .caption{margin-bottom:0}
@media(max-width:600px){.responsibility-panel{padding:18px}.dimension-key{gap:7px}.dimension-key>span:nth-child(even){flex-basis:calc(100% - 110px)}.raci-scroll table{min-width:850px}}
@media print{.responsibility-panel{padding:0;border:0;break-before:page}.responsibility-panel select{display:none}.dimension-key{display:flex!important}.raci-scroll{overflow:visible;border-radius:0}.raci-scroll table{min-width:0;font-size:8pt}.raci-scroll th,.raci-scroll td{padding:6px}.raci-scroll tbody th small{font-size:7pt}.raci-scroll tr{break-inside:avoid}.raci-scroll thead{display:table-header-group}}

.raci-scroll-hint{display:none}@media(max-width:950px){.raci-scroll-hint{display:block;font-size:13px;color:#526077}}@media print{.raci-scroll-hint{display:none}}

/* Visible program choices keep the workshop context alongside the matrix. */
.program-approaches{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0 14px}
.program-approaches button{min-height:76px;padding:16px 18px;border:1px solid #B8CADD;border-radius:12px;background:#F3F7FB;color:var(--cw-brand);font:inherit;font-weight:600;text-align:left;cursor:pointer;line-height:1.4}
.program-approaches button:hover{background:#EAF2FB;border-color:#547EAC}
.program-approaches button[aria-pressed="true"]{border-color:#162FB4;box-shadow:inset 0 0 0 2px #162FB4;background:#EAF2FB}
.program-approaches button:focus-visible{outline:3px solid #0095D5;outline-offset:3px}
.raci-scroll{border-color:#BCCCDD}.raci-scroll th,.raci-scroll td{border-bottom-color:#CCD7E3;border-right:1px solid #D8E1EB}.raci-scroll tr>:last-child{border-right:0}
.raci-scroll tbody tr:nth-child(even){background:#F6F8FB}.raci-scroll tbody th{background:#EEF3F9}
@media(max-width:600px){.program-approaches{gap:7px}.program-approaches button{padding:11px 8px;font-size:12px;min-height:94px}}
@media print{.program-approaches{display:none}}

.raci-scroll td.raci-changed{background:#E6F2FC;box-shadow:inset 3px 0 0 #0085CA}.raci-change-label{display:block;margin-top:7px;font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#17467B}.raci-change-status{font-size:13px;color:#17467B;min-height:1.5em}
@media print{.raci-change-label,.raci-change-status{display:none}.raci-scroll td.raci-changed{background:transparent;box-shadow:none}}
#responsibility .raci-scroll{border:1px solid #BCCCDD}#responsibility .raci-scroll th,#responsibility .raci-scroll td{border-bottom:1px solid #CCD7E3;border-right:1px solid #D8E1EB}#responsibility .raci-scroll tr>:last-child{border-right:0}#responsibility .raci-scroll tbody tr:last-child>*{border-bottom:0}
