*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font:14px/1.55 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:#fff;color:#233c3c}button,input{font:inherit}button,a,input,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit;background:var(--ww-surface,#fff);border:1px solid var(--ww-line,#dce1de);padding:10px 14px;min-height:44px}button:hover{background:var(--ww-soft,#f4f6f5)}a{color:inherit;text-underline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #218575;outline-offset:4px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Georgia,serif;font-weight:400}h1{font-size:clamp(38px,4.3vw,64px);line-height:1.1;letter-spacing:-2px;margin-bottom:14px}h2{font-size:29px;line-height:1.2}h3{font-size:22px}main,.masthead{max-width:1580px;margin:auto;padding-left:48px;padding-right:48px}.masthead{min-height:90px;display:flex;align-items:center;gap:28px;border-bottom:1px solid var(--ww-line,#ddd)}.wordmark{font:25px Georgia,serif;text-decoration:none}.wordmark span{display:block;font:9px system-ui;letter-spacing:3px;margin-top:3px}.masthead nav{margin-left:auto;display:flex;gap:24px;align-items:center;font-size:12px}.preview{border:1px solid var(--ww-line,#ddd);padding:4px 8px;font-size:10px;letter-spacing:1px;text-transform:uppercase}.intro{display:flex;justify-content:space-between;align-items:end;gap:25px;padding:48px 0 35px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:650;margin-bottom:16px;color:var(--ww-muted,#52655e)}.dek{font-size:16px;color:var(--ww-muted,#52655e);margin:0}.scope{display:flex;flex-direction:column;border-left:1px solid var(--ww-line,#ddd);padding-left:24px;min-width:210px;font-size:12px;line-height:1.9}.scope strong{font-size:16px;font-weight:500}.toolbar{display:flex;align-items:center;gap:20px;padding:16px 0;border-top:1px solid var(--ww-line,#ddd);border-bottom:1px solid var(--ww-line,#ddd)}.course{display:flex;align-items:center;gap:12px;white-space:nowrap;font-size:13px}.course-dot{width:8px;height:8px;background:#277d6a;border-radius:50%}.search{margin-left:auto;display:flex;align-items:center;gap:10px}.search span{font-size:28px;line-height:1}.search input{width:230px;border:0;border-bottom:1px solid var(--ww-line,#ddd);background:transparent;color:inherit;padding:10px 0;min-height:44px}.segmented{display:flex}.segmented button{border:0;background:none;min-width:55px}.segmented button[aria-pressed=true]{background:var(--ww-soft,#eef2ee)}.plan-toggle span{margin-left:12px;font-size:11px}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 350px}.map-area{padding:24px 28px 28px 0}.map-caption{display:flex;justify-content:space-between;font-size:11px;color:var(--ww-muted,#53635e);margin:0 0 32px}.map-caption span:first-child{text-transform:uppercase;letter-spacing:1px}#map{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.lane{--lane:#297864;min-width:0}.lane-heading{height:100px;border-top:3px solid var(--lane);padding-top:16px}.lane-heading .number{font-size:10px;letter-spacing:1px;color:var(--lane);display:block;margin-bottom:8px}.lane-heading h2{font-size:21px;line-height:1.14;margin:0}.nodes{position:relative;margin-left:7px;padding-left:17px;border-left:1px solid var(--lane)}.node{position:relative;display:block;text-align:left;width:100%;border:1px solid transparent;background:transparent;padding:11px 8px 12px 11px;margin:0 0 14px;min-height:80px;transition:background .18s,transform .18s,border-color .18s}.node:before{content:"";position:absolute;width:9px;height:9px;border-radius:100%;background:var(--ww-page,#fff);border:2px solid var(--lane);left:-23px;top:18px}.node .code{font-size:10px;letter-spacing:.7px;color:var(--lane);display:block;margin-bottom:5px}.node .label{font-size:12px;line-height:1.35;display:block}.node[aria-pressed=true]{border-color:var(--lane);background:color-mix(in srgb,var(--lane) 7%,var(--ww-page,#fff))}.node[aria-pressed=true]:before{background:var(--lane);box-shadow:0 0 0 4px color-mix(in srgb,var(--lane) 13%,transparent)}.node:hover{transform:translateX(2px)}.saved-mark{font-size:10px;display:block;margin-top:5px;color:var(--ww-muted,#52655e)}#detail{border-left:1px solid var(--ww-line,#ddd);padding:26px 0 28px 30px;min-width:0}.detail-label{display:flex;justify-content:space-between;align-items:center;font-size:10px;letter-spacing:1px;margin-bottom:20px;color:var(--lane)}.detail-label span:first-child{border:1px solid currentColor;padding:4px 7px}#detail h2{font-size:32px;line-height:1.12;letter-spacing:-.5px;margin-bottom:18px}.official{font-size:13px;line-height:1.7}.detail-actions{display:flex;gap:8px;margin:22px 0}.primary{background:var(--ww-text,#233c3c);color:var(--ww-page,#fff);border-color:var(--ww-text,#233c3c)}.primary:hover{opacity:.85;background:var(--ww-text,#233c3c)}details{border-top:1px solid var(--ww-line,#ddd);padding:15px 0}summary{cursor:pointer;font-size:12px;min-height:30px}details ol{padding-left:22px;font-size:12px}details li{padding:6px 0}.source-link{font-size:11px;display:inline-block;margin-top:6px}.connection{padding:20px 0;border-top:1px solid var(--ww-line,#ddd)}.connection .eyebrow{font-size:9px;margin-bottom:12px}.connection a{display:block;font:21px Georgia,serif;margin-bottom:8px}.connection p{font-size:12px;color:var(--ww-muted,#52655e);margin-bottom:0}.activity{background:var(--ww-soft,#f4f6f4);padding:18px;font-size:12px;margin:4px 0 0}.activity strong{display:block;margin-bottom:8px;font-weight:600}.activity p{margin:0}.map-key{margin:24px 0 0;font-size:10px;color:var(--ww-muted,#52655e);max-width:430px}.key-dot{display:inline-block;width:7px;height:7px;border:1px solid currentColor;border-radius:50%;margin-right:5px}.idea-section{display:grid;grid-template-columns:1fr 1.2fr;gap:25px;border-top:1px solid var(--ww-line,#ddd);padding:35px 0}.idea-section h2{margin-bottom:10px}.idea-section p{font-size:13px;color:var(--ww-muted,#52655e)}.idea-section form{align-self:center}.idea-section label{font-size:11px;display:block;margin-bottom:8px}.idea-input{display:flex}.idea-input input{min-width:0;flex:1;background:transparent;color:inherit;border:1px solid var(--ww-line,#ddd);padding:12px}.idea-input button{white-space:nowrap}.small{font-size:10px!important;margin-top:8px}.idea-section #suggestions{grid-column:1/-1;display:flex;gap:10px;flex-wrap:wrap}.suggestion{text-align:left;max-width:360px}.suggestion small{display:block;color:var(--ww-muted,#52655e);font-size:11px;margin-top:5px}.plan{border-bottom:1px solid var(--ww-line,#ddd);padding:28px 0}.plan-head{display:flex;justify-content:space-between;align-items:center}.plan-head h2{margin-bottom:6px}.plan p{font-size:12px;color:var(--ww-muted,#52655e)}.plan-row{display:flex;align-items:center;gap:20px;padding:12px 0;border-top:1px solid var(--ww-line,#ddd)}.plan-row div{flex:1}.plan-row p{margin:4px 0}.plan-row button{font-size:12px}footer{border-top:1px solid var(--ww-line,#ddd);padding:22px 0 30px;font-size:10px;color:var(--ww-muted,#52655e);display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}footer p{width:100%;max-width:850px;margin:0}#map.list{display:block}#map.list .lane-heading{height:auto;margin:16px 0;padding-top:12px}#map.list .nodes{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;border:0;margin:0;padding:0}#map.list .node{margin:0;border-color:var(--ww-line,#ddd);padding-left:20px;min-height:65px}#map.list .node:before{display:none}.skip{position:absolute;left:20px;top:-100px;background:#fff;padding:12px;z-index:5}.skip:focus{top:15px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}[hidden]{display:none!important}html[data-theme=dark] .lane,html[data-theme=dark] #detail{--lane:var(--night)!important}html[data-theme=dark] h1,html[data-theme=dark] h2{color:var(--ww-text)}@media(min-width:1600px){.node .label{font-size:14px}.node{min-height:86px}.lane-heading h2{font-size:24px}}@media(max-width:1100px){main,.masthead{padding-left:24px;padding-right:24px}.workspace{grid-template-columns:minmax(0,1fr) 300px}#map{gap:8px}.lane-heading h2{font-size:18px}.map-area{padding-right:18px}#detail{padding-left:20px}.toolbar{gap:10px}.search input{width:190px}.course{gap:7px}.node{padding-left:6px}}@media(max-width:800px){.workspace{grid-template-columns:1fr}.map-area{padding-right:0}#detail{border-left:0;border-top:1px solid var(--ww-line,#ddd);padding:26px 0}.toolbar{flex-wrap:wrap}.search{order:3;width:100%}.search input{width:100%}.segmented{margin-left:auto}.intro{padding-top:32px}.scope{display:none}.masthead{gap:12px}.masthead nav a{display:none}.masthead nav{margin-left:auto}.idea-section{grid-template-columns:1fr}.node .label{font-size:13px}.lane-heading h2{font-size:20px}.idea-section #suggestions{grid-column:1}.intro h1{letter-spacing:-1px}}@media(max-width:520px){main,.masthead{padding-left:18px;padding-right:18px}.masthead{min-height:78px;gap:8px}.wordmark{font-size:21px}.preview{display:none}#map{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 18px}.lane-heading{height:83px}.nodes{padding-left:15px}.node{padding-left:9px;min-height:70px;margin-bottom:9px}.node:before{left:-21px}.map-caption{font-size:10px;gap:10px}.idea-input{flex-direction:column;gap:8px}.idea-input button{align-self:flex-start}.dek{font-size:14px}.course{font-size:12px}.plan-toggle{padding:9px}.plan-toggle span{margin-left:5px}.toolbar{gap:5px}.segmented button{min-width:43px;padding:8px}.plan-row{gap:8px}.plan-row button{padding:8px}#map.list .nodes{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}.node:hover{transform:none}}@media print{.masthead,.intro,.toolbar,.workspace,.idea-section,footer,.plan-head button,.plan-row button,.skip{display:none!important}.plan{display:block!important;border:0}main{padding:0}.plan-row{break-inside:avoid}.plan-row p{color:#222}.plan-head h2{font-size:24px}}
/* Keep the shared Library shell aligned with this full-width map. */
html header.masthead.ww-shell-host{padding:16px 48px!important}.map-key,footer,.source-link{font-size:12px}.node .code,.lane-heading .number{font-size:11px}.plan-toggle{border-color:var(--ww-muted)}@media(max-width:1100px){html header.masthead.ww-shell-host{padding:16px 24px!important}}@media(max-width:520px){html header.masthead.ww-shell-host{padding:12px 18px!important}.map-key{font-size:11px}}
.segmented button[aria-pressed=true]{box-shadow:inset 0 -2px var(--ww-text)!important;font-weight:650}
.course label{display:flex;flex-direction:column;font-size:10px;gap:4px;color:var(--ww-muted)}select{max-width:310px;min-height:44px;background:var(--ww-page);color:var(--ww-text);border:1px solid var(--ww-line);padding:8px;font:13px system-ui}.course label:first-child select{width:115px}.toolbar{flex-wrap:wrap}.search{flex:1;min-width:180px}.search input{width:100%}.course-status{font-size:12px;padding:12px 0;color:var(--ww-muted)}.coverage{padding:6px 0 12px}.coverage summary{font-size:12px}.coverage p{font-size:12px}.coverage-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px;max-height:300px;overflow:auto}.coverage-grid a{font-size:12px;display:block;padding:8px;border:1px solid var(--ww-line)}#strand-controls{display:flex;gap:10px;margin-bottom:18px;align-items:center;font-size:11px}#strand-controls select{max-width:100%;width:100%}.lane-heading{height:auto;min-height:110px}.lane-heading h2{overflow-wrap:anywhere}#map-pages{display:flex;gap:10px;margin-top:18px;align-items:center;font-size:12px}.global-result{display:block;text-align:left;width:100%;margin-bottom:10px}.global-result span,.global-result small{display:block}.global-result span{font-size:12px;color:var(--ww-muted)}.global-result small{font-size:12px;margin-top:6px}.plan-actions{display:flex;gap:8px;flex-wrap:wrap}.import-button{display:inline-flex;align-items:center;padding:8px 12px;border:1px solid var(--ww-line);cursor:pointer;min-height:44px}.plan-title-label{display:block;font-size:12px;margin:20px 0}.plan-title-label input{display:block;width:min(600px,100%);padding:10px;border:1px solid var(--ww-line);background:transparent;color:inherit}.plan-row{align-items:start}.plan-row textarea{display:block;width:100%;min-height:74px;border:1px solid var(--ww-line);background:var(--ww-page);color:inherit;padding:10px;resize:vertical;font:13px system-ui}.plan-row label{display:block;font-size:11px;margin-top:10px}.plan-row .row-actions{flex:none;display:flex;flex-direction:column;gap:6px}.indicator-list{padding-left:0;list-style:none}.indicator-list li{border-bottom:1px solid var(--ww-line);padding:9px 0}.indicator-id{display:inline-block;font-weight:600;margin-right:8px}.connection-excerpt{font-size:12px;border-left:2px solid var(--ww-line);padding-left:12px;margin:12px 0}.connection+.connection{margin-top:8px}.load-error{padding:20px;border:1px solid var(--ww-line)}.source-only{padding:24px;border-top:2px solid var(--ww-line)}.scope-select{font-size:12px}.idea-section #suggestions{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.suggestion{max-width:none}.plan-row .print-notes{display:none}@media(max-width:800px){.course{width:100%}.course label:last-child{flex:1;min-width:0}.course label:last-child select{max-width:none;width:100%}.scope-select{margin-left:auto}.search{order:0;width:auto}.plan-head{align-items:start;gap:15px;flex-wrap:wrap}.lane-heading{min-height:95px}}@media(max-width:520px){.search{min-width:100%;order:1}.scope-select{margin-left:0}.course{gap:10px}.course label:first-child select{width:100px}.plan-row{flex-direction:column}.plan-row>div{width:100%}.plan-row .row-actions{flex-direction:row}#map.list .nodes{display:block}}@media print{.course-status,.coverage,.plan-actions,.plan-title-label,.row-actions{display:none!important}.plan-row textarea{display:none}.plan-row .print-notes{display:block;white-space:pre-wrap}.plan-row{display:block}.plan-row div{width:100%}.plan-row a{color:#000}}
@media(max-width:600px){html .masthead .ww-global-brand img{width:32px!important;height:32px!important}html .masthead .ww-local-bar{display:none!important}.intro{padding-top:24px}.lane-heading h2{font-size:18px}.lane-heading{min-height:115px}}

/* Keep strand labels readable when the shared pressed-button theme is applied. */
html[data-theme] #map .node[aria-pressed=true]{background:color-mix(in srgb,var(--lane) 7%,var(--ww-page,#fff))!important;color:var(--ww-text,#233c3c)!important;border-color:var(--lane)!important}
html[data-theme] #map .node[aria-pressed=true] .code{color:var(--ww-text,#233c3c)}
