@import url('https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;700&family=Lexend:wght@500;700;800&family=Pretendard:wght@400;500;600;700;800;900&display=swap');
*{box-sizing:border-box;margin:0;padding:0}
:root{--navy:#071d33;--navy2:#173b5b;--ink:#17283b;--muted:#63768a;--line:#cbd5df;--silver:#e8edf2;--soft:#f5f7f9;--paper:#fff;--blue:#356f9f;--mint:#397d69;--shadow:0 26px 70px -52px rgba(7,29,51,.85)}
html{scroll-behavior:smooth}body{min-height:100vh;font-family:"Pretendard",-apple-system,BlinkMacSystemFont,sans-serif;background:linear-gradient(145deg,#fff 0%,#f4f7f9 58%,#e6edf3 100%);color:var(--ink);line-height:1.65}a{color:inherit;text-decoration:none}button{font:inherit}
.topbar{position:sticky;top:0;z-index:40;border-bottom:1px solid rgba(184,197,209,.82);background:rgba(255,255,255,.92);backdrop-filter:blur(18px)}.topbar-inner{width:min(1180px,calc(100% - 34px));min-height:68px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:18px}.brand{display:flex;align-items:center;gap:12px;color:var(--navy);font-weight:900}.brand img{width:40px;height:40px;border:1px solid #c4ced8;border-radius:11px;background:#fff}.brand small{display:block;color:#72859a;font-family:"Lexend",sans-serif;font-size:9px;letter-spacing:2px;text-transform:uppercase}.top-actions{display:flex;gap:7px}.pill{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:8px 14px;border:1px solid #b9c5d0;border-radius:999px;background:#fff;color:var(--navy);font-size:11px;font-weight:850}.pill.primary{border-color:var(--navy);background:var(--navy);color:#fff}
.hero{width:min(1180px,calc(100% - 34px));margin:auto;padding:68px 0 42px;display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:48px;align-items:center}.eyebrow{display:flex;align-items:center;gap:10px;margin-bottom:17px;color:#4c7092;font-family:"Lexend",sans-serif;font-size:11px;font-weight:800;letter-spacing:2px;text-transform:uppercase}.lesson-no{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:var(--navy);color:#fff;letter-spacing:0}.hero h1{color:var(--navy);font-size:clamp(44px,5.8vw,74px);font-weight:950;line-height:1.04;letter-spacing:-4px;word-break:keep-all}.hero-lead{margin-top:20px;max-width:670px;color:#52677b;font-size:17px;line-height:1.85;word-break:keep-all}.tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}.tag{padding:8px 12px;border:1px solid #c1ccd6;border-radius:999px;background:rgba(255,255,255,.82);color:var(--navy2);font-size:11px;font-weight:850}
.concept-card{position:relative;min-height:330px;padding:32px;border:1px solid #c4cfd9;border-radius:28px;background:linear-gradient(145deg,#fff,#e5ebf1);box-shadow:var(--shadow);overflow:hidden}.concept-card::before{content:"C#";position:absolute;right:-12px;bottom:-55px;color:rgba(7,29,51,.065);font-family:"JetBrains Mono",monospace;font-size:210px;font-weight:900;line-height:1}.concept-label{color:#6e8397;font:800 9px/1 "Lexend",sans-serif;letter-spacing:2px}.concept-card h2{position:relative;margin-top:18px;color:var(--navy);font:900 31px/1.18 "Pretendard",sans-serif;letter-spacing:-1.2px}.flow{position:relative;display:grid;gap:10px;margin-top:28px}.flow-row{display:grid;grid-template-columns:35px 1fr;gap:12px;align-items:center;padding:11px 12px;border:1px solid #c8d2dc;border-radius:12px;background:rgba(255,255,255,.75);color:#405971;font-size:12px;font-weight:750}.flow-row b{display:grid;place-items:center;width:31px;height:31px;border-radius:9px;background:var(--navy);color:#fff;font:800 10px "Lexend",sans-serif}
.course-layout{width:min(1180px,calc(100% - 34px));margin:0 auto 85px;display:grid;grid-template-columns:220px minmax(0,1fr);gap:28px;align-items:start}.lesson-nav{position:sticky;top:88px;padding:16px;border:1px solid var(--line);border-radius:20px;background:rgba(255,255,255,.91);box-shadow:var(--shadow)}.nav-label{margin:0 7px 11px;color:#8191a1;font-family:"Lexend",sans-serif;font-size:9px;font-weight:800;letter-spacing:2px;text-transform:uppercase}.lesson-nav a{display:grid;grid-template-columns:27px 1fr;gap:8px;align-items:center;padding:9px 8px;border-radius:10px;color:#586d81;font-size:11px;font-weight:750}.lesson-nav a:hover,.lesson-nav a.active{background:#e9f0f5;color:var(--navy)}.lesson-nav b{color:#91a2b2;font-family:"Lexend",sans-serif;font-size:9px}.lesson-nav a.active b{color:#315f89}.lesson-main{display:grid;gap:18px}
.step{overflow:hidden;border:1px solid var(--line);border-radius:24px;background:rgba(255,255,255,.96);box-shadow:var(--shadow)}.step-grid{display:grid;grid-template-columns:minmax(300px,.82fr) minmax(0,1.18fr);min-height:430px}.step-copy{padding:36px 32px;display:flex;flex-direction:column;justify-content:center}.step-kicker{margin-bottom:12px;color:#8090a1;font-family:"Lexend",sans-serif;font-size:9px;font-weight:800;letter-spacing:2px;text-transform:uppercase}.step h2{color:var(--navy);font-size:clamp(28px,3vw,41px);font-weight:950;line-height:1.13;letter-spacing:-1.7px;word-break:keep-all}.step p{margin-top:15px;color:#5b6f82;font-size:14px;line-height:1.84;word-break:keep-all}.tasks{display:grid;gap:8px;margin-top:19px}.tasks li{position:relative;list-style:none;padding-left:31px;color:#40566c;font-size:13px;font-weight:650;line-height:1.6}.tasks li::before{content:attr(data-num);position:absolute;left:0;top:1px;display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#e8eef4;color:#315f89;font-family:"Lexend",sans-serif;font-size:8px;font-weight:900}.check{margin-top:18px;padding:13px 15px;border-left:3px solid #315f89;background:#eff4f8;color:#4d6479;font-size:12px;line-height:1.65}.step-media{display:flex;align-items:center;justify-content:center;min-width:0;padding:25px;background:linear-gradient(145deg,#f1f5f8,#e1e8ee)}
.code-card{width:100%;max-width:670px;border:1px solid #263d54;border-radius:18px;background:#071a2c;box-shadow:0 22px 48px -39px #071d33;overflow:hidden}.code-head{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid #25425f;color:#b9c9d7;font-family:"Lexend",sans-serif;font-size:9px;font-weight:800;letter-spacing:1.3px}.copy-code{padding:6px 9px;border:1px solid #42617d;border-radius:8px;background:#102a43;color:#fff;font-size:9px;font-weight:800;cursor:pointer}.code-card pre{overflow:auto;padding:22px;color:#e8f2fa;font:12px/1.75 "JetBrains Mono",monospace;white-space:pre}.code-card .comment{color:#7fa58f}.code-card .keyword{color:#7dd7ff}
.why-card{width:100%;max-width:650px;display:grid;gap:12px}.why-row{padding:18px;border:1px solid #c3ced8;border-radius:16px;background:#fff}.why-row small{display:block;color:#71879a;font:800 9px "Lexend",sans-serif;letter-spacing:1.4px}.why-row b{display:block;margin-top:6px;color:var(--navy);font-size:16px}.why-row span{display:block;margin-top:5px;color:#63768a;font-size:12px}.arrow{height:28px;text-align:center;color:#6f879b;font-size:22px}
.finish{padding:38px;border:1px solid #244767;border-radius:24px;background:linear-gradient(135deg,#071a2e,#153b5c);color:#dbe6ef}.finish-grid{display:grid;grid-template-columns:1fr .8fr;gap:32px;align-items:center}.finish small{color:#88abc9;font-family:"Lexend",sans-serif;font-weight:800;letter-spacing:2px}.finish h2{margin-top:10px;color:#fff;font-size:36px;line-height:1.16;letter-spacing:-1.4px}.finish p{margin-top:13px;color:#b9c8d5}.mission{padding:20px;border:1px solid #456681;border-radius:16px;background:rgba(255,255,255,.06)}.mission b{display:block;color:#77c9f3;font-size:11px}.mission span{display:block;margin-top:8px;color:#fff;font-size:15px;font-weight:800}.pager{display:grid;grid-template-columns:1fr 1fr;gap:10px}.pager a{padding:18px;border:1px solid var(--line);border-radius:17px;background:#fff}.pager a:last-child{text-align:right}.pager small{display:block;color:#8293a4;font-family:"Lexend",sans-serif;font-size:8px;letter-spacing:1.2px}.pager b{display:block;margin-top:4px;color:var(--navy);font-size:13px}.course-note{padding:20px 22px;border:1px solid var(--line);border-radius:18px;background:#fff;color:#63768a;font-size:12px}.course-note strong{color:var(--navy)}.course-note a{display:inline-block;margin-top:10px;padding:6px 9px;border:1px solid #c0ccd7;border-radius:999px;color:#315f89;font-weight:800}
@media(max-width:950px){.hero{grid-template-columns:1fr}.course-layout{grid-template-columns:1fr}.lesson-nav{position:static;display:flex;overflow:auto}.nav-label{display:none}.lesson-nav a{min-width:145px}.step-grid{grid-template-columns:1fr}.finish-grid{grid-template-columns:1fr}}
@media(max-width:640px){.topbar-inner,.hero,.course-layout{width:min(100% - 24px,1180px)}.topbar-inner{min-height:62px}.brand small{display:none}.top-actions .pill:first-child{display:none}.hero{padding:44px 0 29px;gap:26px}.hero h1{font-size:42px;letter-spacing:-2.3px}.hero-lead{font-size:15px}.concept-card{min-height:290px}.step-copy{padding:28px 22px}.step h2{font-size:30px}.step-media{padding:15px}.code-card pre{font-size:10px}.finish{padding:27px 23px}.pager{grid-template-columns:1fr}.pager a:last-child{text-align:left}}
