:root{--ink:#15171c;--muted:#656b78;--line:#e4e6eb;--blue:#2456e8;--wash:#f5f7fc}*{box-sizing:border-box}body{min-height:100vh;margin:0;color:var(--ink);background:#fff;font:16px/1.7 -apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Noto Sans KR",sans-serif}.bar{height:64px;max-width:1120px;margin:auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between}.brand,.home{color:inherit;text-decoration:none;font-weight:750}.brand span{color:var(--blue)}.home{color:var(--muted);font-size:14px}.shell{max-width:900px;margin:auto;padding:36px 24px 52px}.topline{display:flex;justify-content:space-between;gap:16px;align-items:center;color:var(--muted);font-size:14px}.label{color:var(--blue);font-size:13px;font-weight:800;letter-spacing:.08em}.progress{height:4px;margin:20px 0 0;border-radius:9px;background:#e8eaf0;overflow:hidden}.progress span{display:block;height:100%;background:var(--blue);transition:width .25s}.slide{display:none;min-height:490px;padding:62px 0 36px;animation:in .25s ease}.slide.active{display:block}.slide h1,.slide h2{max-width:760px;margin:12px 0 20px;font-size:clamp(38px,6vw,64px);line-height:1.15;letter-spacing:-.07em}.slide h1 em,.slide h2 em{color:var(--blue);font-style:normal}.slide .lead{max-width:680px;color:var(--muted);font-size:19px}.slide h3{margin:28px 0 10px;font-size:20px;letter-spacing:-.035em}.panel{max-width:720px;margin:28px 0;padding:22px 24px;border:1px solid var(--line);border-radius:14px;background:var(--wash)}.panel strong{display:block;margin-bottom:6px}.panel p:last-child{margin-bottom:0}.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;max-width:760px;margin:26px 0}.card{padding:18px;border:1px solid var(--line);border-radius:13px}.card strong{display:block;margin-bottom:5px}.card p{margin:0;color:var(--muted);font-size:14px}.step-list{max-width:730px;margin:22px 0;padding:0;list-style:none;counter-reset:step}.step-list li{position:relative;padding:0 0 18px 43px;counter-increment:step}.step-list li:before{content:counter(step);position:absolute;left:0;top:1px;width:28px;height:28px;border:1px solid #b9c8ff;border-radius:50%;display:grid;place-items:center;color:var(--blue);font-size:13px;font-weight:750}.step-list li:not(:last-child):after{content:"";position:absolute;top:32px;bottom:0;left:14px;border-left:1px solid #d8deef}code{padding:2px 5px;border-radius:5px;background:#edf0f5;font:13px ui-monospace,SFMono-Regular,Menlo,monospace}pre{max-width:760px;margin:20px 0;padding:18px;overflow:auto;border-radius:12px;background:#171a23;color:#eef2ff;font:13px/1.65 ui-monospace,SFMono-Regular,Menlo,monospace;white-space:pre-wrap}pre code{padding:0;background:none;color:inherit}.image{display:block;max-width:680px;max-height:240px;margin:24px 0;border:1px solid var(--line);border-radius:12px}.slide:has(.quiz) h2{margin-bottom:30px;font-size:clamp(28px,4vw,42px);line-height:1.25;letter-spacing:-.055em}.quiz{max-width:800px;margin:28px 0;padding:30px;border:1px solid var(--line);border-radius:14px;background:var(--wash)}.quiz legend{max-width:720px;margin-bottom:22px;font-size:clamp(28px,4vw,44px);font-weight:800;line-height:1.22;letter-spacing:-.06em}.quiz label{display:block;margin:9px 0;padding:12px 14px;border:1px solid #dce0e8;border-radius:9px;background:#fff;cursor:pointer}.quiz input{margin-right:8px}.quiz button{margin-top:12px}.result{min-height:27px;margin:14px 0 0;font-weight:650}.result.correct{color:#067647}.result.wrong{color:#9a6700}.controls{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:20px;border-top:1px solid var(--line)}button,.next-link{min-width:100px;padding:12px 17px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink);font:inherit;font-size:14px;font-weight:720;cursor:pointer;text-decoration:none}button:hover{border-color:#aebef6}button.primary,.next-link{border-color:var(--blue);background:var(--blue);color:#fff}.counter{color:var(--muted);font-size:14px}.lesson-list{display:grid;gap:12px;max-width:760px;margin:30px 0}.lesson-link{display:flex;gap:18px;align-items:center;padding:20px;border:1px solid var(--line);border-radius:14px;color:var(--ink);text-decoration:none}.lesson-link:hover{border-color:#aebef6;background:#fafbff}.lesson-link .num{flex:none;color:var(--blue);font-weight:800;font-size:14px}.lesson-link strong{display:block;font-size:19px;letter-spacing:-.04em}.lesson-link p{margin:3px 0 0;color:var(--muted);font-size:14px}.assignment-link{position:relative;min-height:96px;border-color:#cbd8ff;background:#f4f7ff}.assignment-link:hover{border-color:var(--blue);background:#edf2ff}.assignment-link .num{min-width:62px;font-size:12px;line-height:1.25}.assignment-arrow{margin-left:auto;color:var(--blue);font-size:22px;font-weight:700}.source-note{max-width:720px;margin-top:28px;color:var(--muted);font-size:13px}.source-note a{color:inherit}.course-aim{font-size:17px;color:var(--ink);font-weight:650}@keyframes in{from{opacity:0;transform:translateX(10px)}to{opacity:1;transform:none}}@media(max-width:640px){.bar,.shell{padding-left:18px;padding-right:18px}.shell{padding-top:26px}.slide{min-height:510px;padding:44px 0 28px}.cards{grid-template-columns:1fr}.slide h1,.slide h2{font-size:40px}.image{max-height:190px}.controls{position:sticky;bottom:0;padding:14px 0;background:#fff}.counter{display:none}}