:root{--paper:#fcf7f0;--white:#fff;--ink:#3f3028;--muted:#6e5c50;--brand:#913d18;--accent:#b65b22;--line:#e7d7c7;--wash:#f8ebdd;--serif:Georgia,'Times New Roman',serif;--sans:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;--mono:'SFMono-Regular',Consolas,'Liberation Mono',monospace;font-family:var(--sans);color:var(--ink);background:var(--paper);font-size:16px;line-height:1.7;scroll-padding-top:110px}*{box-sizing:border-box}body{margin:0}a{color:var(--brand);text-underline-offset:4px}a:hover{text-decoration-thickness:2px}button,input{font:inherit}button{cursor:pointer}button,a,input{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,.prose table:focus-visible{outline:3px solid #a84614;outline-offset:4px}::selection{background:#f8d6b3;color:#913d18}.skip{position:fixed;z-index:50;top:-80px;left:16px;padding:8px 20px;background:var(--brand);color:white}.skip:focus{top:8px}.topbar{height:94px;position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:0 38px;background:rgba(252,247,240,.97);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:15px;text-decoration:none;color:var(--brand);font-size:19px;font-weight:650;letter-spacing:-.4px;line-height:1.3}.brand small{display:block;font-size:9px;letter-spacing:2px;font-weight:600;margin-top:5px;color:var(--muted)}.brand-mark{font-family:var(--serif);font-size:46px;font-style:italic;font-weight:400;letter-spacing:-5px;line-height:1;margin-right:6px}.brand-mark span{font-size:29px;font-style:normal;color:#b65b22;margin-left:6px}.header-right{display:flex;gap:22px;align-items:center}.version{font-size:12px;border:1px solid var(--line);border-radius:30px;padding:3px 11px;color:var(--muted)}.search-trigger{border:1px solid var(--line);border-radius:7px;background:#f8eee3;color:var(--muted);display:flex;align-items:center;gap:12px;padding:9px 12px;min-width:260px;font-size:13px}.search-trigger>span{font-size:21px;line-height:1;color:var(--brand)}kbd{font:11px var(--sans);padding:2px 5px;background:var(--paper);border:1px solid var(--line);border-radius:3px;margin-left:auto;color:var(--muted)}.menu-toggle{display:none}.layout{max-width:1570px;margin:auto;display:grid;grid-template-columns:257px minmax(0,1fr) 218px}.sidebar{position:sticky;top:94px;align-self:start;height:calc(100dvh - 94px);overflow-y:auto;padding:28px 23px 36px 36px;border-right:1px solid var(--line);scrollbar-width:thin}.nav-group{margin-bottom:24px}.nav-group p{font-size:10px;letter-spacing:1.5px;text-transform:uppercase;font-weight:700;color:#795c48;margin:0 0 9px 12px}.nav-group a{display:block;padding:5px 12px;margin:2px 0;font-size:13px;color:#6a5040;text-decoration:none;line-height:1.6;border-left:2px solid transparent;border-radius:0 4px 4px 0}.nav-group a:hover{background:var(--wash);color:var(--brand)}.nav-group a[aria-current]{background:#f9e1ca;color:#8a3512;border-left-color:#ad4b1c;font-weight:650}.sidebar-note{font-size:12px;line-height:1.9;margin:30px 0 0 14px;padding-top:20px;border-top:1px solid var(--line);color:#77563d}.sidebar-note small{font-family:var(--serif);font-style:italic;font-size:13px;color:var(--muted)}.status-dot{display:inline-block;width:6px;height:6px;background:#b65b22;border-radius:50%;margin-right:7px}main{min-width:0;max-width:900px;width:100%;padding:45px 58px 30px;margin:auto}main:focus{outline:none}.breadcrumb{font-size:9px;letter-spacing:1.8px;font-weight:650;color:#795c48;margin-bottom:26px;line-height:1.5}.breadcrumb span{padding:0 12px;color:#9c8370}.prose h1{font-family:var(--serif);font-weight:400;font-size:49px;line-height:1.13;letter-spacing:-1.7px;color:var(--brand);margin:0 0 24px;max-width:760px;text-wrap:balance}.prose h1+p{font-size:18px;line-height:1.75;color:#6c5140;margin-bottom:28px}.prose h2{font-family:var(--serif);font-size:28px;font-weight:400;letter-spacing:-.5px;line-height:1.3;margin:42px 0 18px;color:var(--brand);padding-top:5px;scroll-margin-top:110px}.prose h3{font-size:17px;font-weight:650;margin:28px 0 12px;line-height:1.4;scroll-margin-top:110px}.prose h4{font-size:15px;margin-top:24px}.prose p,.prose li{font-size:15px;line-height:1.85}.prose p{margin:0 0 18px}.prose strong{font-weight:650}.prose ul,.prose ol{padding-left:23px;margin:16px 0 23px}.prose li{padding-left:4px;margin:5px 0}.prose li>p{margin-bottom:8px}.prose blockquote{background:var(--wash);margin:27px 0;padding:19px 23px;border-left:3px solid #bf602c;border-radius:0 7px 7px 0}.prose blockquote p{font-size:14px;margin:0}.prose code{font-family:var(--mono);font-size:.84em;overflow-wrap:anywhere;background:#f8ecdf;border:1px solid #eddbc9;padding:2px 5px;border-radius:4px;color:#91401e}.code-wrap{position:relative;margin:22px 0 27px}.code-label{background:#49291c;color:#f3d5b8;font-size:9px;font-weight:600;letter-spacing:1.4px;padding:10px 17px 9px;border-bottom:1px solid #795039;border-radius:7px 7px 0 0;min-height:37px}.prose pre{background:#3b241b;color:#fff0df;max-width:100%;overflow-x:auto;margin:22px 0 27px;padding:20px;border-radius:7px;font-size:13px;line-height:1.8;tab-size:2;scrollbar-color:#b17b54 #3b241b}.code-wrap pre{margin:0;border-radius:0 0 7px 7px}.prose pre code{background:none;border:0;padding:0;color:inherit;font-size:12px;overflow-wrap:normal;white-space:pre;font-weight:400}.copy-button{position:absolute;top:5px;right:9px;border:1px solid #bc885f;border-radius:4px;background:#68391f;color:#fff0df;font-size:10px;line-height:1.6;padding:3px 10px}.copy-button:hover{background:#7f4524}.prose table{border-collapse:collapse;width:100%;display:block;overflow-x:auto;margin:23px 0 28px;font-size:13px;line-height:1.65;border-top:1px solid #d6baa1}.prose th{text-align:left;font-size:10px;letter-spacing:.7px;text-transform:uppercase;padding:13px 13px;color:#74503a;background:#f7e9d9;font-weight:650;border-bottom:1px solid #dfc7b0;min-width:135px}.prose td{padding:13px;vertical-align:top;border-bottom:1px solid var(--line);font-size:13px;min-width:110px}.prose tbody tr:hover{background:#fbefe3}.prose td:first-child{font-weight:500}.prose hr{border:0;border-top:1px solid var(--line);margin:38px 0}.toc{align-self:start;position:sticky;top:94px;max-height:calc(100dvh - 94px);overflow-y:auto;padding:48px 25px 25px 8px;scrollbar-width:thin}.toc>p{font-size:9px;font-weight:700;letter-spacing:1.5px;color:#795941;margin:0 0 16px}.toc>a{display:block;border-left:1px solid var(--line);font-size:11px;color:#7a604d;text-decoration:none;padding:5px 0 5px 15px;line-height:1.65}.toc>a:hover,.toc>a.active{color:var(--brand);border-left:2px solid #ad571f;background:#fae7d3}.toc-note{font-size:11px;font-family:var(--serif);font-style:italic;line-height:1.8;color:#80654e;margin-top:30px;padding:17px 2px;border-top:1px solid var(--line)}.source-note{border:1px solid var(--line);background:#faecdd;border-radius:5px;padding:12px 15px;margin-bottom:24px;font-size:9px;letter-spacing:1px;font-weight:650;color:#805033}.source-note span{margin-left:12px;font-weight:400;letter-spacing:0;font-size:11px}.source-note code{display:block;overflow-wrap:anywhere;font:10px/1.8 var(--mono);letter-spacing:0;margin-top:6px;font-weight:400}.page-turns{border-top:1px solid var(--line);margin-top:46px;padding-top:24px;display:grid;grid-template-columns:1fr 1fr;gap:20px}.page-turns a{border:1px solid var(--line);border-radius:6px;padding:15px 18px;text-decoration:none;font-size:14px;line-height:1.5;background:#fcf0e4}.page-turns a:hover{border-color:#bc7b48;background:#f9e4cf}.page-turns a:last-child{text-align:right}.page-turns small{display:block;font-size:8px;letter-spacing:1.4px;color:var(--muted);margin-bottom:6px}.back-library{margin-top:40px;font-size:13px}footer{border-top:1px solid var(--line);margin-top:36px;padding:23px 0 0;font-size:10px;color:#816650;line-height:1.9}footer span{padding:0 7px}footer a{font-size:10px}dialog{width:min(700px,calc(100% - 32px));border:1px solid #dfc3aa;border-radius:12px;padding:25px;box-shadow:0 25px 100px #44210f59;background:var(--paper);color:var(--ink);max-height:82dvh}dialog::backdrop{background:#321608a3;backdrop-filter:blur(3px)}.search-heading{display:flex;justify-content:space-between;align-items:center;gap:20px}.search-heading h2{font:normal 27px/1.4 var(--serif);margin:0;color:var(--brand)}.search-heading button{background:var(--wash);border:1px solid var(--line);border-radius:4px;padding:3px 8px;font-size:11px}dialog label{display:block;font-size:12px;color:var(--muted);margin:13px 0 8px}#search-input{width:100%;background:white;border:1px solid #b47a4f;border-radius:6px;padding:12px 15px;font-size:15px}#search-status{font-size:12px;color:var(--muted);margin:10px 0}#search-results{overflow-y:auto;max-height:52dvh}#search-results a{display:block;text-decoration:none;border-top:1px solid var(--line);padding:13px 6px;color:var(--ink);font-size:13px}#search-results a:hover,#search-results a:focus{background:var(--wash)}#search-results strong{display:block;font-size:14px;color:var(--brand)}#search-results small{color:var(--muted);font-size:11px;display:block;margin:2px 0 5px}#search-results p{font-size:12px;line-height:1.7;margin:0}mark{background:#f7d1a5;color:#623215}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:1500px){main{padding-left:70px;padding-right:70px}.layout{grid-template-columns:270px minmax(0,1fr) 230px}}
@media(max-width:1170px){.layout{grid-template-columns:238px minmax(0,1fr)}.toc{display:none}.sidebar{padding-left:24px}main{padding:40px 45px;max-width:850px}.topbar{padding:0 28px}}
@media(max-width:760px){:root{scroll-padding-top:95px}.topbar{height:78px;padding:0 20px}.brand{font-size:17px;gap:12px}.brand-mark{font-size:37px}.brand small{font-size:7px;letter-spacing:1.5px}.header-right{gap:12px}.version{display:none}.search-trigger{min-width:0;width:38px;height:38px;padding:0;justify-content:center;font-size:0;gap:0}.search-trigger>span{font-size:25px}.search-trigger kbd{display:none}.menu-toggle{display:block;border:1px solid var(--line);border-radius:5px;background:var(--wash);font-size:11px;padding:8px 11px;color:var(--brand)}.layout{display:block}.sidebar{display:none;position:fixed;z-index:19;top:78px;left:0;width:min(330px,90vw);height:calc(100dvh - 78px);background:var(--paper);padding:24px;box-shadow:14px 0 40px #6e351522}.sidebar.open{display:block}.sidebar nav a{padding:8px 12px;font-size:14px}.nav-group p{font-size:11px}.sidebar-note{display:none}main{padding:29px 24px 28px}.breadcrumb{margin-bottom:24px;font-size:8px}.prose h1{font-size:39px;letter-spacing:-1.3px;line-height:1.17}.prose h1+p{font-size:17px;line-height:1.75}.prose h2{font-size:26px;margin-top:35px}.prose p,.prose li{font-size:14px;line-height:1.85}.prose blockquote{padding:16px 18px}.prose pre{padding:17px}.prose pre code{font-size:11px}.prose th{font-size:9px;padding:11px;min-width:125px}.prose td{font-size:12px;padding:12px 11px}.page-turns{gap:10px}.page-turns a{font-size:12px;padding:13px 12px}.source-note span{display:block;margin:5px 0 0}.source-note code{font-size:9px}dialog{padding:20px}.search-heading h2{font-size:24px}#search-input{font-size:16px}.prose h2,.prose h3{scroll-margin-top:95px}}
@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}.nav-group a,.page-turns a{transition:background .15s,border-color .15s}}
@media print{.topbar,.sidebar,.toc,.page-turns,.search-trigger,.copy-button,dialog{display:none!important}.layout{display:block}main{padding:0;max-width:none}.prose pre{white-space:pre-wrap;background:#eee;color:#111}.prose pre code{white-space:pre-wrap}.prose table{display:table}body{background:white}}
