:root{--ink:#232a35;--paper:#fff;--canvas:#fbfcfd;--frost:#f3f4f6;--chrome:#c0c4ca;--steel:#686b6f;--slate:#3e4145;--accent:#0c6bae;--shadow-offset:3px 3px 0 0 var(--chrome);--color-ink:var(--ink);--color-paper:var(--paper);--color-chrome:var(--chrome);--color-frost:var(--frost);--color-steel:var(--steel);--color-signal-blue:var(--accent)}@media (prefers-color-scheme:dark){:root{--ink:#e8eaec;--paper:#16181c;--canvas:#1b1e23;--frost:#23272e;--chrome:#3e4145;--steel:#9aa0a6;--slate:#c0c4ca;--accent:#4ca3e0;--shadow-offset:3px 3px 0 0 #000}}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--canvas);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;font-size:15px;line-height:1.65}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}code{background:var(--frost);border:1px solid var(--chrome);padding:.1em .35em;font-family:ui-monospace,SF Mono,Cascadia Code,Menlo,monospace;font-size:.9em}pre{background:var(--frost);border:1px solid var(--chrome);box-shadow:var(--shadow-offset);padding:1rem;font-family:ui-monospace,SF Mono,Cascadia Code,Menlo,monospace;font-size:13px;line-height:1.5;overflow-x:auto}pre code{background:0 0;border:none;padding:0}.wrap{max-width:860px;margin:0 auto;padding:0 1.5rem}.masthead{background:var(--canvas)}.masthead-inner{align-items:baseline;gap:1rem;max-width:1120px;margin:0 auto;padding:1.1rem 1.5rem;display:flex}.layout{align-items:flex-start;max-width:1120px;margin:0 auto;display:flex}.sidebar{flex-shrink:0;width:210px;padding:2.25rem 1.25rem;position:sticky;top:0}.sidebar-toggle{font:inherit;color:var(--ink);cursor:pointer;background:0 0;border:none;padding:0;font-size:14px;font-weight:600;display:none}.sidebar-nav{flex-direction:column;gap:.15rem;display:flex}.sidebar-link{color:var(--steel);border-left:2px solid #0000;padding:.35rem .6rem;font-size:14px;display:block}.sidebar-link:hover{color:var(--ink);background:var(--frost);text-decoration:none}.sidebar-link.active{color:var(--ink);border-left-color:var(--accent);background:var(--frost);font-weight:600}.content{flex:1;min-width:0;max-width:760px;padding:2.25rem 2.5rem 4rem}.home .content{max-width:none}@media (width<=820px){.masthead-inner{gap:.6rem;padding:.85rem 1.1rem}.layout{flex-direction:column;align-items:stretch}.sidebar{border-bottom:1px solid var(--chrome);width:100%;padding:1rem 1.1rem;position:static}.sidebar-toggle{display:block}.sidebar-nav{margin-top:.75rem;display:none}.sidebar-nav.open{display:flex}.content{max-width:none;padding:1.5rem 1.1rem 3rem}}@media (width<=540px){.brand-sub{display:none}}.brand{letter-spacing:-.02em;color:var(--ink);font-size:22px;font-weight:700}.brand:hover{text-decoration:none}.brand-sub{color:var(--steel);font-size:13px}.masthead-links{gap:1rem;margin-left:auto;font-size:13px;display:flex}.hero{padding:2.5rem 0 1rem}.hero h1{letter-spacing:-.03em;margin:0 0 .75rem;font-size:clamp(2rem,5vw,3rem);line-height:1.05}.hero p{color:var(--slate);max-width:36em;margin:0;font-size:17px}.badges{flex-wrap:wrap;gap:.5rem;margin-top:.85rem;display:flex}.badge{border:1px solid var(--chrome);background:var(--paper);color:var(--steel);padding:.25rem .6rem;font-size:12px}.content>h1{border-bottom:1px solid var(--chrome);padding-bottom:.5rem}.content>h1+h2{border-top:none;padding-top:0}h2{letter-spacing:-.02em;border-top:1px solid var(--chrome);margin:2.75rem 0 .75rem;padding-top:.5rem;font-size:1.5rem}h3{margin:1.75rem 0 .5rem;font-size:1.1rem}blockquote{border-left:3px solid var(--accent);background:var(--frost);color:var(--slate);margin:1.25rem 0;padding:.75rem 1rem}.callout{border:1px solid color-mix(in srgb, var(--callout) 35%, var(--chrome));border-left:3px solid var(--callout);background:color-mix(in srgb, var(--callout) 7%, var(--paper));color:var(--slate);gap:.55rem;margin:1.25rem 0;padding:.7rem .95rem;font-size:14px;display:flex}.callout-icon{color:var(--callout);flex-shrink:0;margin-top:3px}.callout strong{color:var(--callout)}.callout-tip{--callout:#1a7f37}.callout-note{--callout:var(--accent)}@media (prefers-color-scheme:dark){.callout-tip{--callout:#3fb950}}.table-scroll{margin:1rem 0;overflow-x:auto}.table-scroll table{margin:0}table{border-collapse:collapse;width:100%;margin:1rem 0;font-size:14px}th,td{border:1px solid var(--chrome);text-align:left;padding:.5rem .75rem}th{background:var(--frost)}.page-footer{border-top:1px solid var(--chrome);color:var(--steel);flex-wrap:wrap;gap:.75rem;margin-top:3.5rem;padding-top:1.25rem;font-size:13px;display:flex}
