:root{--bg:#ffffff;--surface:#ffffff;--surface-2:#f5f5f5;--surface-3:#ececec;--fg-soft:#303030;--muted:#6f6f6f;--line:#e2e2e2;--line-strong:#bcbcbc;--inverse-fg:#ffffff;--display:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--body:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--mono:"SFMono-Regular",Consolas,"Liberation Mono",Menlo,monospace}html[data-theme=dark]{--bg:#090909;--surface:#0d0d0d}.site-header{position:sticky;z-index:30;top:0;display:flex;align-items:center;justify-content:space-between;min-height:54px;border-bottom:1px solid var(--line);padding:0 clamp(16px,3vw,36px);background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(18px)}.lispex-link,.site-header>p{display:none}.wordmark{display:inline-flex;align-items:baseline;gap:10px;color:var(--fg);font:650 16px/1 var(--mono);letter-spacing:-.035em;text-decoration:none}.wordmark>span{color:inherit}.wordmark>span:last-child{font-weight:500}.wordmark small{display:none}.header-actions{display:flex;align-items:center;gap:4px}.header-actions>a,.header-actions>button{display:inline-flex;width:34px;height:34px;align-items:center;justify-content:center;border:0;border-radius:50%;color:var(--fg);background:transparent;cursor:pointer;text-decoration:none}.header-actions>a:focus-visible,.header-actions>a:hover,.header-actions>button:focus-visible,.header-actions>button:hover{outline:none;background:var(--surface-2)}.header-actions svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.45;vector-effect:non-scaling-stroke}.header-actions .theme-icon-fill{fill:currentColor;stroke:none}.book-layout{display:grid;grid-template-columns:238px minmax(0,1fr);width:min(1320px,100%);margin:0 auto}.book-layout,.chapter-rail{min-height:calc(100vh - 54px)}.chapter-rail{position:sticky;top:54px;align-self:start;border-right:1px solid var(--line);padding:36px 24px 48px}.plate,.rail-label{color:var(--muted);font:650 10px/1.25 var(--mono);letter-spacing:.08em;text-transform:uppercase}.chapter-rail ol{margin:22px 0 0;padding:0;list-style:none}.chapter-rail li{border-top:1px solid var(--line)}.chapter-rail li:last-child{border-bottom:1px solid var(--line)}.chapter-rail a{display:grid;grid-template-columns:26px minmax(0,1fr);gap:5px 8px;padding:14px 0;text-decoration:none}.chapter-rail a:focus-visible strong,.chapter-rail a:hover strong{text-decoration:underline;text-underline-offset:3px}.chapter-rail a>small,.chapter-rail a>span{color:var(--muted);font:10px/1.35 var(--mono)}.chapter-rail a>strong{font-size:13px;font-weight:600;line-height:1.25}.chapter-rail a>small{grid-column:2}.edition-note{margin:28px 0 0;color:var(--muted);font:10px/1.65 var(--mono)}.reading-column{min-width:0;max-width:1040px;padding:76px clamp(28px,6vw,88px) 110px}.hero{margin:0 0 62px}.hero,.hero h1{max-width:900px}.hero h1{margin:16px 0 24px;font-size:clamp(50px,7vw,92px);font-weight:650;letter-spacing:-.055em;line-height:.96}.hero h1 em{color:inherit;font-style:normal;font-weight:inherit}.hero>p{max-width:720px;margin:0;color:var(--fg-soft);font-size:clamp(17px,1.7vw,20px);line-height:1.58}.hero-actions,.hero-facts{display:flex;flex-wrap:wrap;gap:8px;margin-top:26px}.hero-facts span{padding:6px 9px;color:var(--muted);font:10px/1 var(--mono)}.hero-actions a,.hero-facts span{border:1px solid var(--line-strong)}.hero-actions a{display:inline-flex;min-height:40px;align-items:center;padding:0 14px;font:600 12px/1 var(--mono);text-decoration:none}.hero-actions .primary-action,.hero-actions a:focus-visible,.hero-actions a:hover{color:var(--inverse-fg);background:var(--inverse-bg)}.profile-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0 0 72px;border-top:1px solid var(--fg);border-bottom:1px solid var(--line)}.profile-strip>div{min-width:0;padding:16px 16px 18px 0}.profile-strip>div+div{border-left:1px solid var(--line);padding-left:16px}.profile-strip span,.profile-strip strong{display:block}.profile-strip span{margin-bottom:7px;color:var(--muted);font:10px/1.2 var(--mono);text-transform:uppercase}.profile-strip strong{font-size:13px;font-weight:600;line-height:1.35}.lesson{display:grid;grid-template-columns:minmax(210px,.8fr) minmax(0,1.2fr);gap:42px;margin:76px 0 22px;border-top:1px solid var(--fg);padding-top:20px}.lesson header>span{color:var(--muted);font:650 10px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase}.lesson h2,.lesson-path h2,.tiers h2{margin:10px 0 0;font-size:clamp(28px,3.6vw,42px);font-weight:620;letter-spacing:-.035em;line-height:1.05}.lesson-copy p{margin:0 0 12px;color:var(--fg-soft);font-size:15px;line-height:1.62}.lesson-finder{margin:0 0 76px;border-top:1px solid var(--fg);padding-top:20px}.lesson-finder-heading{display:grid;grid-template-columns:minmax(0,.8fr) minmax(360px,1.2fr);gap:44px;margin-top:12px}.lesson-finder-heading h2{margin:0 0 12px;font-size:clamp(27px,3.2vw,38px);font-weight:620;letter-spacing:-.035em}.lesson-finder-heading p{margin:0;color:var(--fg-soft);font-size:14px;line-height:1.55}.lesson-finder-fields{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(150px,.7fr);gap:8px}.lesson-finder-field label{display:block;margin-bottom:7px;color:var(--muted);font:10px/1 var(--mono);text-transform:uppercase}.lesson-finder-field input,.lesson-finder-field select{width:100%;min-height:40px;border:1px solid var(--line-strong);border-radius:0;padding:0 11px;color:var(--fg);background:var(--surface);font-size:13px}.lesson-finder-field input:focus,.lesson-finder-field select:focus{outline:2px solid var(--fg);outline-offset:-2px}.lesson-finder-actions{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:9px}.lesson-finder-actions button{border:1px solid var(--line-strong);padding:7px 9px;color:var(--fg);background:transparent;font:600 10px/1 var(--mono);cursor:pointer}.lesson-finder-actions button:disabled{opacity:.35;cursor:default}.lesson-finder-actions span,.lesson-finder-search output{color:var(--muted);font:10px/1.4 var(--mono)}.lesson-finder-search output{display:block;margin-top:10px}.lesson-finder-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:24px 0 0;border-top:1px solid var(--line);border-left:1px solid var(--line);padding:0;list-style:none}.lesson-finder-results li{min-width:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.lesson-finder-results a{display:flex;min-height:132px;flex-direction:column;padding:16px;text-decoration:none}.lesson-finder-results a:focus-visible,.lesson-finder-results a:hover{color:var(--inverse-fg);background:var(--inverse-bg)}.lesson-finder-results small{margin-bottom:auto;color:var(--muted);font:10px/1.25 var(--mono)}.lesson-finder-results a:focus-visible small,.lesson-finder-results a:hover small{color:currentColor;opacity:.65}.lesson-finder-results strong{margin-top:22px;font-size:15px}.lesson-finder-results span{margin-top:5px;color:var(--muted);font-size:12px;line-height:1.45}.lesson-finder-results a:focus-visible span,.lesson-finder-results a:hover span{color:currentColor;opacity:.75}.lesson-finder-empty{border-top:1px solid var(--line);padding:24px 0;color:var(--muted)}.lesson-path,.tiers{margin-top:86px;border-top:1px solid var(--fg);padding-top:20px}.lesson-path>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:24px;border-top:1px solid var(--line);border-left:1px solid var(--line)}.lesson-path>div>a{display:flex;min-height:154px;flex-direction:column;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:17px;text-decoration:none}.lesson-path>div>a:focus-visible,.lesson-path>div>a:hover{color:var(--inverse-fg);background:var(--inverse-bg)}.lesson-path small{margin-bottom:auto;color:var(--muted);font:10px/1.2 var(--mono)}.lesson-path strong{margin-top:24px;font-size:15px}.lesson-path a>span{margin-top:6px;color:var(--muted);font-size:12px;line-height:1.45}.lesson-path a:focus-visible small,.lesson-path a:focus-visible>span,.lesson-path a:hover small,.lesson-path a:hover>span{color:currentColor;opacity:.72}.compact-path>div>a{min-height:132px}.tier-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:24px;border-top:1px solid var(--line);border-left:1px solid var(--line)}.tier-grid article{min-height:184px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px}.tier-grid small{color:var(--muted);font:10px/1 var(--mono);text-transform:uppercase}.tier-grid h3{margin:30px 0 8px;font-size:20px;font-weight:620}.tier-grid p{margin:0;color:var(--muted);font-size:13px;line-height:1.5}.tier-actions{display:flex;gap:14px;margin-top:18px}.tier-actions a{font:600 10px/1.2 var(--mono);text-underline-offset:3px}.lesson-shell{min-height:100vh}.lesson-page-grid{display:grid;grid-template-columns:238px minmax(0,1fr);width:min(1320px,100%);margin:0 auto}.lesson-nav{position:sticky;top:54px;align-self:start;min-height:calc(100vh - 54px);border-right:1px solid var(--line);padding:34px 22px 48px}.back-link{display:inline-block;margin-bottom:28px;color:var(--muted);font:600 10px/1.3 var(--mono);text-decoration:none}.back-link:focus-visible,.back-link:hover{color:var(--fg)}.lesson-nav ol{margin:16px 0 0;padding:0;list-style:none}.lesson-nav li{border-top:1px solid var(--line)}.lesson-nav li:last-child{border-bottom:1px solid var(--line)}.lesson-nav li a{display:grid;grid-template-columns:30px minmax(0,1fr);gap:8px;padding:11px 0;color:var(--muted);font-size:12px;line-height:1.35;text-decoration:none}.lesson-nav li a>span{font:10px/1.4 var(--mono)}.lesson-nav li[data-current=true] a{color:var(--fg);font-weight:650}.lesson-article{width:min(900px,calc(100% - 56px));min-width:0;margin:0 auto;padding:72px 0 110px}.lesson-intro{margin-bottom:54px}.lesson-intro h1{max-width:850px;margin:14px 0 20px;font-size:clamp(44px,6vw,76px);font-weight:650;letter-spacing:-.05em;line-height:.98}.lesson-intro>p{max-width:720px;margin:0;color:var(--fg-soft);font-size:18px;line-height:1.6}.question-card{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(260px,.9fr);gap:38px;margin:0 0 52px;border-top:1px solid var(--fg);border-bottom:1px solid var(--line);padding:22px 0 26px}.question-card h2{margin:9px 0 0;font-size:clamp(24px,3.5vw,36px);font-weight:620;letter-spacing:-.025em;line-height:1.14}.question-card ul{margin:0;padding-left:18px;color:var(--fg-soft);font-size:13px;line-height:1.6}.lesson-prose{max-width:740px;margin:0 0 36px}.lesson-prose p{margin:0 0 16px;color:var(--fg-soft);font-size:16px;line-height:1.72}.observation-notes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:48px 0 0;border-top:1px solid var(--fg);border-left:1px solid var(--line)}.observation-notes article{border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px}.observation-notes p{margin:10px 0 0;color:var(--fg-soft);font-size:13px;line-height:1.58}.exercise-card{margin:60px 0 0;border-top:1px solid var(--fg);padding:22px 0 0}.exercise-card h2{margin:10px 0 14px;font-size:30px;font-weight:620;letter-spacing:-.025em}.exercise-card details p,.exercise-card>p{max-width:740px;color:var(--fg-soft);font-size:14px;line-height:1.62}.exercise-card details{border-top:1px solid var(--line);padding:13px 0}.exercise-card details:last-child{border-bottom:1px solid var(--line)}.exercise-card summary{cursor:pointer;font-size:13px;font-weight:600}.lesson-pagination{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin-top:70px;background:var(--line)}.lesson-pagination>a{display:flex;min-height:112px;flex-direction:column;justify-content:space-between;padding:16px;background:var(--surface);text-decoration:none}.lesson-pagination>a:last-child{text-align:right}.lesson-pagination>a:focus-visible,.lesson-pagination>a:hover{color:var(--inverse-fg);background:var(--inverse-bg)}.lesson-pagination small{color:var(--muted);font:10px/1.2 var(--mono);text-transform:uppercase}.lesson-pagination a:focus-visible small,.lesson-pagination a:hover small{color:currentColor;opacity:.68}.lesson-pagination span{font-size:14px;font-weight:600;line-height:1.35}.site-footer{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding:24px clamp(16px,3vw,36px);color:var(--muted);font:10px/1.4 var(--mono)}.site-footer a{color:var(--fg);text-decoration:none}.site-footer a:focus-visible,.site-footer a:hover{text-decoration:underline;text-underline-offset:3px}@media (max-width:980px){.book-layout,.lesson-page-grid{grid-template-columns:190px minmax(0,1fr)}.chapter-rail,.lesson-nav{padding-right:16px;padding-left:16px}.reading-column{padding-right:32px;padding-left:32px}.lesson-finder-heading,.question-card{grid-template-columns:1fr;gap:24px}}@media (max-width:760px){.book-layout,.lesson-page-grid{display:block}.chapter-rail,.lesson-nav{position:static;min-height:0;border-right:0;border-bottom:1px solid var(--line);padding:18px 16px}.chapter-rail nav,.lesson-nav{overflow-x:auto}.chapter-rail ol,.lesson-nav ol{display:flex;width:max-content;gap:0;margin-top:12px}.chapter-rail li,.lesson-nav li{width:178px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.edition-note,.lesson-nav .back-link,.lesson-nav>.rail-label{display:none}.reading-column{padding:52px 18px 80px}.lesson-article{width:calc(100% - 36px);padding:52px 0 80px}.lesson,.observation-notes,.profile-strip{grid-template-columns:1fr}.profile-strip>div+div{border-top:1px solid var(--line);border-left:0;padding-left:0}.lesson{gap:18px}.lesson-finder-fields,.lesson-finder-heading,.lesson-finder-results,.lesson-path>div,.question-card,.tier-grid{grid-template-columns:1fr}}@media (max-width:520px){.site-header{min-height:50px}.wordmark{gap:8px;font-size:14px}.header-actions>a,.header-actions>button{width:32px;height:32px}.hero h1{font-size:46px}.hero>p,.lesson-intro>p{font-size:16px}.lesson-intro h1{font-size:42px}.lesson-pagination{grid-template-columns:1fr}.lesson-pagination>a:last-child{text-align:left}.site-footer{flex-direction:column}}:root{color-scheme:light;--neutral-0:#ffffff;--neutral-100:#f5f5f5;--neutral-150:#ececec;--neutral-200:#e2e2e2;--neutral-300:#bcbcbc;--neutral-500:#6f6f6f;--neutral-700:#303030;--neutral-950:#0d0d0d;--neutral-1000:#090909;--bg:var(--neutral-0);--surface:var(--neutral-0);--surface-2:var(--neutral-100);--surface-3:var(--neutral-150);--fg:#0a0a0a;--fg-soft:var(--neutral-700);--muted:var(--neutral-500);--line:var(--neutral-200);--line-strong:var(--neutral-300);--inverse-bg:#0a0a0a;--inverse-fg:var(--neutral-0);--focus-ring:var(--fg);--control-hover:var(--surface-2);--control-active-bg:var(--inverse-bg);--control-active-fg:var(--inverse-fg);--disabled-opacity:0.38;--display:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI","Apple SD Gothic Neo","Noto Sans KR",sans-serif;--body:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI","Apple SD Gothic Neo","Noto Sans KR",sans-serif;--mono:"SFMono-Regular",Consolas,"Liberation Mono",Menlo,"Noto Sans Mono CJK KR",monospace;--paper-0:var(--surface);--paper-1:var(--bg);--paper-2:var(--surface-2);--paper:var(--surface);--ink-1:var(--fg);--ink-2:var(--fg-soft);--ink-3:var(--muted);--hair-soft:var(--line);--hair-strong:var(--line-strong);--dye:var(--fg);--dye-wash:var(--surface-2)}html[data-theme=dark]{color-scheme:dark;--bg:var(--neutral-1000);--surface:var(--neutral-950);--surface-2:#151515;--surface-3:#202020;--fg:#f5f5f5;--fg-soft:#d3d3d3;--muted:#979797;--line:#292929;--line-strong:#444444;--inverse-bg:#f5f5f5;--inverse-fg:#0a0a0a}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:64px}body,html{background:var(--bg)}body{min-width:0;margin:0;color:var(--fg);font-family:var(--body);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}button,input,select,textarea{color:inherit;font:inherit}a,button,input,select,summary{-webkit-tap-highlight-color:transparent}a{color:inherit}::selection{color:var(--inverse-fg);background:var(--inverse-bg)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;margin:-1px;padding:0;border:0;clip:rect(0,0,0,0);white-space:nowrap}.skip-link{position:fixed;z-index:100;top:10px;left:10px;transform:translateY(-160%);border:1px solid var(--fg);padding:8px 10px;color:var(--bg);background:var(--fg);font:600 11px/1 var(--mono);text-decoration:none}.skip-link:focus{transform:translateY(0)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@media (forced-colors:active){::selection{color:HighlightText;background:Highlight}.skip-link{border-color:CanvasText;color:Canvas;background:CanvasText}}