:root{--bg:#fbf1c7;--surface:#f2e5bc;--text:#282828;--dim:#928374;--dim2:#a89984;--accent:#af3a03;--accent2:#fe8019;--link:#9d0006;--link-visited:#9d0006;--border:#d5c4a1;--border2:#ebdbb2;--code-bg:#f2e5bc;--field-note-bg:#f9f5d7;--field-note-border:#d5c4a1;--highlight:#af3a03;--primary:#9d0006;--green:#79740e;--yellow:#b57614;--blue:#076678;--aqua:#427b58;--purple:#8f3f71}.dark{--bg:#282828;--surface:#3c3836;--text:#ebdbb2;--dim:#928374;--dim2:#665c54;--accent:#fe8019;--accent2:#fabd2f;--link:#fb4934;--link-visited:#fb4934;--border:#504945;--border2:#3c3836;--code-bg:#3c3836;--field-note-bg:#32302f;--field-note-border:#504945;--highlight:#fe8019;--primary:#fb4934;--green:#b8bb26;--yellow:#fabd2f;--blue:#83a598;--aqua:#8ec07c;--purple:#d3869b}*{box-sizing:border-box;margin:0;padding:0}html{overflow-x:hidden}body{max-width:68ch;color:var(--text);background:var(--bg);touch-action:pan-x pan-y;margin:2em auto;padding:0 1.2em;font:15px/1.65 Courier Prime,monospace;transition:background .3s,color .3s}a{color:var(--link)}a:visited{color:var(--link-visited)}a:hover{text-decoration:none}h1{letter-spacing:.05em;margin-bottom:.3em;font-size:1.15em}h2{border-bottom:1px solid var(--border2);top:var(--header-h,30px);background:var(--bg);z-index:10;margin:0;padding:.6em 0 .4em;font-size:1em;transition:background .3s;position:sticky}h2:before{content:"";background:var(--bg);height:5px;position:absolute;top:-5px;left:0;right:0}h3{color:var(--dim);margin:1.5em 0 .5em;font-size:1em;font-style:italic;font-weight:400}p{margin:.8em 0}pre,code{background:var(--code-bg);padding:2px 4px;font-size:13px;transition:background .3s}pre{border:1px solid var(--border2);max-width:100%;margin:1em 0;padding:1em;line-height:1.35;overflow-x:auto}pre code{background:0 0;padding:0}hr{border:0;border-top-width:medium;height:0;margin:0}blockquote{color:var(--dim);background:var(--code-bg);border-left:none;border:1px solid var(--border2);margin:1.5em 0;padding:.6em 1em .6em 1.8em;font-family:Courier Prime,monospace;font-size:13px;line-height:1.5;position:relative}blockquote p{margin:.3em 0}blockquote:before{content:">";color:var(--dim2);font-size:14px;font-weight:700;position:absolute;top:.55em;left:.6em}table{border-collapse:collapse;width:100%;max-width:100%;margin:1em 0;font-size:13px;display:block;overflow-x:auto}th,td{border:1px solid var(--border2);text-align:left;vertical-align:top;padding:5px 8px}th{background:var(--surface);font-weight:700}ol,ul{margin:.5em 0;padding-left:2em}li{margin:.3em 0}details{margin:1em 0}summary{cursor:pointer;color:var(--dim);font-size:14px;list-style:none}summary::-webkit-details-marker{display:none}summary::marker{content:"";display:none}summary:before{content:"▸";display:inline}details[open]>summary:before{content:"▾"}summary:hover{color:var(--text)}strong{color:var(--green);font-weight:400}small{color:var(--dim);font-size:13px}#site-header{z-index:20;background:var(--bg);border-bottom:1px solid var(--border2);justify-content:space-between;align-items:center;padding:6px 0;font-size:12px;transition:background .3s;display:flex;position:sticky;top:0}#site-header a{color:var(--primary);letter-spacing:.06em;font-size:18px;font-weight:700;text-decoration:underline}#site-header a:visited{color:var(--primary)}.header-left{align-items:center;gap:8px;display:flex}.header-right{align-items:center;gap:10px;display:flex}.header-theme{color:var(--dim2);cursor:pointer;background:0 0;border:none;align-items:center;padding:0 6px;font:18px/1 Courier Prime,monospace;transition:color .2s;display:flex}.header-theme:hover{color:var(--text)}#ascii-logo{color:var(--dim);letter-spacing:0;white-space:pre;align-items:center;font-family:Courier Prime,monospace;font-size:22px;line-height:1;display:flex}.footer{border-top:1px solid var(--border2);color:var(--dim2);margin-top:3em;padding-top:1em;font-size:12px}.footer a{color:var(--dim)}@media print{#site-header,#nav-rail,#nav-overlay,.footer,#nav-toggle{display:none!important}body{color:#000;background:#fff;max-width:none;margin:0;padding:.5in;font-size:11px}h2{break-after:avoid;background:0 0;border-top:1px solid #999;border-bottom:1px solid #999;position:static!important}details{break-inside:avoid}details[open] summary{margin-bottom:.3em}pre{break-inside:avoid;border-color:#999;font-size:10px}blockquote{background:#f5f5f5;border-color:#999}table{font-size:10px}th{background:#eee}th,td{border-color:#999}a{color:#000;text-decoration:underline}a:visited{color:#000}.section-ref{color:#000;border-bottom:none}.ref-inline{display:none!important}.primary-text{color:#000;font-weight:700}.contraction-bars{border-color:#999}.header-theme{display:none}}
