:root{--ink:#1c3038;--muted:#597078;--accent:#087e83;--line:#dce6e5;--paper:#fff;--wash:#f3f7f6;--nav:276px}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:28px}
body{margin:0;color:var(--ink);background:var(--paper);font:16px/1.75 "Segoe UI",system-ui,sans-serif}
a{color:var(--accent);text-underline-offset:3px}
a:hover{color:#03575c}
button{font:inherit;cursor:pointer}
a:focus-visible,button:focus-visible,[tabindex]:focus-visible{outline:3px solid #cd6e31;outline-offset:4px}
.skip{position:fixed;top:-100px;left:16px;z-index:20;background:white;padding:8px 18px}.skip:focus{top:12px}
.sidebar{position:fixed;inset:0 auto 0 0;width:var(--nav);overflow:auto;background:var(--wash);border-right:1px solid var(--line);padding:32px 20px}
.brand{display:flex;gap:12px;align-items:center;text-decoration:none;color:var(--ink);font-size:20px;font-weight:750;line-height:1.2}
.brand small{display:block;margin-top:6px;font-size:10px;text-transform:uppercase;letter-spacing:1.4px;color:var(--muted)}
.brand-mark{display:grid;place-items:center;background:var(--accent);color:white;width:36px;flex-shrink:0;height:44px;border-radius:12px;font-family:Georgia,serif;font-size:37px;font-weight:normal}
.nav-intro{font-family:Georgia,serif;font-size:18px;line-height:1.45;margin:28px 8px;color:var(--muted)}
.sidebar nav>a{display:block;border-radius:7px;padding:7px 10px;margin:3px 0;color:#425d64;font-size:13px;line-height:1.45;text-decoration:none}
.sidebar nav>a:hover{background:#e6eeee}.sidebar nav>a[aria-current]{background:#dcefee;color:#075b60;font-weight:650;box-shadow:inset 3px 0 var(--accent)}
.sidebar h2,.outline h2{font-size:10px;letter-spacing:1.8px;text-transform:uppercase;margin:25px 10px 10px;color:var(--muted);font-weight:700}
.sidebar-footer{border-top:1px solid var(--line);margin:28px 10px 0;padding-top:18px;font-size:11px;color:var(--muted);line-height:1.6}
.workspace{margin-left:var(--nav);display:grid;grid-template-columns:minmax(0,820px) 210px;justify-content:center;gap:38px;padding:48px 48px 24px}
main{min-width:0;max-width:820px}.page-meta{display:flex;justify-content:space-between;gap:15px;align-items:center;font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--muted);padding-bottom:20px;border-bottom:1px solid var(--line)}
.page-meta a{font-size:10px;text-decoration:none;white-space:nowrap}
h1,h2,h3{line-height:1.25;color:var(--ink)}h1{font-family:Georgia,"Times New Roman",serif;font-weight:normal;font-size:clamp(34px,3.4vw,52px);letter-spacing:-1.4px;margin:30px 0}h2{font-size:25px;letter-spacing:-.5px;margin:46px 0 16px}h3{font-size:19px;margin:32px 0 12px}
p{margin:17px 0}li{padding-left:4px;margin:6px 0}strong{font-weight:650}blockquote{margin:26px 0;padding:6px 22px;border-left:3px solid var(--accent);background:#eef7f6;border-radius:0 8px 8px 0;color:#294f56}blockquote p{margin:10px 0}
code{font: .88em/1.6 Consolas,"Cascadia Code",monospace;background:#edf3f3;border-radius:4px;padding:2px 5px;overflow-wrap:anywhere}
pre{position:relative;background:#172e38;color:#edf5f7;border-radius:10px;padding:24px;margin:22px 0;overflow-x:auto;font-size:13px;line-height:1.7;border:1px solid #24434e}
pre code{background:transparent;padding:0;font-size:inherit;color:inherit;overflow-wrap:normal}
pre:has(.copy-code){padding-top:44px}.copy-code{position:absolute;right:10px;top:9px;background:#294853;border:1px solid #526d76;color:#e1efee;border-radius:5px;font-size:10px;padding:3px 9px}
.code-label{position:absolute;left:24px;top:12px;color:#99c0c5;font:10px "Segoe UI",sans-serif;letter-spacing:1.4px;text-transform:uppercase}
.table-scroll{overflow-x:auto;margin:22px 0;border:1px solid var(--line);border-radius:9px}table{border-collapse:collapse;width:100%;font-size:14px;line-height:1.6}th{text-align:left;background:var(--wash);color:#34525b;font-weight:650}td,th{padding:12px 16px;border-bottom:1px solid var(--line);vertical-align:top}tr:last-child td{border-bottom:0}tbody tr:nth-child(even){background:#fafcfc}
article img{display:block;max-width:100%;height:auto;margin:28px auto;padding:22px;background:#fff;border:1px solid var(--line);border-radius:10px}
hr{border:0;border-top:1px solid var(--line);margin:38px 0}
.outline{position:sticky;top:30px;align-self:start;max-height:calc(100vh - 60px);overflow:auto;border-left:1px solid var(--line);padding-left:16px}.outline h2{margin:0 0 14px}.outline a{display:block;font-size:11px;line-height:1.5;text-decoration:none;color:var(--muted);padding:6px 0}.outline a:hover{color:var(--accent)}.outline .depth-3{padding-left:12px}
.pager{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:40px 0}.pager a{border:1px solid var(--line);border-radius:9px;padding:16px 20px;font-size:14px;line-height:1.5;text-decoration:none}.pager a:hover{background:var(--wash);border-color:#96bcb9}.pager small{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:1px;margin-bottom:7px}
.page-footer{border-top:1px solid var(--line);padding:22px 0;display:flex;justify-content:space-between;gap:12px;font-size:11px;color:var(--muted)}.page-footer a{text-decoration:none}.mobile-header{display:none}
@media(min-width:1500px){.workspace{padding-top:60px;gap:60px}}
@media(max-width:1200px){.outline{display:none}.workspace{display:block;padding:36px 40px}main{margin:auto}}
@media(max-width:760px){:root{--nav:0px}html{scroll-padding-top:76px}.mobile-header{display:flex;position:sticky;top:0;z-index:5;align-items:center;justify-content:space-between;background:#f3f7f6f5;border-bottom:1px solid var(--line);padding:13px 20px;backdrop-filter:blur(10px)}.mobile-header a{text-decoration:none;font-weight:700}.mobile-header span{font-weight:400;color:var(--muted)}.mobile-header button{border:1px solid #9cbab9;background:white;color:var(--accent);border-radius:6px;padding:3px 12px;font-size:12px}.sidebar{position:static;width:auto;padding:20px;border-right:0;border-bottom:1px solid var(--line)}body.js-ready .sidebar{display:none}body.js-ready.menu-open .sidebar{display:block}.brand,.nav-intro,.sidebar-footer{display:none}.sidebar nav{columns:2;column-gap:20px}.sidebar nav>*{break-inside:avoid}.workspace{padding:26px 22px}.page-meta{font-size:9px;letter-spacing:.5px}h1{font-size:37px}h2{font-size:23px}pre{padding:20px;font-size:12px}article img{padding:10px}.pager{gap:10px}.pager a{padding:12px;font-size:12px}.page-footer{display:block}.page-footer a{display:block;margin-top:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media print{.sidebar,.outline,.mobile-header,.skip,.page-meta a,.copy-code,.pager{display:none!important}.workspace{margin:0;padding:0;display:block}main{max-width:none}body{font-size:11pt}h1{font-size:28pt}pre{background:#f4f4f4;color:black;white-space:pre-wrap;overflow:visible;break-inside:avoid}article img{max-height:65vh;break-inside:avoid}.table-scroll{overflow:visible}a{color:inherit}.page-footer{margin-top:20px}}
