:root{--header-h:60px;--sidebar-w:300px;--content-w:780px;--bg:#fbfbfa;--surface:#ffffff;--surface-2:#f3f4f1;--text:#1d2125;--text-2:#4d555d;--text-3:#828a92;--border:#e4e6e1;--accent:#2f5d8a;--accent-soft:#e6eef6;--accent-strong:#1e4469;--tip-bg:#e8f2fb;--tip-bd:#3a7bc8;--warn-bg:#fdf3e2;--warn-bd:#d38b1c;--key-bg:#e9f3ee;--key-bd:#2f7a5e;--law-bg:#f4f2fa;--law-bd:#7a68b8;--good:#2f7a5e;--bad:#c2463b;--shadow:0 1px 2px rgba(20,30,40,.05),0 4px 16px rgba(20,30,40,.05);--radius:12px;--ease:cubic-bezier(.4,0,.2,1)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#14171a;--surface:#1b1f23;--surface-2:#23282d;--text:#e8eaeb;--text-2:#b4bbc0;--text-3:#848d93;--border:#2e3439;--accent:#7fb2e5;--accent-soft:#1d2d3d;--accent-strong:#a6cbf0;--tip-bg:#1b2a3a;--tip-bd:#5c9be0;--warn-bg:#352a17;--warn-bd:#e0a84a;--key-bg:#1d3029;--key-bd:#6cc3a7;--law-bg:#26223a;--law-bd:#a596e0;--good:#6cc3a7;--bad:#ef8a80;--shadow:0 1px 2px rgba(0,0,0,.3),0 4px 16px rgba(0,0,0,.25)}}*,:after,:before{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 24px);-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:Noto Sans KR,Pretendard,Apple SD Gothic Neo,Malgun Gothic,system-ui,sans-serif;font-size:17px;line-height:1.8;word-break:keep-all;overflow-wrap:break-word}a{color:var(--accent)}.toc-toggle{position:absolute;opacity:0;pointer-events:none}.topbar{position:fixed;inset:0 0 auto 0;height:var(--header-h);z-index:50;display:flex;align-items:center;gap:14px;padding:0 20px;background:color-mix(in srgb,var(--surface) 88%,transparent);backdrop-filter:saturate(1.4) blur(10px);-webkit-backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--border)}.hamburger{flex:none;width:40px;height:40px;display:grid;place-content:center;grid-gap:5px;gap:5px;border-radius:10px;cursor:pointer;transition:background .2s var(--ease)}.hamburger:hover{background:var(--surface-2)}.hamburger span{display:block;width:20px;height:2px;border-radius:2px;background:var(--text);transition:transform .3s var(--ease),opacity .2s var(--ease)}.toc-toggle:focus-visible~.topbar .hamburger{outline:2px solid var(--accent);outline-offset:2px}.topbar-title{min-width:0;display:flex;align-items:baseline;gap:10px}.topbar-title .badge{flex:none;font-size:12px;font-weight:700;color:var(--accent);background:var(--accent-soft);padding:2px 8px;border-radius:999px}.topbar-title h1{margin:0;font-size:16px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar-nav{margin-left:auto;flex:none;display:flex;gap:4px}.topbar-nav a{font-size:13.5px;font-weight:600;color:var(--text-2);text-decoration:none;padding:6px 10px;border-radius:8px}.topbar-nav a:hover{background:var(--surface-2);color:var(--text)}.progress{position:absolute;left:0;bottom:-1px;height:3px;width:100%;background:var(--accent);transform-origin:0 50%;transform:scaleX(0)}@supports (animation-timeline:scroll()){.progress{animation:grow linear both;animation-timeline:scroll(root block)}@keyframes grow{to{transform:scaleX(1)}}}.sidebar{position:fixed;top:var(--header-h);bottom:0;left:0;z-index:40;width:var(--sidebar-w);overflow-y:auto;overscroll-behavior:contain;padding:24px 14px 40px;background:var(--surface);border-right:1px solid var(--border);transition:transform .3s var(--ease)}.sidebar-label{margin:0 12px 10px;font-size:12px;font-weight:700;letter-spacing:.08em;color:var(--text-3)}.toc-intro{display:block;margin-bottom:10px;padding:8px 12px;border-radius:8px;font-size:14.5px;font-weight:600;color:var(--text);text-decoration:none}.toc-intro:hover{background:var(--surface-2)}.toc-week{margin-bottom:6px;border-radius:10px}.toc-week summary{list-style:none;display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:10px;cursor:pointer;font-size:14.5px;font-weight:700}.toc-week summary::-webkit-details-marker{display:none}.toc-week summary:hover{background:var(--surface-2)}.toc-week summary:after{content:"";margin-left:auto;width:7px;height:7px;border-right:2px solid var(--text-3);border-bottom:2px solid var(--text-3);transform:rotate(-45deg);transition:transform .2s var(--ease)}.toc-week[open] summary:after{transform:rotate(45deg)}.toc-week .wk{flex:none;font-size:11.5px;font-weight:800;color:#fff;background:var(--accent);padding:1px 7px;border-radius:6px}.toc{list-style:none;margin:2px 0 10px 18px;padding:0 0 0 10px;border-left:1px solid var(--border)}.toc a{display:flex;gap:8px;padding:6px 10px;border-radius:8px;color:var(--text-2);text-decoration:none;font-size:14px;line-height:1.5;transition:background .15s var(--ease),color .15s var(--ease)}.toc a:hover{background:var(--surface-2);color:var(--text)}.toc .num{flex:none;min-width:20px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--accent);font-weight:700}.scrim{display:none;position:fixed;inset:var(--header-h) 0 0 0;z-index:30;background:rgba(10,14,20,.45);cursor:pointer}.main{padding:calc(var(--header-h) + 56px) 24px 120px;transition:padding-left .3s var(--ease)}.content{max-width:var(--content-w);margin:0 auto}@media (min-width:1024px){.main{padding-left:calc(var(--sidebar-w) + 24px)}.toc-toggle:checked~.sidebar{transform:translateX(-100%)}.toc-toggle:checked~.main{padding-left:24px}.toc-toggle:not(:checked)~.topbar .hamburger span:first-child{transform:translateY(7px) rotate(45deg)}.toc-toggle:not(:checked)~.topbar .hamburger span:nth-child(2){opacity:0}.toc-toggle:not(:checked)~.topbar .hamburger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}}@media (max-width:1023.98px){.sidebar{transform:translateX(-100%);box-shadow:var(--shadow)}.toc-toggle:checked~.sidebar{transform:translateX(0)}.toc-toggle:checked~.scrim{display:block}.toc-toggle:checked~.topbar .hamburger span:first-child{transform:translateY(7px) rotate(45deg)}.toc-toggle:checked~.topbar .hamburger span:nth-child(2){opacity:0}.toc-toggle:checked~.topbar .hamburger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}}@media (max-width:720px){.topbar-nav{display:none}}@media (max-width:640px){body{font-size:16px}.topbar{padding:0 12px;gap:8px}.main{padding:calc(var(--header-h) + 36px) 16px 96px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}.hero{padding-bottom:40px;margin-bottom:64px;border-bottom:1px solid var(--border)}.eyebrow{display:inline-block;font-size:13px;font-weight:700;color:var(--accent);letter-spacing:.05em;margin-bottom:14px}.hero h2{margin:0 0 16px;font-size:clamp(30px,5vw,42px);line-height:1.3;font-weight:800;letter-spacing:-.02em}.lead{margin:0 0 28px;font-size:18.5px;color:var(--text-2)}.roadmap{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));grid-gap:12px;gap:12px}.roadmap a{display:block;padding:18px 18px 16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:inherit;text-decoration:none;transition:border-color .2s var(--ease),transform .2s var(--ease)}.roadmap a:hover{border-color:var(--accent);transform:translateY(-2px)}.roadmap .wk{font-size:12px;font-weight:800;color:var(--accent);letter-spacing:.05em}.roadmap strong{display:block;margin:4px 0 6px;font-size:16.5px;line-height:1.45}.roadmap span.desc{display:block;font-size:14px;color:var(--text-2);line-height:1.6}.week-cover{margin:0 0 56px;padding:40px 36px;border-radius:18px;background:linear-gradient(135deg,var(--accent-strong),var(--accent));color:#fff}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .week-cover{background:linear-gradient(135deg,#1e3c5c,#2b5683)}}.week-cover .wk-no{font-size:13px;font-weight:800;letter-spacing:.12em;opacity:.8}.week-cover h2{margin:8px 0 10px;font-size:clamp(26px,4.4vw,36px);line-height:1.3;font-weight:800}.week-cover p{margin:0;font-size:17px;opacity:.9}.week-cover ol{margin:22px 0 0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:8px}.week-cover li{font-size:13.5px;font-weight:600;padding:4px 12px;border-radius:999px;background:rgba(255,255,255,.16)}@media (max-width:640px){.week-cover{padding:30px 22px}}.chapter{margin-bottom:88px}.chapter-head{margin-bottom:28px}.chapter-no{display:block;font-size:13px;font-weight:700;color:var(--accent);letter-spacing:.06em;margin-bottom:6px}.chapter h2{margin:0;font-size:clamp(24px,3.6vw,30px);line-height:1.35;font-weight:800;letter-spacing:-.015em}.chapter:target h2{color:var(--accent-strong)}.chapter-head p{margin:10px 0 0;color:var(--text-2)}.chapter h3{margin:48px 0 14px;font-size:20.5px;line-height:1.45;font-weight:700;padding-left:14px;border-left:4px solid var(--accent)}.chapter h3:first-of-type{margin-top:0}p{margin:0 0 18px}.content ol,.content ul{padding-left:1.4em;margin:0 0 20px}.content li{margin-bottom:6px}.content li::marker{color:var(--accent)}strong{font-weight:700}mark{background:linear-gradient(transparent 58%,color-mix(in srgb,var(--accent) 26%,transparent) 58%);color:inherit;padding:0 1px}.o{color:var(--good)}.o,.x{font-weight:700}.x{color:var(--bad)}.big{margin:0 0 24px;padding:22px 26px;font-size:19px;font-weight:700;line-height:1.6;text-align:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.big small{display:block;margin-top:6px;font-size:14.5px;font-weight:400;color:var(--text-2)}.callout{display:flex;gap:14px;margin:0 0 24px;padding:16px 20px;border-radius:var(--radius);border-left:4px solid}.callout .icon{flex:none;font-size:20px;line-height:1.6}.callout>div>:last-child{margin-bottom:0}.callout .title{display:block;font-weight:700;margin-bottom:2px}.callout.tip{background:var(--tip-bg);border-color:var(--tip-bd)}.callout.warn{background:var(--warn-bg);border-color:var(--warn-bd)}.callout.key{background:var(--key-bg);border-color:var(--key-bd)}.callout.law{border-color:var(--law-bd)}.callout.law,.quote{background:var(--law-bg);font-size:15px}.quote{margin:0 0 24px;padding:18px 22px;border-left:4px solid var(--law-bd);border-radius:0 var(--radius) var(--radius) 0;color:var(--text-2);line-height:1.85}.quote cite{display:block;margin-bottom:6px;font-style:normal;font-weight:700;color:var(--text)}.table-wrap{margin:0 0 24px;overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}table{width:100%;border-collapse:collapse;font-size:15px;line-height:1.65}td,th{padding:12px 16px;text-align:left;border-bottom:1px solid var(--border);vertical-align:top}th{background:var(--surface-2);font-weight:700;white-space:nowrap}td:first-child{font-weight:600}tr:last-child td{border-bottom:0}tr.hl td{background:var(--accent-soft)}.table-note{margin:-14px 0 24px;font-size:13.5px;color:var(--text-3)}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:12px;gap:12px;margin:0 0 28px}.cards.two{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.card{padding:18px 20px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.card h4{margin:0 0 6px;font-size:16px;line-height:1.5}.card p,.card ul{margin:0;font-size:14.5px;color:var(--text-2);line-height:1.7}.card ul{padding-left:1.2em}.card .tag{display:inline-block;margin-bottom:8px;font-size:12px;font-weight:700;color:var(--accent);background:var(--accent-soft);padding:2px 8px;border-radius:6px}.card.danger{border-color:color-mix(in srgb,var(--bad) 45%,var(--border))}.card.danger .tag{color:var(--bad);background:color-mix(in srgb,var(--bad) 12%,transparent)}.card.safe{border-color:color-mix(in srgb,var(--good) 45%,var(--border))}.card.safe .tag{color:var(--good);background:color-mix(in srgb,var(--good) 12%,transparent)}.vs{display:grid;grid-template-columns:1fr auto 1fr;align-items:stretch;grid-gap:12px;gap:12px;margin:0 0 28px}.vs .card{display:flex;flex-direction:column}.vs-mid{align-self:center;font-size:14px;font-weight:800;color:var(--text-3)}@media (max-width:560px){.vs{grid-template-columns:1fr}.vs-mid{justify-self:center}}.flow{display:flex;flex-wrap:wrap;align-items:center;gap:10px 28px;margin:0 0 24px;padding:0;list-style:none}.content .flow li{position:relative;margin:0;padding:7px 14px;font-size:14.5px;font-weight:600;background:var(--surface);border:1px solid var(--border);border-radius:999px}.flow li:not(:last-child):after{content:"→";position:absolute;right:-23px;top:50%;transform:translateY(-50%);width:18px;text-align:center;color:var(--text-3);font-weight:400}.flow li:last-child{background:var(--accent-soft);border-color:transparent;color:var(--accent-strong)}.steps{counter-reset:step;list-style:none;padding:0!important;margin-bottom:24px}.content .steps li{counter-increment:step;position:relative;padding:1px 0 16px 46px;margin:0}.steps li:before{content:counter(step);position:absolute;left:0;top:0;width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:var(--accent);color:#fff;font-size:13.5px;font-weight:700}.steps li:after{content:"";position:absolute;left:14.5px;top:34px;bottom:4px;width:1px;background:var(--border)}.steps li:last-child:after{display:none}.steps li small{display:block;color:var(--text-2);font-size:14.5px}.timeline{list-style:none;padding:0!important;margin:0 0 24px}.content .timeline li{position:relative;display:flex;gap:16px;align-items:baseline;margin:0;padding:10px 16px;border-left:3px solid var(--border)}.timeline .date{flex:none;min-width:92px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:700;color:var(--text-3)}.content .timeline li.base{border-left-color:var(--accent);background:var(--accent-soft);border-radius:0 10px 10px 0}.timeline li.base .date{color:var(--accent-strong)}.timeline .pill{margin-left:auto;font-size:12px;font-weight:700;padding:1px 8px;border-radius:6px;white-space:nowrap}.pill.keep{color:var(--bad);background:color-mix(in srgb,var(--bad) 12%,transparent)}.pill.gone{color:var(--text-3);background:var(--surface-2)}.pill.base{color:#fff;background:var(--accent)}.calc{margin:0 0 24px;padding:20px 24px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.calc .row{display:flex;justify-content:space-between;padding:6px 0}.calc .row.total{margin-top:6px;padding-top:12px;border-top:2px solid var(--text);font-weight:800;font-size:18px}.calc .result{margin:12px 0 0;font-size:15px;color:var(--text-2)}.price3{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:10px;gap:10px;margin:0 0 24px;text-align:center}.price3 div{padding:18px 10px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--border)}.price3 span{display:block;font-size:13px;color:var(--text-3);font-weight:700}.price3 strong{display:block;font-size:24px;font-weight:800}.price3 .mid{border-color:var(--accent);background:var(--accent-soft)}.price3 .mid strong{color:var(--accent-strong)}.chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 24px;padding:0!important;list-style:none}.content .chips li{margin:0;padding:6px 14px;font-size:14.5px;font-weight:600;border-radius:8px;background:var(--surface-2)}.quiz{margin:0 0 12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.quiz summary{list-style:none;cursor:pointer;padding:16px 52px 16px 20px;position:relative;font-weight:600}.quiz summary::-webkit-details-marker{display:none}.quiz summary:after{content:"+";position:absolute;right:20px;top:50%;transform:translateY(-50%);font-size:22px;font-weight:400;color:var(--text-3);transition:transform .2s var(--ease)}.quiz[open] summary:after{transform:translateY(-50%) rotate(45deg)}.quiz summary:hover{background:var(--surface-2)}.quiz .answer{padding:4px 20px 18px;color:var(--text-2)}.quiz .answer strong{color:var(--accent)}.checklist{list-style:none;padding:0!important}.content .checklist li{margin-bottom:8px}.checklist label{display:flex;gap:12px;align-items:flex-start;padding:12px 16px;border:1px solid var(--border);border-radius:10px;background:var(--surface);cursor:pointer}.checklist input{flex:none;margin-top:6px;accent-color:var(--accent);width:17px;height:17px}.checklist input:checked+span{color:var(--text-3);text-decoration:line-through}.homework{margin:0 0 24px;padding:22px 24px;border:2px dashed var(--accent);border-radius:var(--radius);background:var(--accent-soft)}.homework h4{margin:0 0 10px;font-size:17px;color:var(--accent-strong)}.homework ul{margin-bottom:0!important}.next{margin:32px 0 0;padding:22px 24px;border-radius:var(--radius);background:var(--surface-2)}.next .label{font-size:12.5px;font-weight:800;letter-spacing:.08em;color:var(--accent)}.next p{margin:4px 0 0;font-weight:600}.to-top{display:inline-flex;gap:6px;margin-top:8px;font-size:14px;color:var(--text-3);text-decoration:none}.to-top:hover{color:var(--accent)}.plus{display:inline-block;margin-left:8px;padding:1px 8px;font-size:11.5px;font-weight:800;letter-spacing:.02em;color:#8a5a00;background:#fdf0d2;border-radius:6px;vertical-align:2px}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .plus{color:#f3c56b;background:#3a2e14}}.chapter.supplement .chapter-head{padding:18px 20px;border:1px dashed #d9a63c;border-radius:var(--radius)}.explain{margin:0 0 20px;background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--text-3);border-radius:0 var(--radius) var(--radius) 0;font-size:16px;line-height:1.85}.explain summary{list-style:none;display:flex;align-items:center;gap:8px;padding:10px 18px;cursor:pointer;font-size:13px;font-weight:800;letter-spacing:.04em;color:var(--text-2);-webkit-user-select:none;-moz-user-select:none;user-select:none}.explain summary::-webkit-details-marker{display:none}.explain summary:before{content:"";width:6px;height:6px;border-right:2px solid;border-bottom:2px solid;transform:rotate(-45deg);transition:transform .2s var(--ease)}.explain[open] summary:before{transform:rotate(45deg)}.explain summary:after{content:"펼치기";margin-left:auto;font-size:12px;font-weight:600;color:var(--text-3)}.explain[open] summary:after{content:"접기"}.explain summary:hover{color:var(--accent)}.explain-body{padding:0 20px 16px}.explain p{margin:0 0 10px}.explain p:last-child{margin-bottom:0}.card{display:flex;flex-direction:column;align-items:center;text-align:center}.card .tag{align-self:center}.card p+p{margin-top:8px}.vs .card{justify-content:center}.roadmap a{text-align:center}sup.fn{font-size:.68em;line-height:0;margin-left:1px}sup.fn a{color:var(--accent);font-weight:700;text-decoration:none;padding:0 2px}sup.fn a:hover{text-decoration:underline}.footnotes{margin:36px 0 12px;padding:18px 22px;background:var(--surface-2);border-radius:var(--radius);font-size:14.5px;line-height:1.75}.footnotes .fn-title{margin:0 0 8px;font-size:12.5px;font-weight:800;letter-spacing:.06em;color:var(--text-3)}.content .footnotes ol{margin:0;padding-left:1.5em}.content .footnotes li{margin-bottom:6px;color:var(--text-2)}.content .footnotes li::marker{font-weight:700}.footnotes li strong{color:var(--text)}.footnotes li:target{background:var(--accent-soft);border-radius:6px}.fn-back{margin-left:4px;font-size:13px;text-decoration:none}.week-end{height:1px;margin:0 0 88px;background:var(--border)}.footer{margin-top:40px;padding-top:28px;border-top:1px solid var(--border);font-size:14px;color:var(--text-3);text-align:center}.topbar-nav a[aria-current=page]{color:var(--accent);background:var(--accent-soft)}.sidebar-foot{margin:24px 12px 0;padding-top:16px;border-top:1px solid var(--border)}.sidebar-foot p{margin:0 0 6px;font-size:12px;font-weight:700;letter-spacing:.08em;color:var(--text-3)}.sidebar-foot a{display:block;padding:6px 0;font-size:14px;color:var(--text-2);text-decoration:none}.sidebar-foot a:hover{color:var(--accent)}.next-link{display:block;color:inherit;text-decoration:none}.next-link:hover .next{outline:2px solid var(--accent)}.pager{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px;margin-top:40px}.pager a{display:block;padding:16px 20px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:inherit;text-decoration:none}.pager a:hover{border-color:var(--accent)}.pager .dir{display:block;font-size:12.5px;color:var(--text-3);font-weight:700}.pager strong{font-size:15.5px}.pager .nx{grid-column:2;text-align:right}.main.home{padding-left:24px}.topbar-title a{color:inherit;text-decoration:none}.home-hero{padding:24px 0 8px}.home-hero .eyebrow{font-size:21px;font-weight:700;letter-spacing:0;margin-bottom:6px}@media (max-width:640px){.home-hero .eyebrow{font-size:18px}}.roadmap.home-grid{grid-template-columns:repeat(2,1fr);gap:14px}@media (max-width:640px){.roadmap.home-grid{grid-template-columns:1fr}}.roadmap.home-grid a{padding:24px 22px 22px}.roadmap.home-grid .special{border-style:dashed}.home-note{margin-top:32px;font-size:15px;color:var(--text-2);text-align:center}