:root{--ink:#1a2433;--muted:#5b6b7f;--paper:#fbfaf7;--card:#ffffff;--line:#e4e1d8;--accent:#1d5c99;--accent-ink:#ffffff;--ok:#1a7f4b;--code-bg:#f2f1ec;--mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Georgia,'Times New Roman',serif;font-size:17px;line-height:1.65;color:var(--ink);background:var(--paper)}a{color:var(--accent)}a:hover{text-decoration:underline}code,pre{font-family:var(--mono);font-size:.85em}code{background:var(--code-bg);padding:.1em .3em;border-radius:3px}pre{background:var(--code-bg);border:1px solid var(--line);border-radius:6px;padding:.9rem 1rem;overflow-x:auto;line-height:1.5}pre code{background:none;padding:0}header.site{background:var(--accent);color:var(--accent-ink);padding:.7rem 1rem}header.site .wrap{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem 1.2rem;max-width:72rem;margin:0 auto}header.site .brand{font-family:var(--mono);font-weight:700;font-size:1.02rem;text-decoration:none;color:inherit;white-space:nowrap}header.site nav ul{list-style:none;display:flex;flex-wrap:wrap;gap:.15rem .55rem;margin:0;padding:0;font-family:var(--mono);font-size:.8rem}header.site nav a{color:var(--accent-ink);text-decoration:none;opacity:.92;padding:.28rem .4rem;border-radius:4px}header.site nav a:hover,header.site nav a[aria-current=page]{opacity:1;background:rgba(255,255,255,.18);text-decoration:none}main{max-width:72rem;margin:0 auto;padding:1.6rem 1rem 3rem}main.narrow{max-width:52rem}.breadcrumbs{font-family:var(--mono);font-size:.78rem;color:var(--muted);margin-bottom:1.1rem}.breadcrumbs a{color:var(--muted)}h1{font-size:1.9rem;line-height:1.25;margin:.2rem 0 1rem}h1.page-title{margin-top:0}h2{font-size:1.35rem;margin:2rem 0 .6rem;padding-bottom:.25rem;border-bottom:2px solid var(--line)}h3{font-size:1.08rem;margin:1.4rem 0 .4rem}h4{font-size:.98rem;margin:1.1rem 0 .3rem}table{border-collapse:collapse;width:100%;margin:.8rem 0;font-size:.92rem}th,td{border:1px solid var(--line);padding:.45rem .6rem;text-align:left;vertical-align:top}thead th{background:#efede6;font-family:var(--mono);font-size:.8rem}tbody tr:nth-child(even){background:#f7f6f1}blockquote{margin:1rem 0;padding:.6rem 1rem;border-left:4px solid var(--accent);background:var(--card);color:var(--muted)}ul,ol{padding-left:1.4rem}li{margin:.2rem 0}hr{border:none;border-top:1px solid var(--line);margin:2rem 0}.cardgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));gap:1rem;margin:1rem 0}.cardgrid section{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:1rem 1.1rem}.cardgrid h2,.cardgrid h3{margin:.1rem 0 .4rem;border:none;font-size:1rem}.cardgrid p{margin:.2rem 0;font-size:.9rem;color:var(--muted)}.lede{font-size:1.08rem;color:var(--muted);max-width:44rem}.pager{display:flex;justify-content:space-between;gap:1rem;margin-top:2.4rem;padding-top:1rem;border-top:1px solid var(--line);font-family:var(--mono);font-size:.82rem}.pager span{color:var(--muted)}.tag{display:inline-block;font-family:var(--mono);font-size:.72rem;background:#efede6;border:1px solid var(--line);border-radius:4px;padding:.06rem .45rem;color:var(--muted);margin-left:.4rem;vertical-align:middle}footer.site{border-top:1px solid var(--line);color:var(--muted);font-family:var(--mono);font-size:.78rem;padding:1rem;text-align:center}footer.site a{color:var(--muted)}.skip{position:absolute;left:-9999px}.skip:focus{left:.5rem;top:.5rem;background:var(--card);padding:.4rem .8rem;z-index:10;border:2px solid var(--accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}a:focus-visible{outline-offset:3px}.tok-c{color:#7a8288;font-style:italic}.tok-s{color:#a03b3b}.tok-n{color:#1a6b47}.tok-k{color:#1d5c99;font-weight:600}.tok-p{color:#7a5c99}@media(max-width:64rem){body{font-size:16px}h1{font-size:1.6rem}main{padding:1.2rem .8rem 2.5rem}header.site nav ul{gap:.05rem .4rem}header.site nav a{padding:.32rem .38rem;font-size:.76rem}table{font-size:.84rem;display:block;overflow-x:auto}.cardgrid{grid-template-columns:repeat(auto-fill,minmax(13rem,1fr))}}@media(max-width:40rem){body{font-size:15.5px}h1{font-size:1.45rem}header.site .wrap{gap:.2rem .6rem}header.site nav a{padding:.34rem .42rem;font-size:.78rem}}@media print{header.site,footer.site,.breadcrumbs,.pager{display:none}body{background:#fff;font-size:11pt}pre,table{page-break-inside:avoid}}