:root{--color-background: #111111;--color-surface: #1a1a1a;--color-surface-muted: #2b2b2b;--color-text-primary: #e1e1e1;--color-text-secondary: #a1a1a1;--color-text-muted: #737373;--color-text-disabled: #616161;--color-text-contrast: #ffffff;--color-text-inverse: #111111;--color-border: #414141;--color-border-strong: #a1a1a1;--color-link: #e1e1e1;--color-link-highlight: #f2b600;--color-accent-orange: #f35815;--color-accent-orange-hover: #b83a05;--color-accent-green: #27b648;--color-accent-green-soft: #041a0a;--color-accent-purple: #a18bf5;--color-accent-purple-soft: #180636;--color-accent-blue: #47b7f8;--color-accent-red: #ff7082;--font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--font-size-body: 16px;--font-size-small-meta: 12px;--font-size-ascii: 12px;--line-height-body: 1.5;--line-height-small: 1.33;--line-height-ascii: 1.25;--letter-spacing-small-meta: .04em;--letter-spacing-inline-link: -.096px;--container-max-width: 1280px;--container-padding-x: 96px;--section-margin-y: 80px;--section-margin-y-sm: 48px;--space-0: 0;--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-2xl: 48px;--space-3xl: 64px;--space-4xl: 80px;--space-5xl: 96px;--space-6xl: 128px;--radius-none: 0;--radius-sm: 2px;--radius-md: 4px;--radius-full: 9999px;--border-width: 1px;--border-style: solid;--shadow-0: none;--shadow-1: 0 0 #0000}@media(max-width:768px){:root{--container-padding-x: 16px;--section-margin-y: 48px}}*,*:before,*:after{box-sizing:border-box}*{margin:0}html,body{height:100%}body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit;color:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}ul,ol{list-style:none;padding:0}a{color:inherit;text-decoration:none}button{background:none;border:0;padding:0;cursor:pointer}table{border-collapse:collapse;border-spacing:0}::selection{background:var(--color-link-highlight);color:var(--color-text-contrast)}html{background:var(--color-background);color-scheme:dark}body{background:var(--color-background);font-family:var(--font-mono);font-size:var(--font-size-body);font-weight:400;line-height:var(--line-height-body);color:var(--color-text-primary);min-height:100vh}main{min-height:60vh}.container{max-width:var(--container-max-width);margin:0 auto;padding-inline:var(--container-padding-x)}.section{margin-block:var(--section-margin-y)}.section-sm{margin-block:var(--section-margin-y-sm)}h1,h2,h3{font-family:var(--font-mono);font-size:var(--font-size-body);font-weight:700;line-height:var(--line-height-body);color:var(--color-text-contrast)}h1.h1{font-weight:700;color:var(--color-text-contrast);border-left:4px solid var(--page-accent, var(--color-link-highlight));padding-left:12px;margin-left:-16px;margin-bottom:var(--space-xl)}h2,h3{font-weight:700}p+p{margin-top:var(--space-md)}strong{font-weight:600;color:var(--color-text-contrast)}code{font-family:var(--font-mono);font-size:var(--font-size-body);font-weight:500;background:var(--color-surface-muted);padding:0 4px}pre{font-family:var(--font-mono);font-size:var(--font-size-small-meta);font-weight:500;line-height:var(--line-height-small);background:var(--color-surface);border:var(--border-width) var(--border-style) var(--color-border);padding:var(--space-md);overflow-x:auto;margin-block:var(--space-md)}pre code{background:transparent;padding:0;font-size:inherit}pre.ascii{font-size:var(--font-size-ascii);font-weight:400;line-height:var(--line-height-ascii);white-space:pre;background:transparent;border:0;padding:0}a.link-inline{color:var(--color-text-contrast);background-color:var(--color-accent-orange);padding:0 4px;font-weight:600;letter-spacing:var(--letter-spacing-inline-link);text-decoration:none}a.link-inline:hover{background-color:var(--color-accent-orange-hover)}a.link-plain{color:var(--color-accent-blue);text-decoration:underline;text-decoration-color:var(--color-accent-blue);text-decoration-thickness:1px;text-underline-offset:2px;font-weight:600}a.link-plain:hover{opacity:.75}a[href^=http]:not(.link-inline):not(.link-plain):not(.no-arrow):after{content:" ↗";color:var(--color-text-muted);font-weight:400}input,textarea,select{font-family:var(--font-mono);font-size:var(--font-size-body);background:var(--color-background);color:var(--color-text-primary);border:var(--border-width) var(--border-style) var(--color-border);border-radius:var(--radius-none);padding:12px;width:100%;display:block}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--color-text-contrast)}textarea{resize:vertical;min-height:160px;font-family:var(--font-mono)}label{display:block;font-size:var(--font-size-small-meta);font-weight:500;line-height:var(--line-height-small);letter-spacing:var(--letter-spacing-small-meta);text-transform:uppercase;margin-bottom:var(--space-xs);color:var(--color-text-primary)}label .required{color:var(--color-accent-red);margin-left:2px}.btn-primary{display:inline-block;background:var(--color-accent-orange);color:#fff;font-weight:600;padding:12px 24px;border:0;border-radius:var(--radius-none);cursor:pointer;font-family:var(--font-mono);font-size:var(--font-size-body);text-decoration:none}.btn-primary:hover{background:var(--color-accent-orange-hover)}.btn-secondary{display:inline-block;background:transparent;color:var(--color-text-primary);border:var(--border-width) var(--border-style) var(--color-border-strong);font-weight:600;padding:11px 23px;border-radius:var(--radius-none);font-family:var(--font-mono);font-size:var(--font-size-body);text-decoration:none}.btn-secondary:hover{color:var(--color-text-contrast);border-color:var(--color-text-contrast)}.band{background:var(--color-background);padding-block:var(--section-margin-y)}.band-alt{background:var(--color-surface);padding-block:var(--section-margin-y)}hr,.section-divider{position:relative;border:none;width:100%;height:16px;line-height:1rem;overflow:hidden;color:var(--color-border);margin:0}hr:before,.section-divider:before{content:"..................................................................................................................................................................................................................................................";position:absolute;left:0;right:0;font-family:var(--font-mono);font-size:var(--font-size-body);white-space:nowrap;overflow:hidden}.container hr,.container .section-divider{margin-block:var(--space-2xl)}blockquote{border-left:2px solid var(--color-border-strong);padding-left:var(--space-md);color:var(--color-text-secondary);margin-block:var(--space-lg)}blockquote cite{display:block;color:var(--color-text-primary);font-weight:600;font-style:normal;margin-top:var(--space-xs)}blockquote cite:before{content:"— "}.meta{font-size:var(--font-size-small-meta);font-weight:500;line-height:var(--line-height-small);letter-spacing:var(--letter-spacing-small-meta);text-transform:uppercase;color:var(--color-text-muted)}.card{background:var(--color-surface);border:var(--border-width) var(--border-style) var(--color-border);padding:var(--space-lg);border-radius:var(--radius-none)}.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}*:focus-visible{outline:2px solid var(--color-text-contrast);outline-offset:2px}.prose p{max-width:70ch}.prose ul,.prose ol{margin-block:var(--space-md);padding-left:var(--space-xl)}.prose ul{list-style:square}.prose ol{list-style:decimal}.prose li{margin-block:var(--space-xs)}.prose li::marker{color:var(--color-text-muted)}.site-header[data-astro-cid-dmqpwcec]{position:sticky;top:0;z-index:50;background:var(--color-background);border-bottom:var(--border-width) var(--border-style) var(--color-border)}.nav-inner[data-astro-cid-dmqpwcec]{display:flex;align-items:center;justify-content:space-between;gap:var(--space-lg);padding-block:var(--space-md)}.site-name[data-astro-cid-dmqpwcec]{font-weight:700;color:var(--color-text-contrast);font-size:var(--font-size-body)}.site-name[data-astro-cid-dmqpwcec]:hover{color:var(--color-accent-orange)}.nav-list[data-astro-cid-dmqpwcec]{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-sm)}.nav-item[data-astro-cid-dmqpwcec]{color:var(--item-color, var(--color-text-primary));font-weight:600;font-size:var(--font-size-body);transition:opacity .1s}.nav-item[data-astro-cid-dmqpwcec]:hover{opacity:.75}.nav-item[data-astro-cid-dmqpwcec].active{background:var(--color-surface-muted);color:var(--color-text-contrast);padding:2px 8px;text-decoration:none;opacity:1}.nav-sep[data-astro-cid-dmqpwcec]{color:var(--color-text-muted);user-select:none}.nav-mobile[data-astro-cid-dmqpwcec]{display:none}.nav-mobile[data-astro-cid-dmqpwcec] summary[data-astro-cid-dmqpwcec]{list-style:none;cursor:pointer;font-size:24px;line-height:1;padding:var(--space-xs) var(--space-sm);color:var(--color-text-primary);font-weight:600}.nav-mobile[data-astro-cid-dmqpwcec] summary[data-astro-cid-dmqpwcec]::-webkit-details-marker{display:none}.nav-mobile[data-astro-cid-dmqpwcec] summary[data-astro-cid-dmqpwcec]:hover{color:var(--color-text-contrast)}.nav-list-mobile[data-astro-cid-dmqpwcec]{display:flex;flex-direction:column;gap:var(--space-md);margin-top:var(--space-md);padding:var(--space-md);border:var(--border-width) var(--border-style) var(--color-border);background:var(--color-surface)}@media(max-width:1023px){.nav-desktop[data-astro-cid-dmqpwcec]{display:none}.nav-mobile[data-astro-cid-dmqpwcec]{display:block}}.site-footer[data-astro-cid-sz7xmlte]{border-top:var(--border-width) var(--border-style) var(--color-border);padding-block:var(--space-3xl)}.footer-grid[data-astro-cid-sz7xmlte]{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-2xl)}.footer-col[data-astro-cid-sz7xmlte] ul[data-astro-cid-sz7xmlte]{display:flex;flex-direction:column;gap:var(--space-sm)}.footer-heading[data-astro-cid-sz7xmlte]{color:var(--color-text-muted);margin-bottom:var(--space-md)}.footer-body[data-astro-cid-sz7xmlte]{color:var(--color-text-secondary);max-width:36ch}.footer-bottom[data-astro-cid-sz7xmlte]{margin-top:var(--space-3xl);padding-top:var(--space-lg);border-top:var(--border-width) var(--border-style) var(--color-border)}@media(max-width:768px){.footer-grid[data-astro-cid-sz7xmlte]{grid-template-columns:1fr;gap:var(--space-xl)}}
