:root{font-family:system-ui,-apple-system,"Apple SD Gothic Neo","Noto Sans KR",sans-serif;font-synthesis:none;color:#1e2a3e;background:#f5f6f9;--ink:#1e2a3e;--muted:#6d7b91;--line:#dfe4ec;--accent:#4a64d5}
*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none;touch-action:manipulation}a:focus-visible{outline:3px solid #687ce7;outline-offset:4px}h1,h2,h3,p{margin:0}a,section{scroll-margin-top:20px}
.skip-link{position:absolute;top:-100px;left:20px;background:#fff;border:2px solid var(--accent);padding:12px 20px;z-index:10}.skip-link:focus{top:12px}
.topbar{height:64px;padding:0 32px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{font-size:27px;font-weight:850;letter-spacing:-1px}.brand>span{color:var(--accent)}.brand small{font-size:14px;letter-spacing:0;font-weight:500;margin-left:16px;color:#7b8699}.home{font-size:14px;border:1px solid var(--line);padding:11px 15px;border-radius:5px;white-space:nowrap}.home:hover{background:#f5f7fc}
main{max-width:1360px;margin:auto;padding:24px 32px}.curriculum-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:12px}h1{font-size:28px;line-height:1.4;letter-spacing:-.8px}.course-count{font-size:14px;font-weight:650;color:#6c7890;white-space:nowrap}.course-count span{margin:0 6px}
.group-nav{display:flex;flex-wrap:wrap;gap:6px;padding-bottom:14px;border-bottom:1px solid var(--line);margin-bottom:18px}.group-link{display:inline-flex;align-items:center;min-height:44px;padding:9px 14px;border:1px solid #dce2ed;border-radius:6px;background:#fff;color:#586985;font-size:14px;font-weight:600}.group-link:hover{border-color:#8292d7;color:#3f58af;background:#edf1ff}
.curriculum-group{margin-bottom:24px}.group-heading{display:flex;align-items:baseline;gap:10px;margin-bottom:10px}h2{font-size:19px;line-height:1.5;letter-spacing:-.4px}.lesson-range{color:#7b879b;font-size:13px;white-space:nowrap}
.curriculum-lesson{display:grid;grid-template-columns:190px minmax(0,1fr);align-items:center;gap:16px;padding:12px 16px;border:1px solid var(--line);border-radius:8px;background:#fff;margin-bottom:8px}.curriculum-lesson-heading{display:flex;align-items:baseline;gap:9px;min-width:0}.lesson-number{flex:none;color:#5770c2;font-size:14px;font-weight:750}.curriculum-lesson h3{font-size:16px;font-weight:700;line-height:1.5;letter-spacing:-.3px;word-break:keep-all;overflow-wrap:anywhere}
.part-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.part-card{display:flex;flex-direction:column;min-width:0;min-height:78px;border:1px solid #e2e7f1;border-radius:6px;padding:10px 12px;background:#fafbfe;transition:background .15s,border-color .15s}.part-card:hover{background:#f0f3ff;border-color:#8c9bd4}.part-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:5px}.part-number{color:#526ab9;font-size:12px;font-weight:750;white-space:nowrap}.part-duration{color:#77859a;font-size:12px;line-height:1.5;font-variant-numeric:tabular-nums;white-space:nowrap}.part-title{font-size:15px;font-weight:650;line-height:1.5;word-break:keep-all;overflow-wrap:anywhere;color:#34445f}
.curriculum-footer{display:flex;justify-content:center;padding:0 0 8px}.curriculum-footer a{padding:12px 20px;font-size:14px;color:#667795}.notice{padding:20px;background:#fff;border:1px solid var(--line);border-radius:8px;line-height:1.7}
.part-card{position:relative;padding:6px 10px 8px;overflow:hidden}.part-card-top{margin-bottom:2px}.part-info{display:flex;align-items:center;gap:7px;min-width:0}.part-status{font-size:10px;font-weight:650;line-height:1.5;color:#7b8798;white-space:nowrap}.part-counts{display:block;margin-top:3px;font-size:11px;line-height:1.5;color:#758299;font-variant-numeric:tabular-nums;white-space:normal;word-break:keep-all}.part-progress{position:absolute;bottom:0;left:0;right:0;height:3px;background:#e8ecf5}.part-progress-fill{display:block;height:100%;background:#637bd6}.part-card[data-progress="inprogress"] .part-status{color:#5268b7}.part-card[data-progress="complete"]{background:#f5faf8;border-color:#d5e8de}.part-card[data-progress="complete"] .part-status{color:#348367}.part-card[data-progress="complete"] .part-progress-fill{background:#55a184}.part-card[data-progress="unavailable"] .part-status{color:#98702d}
@media(max-width:1050px){main{padding:20px 24px}.topbar{padding:0 24px}.curriculum-lesson{grid-template-columns:1fr;gap:10px;padding:12px 14px}.part-card{padding:6px 10px 8px}}
@media(max-width:600px){.topbar{height:60px;padding:0 16px}.brand small{font-size:12px;margin-left:10px}.home{font-size:13px;padding:11px}.brand{font-size:25px}main{padding:18px 14px}.curriculum-heading{gap:12px;margin-bottom:10px}h1{font-size:25px}.course-count{font-size:12px}.group-nav{gap:6px;padding-bottom:12px;margin-bottom:14px}.group-link{font-size:13px;padding:9px 11px}.curriculum-group{margin-bottom:20px}.group-heading{gap:8px;margin-bottom:8px}h2{font-size:18px}.curriculum-lesson{padding:10px 12px;gap:8px}.curriculum-lesson-heading{gap:8px}.curriculum-lesson h3{font-size:16px}.lesson-number{font-size:13px}.part-grid{grid-template-columns:1fr;gap:5px}.part-card{display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;column-gap:8px;min-height:54px;padding:8px 10px}.part-card-top{display:contents}.part-number{grid-column:1;grid-row:1}.part-title{grid-column:2;grid-row:1;font-size:15px}.part-duration{grid-column:3;grid-row:1;font-size:11px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
@media(max-width:600px){.course-count{white-space:normal;text-align:right;line-height:1.5}.part-card{grid-template-columns:40px minmax(0,1fr) auto;row-gap:2px;min-height:62px;padding:7px 10px 9px}.part-info{display:contents}.part-status{grid-column:1 / 2;grid-row:2;font-size:10px}.part-counts{grid-column:2 / 4;grid-row:2;margin-top:0;font-size:10px}.part-progress{grid-column:1 / -1}}
