/* Detailed-map reference. All rules stay isolated from Home and evidence views. */
.sf-detail-map.sm-map{--sm-ink:#07174c;--sm-muted:#506895;width:100%;min-width:0;border:0;border-radius:0;background:#fff;overflow:visible;container-type:inline-size;color:var(--sm-ink)}
.sf-detail-map .sm-canvas{position:relative;display:block;width:100%;max-width:780px;height:auto;aspect-ratio:780/620;margin:28px auto 24px;padding:0;isolation:isolate;background:none}
.sf-detail-map .sm-links{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.sf-detail-map .sm-links path{fill:none;stroke-linecap:round;vector-effect:non-scaling-stroke;transition:stroke-opacity .15s}
.sf-detail-map .sm-required{stroke:var(--sm-color);stroke-width:1.4;stroke-opacity:.85}
.sf-detail-map .sm-person-link{stroke:#3299ff;stroke-width:1.25;stroke-opacity:.85}
.sf-detail-map .sm-related{stroke:#886ac5;stroke-width:1.5;stroke-opacity:.85;stroke-dasharray:4 4}
.sf-detail-map .sm-related-selected{stroke:#5930ad;stroke-width:2.5;stroke-opacity:1}
.sf-detail-map .sm-color-workforce-advice{--sm-color:#168bff;--sm-fill:#abd9ff;--sm-halo:#e9f6ff;--sm-border:#c4e2ff;--sm-skill-fill:#edf9ff}
.sf-detail-map .sm-color-manager-coaching{--sm-color:#009a7b;--sm-fill:#b0f0de;--sm-halo:#e9fcf6;--sm-border:#c5f3e4;--sm-skill-fill:#f0fff9}
.sf-detail-map .sm-color-ai-workflow{--sm-color:#4824df;--sm-fill:#cbbfff;--sm-halo:#f0edff;--sm-border:#dfd5ff;--sm-skill-fill:#f7f4ff}
.sf-detail-map .sm-node{--sm-icon-size:7.179487cqw;position:absolute;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:0;grid-column:auto;grid-row:auto;min-height:0;width:16.666667%;max-width:none;margin:0;padding:0;border:0;border-radius:9px;box-shadow:none;background:transparent;color:var(--sm-ink);text-align:center;transform:translateX(-50%);left:calc(var(--sm-x)*100%/780);top:calc(var(--sm-y)*100%/550 - var(--sm-icon-size)/2);line-height:1.25;cursor:pointer}
.sf-detail-map .sm-node>*{flex-shrink:0;max-width:none}
.sf-detail-map .sm-node-icon{position:relative;display:grid;place-items:center;width:var(--sm-icon-size);height:var(--sm-icon-size);flex:none;overflow:hidden;border:4px solid var(--sm-border);border-radius:50%;background:var(--sm-skill-fill);color:var(--sm-color);box-shadow:inset 0 0 0 4px #ffffffa6,0 0 0 3px #fff;transition:box-shadow .15s}
.sf-detail-map .sm-node-icon svg{display:block;width:46%;height:46%;stroke-width:2.2}
.sf-detail-map .sm-node-caption{--sm-caption-gap:10px;position:relative;display:flex;flex-direction:column;align-items:center;max-width:100%;margin-top:var(--sm-caption-gap);padding:1px 3px;border-radius:4px;background:#fff;box-shadow:0 0 0 2px #fff}
/* Mask connector fragments in label gaps, stopping outside the full 5px icon ring. */
.sf-detail-map .sm-node-caption:before{content:'';position:absolute;left:0;right:0;bottom:100%;height:calc(var(--sm-caption-gap) - 5px);background:#fff;pointer-events:none}
.sf-detail-map .sm-node strong{display:block;margin:0;color:var(--sm-ink);font-size:clamp(11px,1.666667cqw,13px);font-weight:500;line-height:1.18;letter-spacing:-.2px;overflow-wrap:normal}
.sf-detail-map .sm-skill .sm-node-caption{max-width:112px;width:max-content}
.sf-detail-map .sm-skill-facts .sm-node-caption{max-width:100px}
.sf-detail-map .sm-skill-judgment .sm-node-caption{max-width:76px}
.sf-detail-map .sm-skill-action .sm-node-caption{max-width:102px}
.sf-detail-map .sm-skill-measure .sm-node-caption,.sf-detail-map .sm-skill-safe .sm-node-caption{max-width:82px}
.sf-detail-map .sm-skill-coaching .sm-node-caption{max-width:111px}
.sf-detail-map .sm-skill-workflow .sm-node-caption,.sf-detail-map .sm-skill-evaluation .sm-node-caption{max-width:109px}
.sf-detail-map .sm-capability{--sm-icon-size:14.102564cqw;width:25%;background:transparent;border:0}
.sf-detail-map .sm-capability .sm-node-icon{border:10px solid var(--sm-halo);background:var(--sm-fill);box-shadow:0 0 0 1px var(--sm-border),0 0 0 5px #fff}
.sf-detail-map .sm-capability .sm-node-icon svg{width:48%;height:48%;stroke-width:2.15}
.sf-detail-map .sm-cap-ai-workflow .sm-node-icon svg{fill:currentColor;stroke-width:.6}
.sf-detail-map .sm-capability .sm-node-caption{--sm-caption-gap:12px;padding:0 4px}
.sf-detail-map .sm-capability strong{font-size:clamp(12px,2.051282cqw,16px);font-weight:600;line-height:1.25;letter-spacing:-.35px;white-space:nowrap}
.sf-detail-map .sm-cap-count{margin-top:1px;font-size:clamp(11px,1.794872cqw,14px);line-height:1.2;color:#405d93}
.sf-detail-map .sm-cap-workforce-advice{--sm-x:376;--sm-y:170;--sm-icon-size:15.384615cqw}
.sf-detail-map .sm-cap-manager-coaching{--sm-x:225;--sm-y:404}
.sf-detail-map .sm-cap-ai-workflow{--sm-x:527;--sm-y:404}
.sf-detail-map .sm-skill-facts{--sm-x:376;--sm-y:30}
.sf-detail-map .sm-skill-judgment{--sm-x:193;--sm-y:128}
.sf-detail-map .sm-skill-action{--sm-x:140;--sm-y:232}
.sf-detail-map .sm-skill-coaching{--sm-x:66;--sm-y:404}
.sf-detail-map .sm-skill-measure{--sm-x:559;--sm-y:128}
.sf-detail-map .sm-skill-safe{--sm-x:612;--sm-y:232}
.sf-detail-map .sm-skill-workflow{--sm-x:686;--sm-y:348}
.sf-detail-map .sm-skill-evaluation{--sm-x:686;--sm-y:460}
.sf-detail-map .sm-shared{display:flex;font-size:inherit;letter-spacing:normal;color:var(--sm-ink)}
.sf-detail-map .sm-shared .sm-node-icon{border-color:transparent;background:linear-gradient(var(--sm-skill-fill),var(--sm-skill-fill)) padding-box,conic-gradient(from 180deg,#c4e2ff 0 50%,var(--sm-shared-border) 50% 100%) border-box}
.sf-detail-map .sm-shared-manager-coaching{--sm-shared-border:#c5f3e4}
.sf-detail-map .sm-shared-ai-workflow{--sm-shared-border:#d9ceff}
.sf-detail-map .sm-person{--sm-icon-size:17.179487cqw;position:absolute;z-index:3;left:48.205128%;top:calc(64.181818% - var(--sm-icon-size)/2);transform:translateX(-50%);display:block;grid-column:auto;grid-row:auto;width:var(--sm-icon-size);height:var(--sm-icon-size);margin:0;padding:0;border:0;border-radius:50%;background:none;cursor:pointer}
.sf-detail-map .sm-person>.sm-node-icon{padding:6px;border:9px solid #c9e8ff;background:#fff;box-shadow:0 0 0 10px #f3faff,0 0 0 11px #dfedff}
/* Square crop of the supplied portrait: preserve image proportions and an even ring. */
.sf-detail-map .sm-person .hp-portrait{width:100%;height:100%;top:0;border-radius:50%;background-size:538.947368% 808.421053%;background-position:23.141487% 12.139673%}
.sf-detail-map .sm-node:hover,.sf-detail-map .sm-node.sm-selected,.sf-detail-map .sm-skill.sm-connected,.sf-detail-map .sm-node.sm-muted{background:transparent;border:0;box-shadow:none;color:var(--sm-ink)}
.sf-detail-map .sm-node:hover .sm-node-icon,.sf-detail-map .sm-node.sm-selected .sm-node-icon{box-shadow:0 0 0 3px #fff,0 0 0 5px var(--sm-color)}
.sf-detail-map .sm-node:focus-visible,.sf-detail-map .sm-person:focus-visible{outline:3px solid #0875d9;outline-offset:6px}
.sf-detail-map.sm-is-focused .sm-node.sm-muted>*{opacity:.19}
.sf-detail-map.sm-is-focused .sm-edge-muted{stroke-opacity:.29}
.sf-detail-map.sm-capability-focus .sm-person{opacity:.31}
.sf-detail-map.sm-capability-focus .sm-related-button.sm-muted>*{opacity:.23}
.sf-detail-map.sm-is-focused .sm-node.sm-muted:focus-visible>*,.sf-detail-map.sm-capability-focus .sm-related-button.sm-muted:focus-visible>*{opacity:1}
.sf-detail-map.sm-capability-focus .sm-person:focus-visible{opacity:1}
.sf-detail-map .sm-legend{display:grid;grid-template-columns:1fr .95fr 1.4fr 1.13fr;gap:20px;align-items:start;margin:0;padding:20px 4px 16px;border-top:1px solid #e6effc;border-bottom:0;background:#fff;font-size:11px;color:var(--sm-ink)}
.sf-detail-map .sm-legend>span{display:flex;align-items:flex-start;gap:13px;min-width:0}
.sf-detail-map .sm-legend>span>span{padding-top:6px}
.sf-detail-map .sm-legend strong{display:block;font-size:11px;font-weight:600;line-height:1.3;color:var(--sm-ink);white-space:nowrap}
.sf-detail-map .sm-legend small{display:block;margin-top:3px;font-size:10px;line-height:1.4;color:var(--sm-muted)}
.sf-detail-map .sm-legend-capability{width:34px;height:34px;flex:none;border:4px solid #dcefff;border-radius:50%;background:#2494ff;box-shadow:inset 0 0 0 3px #a7d5ff}
.sf-detail-map .sm-legend-skill{width:36px;height:36px;flex:none;border:2px solid #cce5ff;border-radius:50%;background:#f2f9ff}
.sf-detail-map .sm-legend-shared{position:relative;display:block;width:42px;height:34px;flex:none}
.sf-detail-map .sm-legend-shared:before,.sf-detail-map .sm-legend-shared:after{content:'';position:absolute;top:3px;width:28px;height:28px;border-radius:50%;background:#90ccff}
.sf-detail-map .sm-legend-shared:before{left:0}
.sf-detail-map .sm-legend-shared:after{left:16px;background:#ddbbffc7}
.sf-detail-map .sm-key-line{display:inline-block;flex:none;width:35px;height:0;margin-top:15px;border-top:2px solid #849ed5}
.sf-detail-map .sm-key-related{border-color:#886ac5;border-top-style:dashed}
.sf-detail-map .sm-relationship-choices{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px;padding:15px 0 0;border-top:1px solid #e8e5f6;background:#fff}
.sf-detail-map .sm-relationship-choices>p{width:100%;margin:0 0 3px;color:#68739b;font-size:12px;line-height:1.5}
.sf-detail-map .sm-related-button{display:inline-flex;align-items:center;gap:8px;border:1px solid #ded7f0;border-radius:9px;padding:8px 10px;background:#fff;color:#674e98;font-size:11px;line-height:1.5}
.sf-detail-map .sm-related-button .sm-key-line{width:15px;margin-top:0}
.sf-detail-map .sm-related-button:hover,.sf-detail-map .sm-related-button-selected{border-color:#ae9bd1;background:#f8f5ff}
.sf-detail-map .sm-related-button:focus-visible{outline:3px solid #0875d9;outline-offset:3px}
@container(min-width:781px){
  .sf-detail-map .sm-node{--sm-icon-size:56px}
  .sf-detail-map .sm-capability{--sm-icon-size:110px}
  .sf-detail-map .sm-cap-workforce-advice{--sm-icon-size:120px}
  .sf-detail-map .sm-person{--sm-icon-size:134px}
}
@container(max-width:660px){
  .sf-detail-map .sm-legend{grid-template-columns:1fr 1fr;gap:14px 22px}
  .sf-detail-map .sm-legend strong{font-size:11px}
  .sf-detail-map .sm-legend small{font-size:10px}
  .sf-detail-map .sm-node-icon{border-width:3px}
  .sf-detail-map .sm-capability .sm-node-icon{border-width:7px}
  .sf-detail-map .sm-person>.sm-node-icon{padding:4px;border-width:6px;box-shadow:0 0 0 7px #f3faff,0 0 0 8px #dfedff}
}
/* Compact maps reflow before labels crowd the circles or panel edges. */
@container(max-width:660px){
  .sf-detail-map .sm-canvas{height:824px;aspect-ratio:auto;margin:24px auto 40px}
  .sf-detail-map .sm-node{--sm-icon-size:46px;left:var(--sm-mobile-x);top:calc(var(--sm-mobile-y) - var(--sm-icon-size)/2);width:30%;max-width:122px}
  .sf-detail-map .sm-node-icon{box-shadow:inset 0 0 0 3px #ffffffa6,0 0 0 4px #fff}
  .sf-detail-map .sm-node strong{font-size:12px;line-height:1.2;letter-spacing:-.2px}
  .sf-detail-map .sm-node-caption{max-width:100%!important}
  .sf-detail-map .sm-capability{--sm-icon-size:76px;width:44%;max-width:154px}
  .sf-detail-map .sm-capability strong{font-size:13px;white-space:normal;line-height:1.2}
  .sf-detail-map .sm-cap-count{font-size:12px;margin-top:3px}
  .sf-detail-map .sm-cap-workforce-advice{--sm-icon-size:90px;--sm-mobile-x:50%;--sm-mobile-y:214px}
  .sf-detail-map .sm-cap-manager-coaching{--sm-mobile-x:23%;--sm-mobile-y:526px}
  .sf-detail-map .sm-cap-ai-workflow{--sm-mobile-x:77%;--sm-mobile-y:526px}
  .sf-detail-map .sm-skill-facts{--sm-mobile-x:50%;--sm-mobile-y:30px}
  .sf-detail-map .sm-skill-judgment{--sm-mobile-x:17%;--sm-mobile-y:111px}
  .sf-detail-map .sm-skill-action{--sm-mobile-x:16%;--sm-mobile-y:330px}
  .sf-detail-map .sm-skill-coaching{--sm-mobile-x:23%;--sm-mobile-y:676px}
  .sf-detail-map .sm-skill-measure{--sm-mobile-x:83%;--sm-mobile-y:111px}
  .sf-detail-map .sm-skill-safe{--sm-mobile-x:84%;--sm-mobile-y:330px}
  .sf-detail-map .sm-skill-workflow{--sm-mobile-x:77%;--sm-mobile-y:676px}
  .sf-detail-map .sm-skill-evaluation{--sm-mobile-x:77%;--sm-mobile-y:776px}
  .sf-detail-map .sm-person{--sm-icon-size:92px;left:50%;top:384px}
  .sf-detail-map .sm-person>.sm-node-icon{padding:4px;border-width:6px;box-shadow:0 0 0 7px #f3faff,0 0 0 8px #dfedff}
  .sf-detail-map .sm-legend{gap:16px 12px}
  .sf-detail-map .sm-legend>span{gap:9px}
  .sf-detail-map .sm-legend>span>span{padding-top:3px}
  .sf-detail-map .sm-legend-capability{width:28px;height:28px;border-width:3px}
  .sf-detail-map .sm-legend-skill{width:29px;height:29px}
  .sf-detail-map .sm-legend-shared{width:31px;height:29px}
  .sf-detail-map .sm-legend-shared:before,.sf-detail-map .sm-legend-shared:after{width:23px;height:23px}
  .sf-detail-map .sm-legend-shared:after{left:12px}
  .sf-detail-map .sm-legend .sm-key-line{width:29px;margin-top:12px}
  .sf-detail-map .sm-legend strong{white-space:normal}
  .sf-detail-map .sm-related-button{width:100%;text-align:left}
}
@container(max-width:300px){
  .sf-detail-map .sm-node strong{font-size:11px}
  .sf-detail-map .sm-capability strong{font-size:12px}
  .sf-detail-map .sm-capability{--sm-icon-size:70px}
  .sf-detail-map .sm-cap-workforce-advice{--sm-icon-size:84px}
  .sf-detail-map .sm-person{--sm-icon-size:80px;top:390px}
  .sf-detail-map .sm-legend small{font-size:10px}
}
@media(prefers-reduced-motion:reduce){.sf-detail-map .sm-node-icon,.sf-detail-map .sm-links path{transition:none}}

/* Reach the list before traversing the graph, especially on narrow screens. */
.sf-graph-screen .sf-graph-heading>div:first-child{min-width:0;flex:1 1 370px}
.sf-graph-screen .sf-graph-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:9px;min-width:0;flex:none}
.sf-graph-screen .sf-graph-actions .hp-orbit-switch{margin:0}
.sf-graph-screen .sf-graph-actions .sf-list-link{min-height:36px;padding:7px 10px;border:1px solid #dceaff;border-radius:9px;background:#fff}
.sf-graph-screen .sf-graph-actions .sf-list-link:hover{border-color:#a5cbff;background:#f3f8ff}
.sf-graph-screen .sf-graph-actions .sf-list-link svg{transform:rotate(90deg)}
@media(max-width:1100px){.sf-graph-screen .sf-graph-actions{margin-left:auto}.sf-graph-screen .sf-graph-actions .hp-orbit-switch{margin:0}}
@media(max-width:680px){.sf-graph-screen .sf-graph-actions{justify-content:flex-start;gap:8px;margin-left:0;max-width:100%}.sf-graph-screen .sf-graph-actions .sf-list-link{min-height:40px;font-size:12px}}
