:root{color-scheme:light;--paper:#f8f7f2;--surface:#fffefa;--ink:#172b39;--muted:#646c69;--line:#d8dbd4;--wash:#eeeee7;--accent:#a7442c;--accent-hover:#87341f;--green:#31594d;--pale-green:#eaf0e9;--error:#9d3227;--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:20px;--s6:24px;--s8:32px;--s10:40px;--s12:48px;--s16:64px;--s20:80px;--radius:4px;--radius-lg:8px}
*{box-sizing:border-box}body.estate{margin:0;background:var(--paper);color:var(--ink);font:16px/1.8 Pretendard,Arial,sans-serif;-webkit-font-smoothing:antialiased}h1,h2,h3,h4,p,figure{margin:0}h1,h2,h3,h4{word-break:keep-all;overflow-wrap:anywhere}h1{font-size:38px;line-height:1.35;letter-spacing:-1.3px}h2{font-size:26px;line-height:1.45;letter-spacing:-.7px}h3{font-size:19px;line-height:1.5}a{color:inherit;text-decoration:none}a:hover{color:var(--accent)}button,input,select,textarea{font:inherit}button{cursor:pointer}a,button,input,select,textarea,summary{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:4px}button:disabled{opacity:.5;cursor:not-allowed}[hidden]{display:none!important}.wrap{width:min(1180px,calc(100% - 64px));margin-inline:auto}.skip-link{position:fixed;top:-100px;left:16px;z-index:20;padding:12px 20px;background:var(--ink);color:var(--surface)}.skip-link:focus{top:12px}#main:focus{outline:none}.eyebrow{font-size:12px;line-height:1.6;font-weight:700;letter-spacing:1.3px;color:var(--accent)}.small-note,.fine-print{font-size:12px;line-height:1.8;color:var(--muted)}.small-note{margin-top:16px}.lead{max-width:680px;font-size:17px;line-height:1.85;color:var(--muted)}.preserve-lines{white-space:pre-wrap;overflow-wrap:anywhere}.prose{max-width:720px}
.site-header{background:var(--surface);border-bottom:1px solid var(--line)}.header-inner{width:min(1280px,calc(100% - 64px));margin:auto;display:flex;align-items:center;gap:32px;min-height:88px}.brand{display:flex;flex-direction:column;line-height:1.3;flex-shrink:0}.brand strong{font:800 24px/1.2 Arial,sans-serif;letter-spacing:-1px}.brand strong span{color:var(--accent)}.brand>span{font-size:12px;letter-spacing:1px;margin-top:5px}.site-nav{display:flex;gap:24px;margin-left:auto}.site-nav a,.portal-link{font-size:14px;min-height:44px;display:flex;align-items:center;white-space:nowrap}.site-nav a[aria-current]{color:var(--accent);font-weight:750}.portal-link{color:var(--muted);font-size:12px}.learning-strip{border-bottom:1px solid var(--line);font-size:12px;color:var(--muted)}.learning-strip .wrap{display:flex;gap:20px;align-items:center;min-height:44px}.learning-strip a{margin-left:auto;min-height:44px;display:flex;align-items:center}.progress-copy{color:var(--green);font-variant-numeric:tabular-nums}.button{display:inline-flex;align-items:center;justify-content:center;gap:24px;min-height:46px;padding:11px 18px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--ink);font-size:14px;line-height:1.5;font-weight:650;text-align:center;text-decoration:none}.button:hover{background:var(--wash);color:var(--ink)}.button:active{transform:translateY(1px)}.button.primary{background:var(--accent);border-color:var(--accent);color:var(--surface)}.button.primary:hover{background:var(--accent-hover)}.actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.text-link{display:inline-flex;min-height:44px;align-items:center;font-size:14px;text-decoration:underline;text-underline-offset:5px}.page-heading{padding:48px 0 32px}.page-heading .eyebrow{margin-bottom:12px}.page-heading .lead{margin-top:20px}.section-space{padding-block:64px;border-top:1px solid var(--line)}
.home-hero{display:grid;grid-template-columns:1.1fr 1fr;gap:80px;align-items:center;padding-block:64px 80px}.hero-copy h1{font-size:clamp(40px,5.2vw,68px);font-weight:750;line-height:1.18;letter-spacing:-2.8px;margin-top:24px}.hero-copy h1 em{color:var(--accent);font-style:normal}.hero-description{margin:28px 0;color:var(--muted);font-size:17px;line-height:1.9}.plan-preview{background:var(--surface);border:1px solid var(--line);padding:28px 32px;box-shadow:12px 12px 0 var(--wash);color:var(--green);transform:rotate(1deg)}.paper-top{display:flex;justify-content:space-between;gap:16px;font-size:10px;letter-spacing:1.5px;padding-bottom:16px;border-bottom:1px solid var(--line)}.plan-preview figcaption{font-size:30px;font-weight:750;letter-spacing:-1px;margin-top:24px}.plan-preview svg{width:100%;height:auto;margin-top:12px}.paper-index{padding:0;list-style:none;margin:4px 0 20px}.paper-index li{display:flex;gap:20px;font-size:14px;padding:8px 0;border-bottom:1px solid var(--line)}.paper-index span{font-size:11px;font-variant-numeric:tabular-nums;color:var(--muted)}.plan-preview>p{font-size:12px;color:var(--muted)}.section-heading h2{margin-top:12px;font-size:32px}.roadmap-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:40px;gap:32px}.roadmap-steps>a{padding-top:20px;border-top:1px solid var(--line)}.step-label{font-size:12px;color:var(--accent);font-weight:700}.roadmap-steps h3{margin:12px 0;font-size:23px}.roadmap-steps p{color:var(--muted);font-size:15px;min-height:56px}.step-result{display:block;margin-top:24px;font-size:12px;font-weight:650}.start-note{display:grid;grid-template-columns:1fr 1.4fr;gap:64px}.start-note h2{margin-top:12px}.start-note ol{list-style:none;counter-reset:learning;padding:0;margin:0}.start-note li{position:relative;padding:0 0 24px 40px;color:var(--muted);font-size:14px;counter-increment:learning}.start-note li::before{content:"0" counter(learning);position:absolute;left:0;top:2px;font-size:11px;color:var(--accent)}.start-note strong{display:block;color:var(--ink);font-size:17px;margin-bottom:4px}
.filter-bar{display:flex;gap:12px;flex-wrap:wrap;padding-bottom:24px}.filter-bar button{border:1px solid var(--line);background:transparent;min-height:44px;padding:10px 20px;border-radius:var(--radius);font-size:14px}.filter-bar button:hover{background:var(--wash)}.filter-bar button[aria-pressed=true]{background:var(--ink);color:var(--surface);border-color:var(--ink)}.curriculum-group{margin-bottom:48px}.curriculum-group h2{font-size:20px;padding:16px 0;border-bottom:1px solid var(--ink)}.lesson-row{display:grid;grid-template-columns:64px minmax(0,1fr) 24px;gap:24px;padding:24px 12px;border-bottom:1px solid var(--line);align-items:center}.lesson-row:hover{background:var(--wash)}.lesson-week{font-size:30px;line-height:1.1;font-weight:600;font-variant-numeric:tabular-nums;color:var(--muted)}.lesson-week small{display:block;font-size:11px;margin-top:8px;font-weight:400}.lesson-row p{font-size:14px;color:var(--muted);margin-top:8px}.done-mark{color:var(--green);font-size:16px}.learning-layout,.workbook-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:64px;align-items:start;padding-top:40px}.learning-layout .page-heading{padding-top:0}.course-nav,.workbook-nav{font-size:13px;position:sticky;top:24px}.learning-layout>aside,.workbook-layout>aside{position:sticky;top:24px}.course-nav summary,.workbook-nav summary{font-size:14px;font-weight:700;min-height:44px;cursor:pointer;display:flex;align-items:center;justify-content:space-between;list-style:none;border-bottom:1px solid var(--line)}.course-nav nav,.workbook-nav nav{max-height:calc(100dvh - 116px);overflow-y:auto;padding:8px 4px}.nav-group>p,.nav-heading{margin:16px 0 4px;font-size:11px;color:var(--muted);font-weight:700}.nav-group a{display:grid;grid-template-columns:24px minmax(0,1fr) 14px;align-items:start;gap:8px;min-height:44px;padding:10px 4px;line-height:1.5}.week-number{font-size:12px;font-variant-numeric:tabular-nums;color:var(--muted)}.nav-group a[aria-current]{background:var(--wash);color:var(--accent);font-weight:750}.lesson-article{min-width:0;max-width:800px}.objective{padding:24px 28px;background:var(--wash);border-radius:var(--radius-lg)}.objective h2{font-size:17px}.objective ul{margin-bottom:0;font-size:15px}.objective li+li{margin-top:8px}.teaching-section{margin-top:48px}.section-number{font-size:12px;letter-spacing:1.5px;color:var(--accent);margin-bottom:12px}.teaching-section>p:not(.eyebrow):not(.section-number){margin-top:20px;font-size:17px;line-height:1.95}.teaching-section>ul,.teaching-section>ol{padding-left:22px;margin-top:24px}.teaching-section li{padding-left:4px;margin-bottom:12px;line-height:1.9}.worked-example{margin-top:48px;padding:32px;background:var(--pale-green);border-radius:var(--radius-lg)}.worked-example h2{font-size:23px;margin-top:12px}.assumption{font-size:13px;color:var(--muted);margin-top:16px}.worked-example ol{padding-left:20px;margin-block:24px}.worked-example li{margin-bottom:16px;font-size:15px}.takeaway{font-weight:650;font-size:15px}.worksheet-links{display:flex;flex-direction:column;gap:12px;margin-top:28px;align-items:flex-start}.source-notes{padding-top:32px;border-top:1px solid var(--line);margin-top:48px}.source-notes h2{font-size:17px}.source-notes ul{list-style:none;padding:0}.source-notes a{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;text-underline-offset:4px;font-size:14px}.source-notes p{font-size:12px;color:var(--muted)}.lesson-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:40px}.source-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}.source-grid article{padding-top:20px;border-top:1px solid var(--line)}.source-grid h2{font-size:20px}.source-grid a{display:inline-flex;min-height:44px;align-items:center}.source-grid p{margin-top:8px;font-size:15px;color:var(--muted)}
.site-footer{margin-top:80px;padding-block:32px 40px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;justify-content:space-between;gap:24px;font-size:13px}.site-footer>div>p{font-size:12px;color:var(--muted);margin-top:8px}.site-footer>div+div{display:flex;gap:24px}.site-footer a{min-height:44px;display:inline-flex;align-items:center}.site-footer .fine-print{width:100%;max-width:850px}.storage-status{position:fixed;z-index:10;bottom:12px;left:50%;transform:translateX(-50%);width:min(720px,calc(100% - 32px));background:var(--ink);color:var(--surface);padding:12px 20px;border-radius:var(--radius-lg);font-size:13px;box-shadow:0 4px 16px #172b3920}.noscript-note{padding:24px;text-align:center;background:var(--wash);font-size:14px}
@media(max-width:1050px){.header-inner{gap:20px}.site-nav{gap:16px}.portal-link{display:none}.home-hero{gap:40px}.learning-layout,.workbook-layout{grid-template-columns:210px minmax(0,1fr);gap:32px}.plan-preview{padding:24px}.hero-copy h1{font-size:54px}}
@media(max-width:780px){.wrap,.header-inner{width:calc(100% - 40px)}.header-inner{flex-wrap:wrap;padding-top:20px;gap:16px}.brand{flex-direction:row;align-items:center;gap:12px}.brand strong{font-size:21px}.brand>span{margin:0;font-size:12px}.site-nav{margin:0;width:100%;justify-content:space-between;gap:8px}.site-nav a{font-size:13px}.learning-strip .wrap{flex-wrap:wrap;gap:0 12px;padding:8px 0;min-height:44px}.learning-strip a{min-height:36px}.progress-copy{margin-left:auto}.learning-strip a{margin-left:0}.home-hero{grid-template-columns:1fr;gap:40px;padding-block:40px 56px}.hero-copy h1{font-size:48px;letter-spacing:-1.8px}.hero-description{font-size:16px}.plan-preview{transform:none;width:100%;box-shadow:6px 6px 0 var(--wash)}.plan-preview svg{max-height:200px}.section-space{padding-block:40px}.section-heading h2{font-size:27px}.roadmap-steps{grid-template-columns:1fr;gap:28px;margin-top:28px}.roadmap-steps p{min-height:0}.step-result{margin-top:16px}.start-note{grid-template-columns:1fr;gap:28px}.page-heading{padding-top:32px}h1{font-size:32px}.page-heading .lead{font-size:16px}.learning-layout,.workbook-layout{display:block;padding-top:24px}.learning-layout>aside,.workbook-layout>aside{position:static;margin-bottom:28px}.course-nav,.workbook-nav{position:static}.course-nav nav,.workbook-nav nav{max-height:none}.lesson-row{grid-template-columns:40px minmax(0,1fr) 16px;gap:12px;padding:20px 0}.lesson-week{font-size:25px}.lesson-row h3{font-size:18px}.lesson-row p{font-size:13px}.objective{padding:20px}.teaching-section{margin-top:36px}.teaching-section h2{font-size:24px}.worked-example{padding:24px 20px;margin-top:36px}.source-grid{grid-template-columns:1fr;gap:24px}.site-footer{margin-top:48px;display:block}.site-footer>div+div{margin-top:16px}.site-footer .fine-print{margin-top:20px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
