:root{color-scheme:only light;--book-bg:#f5f6f2;--book-ink:#17201c;--book-muted:#4b5c53;--book-accent:#245f45;--book-line:#ccd6ce;--book-soft:#e8eee8;--reading-size:18px}
html{scroll-behavior:smooth;scroll-padding-top:98px}
body{margin:0;background:var(--book-bg);color:var(--book-ink);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans CJK KR","Apple SD Gothic Neo",sans-serif;-webkit-font-smoothing:antialiased}
.dla-page{background:var(--book-bg);color:var(--book-ink);line-height:1.8;word-break:keep-all;overflow-wrap:anywhere}
.dla-page *{box-sizing:border-box}
.dla-page a{color:inherit;text-decoration:none}
.dla-page button,.dla-page input{font:inherit}
.dla-page button{cursor:pointer}
.dla-page a:focus-visible,.dla-page button:focus-visible,.dla-page summary:focus-visible,.dla-page input:focus-visible,.dla-page [tabindex="0"]:focus-visible{outline:2px solid var(--book-accent);outline-offset:5px}
.dla-page ::selection{background:#c8ddcf;color:#17201c}
.book-wrap{width:min(1240px,calc(100% - 96px));margin:auto}
.skip-link{position:fixed;top:-120px;left:20px;background:#17201c;color:#fff!important;z-index:100;padding:12px 20px}
.skip-link:focus{top:10px}
.book-toolbar{position:sticky;top:0;z-index:25;background:var(--book-bg);border-bottom:1px solid var(--book-line)}
.toolbar-inner{min-height:68px;display:flex;justify-content:space-between;align-items:center;gap:20px}
.book-brand{font-size:15px;font-weight:550;line-height:1.4;display:flex;align-items:baseline;gap:20px}
.book-brand span{font:12px Georgia,serif;letter-spacing:.02em;color:var(--book-muted)}
.toolbar-actions{display:flex;align-items:center;gap:14px}
.toolbar-actions button,.mobile-toc>summary{min-width:44px;min-height:44px;border:0;border-radius:2px;padding:9px 13px;color:var(--book-ink);background:transparent;font-size:13px;line-height:1.5}
.toolbar-actions button:hover{background:var(--book-soft)}
.type-tools{display:flex;gap:0;border-right:1px solid var(--book-line);padding-right:10px}
.type-tools button{font:15px Georgia,serif}
.search-open{display:flex;align-items:center;gap:10px}
.search-open span{font-size:22px}
.mobile-toc{display:none}
.reading-progress{height:2px;background:var(--book-accent);width:100%;position:absolute;bottom:-1px;left:0;transform:scaleX(0);transform-origin:left}
.book-layout{display:grid;grid-template-columns:225px minmax(0,1fr);gap:68px;align-items:start}
.book-sidebar{position:sticky;top:95px;padding:32px 0;max-height:calc(100dvh - 115px);overflow:auto;font-size:12px;scrollbar-width:thin}
.toc-heading{font:10px/1.7 ui-monospace,SFMono-Regular,monospace;letter-spacing:.12em;color:var(--book-muted);margin:0 0 16px}
.unit-nav{display:grid;gap:0;margin-bottom:28px}
.unit-nav a{display:block;line-height:1.55;padding:7px 10px;border-left:2px solid transparent;color:var(--book-muted)}
.unit-nav a:hover,.unit-nav a[aria-current="location"]{color:var(--book-accent);border-left-color:var(--book-accent)}
.unit-nav .level-2{font-weight:600;color:var(--book-ink);margin-top:10px}
.unit-nav .level-3{font-size:11px;padding-left:17px}
.all-chapters{border-top:1px solid var(--book-line);padding-top:15px}
.all-chapters>summary{cursor:pointer;list-style:none;font-size:12px;padding:4px 0 15px}
.all-chapters>summary:after{content:' +';color:var(--book-accent)}
.all-chapters[open]>summary:after{content:' −'}
.all-chapters>summary::-webkit-details-marker{display:none}
.all-chapters nav,.mobile-toc-panel>nav{display:grid}
.all-chapters nav a,.mobile-toc-panel>nav a{display:grid;grid-template-columns:23px minmax(0,1fr);gap:8px;padding:9px 5px;font-size:12px;line-height:1.55;border-bottom:1px solid transparent}
.all-chapters nav a>span:first-child,.mobile-toc-panel>nav a>span:first-child{font:11px ui-monospace,monospace;color:var(--book-muted);padding-top:3px}
.all-chapters a[aria-current="page"]{color:var(--book-accent);background:var(--book-soft)}
.sidebar-meta{display:block;margin-top:15px;font-size:11px;color:var(--book-muted)!important}
#book-content{min-width:0;outline:none;padding-bottom:80px}
.eyebrow{font:11px/1.7 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.14em;color:var(--book-muted);margin:0 0 20px}
.book-hero{padding:65px 0 0}
.english-title{font:clamp(37px,4.5vw,60px)/1.06 Georgia,"Times New Roman",serif;letter-spacing:-.045em;margin:28px 0 40px}
.english-title em{font-weight:400;color:var(--book-accent)}
.book-hero h1{font-size:clamp(46px,5.6vw,72px);line-height:1.22;font-weight:550;letter-spacing:-.07em;margin:0 0 17px}
.book-subtitle{font-size:21px;line-height:1.6;letter-spacing:-.035em;margin:0 0 28px}
.hero-description{font-size:15px;line-height:1.9;color:var(--book-muted);margin:0 0 25px}
.hero-byline{font-size:12px;color:var(--book-muted);display:flex;gap:12px;align-items:center}
.book-actions{display:flex;gap:12px;flex-wrap:wrap;margin:30px 0 48px}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;border:1px solid var(--book-line);padding:13px 21px;font-size:13px;min-height:48px}
.button:hover{border-color:var(--book-accent)}
.button.solid{background:var(--book-accent);color:#fff}
.book-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:26px 0 32px;border-block:1px solid var(--book-line);gap:25px;margin:0}
.book-stats dt{font:10px ui-monospace,monospace;letter-spacing:.12em;color:var(--book-muted)}
.book-stats dd{font:46px/1.4 Georgia,serif;margin:10px 0 0;color:var(--book-accent)}
.book-stats dd span{font:12px system-ui,sans-serif;color:var(--book-muted);margin-left:9px}
.book-introduction{padding:58px 0;max-width:740px}
.dla-page h2{font-size:28px;line-height:1.5;letter-spacing:-.04em;font-weight:550}
.book-introduction h2{font-size:33px;line-height:1.45;margin:0 0 28px}
.book-introduction p:not(.eyebrow):not(.source-caption){font-size:16px;line-height:1.95;margin:0 0 20px}
.source-caption{font-size:12px;color:var(--book-muted)}
.chapter-catalogue{border-top:1px solid var(--book-line);padding-top:35px;scroll-margin-top:100px}
.catalogue-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:30px}
.catalogue-heading h2{margin:0}
.catalogue-heading .eyebrow{margin-bottom:10px}
.catalogue-heading>a{font-size:12px;color:var(--book-accent)}
.chapter-card{border-top:1px solid var(--book-line)}
.chapter-row{display:grid;grid-template-columns:38px minmax(0,1fr) 22px;gap:22px;padding:27px 0}
.chapter-index{font:18px/1.5 Georgia,serif;color:var(--book-accent);padding-top:4px}
.chapter-row h3{font-size:20px;font-weight:550;line-height:1.6;letter-spacing:-.03em;margin:0 0 10px}
.chapter-row p{font-size:13px;line-height:1.9;color:var(--book-muted);margin:0 0 11px}
.row-meta{font:10px/1.6 ui-monospace,monospace;color:var(--book-muted)}
.row-arrow{padding-top:3px;color:var(--book-accent)}
.chapter-row:hover h3{color:var(--book-accent)}
.references-row{display:flex;justify-content:space-between;border-block:1px solid var(--book-line);padding:24px 0;font-size:17px}
.references-row span{color:var(--book-accent)}
.edition-teaser{padding:60px 0 0}
.edition-teaser h2{margin:0 0 25px}
.edition-teaser p:not(.eyebrow){font-size:14px;line-height:1.95;color:var(--book-muted)}
.text-link{font-size:13px;color:var(--book-accent)!important;text-decoration:underline!important;text-underline-offset:5px}
.chapter-head{padding:60px 0 30px;border-bottom:1px solid var(--book-line)}
.chapter-head h1{font-size:clamp(31px,3.7vw,48px);line-height:1.42;letter-spacing:-.045em;font-weight:550;margin:0 0 25px;max-width:790px}
.chapter-head>p:not(.eyebrow){font-size:16px;color:var(--book-muted);line-height:1.8;max-width:740px}
.chapter-meta{display:flex;gap:12px 23px;flex-wrap:wrap;font:11px/1.7 ui-monospace,monospace;color:var(--book-muted)}
.chapter-meta a{text-decoration:underline;text-underline-offset:4px}
.chapter-notice{font-size:12px;line-height:1.8;color:var(--book-muted);margin:20px 0 40px;max-width:720px}
.book-prose{max-width:790px;font-size:var(--reading-size);line-height:1.95;letter-spacing:-.016em}
.book-prose>h2{margin:70px 0 28px;padding-top:25px;border-top:1px solid var(--book-line);font-size:1.48em;line-height:1.55}
.book-prose>h2:first-child{margin-top:15px}
.book-prose h3{font-size:1.17em;font-weight:600;line-height:1.65;margin:40px 0 20px;letter-spacing:-.025em}
.book-prose h4{font-size:1.03em;line-height:1.7;margin:30px 0 15px}
.book-prose p{margin:0 0 23px}
.book-prose strong{font-weight:650}
.book-prose ul,.book-prose ol{padding-left:24px;margin:22px 0}
.book-prose li{padding-left:3px;margin:7px 0}
.book-prose a{color:var(--book-accent);text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere;word-break:normal}
.book-prose a:hover{text-decoration-thickness:2px}
.book-prose blockquote{border-left:2px solid var(--book-accent);margin:30px 0;padding:10px 0 1px 24px;color:var(--book-muted)}
.book-prose hr{border:0;border-top:1px solid var(--book-line);margin:36px 0}
.book-prose code{font:.82em/1.7 ui-monospace,SFMono-Regular,Consolas,monospace;background:#e8eee8;padding:.1em .35em;border-radius:2px;overflow-wrap:anywhere}
.book-prose pre{font-size:14px;line-height:1.85;overflow:auto;max-width:100%;padding:22px;background:#e8eee8;border:1px solid var(--book-line);border-radius:2px;margin:30px 0;white-space:pre;word-break:normal}
.book-prose pre code{padding:0;background:none;white-space:pre;overflow-wrap:normal}
.table-scroll{overflow-x:auto;max-width:100%;margin:28px 0 30px;overscroll-behavior-x:contain;scrollbar-width:thin}
.table-scroll table{border-collapse:collapse;width:100%;min-width:480px;font-size:.79em;line-height:1.8;letter-spacing:0}
.table-scroll th,.table-scroll td{padding:12px 14px;border-bottom:1px solid var(--book-line);vertical-align:top;text-align:left;min-width:110px;word-break:normal;overflow-wrap:anywhere}
.table-scroll th{background:var(--book-soft);color:var(--book-ink);font-weight:600;border-top:1px solid var(--book-line)}
.table-scroll td{color:var(--book-ink)}
.unavailable-source{color:var(--book-muted);border-bottom:1px dotted var(--book-muted);overflow-wrap:anywhere}
.book-figure{margin:36px 0 30px;padding-top:12px;border-top:1px solid var(--book-line)}
.book-figure>img{display:block;width:100%;height:auto;background:#fff}
.book-figure figcaption{font-size:12px;line-height:1.85;color:var(--book-muted);padding-top:14px;letter-spacing:0}
.book-figure figcaption p{margin:10px 0 0}
.figure-meta{display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:11px}
.book-prose .figure-zoom{font-size:12px;white-space:nowrap;min-height:35px;display:inline-flex;align-items:center}
.equation{max-width:100%;overflow:auto;margin:30px 0;padding:20px 8px;font-size:1.04em;word-break:normal}
.equation math{font-family:math;min-width:max-content}
.inline-math{font-family:Georgia,serif;white-space:nowrap;font-style:italic}
.inline-math sub{font-size:.75em}
.revision-addition{border:1px solid var(--book-line);border-left:3px solid var(--book-accent);margin:34px 0;padding:24px 27px;font-size:.94em}
.revision-addition .revision-label{font:11px/1.7 ui-monospace,monospace;letter-spacing:.03em;color:var(--book-accent);margin:0 0 13px}
.revision-addition h4{font-size:1.08em;margin:0 0 20px}
.revision-addition p:last-child{margin-bottom:0}
.source-warning{border-top:1px solid var(--book-line);margin:48px 0 20px;padding-top:20px;font-size:12px;line-height:1.9;color:var(--book-muted)}
.source-warning b{color:var(--book-ink)}
.source-warning p{margin:10px 0}
.chapter-pagination{display:grid;grid-template-columns:1fr 1fr;gap:30px;padding-top:30px;margin-top:50px;border-top:1px solid var(--book-line)}
.chapter-pagination a{font-size:16px;line-height:1.8;letter-spacing:-.025em}
.chapter-pagination small{display:block;font-size:11px;margin-bottom:12px;color:var(--book-muted)}
.chapter-pagination a:last-child{text-align:right}
.chapter-pagination a:hover{color:var(--book-accent)}
.reference-prose{font-size:15px;line-height:1.95;padding-top:30px}
.reference-entry>.reference-entry{padding:19px 0;border-bottom:1px solid var(--book-line);scroll-margin-top:100px}
.reference-entry>.reference-entry p{margin:0}
.edition-list{list-style:none;padding:0!important}
.edition-list li{border-top:1px solid var(--book-line);padding:15px 0;font-size:14px;margin:0!important}
.edition-list a{display:block;text-decoration:none}
.edition-list span{font-size:11px;color:var(--book-muted);margin-right:10px}
.edition-list small{display:block;font-size:11px;color:var(--book-muted);margin-top:5px}
.source-hashes{margin-top:25px;font-size:12px;max-width:100%}
.source-hashes summary{cursor:pointer}
.source-hashes code{word-break:break-all}
.source-hashes p{margin:15px 0}
.figure-gallery{display:grid;grid-template-columns:1fr 1fr;gap:34px 26px;margin-top:35px}
.gallery-item{min-width:0;border-top:1px solid var(--book-line);padding-top:15px}
.gallery-item img{width:100%;height:180px;object-fit:contain;background:white}
.gallery-item span{font:10px/1.8 ui-monospace,monospace;color:var(--book-accent);display:block;margin-top:12px}
.gallery-item p{font-size:12px;line-height:1.85;color:var(--book-muted);margin:10px 0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.book-colophon{border-top:1px solid var(--book-line);padding:28px 0 35px;display:flex;justify-content:space-between;gap:20px;font-size:11px;color:var(--book-muted)}
.book-colophon>div{display:flex;gap:24px}
.no-script{font-size:12px;padding:20px 0}
.dla-page dialog{background:var(--book-bg);color:var(--book-ink);padding:28px;border:1px solid var(--book-line);border-radius:4px;width:min(800px,calc(100vw - 32px));max-height:85dvh;overflow-y:auto;word-break:keep-all;box-shadow:0 16px 80px #17201c25}
.dla-page dialog::backdrop{background:#17201c99}
.dialog-bar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px}
.dialog-bar h2{font-size:24px;margin:0}
.dialog-bar button{min-width:55px;min-height:44px;background:transparent;color:var(--book-ink);border:1px solid var(--book-line);font-size:12px;padding:8px 12px}
.search-label{display:block;font-size:12px;color:var(--book-muted);margin-bottom:8px}
#search-query{display:block;width:100%;min-height:50px;padding:12px 15px;border:1px solid var(--book-line);background:#fff;color:var(--book-ink);font-size:17px;border-radius:2px}
#search-query::placeholder{color:#596960;opacity:1}
#search-status{font-size:12px;color:var(--book-muted);margin:17px 0}
#search-results{list-style:none;padding:0;margin:0}
#search-results li{border-top:1px solid var(--book-line);padding:20px 0}
#search-results a{display:block;color:var(--book-ink);font-size:16px;line-height:1.65}
#search-results small{display:block;color:var(--book-accent);font-size:11px;margin-bottom:9px}
#search-results p{font-size:13px;line-height:1.85;color:var(--book-muted);margin:12px 0 0}
#search-results mark{background:#d5e7da;color:#17201c;padding:0 1px}
#figure-viewer{width:min(1400px,calc(100vw - 24px));padding:20px}
#figure-label{font-size:12px;color:var(--book-muted)}
.figure-full{overflow:auto;max-height:60dvh;background:white}
.figure-full img{display:block;width:100%;min-width:780px;height:auto}
#figure-description{font-size:13px;line-height:1.8;margin:18px 0 12px}
#figure-file{font-size:12px;color:var(--book-accent);text-decoration:underline;text-underline-offset:4px}
@media(max-width:1080px){.book-wrap{width:calc(100% - 56px)}.book-layout{grid-template-columns:190px minmax(0,1fr);gap:38px}.book-brand span{display:none}.book-hero h1{font-size:60px}.book-stats{gap:15px}.book-stats dt{font-size:9px}.book-prose{font-size:calc(var(--reading-size) - 1px)}.chapter-head h1{font-size:38px}}
@media(max-width:780px){.book-wrap{width:calc(100% - 40px)}.book-layout{display:block}.book-sidebar{display:none}.toolbar-inner{min-height:62px;gap:10px}.book-brand{font-size:14px}.toolbar-actions{gap:2px}.type-tools{padding-right:3px}.type-tools button{padding:8px;min-width:39px}.search-open{padding:8px 10px!important;font-size:12px!important}.search-open span{display:none}.mobile-toc{display:block;position:relative}.mobile-toc>summary{list-style:none;cursor:pointer;display:flex;align-items:center;font-size:12px;padding:8px 10px}.mobile-toc>summary::-webkit-details-marker{display:none}.mobile-toc>summary:after{content:' +';padding-left:5px;color:var(--book-accent)}.mobile-toc[open]>summary:after{content:' −'}.mobile-toc-panel{position:absolute;top:51px;right:0;width:min(370px,calc(100vw - 40px));max-height:73dvh;overflow:auto;padding:22px;background:var(--book-bg);border:1px solid var(--book-line);box-shadow:0 10px 35px #17201c20}.mobile-toc-panel .unit-nav .level-3{font-size:12px}.mobile-toc-panel .unit-nav .level-2{font-size:13px}.book-hero{padding-top:38px}.eyebrow{font-size:10px;letter-spacing:.1em}.english-title{font-size:clamp(39px,9.6vw,59px);line-height:1.1;margin:28px 0 35px}.book-hero h1{font-size:clamp(47px,12vw,64px);margin-bottom:16px}.book-subtitle{font-size:18px;margin-bottom:24px}.hero-description{font-size:14px}.hero-byline{font-size:11px}.book-actions{gap:9px;margin:26px 0 34px}.button{font-size:12px;padding:12px 17px;gap:20px}.book-stats{padding:23px 0 25px;gap:8px}.book-stats dt{font-size:8px;letter-spacing:.045em}.book-stats dd{font-size:37px}.book-stats dd span{font-size:10px;margin-left:6px}.book-introduction{padding:38px 0}.book-introduction h2{font-size:28px}.book-introduction p:not(.eyebrow):not(.source-caption){font-size:15px}.source-caption{font-size:11px}.chapter-catalogue{padding-top:27px}.catalogue-heading{gap:10px}.catalogue-heading h2{font-size:25px}.catalogue-heading>a{font-size:11px}.chapter-row{grid-template-columns:26px minmax(0,1fr) 14px;gap:13px;padding:23px 0}.chapter-index{font-size:16px}.chapter-row h3{font-size:18px;line-height:1.6;margin-bottom:11px}.chapter-row p{font-size:12px;line-height:1.9}.row-meta{font-size:9px}.edition-teaser{padding-top:40px}.edition-teaser h2{font-size:26px}.chapter-head{padding:37px 0 24px}.chapter-head h1{font-size:30px;line-height:1.5;letter-spacing:-.045em;margin-bottom:21px}.chapter-meta{font-size:10px;gap:8px 16px}.chapter-head>p:not(.eyebrow){font-size:14px}.chapter-notice{font-size:11px;margin:17px 0 29px}.book-prose{font-size:calc(var(--reading-size) - 1px);line-height:1.95;letter-spacing:-.02em}.book-prose>h2{font-size:1.34em;margin:47px 0 24px;padding-top:24px}.book-prose h3{font-size:1.12em;line-height:1.65;margin:31px 0 18px}.book-prose p{margin-bottom:22px}.book-prose ul,.book-prose ol{padding-left:21px}.table-scroll{margin:24px 0}.table-scroll th,.table-scroll td{padding:10px 12px}.book-prose pre{padding:17px;font-size:13px}.book-figure{margin:27px 0}.book-figure figcaption{font-size:11px;padding-top:10px}.figure-meta{font-size:10px}.revision-addition{padding:19px 18px;font-size:.95em;margin:28px 0}.revision-addition .revision-label{font-size:10px}.revision-addition h4{font-size:1.03em}.source-warning{font-size:11px}.chapter-pagination{gap:22px;margin-top:37px;padding-top:23px}.chapter-pagination a{font-size:14px;line-height:1.75}.chapter-pagination small{font-size:10px}.book-colophon{flex-direction:column;gap:14px;padding:24px 0;font-size:10px}.book-colophon>div{gap:25px}#book-content{padding-bottom:47px}.figure-gallery{grid-template-columns:1fr;gap:25px}.gallery-item img{height:auto;max-height:260px}.reference-prose{font-size:14px}.edition-list li{font-size:13px}.dla-page dialog{padding:20px;width:calc(100vw - 24px);max-height:88dvh}.dialog-bar h2{font-size:21px}#search-results a{font-size:15px}#search-results p{font-size:12px}#figure-viewer{padding:15px}.figure-full{max-height:55dvh}#figure-description{font-size:12px}.equation{font-size:.95em;padding:17px 0}}
@media(max-width:360px){.book-wrap{width:calc(100% - 32px)}.book-brand{font-size:13px}.toolbar-actions button,.mobile-toc>summary{font-size:11px!important;min-width:36px}.type-tools button{min-width:33px}.chapter-head h1{font-size:28px}.mobile-toc-panel{width:calc(100vw - 32px)}.book-stats dt{font-size:7px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.dla-page *{animation:none!important;transition:none!important}}
@media print{body{background:white;color:black}spatialflare-header,spatialflare-footer,.book-sidebar,.book-toolbar,.book-actions,.book-colophon,.chapter-pagination,.dla-page dialog,.figure-zoom{display:none!important}.book-wrap{width:100%;margin:0}.book-layout{display:block}.book-prose{max-width:none;font-size:11pt;line-height:1.8}.chapter-head{padding:0 0 20px}.chapter-head h1{font-size:25pt}.book-prose h2,.book-prose h3{break-after:avoid}.table-scroll{overflow:visible}.table-scroll table{min-width:0;font-size:9pt}.book-figure{break-inside:avoid}.book-figure>img{max-height:65vh;object-fit:contain}.revision-addition{break-inside:avoid}.book-prose pre{white-space:pre-wrap}.equation{overflow:visible}}
