:root{--bg:#f5f6f8;--panel:#fff;--panel2:#f7f9fb;--text:#243044;--muted:#718094;--line:#e3e8ef;--blue:#27796d;--green:#207760;--red:#b04c51;--yellow:#97671b;--purple:#7866a3;--gray:#788597;--sidebar:260px;--shadow:0 3px 14px #26384c05;color-scheme:light}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.85 -apple-system,BlinkMacSystemFont,"Segoe UI","Apple SD Gothic Neo","Noto Sans KR",sans-serif;word-break:keep-all;overflow-wrap:anywhere}a{color:inherit}button,input{font:inherit}button,a,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button,input{border-radius:8px}button{border:1px solid var(--line);padding:8px 13px;background:var(--panel);color:var(--text);font-size:12px;font-weight:650}button:hover{background:var(--panel2)}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible{outline:2px solid #5e9e92;outline-offset:3px}
.layout{min-height:100vh}aside{position:fixed;inset:0 auto 0 0;width:var(--sidebar);padding:30px 20px 18px;background:#17272c;color:#d5dfe0;z-index:60;display:flex;flex-direction:column;height:100dvh;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#3b4d50 transparent}.brand{font-size:19px;letter-spacing:-.6px;color:#f0f5f4;font-weight:750;line-height:1.45;padding:0 8px}.brand small{display:block;font-size:10px;letter-spacing:2.5px;color:#89b4ab;font-weight:600;margin-bottom:7px}.sub{font-size:11px;color:#8fa3a6;margin:8px 8px 24px}.controls{display:grid;grid-template-columns:1fr 1fr;gap:7px;flex-shrink:0;margin-bottom:24px}.controls input,.controls #essentialBtn{grid-column:1/-1}.controls input{width:100%;min-width:0;padding:11px 12px;background:#213338;border:1px solid #35464b;color:#f1f5f5;font-size:12px;outline:none}.controls input::placeholder{color:#91a3a8}.controls button{background:#22353a;border:1px solid #35464b;color:#cad8d8;font-size:11px;padding:7px}.controls button:hover{background:#2d4449}.controls #essentialBtn{background:transparent;border-color:#557e75;color:#b7dbd0}.controls #essentialBtn[aria-pressed=true]{background:#315c52;color:white}.nav{flex-shrink:0}.nav-label{color:#7d999e;font-size:9px;letter-spacing:1.8px;font-weight:700;margin:0 10px 8px}.nav a{display:flex;gap:11px;align-items:center;text-decoration:none;color:#afc0c2;font-size:12px;line-height:1.5;padding:9px 10px;margin:2px 0;border-radius:7px;transition:background .15s,color .15s}.nav a:hover{background:#233a3e;color:white}.nav a.active{background:#2b4849;color:#e8f8ef}.nav a.active::after{content:"";width:5px;height:5px;background:#95cbb7;border-radius:50%;margin-left:auto;flex-shrink:0}.nav-code{font-size:10px;font-weight:700;color:#789a9d;flex:0 0 22px}.nav a.active .nav-code{color:#a1d3c1}.nav-disabled{display:flex;gap:11px;padding:8px 10px;font-size:11px;color:#71888b}.nav-extra{border-top:1px solid #304247;margin-top:20px;padding-top:20px}.sidebar-footer{font-size:10px;color:#779095;padding:25px 10px 0;margin-top:auto;letter-spacing:.4px}
.topbar{position:sticky;top:0;margin-left:var(--sidebar);height:68px;background:var(--bg);border-bottom:1px solid var(--line);z-index:40;display:flex;align-items:center;justify-content:space-between;padding:0 48px;gap:16px}.breadcrumb{display:flex;gap:12px;align-items:center;font-size:12px;color:var(--muted)}.breadcrumb b{font-weight:600;color:var(--text)}.breadcrumb span:first-child{white-space:nowrap}.topbar-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.theme-button{background:transparent;font-size:11px}.mobile-menu{display:none}.menu-overlay{display:none}main{margin-left:var(--sidebar);padding:50px 48px 100px;min-width:0}main>section{max-width:1040px;margin-left:auto;margin-right:auto}.hero{padding:5px 0 32px;border-bottom:1px solid var(--line);margin-bottom:45px}.eyebrow{display:flex;gap:10px;align-items:center;color:var(--blue);font-size:10px;font-weight:750;letter-spacing:2px;margin-bottom:18px}.eyebrow::before{content:"";width:22px;height:2px;background:var(--blue)}.hero h1{font-size:38px;line-height:1.4;letter-spacing:-1.9px;margin:0 0 16px;font-weight:750}.hero h1 span{font-weight:400;color:var(--muted)}.hero p{max-width:760px;font-size:13px;color:var(--muted);margin:7px 0}.hero .intro{font-size:15px;color:var(--text);margin-bottom:20px}.scope-row{display:flex;flex-wrap:wrap;gap:7px;margin:22px 0}.scope-chip{font-size:11px;text-decoration:none;padding:5px 11px;border:1px solid var(--line);border-radius:6px;background:var(--panel)}.scope-chip:hover{border-color:var(--blue);color:var(--blue)}.hero-note{font-size:11px!important}.legend{display:flex;flex-wrap:wrap;gap:12px 25px;margin-top:24px;padding-top:22px;border-top:1px solid var(--line)}.legend-item{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--muted)}.dot{height:6px;width:6px;border-radius:50%;background:#b25a60;display:inline-block}.dot.yellow{background:#b38945}.dot.gray{background:#98a2af}
section.week{margin-top:44px;margin-bottom:48px;scroll-margin-top:92px}.week-title{display:flex;align-items:center;gap:14px;margin:0 0 20px}.week-title h2{font-size:23px;font-weight:700;letter-spacing:-.7px;line-height:1.55;margin:0}.week-num{display:flex;align-items:center;justify-content:center;flex-shrink:0;min-width:38px;height:34px;border:1px solid var(--line);border-radius:7px;background:var(--panel);font-size:10px;font-weight:750;color:var(--blue);letter-spacing:.5px}.card{background:var(--panel);border:1px solid var(--line);border-radius:10px;margin:10px 0;box-shadow:var(--shadow);min-width:0;overflow:hidden}.card summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:12px;padding:18px 21px;font-size:14px;font-weight:650;line-height:1.6}.card summary::-webkit-details-marker{display:none}.card summary::after{content:"+";margin-left:auto;font-size:18px;line-height:1;color:var(--muted);font-weight:400;flex-shrink:0}.card[open] summary::after{content:"−"}.card[open] summary{border-bottom:1px solid var(--line)}.card summary:hover{background:var(--panel2)}.priority{font-size:9px;line-height:1.5;padding:3px 7px;border-radius:4px;white-space:nowrap;flex-shrink:0;letter-spacing:.3px;font-weight:650}.p-red{background:#f8ebed;color:#ad525b}.p-yellow{background:#f8f1df;color:#946d2c}.p-gray{background:#eef1f5;color:#778394}.body{padding:22px 24px 24px}.body>p:first-child{margin-top:0}.body>p:last-child{margin-bottom:0}.body p{margin:12px 0}.body ul{padding-left:20px;margin:10px 0}.body li{padding-left:2px;margin:5px 0}b,strong{font-weight:650}.grid2,.grid3{display:grid;gap:15px;min-width:0}.grid2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid2>.memory,.grid3>.memory{grid-column:1/-1}.box{background:var(--panel2);border:1px solid var(--line);border-radius:8px;padding:17px 19px;min-width:0}.box h4{font-size:13px;font-weight:700;margin:0 0 10px;line-height:1.6}.box .formula{font-size:12px}.k{color:var(--blue);font-weight:650}.good{color:var(--green);font-weight:650}.warn{color:var(--yellow);font-weight:650}.bad{color:var(--red);font-weight:650}.muted{color:var(--muted)}
.table-wrap{overflow-x:auto;max-width:100%;border:1px solid var(--line);border-radius:7px;margin:15px 0;scrollbar-width:thin}table{width:100%;border-collapse:collapse;font-size:13px;line-height:1.75;text-align:left;margin:0}th,td{padding:12px 15px;border-bottom:1px solid var(--line);vertical-align:top}th{background:var(--panel2);font-size:11px;letter-spacing:.2px;color:var(--muted);font-weight:650}tr:last-child td{border-bottom:0}td+td,th+th{border-left:1px solid var(--line)}tbody tr:hover td{background:var(--panel2)}.formula{background:#edf3f2;color:#285b56;border:1px solid #d8e7e3;border-radius:7px;padding:15px 18px;margin:13px 0;font:13px/1.9 "SFMono-Regular",Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere;max-width:100%}.memory,.exam,.trap{padding:14px 17px;border-left:2px solid #86b2a5;border-radius:0 6px 6px 0;margin:15px 0;font-size:13px;font-weight:500;background:#f0f6f3}.exam{border-color:#91a8bc;background:#f0f4f8}.trap{border-color:#c48a91;background:#fbf2f3}.compact h3{font-size:11px;font-weight:750;letter-spacing:1px;color:var(--blue);border-top:1px solid var(--line);padding-top:22px;margin-top:25px}.compact h3:first-child{border-top:0;margin-top:0;padding-top:0}hr{border:0;border-top:1px solid var(--line);margin:25px 0}code{background:var(--panel2);padding:2px 5px;border-radius:4px;font-size:.9em}.hidden-priority{display:none!important}#topBtn{position:fixed;right:24px;bottom:24px;z-index:45;border-radius:8px;width:40px;height:40px;background:var(--panel);border:1px solid var(--line);box-shadow:0 4px 20px #26384c12;display:none;padding:0}.empty-search{border:1px dashed var(--line);border-radius:10px;padding:25px;text-align:center;color:var(--muted);font-size:13px;margin-bottom:25px}.empty-search[hidden]{display:none}.page-footer{font-size:11px;color:var(--muted);max-width:1040px;margin:60px auto 0;padding-top:20px;border-top:1px solid var(--line)}
html[data-theme=dark]{--bg:#111b23;--panel:#192630;--panel2:#1e2e39;--text:#d8e2e9;--muted:#8fa4b3;--line:#2b3b47;--blue:#91c4b5;--green:#96c5ac;--red:#d9989f;--yellow:#ceaf78;color-scheme:dark}html[data-theme=dark] .formula{background:#1a3434;border-color:#2e4d4c;color:#b6d9cf}html[data-theme=dark] .memory{background:#1b302d}html[data-theme=dark] .exam{background:#1d2d3c}html[data-theme=dark] .trap{background:#34282d}html[data-theme=dark] .p-red{background:#392b32;color:#da9aa3}html[data-theme=dark] .p-yellow{background:#383325;color:#cfb47d}html[data-theme=dark] .p-gray{background:#2b3540;color:#a8b5c1}
@media(min-width:1500px){main{padding-left:70px;padding-right:70px}.topbar{padding-left:70px;padding-right:70px}}@media(min-width:901px) and (max-height:780px){aside{padding-top:20px}.sub{margin-bottom:16px}.controls{gap:5px;margin-bottom:16px}.nav a{padding:6px 10px}.nav-extra{padding-top:14px;margin-top:14px}.sidebar-footer{padding-top:16px}}@media(max-width:1100px) and (min-width:901px){:root{--sidebar:235px}aside{padding-left:14px;padding-right:14px}main{padding:35px 28px 80px}.topbar{padding:0 28px}.hero h1{font-size:33px}.grid3{grid-template-columns:1fr}.week-title h2{font-size:21px}}
@media(max-width:900px){:root{--sidebar:270px}.topbar{margin-left:0;padding:0 18px;height:61px}.mobile-menu{display:block;border:0;padding:7px 0;background:none;font-size:13px}.breadcrumb{display:none}.theme-button{font-size:10px;padding:6px 10px}aside{transform:translateX(-100%);transition:transform .2s;top:61px;height:calc(100dvh - 61px);padding-top:22px;z-index:60}body.menu-open aside{transform:translateX(0)}body.menu-open .menu-overlay{display:block;position:fixed;inset:61px 0 0;background:#0b1a2966;z-index:50;border:0;border-radius:0}main{margin-left:0;padding:30px 18px 70px}.hero{padding:4px 0 27px;margin-bottom:30px}.hero h1{font-size:31px;letter-spacing:-1.5px}.hero p{font-size:12px}.hero .intro{font-size:14px}.eyebrow{margin-bottom:14px;font-size:9px}.scope-row{gap:6px}.scope-chip{font-size:10px;padding:4px 9px}.legend{gap:10px 16px;padding-top:18px;margin-top:20px}.legend-item{font-size:10px}section.week{margin-top:30px;margin-bottom:35px;scroll-margin-top:80px}.week-title{gap:10px;margin-bottom:14px}.week-title h2{font-size:19px;letter-spacing:-.4px}.week-num{min-width:32px;height:30px;font-size:9px}.card summary{padding:15px 14px;gap:8px;font-size:13px}.priority{font-size:8px;padding:3px 5px}.body{padding:18px 16px;font-size:14px}.grid2,.grid3{grid-template-columns:1fr;gap:12px}.box{padding:15px}.formula{font-size:12px;padding:12px 13px}.memory,.exam,.trap{font-size:12px;padding:12px 13px}table{min-width:460px;font-size:12px}th,td{padding:10px 12px}#acronym table{min-width:590px}#topBtn{right:15px;bottom:15px;width:36px;height:36px}.page-footer{margin-top:35px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}aside,.nav a{transition:none}}@media print{aside,.topbar,.menu-overlay,#topBtn{display:none!important}main{margin:0;padding:0}body{background:white;color:black}.card,.hero,.box{box-shadow:none;break-inside:avoid}.card summary{border-bottom:1px solid #ddd}.card summary::after{display:none}details:not([open])>.body{display:block}.table-wrap{overflow:visible}table{min-width:0!important}.page-footer{display:none}}

.card-detail-link{display:block;color:inherit;text-decoration:none;cursor:pointer;transition:background .15s}.card-detail-link:hover{background:var(--panel2)}.card-detail-link:focus-visible{outline-offset:-3px}.card-detail-link .body{padding-bottom:16px}.detail-cta{display:flex;justify-content:space-between;gap:20px;align-items:center;margin:0 24px;padding:13px 0 16px;border-top:1px solid var(--line);font-size:11px;font-weight:650;color:var(--blue)}.detail-cta>span:last-child{font-size:16px}.card-detail-link:hover .detail-cta>span:first-child{text-decoration:underline;text-underline-offset:4px}.lesson-hint{margin-top:17px!important;color:var(--blue)!important}details[id^=topic-]{scroll-margin-top:100px}
.lesson-article{max-width:900px;margin:0 auto;min-width:0}.lesson-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:11px;color:var(--muted);margin:0 0 32px}.return-link{font-size:12px;text-decoration:none;color:var(--blue);font-weight:600}.return-link:hover{text-decoration:underline;text-underline-offset:4px}.lesson-hero{padding-bottom:27px;border-bottom:1px solid var(--line)}.lesson-hero .eyebrow{flex-wrap:wrap}.lesson-hero .priority{letter-spacing:0;margin-left:5px}.lesson-hero h1{font-size:32px;line-height:1.55;letter-spacing:-1.1px;margin:0 0 19px;font-weight:750;overflow-wrap:anywhere}.lesson-lead{font-size:16px;line-height:1.95;color:var(--text);margin:0;max-width:780px}.lesson-meta{font-size:10px;color:var(--muted);margin-top:18px}.lesson-jump{display:flex;gap:8px 21px;flex-wrap:wrap;padding:17px 0;border-bottom:1px solid var(--line);font-size:11px;margin-bottom:10px}.lesson-jump a{color:var(--muted);text-decoration:none}.lesson-jump a:hover{color:var(--blue)}.explanation-section{display:grid;grid-template-columns:30px minmax(0,1fr);gap:15px;padding:29px 0;border-bottom:1px solid var(--line);scroll-margin-top:95px}.explanation-number{font-size:10px;color:var(--blue);font-weight:750;padding-top:6px;letter-spacing:.5px}.lesson-article h2{font-size:18px;line-height:1.65;letter-spacing:-.45px;margin:0 0 12px;font-weight:700}.lesson-article p{font-size:15px;line-height:2.05;margin:0}.lesson-example,.lesson-pitfall,.lesson-recap,.lesson-check{margin-top:27px;padding:24px 26px;border:1px solid var(--line);border-radius:9px;background:var(--panel);scroll-margin-top:95px}.section-kicker{font-size:9px;letter-spacing:1.7px;font-weight:750;color:var(--blue);margin-bottom:10px}.lesson-example{background:var(--panel2)}.lesson-pitfall{border-left:3px solid #bb858c}.lesson-pitfall .section-kicker{color:var(--red)}.lesson-recap{background:#edf4f1;border-color:#dbe8e2}.lesson-recap p{color:var(--blue);font-weight:650}.lesson-check{padding-bottom:19px}.answer-reveal{border-top:1px solid var(--line);margin-top:20px;padding-top:13px}.answer-reveal summary,.lesson-summary>summary{cursor:pointer;font-size:12px;color:var(--blue);font-weight:650}.answer-reveal p{font-size:14px;margin-top:14px;color:var(--text)}.lesson-summary{margin-top:27px;background:var(--panel);border:1px solid var(--line);border-radius:8px;overflow:hidden}.lesson-summary>summary{padding:16px 21px}.lesson-summary[open]>summary{border-bottom:1px solid var(--line)}.lesson-summary p{font-size:13px;line-height:1.85}.lesson-summary .body{font-size:13px}.lesson-related{margin-top:40px}.lesson-related h2{font-size:14px}.lesson-related>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.lesson-related a{padding:14px 16px;background:var(--panel);border:1px solid var(--line);border-radius:7px;font-size:12px;text-decoration:none;line-height:1.7}.lesson-related a:hover{border-color:var(--blue);color:var(--blue)}.lesson-sources{margin-top:30px}.lesson-sources h2{font-size:12px;color:var(--muted)}.lesson-sources a{font-size:11px;color:var(--muted);display:block;margin-top:5px}.lesson-pagination{display:grid;grid-template-columns:1fr 1fr;gap:24px;border-top:1px solid var(--line);margin-top:40px;padding-top:22px;font-size:11px}.lesson-pagination a{color:var(--muted);text-decoration:none;line-height:1.8}.lesson-pagination a:last-child{text-align:right}.lesson-pagination a:hover{color:var(--blue)}.bottom-return{display:inline-block;margin-top:30px}.sidebar-back{color:#9cc5b9;border:1px solid #3c5c59;border-radius:6px;padding:10px 12px;margin-bottom:25px;font-size:11px;text-decoration:none}.lesson-page .nav-primary a{font-size:11px;line-height:1.7}.lesson-page .nav-primary .active{border-left:2px solid #95cbb7}.lesson-page .nav-primary .active::after{display:none}.breadcrumb a{text-decoration:none}
html[data-theme=dark] .lesson-recap{background:#1c332f;border-color:#304f47}
@media(max-width:900px){.detail-cta{margin:0 16px;padding:11px 0 14px;font-size:10px}.lesson-toolbar{margin-bottom:24px;font-size:10px}.return-link{font-size:11px}.lesson-hero h1{font-size:25px;line-height:1.6;letter-spacing:-.8px}.lesson-lead{font-size:14px;line-height:1.95}.lesson-hero{padding-bottom:22px}.explanation-section{grid-template-columns:22px minmax(0,1fr);gap:9px;padding:23px 0}.lesson-article h2{font-size:16px}.lesson-article p{font-size:14px;line-height:2}.lesson-example,.lesson-pitfall,.lesson-recap,.lesson-check{padding:20px 17px;margin-top:21px}.lesson-related>div{grid-template-columns:1fr}.lesson-related{margin-top:30px}.lesson-pagination{gap:18px}.lesson-summary .body p{font-size:13px}.lesson-jump{gap:8px 19px}.lesson-page main{padding-top:24px}.lesson-meta{line-height:1.8}.lesson-summary .grid3{display:block}.lesson-summary .grid3>.box{margin-bottom:12px}}
@media print{.detail-cta,.lesson-jump,.lesson-toolbar,.lesson-pagination,.bottom-return{display:none}.card-detail-link{color:inherit;text-decoration:none}details.card:not([open])>.card-detail-link{display:block}.lesson-example,.lesson-pitfall,.lesson-check{break-inside:avoid}.lesson-summary:not([open])>.body{display:block}}
