@import url('/course-fonts.css?v=20261023-csp1');
.cp-page{--ink:#172532;--accent:#1768ee;color:var(--ink);padding-top:24px;padding-bottom:80px}.cp-topline{display:flex;justify-content:space-between;align-items:center;margin:0 0 20px;font-size:13px}.cp-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:32px;align-items:start}.cp-content{min-width:0;background:white;border-radius:20px;overflow:hidden;border:1px solid #e6ecf2}.cp-hero{position:relative;min-height:490px;background:#09172c;color:white;display:flex;align-items:flex-end;overflow:hidden}.cp-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.cp-hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,14,29,.9),rgba(4,14,29,.1) 95%)}.cp-hero-copy{position:relative;z-index:1;padding:40px 36px;max-width:85%}.cp-eyebrow{font-size:12px;letter-spacing:2px;font-weight:800;color:#95c3ff}.cp-hero h1{font-size:clamp(30px,3.6vw,48px);line-height:1.25;letter-spacing:-2px;color:white;word-break:keep-all;margin:18px 0}.cp-hero-copy p{font-size:15px;color:#d5e4f9;line-height:1.8;max-width:330px}.cp-meta{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid #e5ebf0;padding:24px;background:#fafcff}.cp-meta>div{text-align:center;border-right:1px solid #e1e8f0}.cp-meta>div:last-child{border:0}.cp-meta small{display:block;font-size:11px;color:#66788c;margin-bottom:8px}.cp-meta b{font-size:17px}.cp-blocks{padding:20px 30px}.cp-block{position:relative;box-sizing:border-box;max-width:100%;margin-right:auto;margin-left:auto;overflow-wrap:anywhere}.cp-block[data-align=left]{margin-left:0}.cp-block[data-align=right]{margin-right:0}.cp-block h2,.cp-block p{margin:0;white-space:pre-wrap;word-break:keep-all;line-height:inherit;font-size:inherit;font-weight:inherit;color:inherit}.cp-block figure{margin:0}.cp-block img{display:block;width:100%;border-radius:12px}.cp-block figcaption{font-size:12px;color:#788391;margin-top:10px;line-height:1.7;text-align:center}.cp-block.cp-callout{padding-left:24px;padding-right:24px;border-radius:14px}.cp-split-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:center}.cp-split-grid>div{min-width:0}.cp-divider hr{border:0;border-top:1px solid #e3e9ee}.cp-buy{position:sticky;top:24px;padding:26px;border:1px solid #dce5ef;background:white;border-radius:18px;box-shadow:0 16px 40px #153d6510}.cp-buy h2{font-size:22px;line-height:1.5;margin:15px 0;word-break:keep-all}.cp-buy .cp-amount{font-size:32px;letter-spacing:-1px;font-weight:900;margin:18px 0 4px}.cp-buy .cp-muted{font-size:12px;color:#718296;line-height:1.8}.cp-buy ul{padding-left:20px;font-size:13px;line-height:2}.cp-buy .btn{width:100%;margin-top:12px;white-space:normal}.cp-buy-note{background:#f1f6ff;border-radius:10px;padding:12px;font-size:12px;line-height:1.8;color:#35537d}.cp-required{padding:24px 30px;border-top:1px solid #e6ecf2;background:#fbfcfe}.cp-required h3{font-size:18px;margin:20px 0 12px}.cp-required p{font-size:13px;line-height:1.9;color:#62758a}.cp-session{display:grid;grid-template-columns:44px 1fr;gap:12px;padding:18px 0;border-bottom:1px solid #e4ebf2}.cp-session b{color:#246be6}.cp-session strong{display:block;font-size:15px}.cp-session small{display:block;color:#6c7e94;font-size:12px;margin-top:7px;line-height:1.7}
.cpe-overlay{position:fixed;inset:0;background:#edf1f7;z-index:10000;display:flex;flex-direction:column;color:#172532}.cpe-header{padding:14px 22px;background:white;border-bottom:1px solid #dce3ed;display:flex;gap:12px;align-items:center;flex-wrap:wrap}.cpe-header h2{font-size:17px;margin:0 auto 0 0}.cpe-header button,.cpe-controls button,.cpe-add button{border:1px solid #cfd9e6;border-radius:7px;padding:8px 12px;background:white;cursor:pointer;font:inherit;font-size:12px}.cpe-header .cpe-primary{background:#1768ee;color:white;border-color:#1768ee}.cpe-body{display:grid;grid-template-columns:260px minmax(300px,1fr) 270px;flex:1;min-height:0}.cpe-sidebar,.cpe-controls{overflow:auto;padding:18px;background:white}.cpe-sidebar{border-right:1px solid #dce3ed}.cpe-controls{border-left:1px solid #dce3ed}.cpe-controls label{display:block;font-size:12px;margin:0 0 15px;font-weight:600}.cpe-controls input,.cpe-controls textarea,.cpe-controls select{width:100%;margin-top:6px;box-sizing:border-box;padding:8px;border:1px solid #d3deea;border-radius:7px;font:inherit;font-weight:400;background:white}.cpe-controls input[type=color]{height:38px;padding:3px}.cpe-controls input[type=range]{padding:0}.cpe-controls textarea{min-height:135px;resize:vertical;line-height:1.7}.cpe-controls h3,.cpe-sidebar h3{font-size:14px;margin:0 0 15px}.cpe-add{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}.cpe-block-item{padding:12px 10px;margin-bottom:7px;background:#f7f9fc;border:1px solid #e1e7ef;border-radius:8px;cursor:grab;font-size:12px;display:flex;gap:6px;align-items:center}.cpe-block-item.active{border-color:#1768ee;background:#edf4ff}.cpe-block-item span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.cpe-block-item button{border:0;background:transparent;cursor:pointer;padding:3px}.cpe-preview-wrap{overflow:auto;padding:26px}.cpe-preview{max-width:850px;min-height:100%;margin:auto;background:white;box-shadow:0 8px 40px #233b5915;border-radius:12px;overflow:hidden}.cpe-preview.mobile{max-width:390px}.cpe-preview .cp-block{outline:1px dashed #c8d5e3;cursor:pointer;min-height:22px}.cpe-preview .cp-block.selected{outline:2px solid #1768ee}.cpe-resize{position:absolute;bottom:0;right:0;width:16px;height:16px;background:#1768ee;border:3px solid white;border-radius:3px;cursor:ew-resize;z-index:5;touch-action:none}.cpe-status{font-size:12px;max-width:340px;line-height:1.5;color:#5b6f86}.cpe-status.error{color:#bb3030}.cpe-controls small,.cpe-sidebar p{font-size:11px;line-height:1.8;color:#708196}.cpe-preview .cp-hero{min-height:380px}.cpe-preview.mobile .cp-split-grid{grid-template-columns:1fr}.cpe-preview.mobile .cp-block h2{}
@media(max-width:1000px){.cp-layout{grid-template-columns:minmax(0,1fr) 270px;gap:18px}.cp-blocks{padding:14px 22px}.cp-hero-copy{padding:30px 25px}.cpe-body{grid-template-columns:180px minmax(260px,1fr) 230px}.cpe-preview-wrap{padding:15px}}
@media(max-width:760px){.cp-layout{grid-template-columns:1fr}.cp-buy{position:static}.cp-hero{min-height:430px}.cp-hero-copy{max-width:95%;padding:28px 24px}.cp-hero h1{font-size:34px}.cp-blocks{padding:12px 20px}.cp-split-grid{grid-template-columns:1fr}.cp-block h2{}.cp-meta{padding:20px 10px}.cp-meta b{font-size:14px}.cp-required{padding:16px 20px}.cpe-body{display:block;overflow:auto}.cpe-sidebar,.cpe-controls{max-height:340px;overflow:auto}.cpe-preview-wrap{overflow:visible}.cpe-header{padding:10px}.cpe-header h2{width:100%}.cpe-preview{min-height:300px}.cp-topline{gap:10px}}

/* Course reading hierarchy: title / section / paragraph / caption. */
.cp-page,.cpe-overlay{font-family:'Noto Sans KR',sans-serif}
.cp-hero h1{font-family:'Nanum Gothic',sans-serif;font-size:clamp(29px,3.1vw,42px);font-weight:800;line-height:1.4;letter-spacing:-1.5px;margin:18px 0 22px}
.cp-hero-copy p{font-size:14px;line-height:1.95;font-weight:400;letter-spacing:-.2px}
.cp-eyebrow{font-size:10px;letter-spacing:2.3px;line-height:1.8}
.cp-blocks{padding:18px 38px 36px}
.cp-block h2{letter-spacing:-1.2px;font-weight:inherit;max-width:650px}
.cp-block p{letter-spacing:-.25px;font-weight:inherit}
.cp-block figcaption{font-family:'Noto Sans KR',sans-serif;font-size:12px;line-height:1.85;color:#7d8997;max-width:560px;margin:12px auto 0}
.cp-block.cp-callout{border:1px solid #e6edf6;border-radius:14px}
.cp-meta{padding:22px 20px}.cp-meta b{font-size:15px;font-weight:700}.cp-meta small{font-size:10px;letter-spacing:1px}
.cp-buy h2{font-size:20px;line-height:1.65;letter-spacing:-.65px;font-weight:700}.cp-buy .cp-amount{font-size:29px;letter-spacing:-1px;font-weight:800}.cp-buy-note{font-size:11px;line-height:1.9}
.cp-required{padding:24px 34px}.cp-required h3{font-size:17px;letter-spacing:-.35px;margin-top:28px}.cp-session strong{font-size:14px;font-weight:600;line-height:1.7}.cp-required p{font-size:12px;line-height:1.95}
.cpe-presets{display:flex;flex-wrap:wrap;gap:5px;margin:0 0 16px}.cpe-presets button{padding:6px 8px;background:#f3f7fd;color:#385579}.cpe-controls output{color:#1768ee;float:right;font-weight:700}.cpe-controls select[data-prop=fontFamily]{min-height:42px}.cpe-controls textarea{font-size:14px}
@media(max-width:760px){.cp-blocks{padding:12px 24px 28px}.cp-hero h1{font-size:31px;line-height:1.4;letter-spacing:-1.2px}.cp-block[data-kind=heading]{}.cp-block[data-kind=text],.cp-block[data-kind=split]{}.cp-block[data-kind=callout]{}.cp-required{padding:18px 24px}}

.cpe-inline-tools{padding:14px;border:1px solid #bad2fb;background:#f2f7ff;border-radius:10px;margin:16px 0}.cpe-inline-tools h4{font-size:13px;margin:0 0 8px}.cpe-inline-tools p{font-size:12px;line-height:1.6;overflow-wrap:anywhere;margin:8px 0;color:#315580}.cpe-inline-grid{display:grid;gap:8px}.cpe-inline-tools label{margin:0 0 8px}.cpe-inline-tools button{margin:4px 2px}.cpe-preview .cp-block{cursor:text;user-select:text}.cpe-preview .cp-block img{user-select:none}.cpe-preview .cp-block ::selection{background:#b9d5ff}

/* A session has three children: number, thumbnail, and readable details. */
.cp-required .cp-session{display:grid;grid-template-columns:32px 112px minmax(0,1fr);gap:18px;align-items:center;padding:22px 0}
.cp-required .cp-session>b{align-self:start;padding-top:3px;font-size:14px;font-variant-numeric:tabular-nums}
.cp-required .cp-session>.lesson-thumb{width:112px;height:63px;object-fit:cover;border-radius:10px}
.cp-required .cp-session>div{min-width:0;grid-column:3}
.cp-required .cp-session strong{font-size:16px;line-height:1.65;letter-spacing:-.35px;word-break:keep-all;overflow-wrap:break-word}
.cp-required .cp-session small{font-size:13px;line-height:1.8;margin-top:8px;word-break:keep-all}
@media(max-width:600px){.cp-required .cp-session{grid-template-columns:26px 72px minmax(0,1fr);column-gap:12px;row-gap:10px;padding:20px 0}.cp-required .cp-session>.lesson-thumb{width:72px;height:40.5px;border-radius:7px}.cp-required .cp-session strong{font-size:14px}.cp-required .cp-session small{font-size:12px}}
@media(max-width:380px){.cp-required .cp-session{grid-template-columns:26px minmax(0,1fr)}.cp-required .cp-session>.lesson-thumb{grid-column:2}.cp-required .cp-session>div{grid-column:2}}

/* Respond to the actual article width, including tablet sidebars. */
.cp-content{container-type:inline-size}
@container(max-width:600px){
 .cp-split-grid{grid-template-columns:minmax(0,1fr);gap:20px}
 .cp-block h2{font-size:min(var(--cp-font-size,32px),clamp(24px,8cqw,36px))!important;letter-spacing:-.8px;overflow-wrap:anywhere}
 .cp-block p{overflow-wrap:anywhere}
 .cp-required .cp-session{grid-template-columns:72px minmax(0,1fr);gap:12px 14px;padding:20px 0}
 .cp-required .cp-session>b{grid-column:2;grid-row:1;align-self:center;padding:0;font-size:14px}
 .cp-required .cp-session>.lesson-thumb{grid-column:1;grid-row:1;width:72px;height:40.5px;border-radius:8px}
 .cp-required .cp-session>div{grid-column:1/-1;grid-row:2;min-width:0}
 .cp-required .cp-session strong{font-size:16px;line-height:1.65}
 .cp-required .cp-session small{font-size:13px;line-height:1.8;margin-top:6px}
 .cp-required p{font-size:14px;line-height:1.9;overflow-wrap:anywhere}
}
@media(max-width:1000px){.cp-layout{grid-template-columns:minmax(0,1fr)}.cp-buy{position:static;max-width:100%}}
@media(max-width:600px){
 .cp-blocks{padding:16px 18px 28px}
 .cp-required{padding:18px}
 .cp-block{width:100%!important;max-width:100%}
 .cp-block.cp-callout{padding-left:16px;padding-right:16px}
 .cp-hero-copy{max-width:100%;padding:28px 20px}
 .cp-hero h1{font-size:clamp(26px,7.5vw,34px);letter-spacing:-1px;overflow-wrap:anywhere}
 .cp-buy{padding:22px 20px}
}
