.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.map-view{--pathgreen:#43ac62;--pathdark:#2f8448;--pathlight:#eef8ed}.map-view #header{position:fixed;left:0;top:0;bottom:0;width:220px;height:100vh;border-right:2px solid #eef0eb;padding:38px 20px;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;background:#fff;z-index:5}.map-view .brand{font-size:26px;font-weight:800;color:#31944e;text-align:left;margin:0 10px 44px;letter-spacing:-1.4px}.map-view .brand span{display:block;color:#a0aaa0;font-size:11px;font-weight:400;letter-spacing:0;margin-top:5px}.path-nav{display:flex;flex-direction:column;gap:12px}.path-nav button{display:flex;align-items:center;gap:17px;padding:14px 17px;background:none;border:2px solid transparent;border-radius:13px;color:#858c82;font-size:15px;font-weight:700;text-align:left}.path-nav button svg{width:25px;height:25px;color:#9ca997;flex-shrink:0}.path-nav button.active{background:#eef8ed;border-color:#bfdfb7;color:#34884b}.path-nav button.active svg{color:#43ac62}.path-nav button:hover{background:#f6f8f3}.side-about{margin-top:auto;border:0;background:none;text-align:left;font-size:12px;color:#a2aaa0;padding:15px}.map-view main{margin:0 0 0 220px;max-width:none;padding:30px 40px 70px}.map-view footer{margin-left:260px;max-width:1040px;margin-right:40px}.path-layout{display:block;max-width:960px;margin:auto}.learning-path{min-width:0}.path-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}.path-toolbar h1{font-size:20px!important;letter-spacing:-.7px;line-height:1.5;margin:4px 0 0;font-weight:750}.path-toolbar .small{font-size:11px}.chapter-picker select{width:100px;padding:8px;font-size:11px;border:1px solid #e4e9df;background:#fff;color:#707b69;border-radius:8px;text-overflow:ellipsis;cursor:pointer}.path-intro{display:flex;align-items:center;gap:14px;padding:18px 17px;border:2px solid #edf0e8;border-radius:14px;margin-bottom:20px}.intro-icon{color:#bb9a59;background:#fbf5e8;width:39px;height:39px;flex:0 0 39px;display:grid;place-items:center;border-radius:10px}.intro-icon svg{width:22px;height:22px}.path-intro b{font-size:13px}.path-intro p{font-size:11px;color:#91988b;margin:3px 0 0}.path-intro button{margin-left:auto;white-space:nowrap;background:none;border:0;font-size:11px;color:#749468;font-weight:700;padding:7px 0}.path-legend{display:flex;align-items:center;gap:15px;font-size:10px;color:#939c8c;margin:0 0 16px}.path-legend span{display:flex;align-items:center;gap:5px}.path-legend span:last-child{margin-left:auto}.path-legend i{display:inline-block;width:8px;height:8px;border-radius:50%;background:#e1e5dc}.path-legend i.green-dot{background:var(--pathgreen)}.chapter-section{scroll-margin-top:25px}.chapter-banner{border-radius:14px;background:var(--pathgreen);color:white;padding:22px 23px;display:flex;align-items:center;justify-content:space-between;margin:8px 0 22px;min-height:94px}.chapter-banner small{font-size:12px;color:#d5f0d5;font-weight:600}.chapter-banner h2{font-size:22px;letter-spacing:-.7px;line-height:1.5;margin:4px 0 0}.chapter-banner>span{font-size:12px;font-weight:700;border:1px solid #ffffff60;border-radius:9px;padding:7px 12px;white-space:nowrap}.chapter-banner.future{background:#f1f4ed;color:#7f8c73}.chapter-banner.future small{color:#a1aa97}.chapter-banner.future>span{border-color:#d8e1cf;font-size:11px}.path-group>h3{display:flex;align-items:center;justify-content:center;gap:13px;font-size:14px;color:#a1a997;margin:32px 0 28px}.path-group>h3:before,.path-group>h3:after{content:'';height:1px;background:#edf0e8;flex:1}.path-group>h3 small{font-size:10px;font-weight:400;white-space:nowrap}.path-nodes{padding:12px 0 0}.path-node-row{display:flex;justify-content:center;min-height:134px;position:relative}.path-node-row:first-child{padding-top:12px}.path-node-wrap{transform:translateX(var(--shift));display:flex;align-items:center;flex-direction:column;position:relative;width:190px}.path-node{position:relative;width:72px;height:72px;flex-shrink:0;border:0;border-radius:50%;background:#e9ece5;color:#b9c1b2;box-shadow:inset 0 -5px 0 #d4dacd;display:grid;place-items:center;transition:transform .15s,box-shadow .15s;padding:0}.path-node svg{width:29px;height:29px}.path-node.locked{opacity:1;cursor:not-allowed}.path-node.current,.path-node.done{background:var(--pathgreen);color:white;box-shadow:inset 0 -5px 0 var(--pathdark)}.path-node.current:before{content:"";position:absolute;inset:-10px;border:5px solid #e1efdb;border-radius:50%;pointer-events:none}.path-node.current svg{fill:currentColor;stroke-width:1}.path-node.done svg{stroke-width:3.5}.path-node.current:hover,.path-node.done:hover{transform:translateY(1px);box-shadow:inset 0 -3px 0 var(--pathdark)}.node-bubble{color:var(--pathgreen);font-size:12px;font-weight:800;background:#fff;border:2px solid #e5ebdf;border-radius:9px;position:absolute;top:-45px;padding:6px 12px;white-space:nowrap;z-index:1}.node-bubble:after{content:'';position:absolute;bottom:-6px;left:calc(50% - 5px);width:8px;height:8px;background:#fff;border-right:2px solid #e5ebdf;border-bottom:2px solid #e5ebdf;transform:rotate(45deg)}.path-group:first-of-type .path-node-row:first-child{padding-top:24px;min-height:175px}.path-group:first-of-type .node-bubble{top:-20px}.node-caption{text-align:center;margin-top:14px;line-height:1.5;max-width:185px}.node-caption>span{font-size:11px;color:#8e9a83;font-weight:600}.node-caption small{display:block;font-size:9px;color:#b6beb0}.node-caption b{display:block;font-size:11px;color:#4d6745;margin-top:4px}.chapter-end{display:flex;justify-content:center;gap:10px;align-items:center;color:#b6c0ad;font-size:11px;padding:14px 0 50px}.chapter-end svg{width:22px;height:22px}.path-aside{position:sticky;top:28px;padding-top:4px}.path-stats{display:flex;align-items:center;justify-content:space-between;margin:4px 0 28px;color:#778b68}.path-stats>span{display:flex;align-items:center;gap:7px;font-size:13px}.path-stats svg{width:22px;height:22px;color:#c0a05d}.path-stats>span:nth-child(2) svg{color:var(--pathgreen)}.path-stats>span:nth-child(3) svg{color:#82a7bb}.path-stats small{font-size:10px;color:#a0ab96}.aside-card{border:2px solid #e7ebe2;border-radius:15px;padding:20px;margin-bottom:18px}.aside-label{font-size:11px;color:#a3aa9b;margin-bottom:10px;font-weight:600}.aside-card h2{font-size:16px;letter-spacing:-.3px;margin:0 0 12px}.aside-card p{font-size:13px;color:#959e8b;line-height:1.8;margin:0 0 12px}.status-text{font-size:10px;color:var(--pathgreen)}.path-primary,.path-secondary{display:block;width:100%;border:0;border-radius:9px;background:var(--pathgreen);color:white;font-weight:700;padding:10px 12px;margin-top:18px;font-size:12px;box-shadow:0 3px 0 var(--pathdark)}.path-secondary{border:2px solid #e4e9dc;box-shadow:0 2px 0 #e4e9dc;background:white;color:#80976f}.aside-progress{height:7px;border-radius:12px;background:#edf1e6;overflow:hidden;margin-top:16px}.aside-progress i{height:100%;display:block;background:#cfb475;border-radius:12px}.mile-label{font-size:10px;color:#a3a98d;margin-top:5px;text-align:right}.path-footnote{font-size:10px;color:#a6ae9e;text-align:center;line-height:1.9}.map-view .path-toolbar .small{color:#929c87}@media(max-width:1150px){.map-view #header{width:180px;padding:35px 15px}.map-view .brand{font-size:23px}.map-view main{margin-left:180px;padding:25px}.path-toolbar h1{font-size:18px!important}.map-view footer{margin-left:205px}.path-intro{gap:10px;padding:15px}.path-intro p{font-size:10px}.aside-card{padding:17px}}@media(max-width:900px){.map-view #header{width:150px;padding:30px 12px}.map-view .brand{font-size:20px;margin-left:5px}.path-nav button{padding:12px 10px;gap:12px;font-size:13px}.path-nav button svg{width:22px}.map-view main{margin-left:150px;padding:25px 35px}.path-aside{display:none}.map-view footer{margin-left:185px}.path-toolbar h1{font-size:20px!important}}@media(max-width:600px){.map-view #header{position:sticky;top:0;height:64px;width:100%;border-right:0;border-bottom:1px solid #edf0e8;padding:0 20px;flex-direction:row;align-items:center;justify-content:space-between}.map-view .brand{font-size:21px;margin:0}.map-view .brand span{display:none}.side-about{margin:0;padding:0;font-size:11px}.path-nav{position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid #e4e9de;display:flex;flex-direction:row;justify-content:space-around;gap:0;padding:8px 8px calc(8px + env(safe-area-inset-bottom));z-index:10}.path-nav button{flex-direction:column;gap:3px;padding:6px 15px;font-size:10px;line-height:1.4;border:0;border-radius:9px}.path-nav button svg{width:23px;height:23px}.map-view main{margin:0;padding:22px 20px 75px}.map-view footer{margin:0 20px 85px}.path-toolbar{align-items:flex-start;gap:10px;margin-bottom:20px}.path-toolbar h1{font-size:18px!important;letter-spacing:-.8px;max-width:200px}.chapter-picker select{width:78px;font-size:10px;padding:8px 4px}.path-intro{padding:14px 12px;gap:10px}.intro-icon{width:30px;height:30px;flex-basis:30px}.intro-icon svg{width:18px;height:18px}.path-intro b{font-size:12px}.path-intro p{font-size:10px;max-width:175px}.path-intro button{font-size:10px}.path-legend{font-size:9px;gap:12px}.path-legend span:last-child{font-size:8px}.chapter-banner{padding:18px;border-radius:12px;min-height:88px}.chapter-banner h2{font-size:20px}.chapter-banner small{font-size:11px}.chapter-banner>span{font-size:11px;padding:5px 8px}.chapter-section{scroll-margin-top:80px}.path-group>h3{font-size:12px;gap:8px}.path-group>h3 small{font-size:9px}.path-node-row{min-height:130px}.path-node-wrap{transform:translateX(calc(var(--shift)*.8))}}
.path-node-row{min-height:180px}.node-caption{max-width:180px}.node-caption b{font-size:12px;line-height:1.6;color:#53634b}.node-caption small{margin-top:3px}.curriculum-page{max-width:900px;margin:auto}.curriculum-heading h1{font-size:30px;margin:8px 0 14px}.curriculum-heading p{color:#66715f;font-size:15px}.curriculum-heading .curriculum-note{font-size:12px;color:#899180}.curriculum-index{display:flex;flex-wrap:wrap;gap:8px;margin:26px 0 40px}.curriculum-index a{border:1px solid #e0e7da;border-radius:8px;padding:9px 12px;text-decoration:none;color:#56704a;font-size:12px}.curriculum-index a:hover{background:#eef8ed}.outline-chapter{scroll-margin-top:30px;margin-bottom:54px}.outline-chapter>header{padding:20px 24px;border-radius:12px;background:#eff6eb}.outline-chapter>header span{font-size:12px;color:#7c906f}.outline-chapter h2{margin:7px 0 0;font-size:22px}.outline-group{margin:24px 0}.outline-group h3{font-size:14px;display:flex;align-items:center;gap:12px;padding:0 14px;color:#56704a}.outline-group h3 small{font-size:11px;color:#929b89;font-weight:400}.outline-group ol{list-style:none;margin:0;padding:0}.outline-group li{border-bottom:1px solid #edf0e8}.outline-group li button{width:100%;display:flex;align-items:center;gap:16px;padding:16px 14px;border:0;background:none;text-align:left;color:#36442f;font-size:14px;line-height:1.6}.outline-group li button:hover{background:#f8faf5}.day-number{font-size:12px;color:#9ba68f;min-width:24px}.outline-title{flex:1}.outline-state{font-size:11px;color:#839679;white-space:nowrap}.outline-group li button[data-act=path-unit]{color:#2f8448;font-weight:650}.path-nav button{gap:12px;padding-left:12px;padding-right:8px;font-size:14px}@media(max-width:900px){.path-nav button{font-size:12px;gap:8px}}@media(max-width:600px){.path-nav button{padding:6px 4px;flex:1;font-size:9px}.path-nav button svg{width:21px;height:21px}.path-node-row{min-height:178px}.curriculum-heading h1{font-size:25px}.curriculum-heading p{font-size:13px}.curriculum-index{gap:6px;margin-bottom:28px}.curriculum-index a{font-size:11px;padding:8px}.outline-chapter{scroll-margin-top:82px}.outline-chapter>header{padding:18px}.outline-chapter h2{font-size:20px}.outline-group li button{padding:15px 3px;gap:9px;font-size:13px}.outline-state{font-size:10px}.node-caption b{font-size:12px}}

.chart-segment{border-top:1px dashed #d9e5de;padding-top:20px}.chart-segment .term-badge{background:#eaf4f8;color:#3b6576}.chart-segment .path-node{background:#eaf4f8;color:#63818d;border-color:#cbdce2;cursor:pointer}.path-node.locked:not(:disabled){cursor:pointer}

/* Keep the complete chapter label visible on every screen. */
.chapter-picker{flex-shrink:0}.chapter-picker select{width:260px;max-width:100%;padding:10px 12px;font-size:13px;text-overflow:clip}@media(max-width:600px){.path-toolbar{flex-wrap:wrap}.path-toolbar h1{max-width:none}.chapter-picker{width:100%}.chapter-picker select{width:100%;font-size:13px;padding:10px 12px}}

.path-nav .nav-part{display:block;font-size:11px;line-height:1.4;font-weight:500;margin-bottom:3px}


.representative-group{border-top:1px solid #e4e9df;padding:24px 0 32px;margin-top:24px}
.representative-group>h2{font:600 16px/1.5 var(--font-body);color:#52664a;margin:0 0 8px}
.representative-intro{font-size:13px;line-height:1.7;color:#7b8872;margin:0 0 20px}
.representative-chapters{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}
.representative-chapter{display:flex;flex-direction:column;align-items:center;text-align:center;min-width:0}
.representative-status{height:30px;font-size:11px;color:#369652;font-weight:600}
.representative-circle{width:64px;height:64px;flex-shrink:0;border:0;border-radius:50%;background:#43ac62;color:white;display:grid;place-items:center;box-shadow:inset 0 -5px #2f8448,0 0 0 5px white,0 0 0 10px #e0efdb;margin:10px 0 20px;cursor:pointer}
.representative-circle svg{width:26px;height:26px}
.representative-circle:hover{background:#389e55}
.representative-circle:focus-visible,.representative-review:focus-visible{outline:3px solid #325f3b;outline-offset:12px}
.representative-day{font-size:11px;color:#7b8872;margin:0 0 8px;line-height:1.6}
.representative-chapter h3{font:600 14px/1.6 var(--font-body);color:#44553b;margin:0 0 16px;word-break:keep-all;overflow-wrap:anywhere}
.representative-review{margin-top:auto;background:white;border:1px solid #d4e0cd;border-radius:7px;color:#3f7149;font:600 11px/1.6 var(--font-body);padding:9px 7px;cursor:pointer;max-width:100%}
.representative-review:hover{background:#f1f7ec}
@media(max-width:600px){.representative-chapters{grid-template-columns:1fr;gap:28px}.representative-chapter{padding-bottom:24px;border-bottom:1px solid #f0f3ec}.representative-chapter h3{max-width:300px;font-size:16px}.representative-day{font-size:12px}.representative-review{font-size:13px;padding:10px 16px}.path-nav button{padding-left:8px;padding-right:8px}}

.outline-chapter>header{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:8px;height:auto;min-height:88px}
.outline-chapter>header h2{margin:0}

.design-intent-page{max-width:900px}.design-intent-section{padding:26px 0;border-bottom:1px solid #e8ede4}.design-intent-section h2{font-family:Pretendard,sans-serif;font-size:18px;font-weight:700;color:#355a42;margin:0 0 12px}.design-intent-section p{font-size:15px;line-height:1.9;color:#63705e;margin:0;max-width:760px}.design-intent-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.design-intent-links button{margin:0}.path-nav button[data-act=designIntent]>span{word-break:keep-all;line-height:1.5}@media(max-width:600px){.design-intent-section{padding:22px 0}.design-intent-section p{font-size:14px}.path-nav button[data-act=designIntent]>span{max-width:80px}.path-nav button{min-width:0}}

.design-persona{display:grid;grid-template-columns:90px 1fr;gap:14px 18px;margin:20px 0 0;font-size:15px;line-height:1.9}.design-persona dt{font-weight:650;color:#355a42}.design-persona dd{margin:0;color:#63705e}.design-unit{margin-top:28px}.design-unit h3{font-family:Pretendard,sans-serif;font-size:16px;line-height:1.6;color:#355a42;margin:0 0 8px;font-weight:650}@media(max-width:600px){.design-persona{grid-template-columns:1fr;gap:4px;font-size:14px}.design-persona dd{margin-bottom:12px}}

.design-verbatim h3{font-family:Pretendard,sans-serif;font-size:16px;font-weight:650;color:#355a42;margin:24px 0 14px}.design-verbatim p+p{margin-top:24px}
