@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/ibm-plex-sans/IBMPlexSans-Light.woff2)format("woff2")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/ibm-plex-sans/IBMPlexSans-Regular.woff2)format("woff2")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/ibm-plex-sans/IBMPlexSans-Medium.woff2)format("woff2")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/ibm-plex-sans/IBMPlexSans-SemiBold.woff2)format("woff2")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/ibm-plex-sans/IBMPlexSans-Bold.woff2)format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/ibm-plex-mono/IBMPlexMono-Light.woff2)format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/ibm-plex-mono/IBMPlexMono-Regular.woff2)format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/ibm-plex-mono/IBMPlexMono-Medium.woff2)format("woff2")}
:root{--bg:#0c0c0b;--bg-elevated:#141413;--text:#e8e6e1;--text-secondary:#a8a6a0;--muted:#6e6c66;--muted-2:#52504c;--rule:#2a2a28;--rule-strong:#3d3d3a;--accent:#8a8880;--focus:#e8e6e1;--max:1180px;--gap:clamp(16px, 2.4vw, 28px);--pad-x:clamp(20px, 4vw, 56px)}*{box-sizing:border-box}html,body{margin:0;padding:0}html{overflow-x:hidden}body{background-color:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-family:IBM Plex Sans,system-ui,sans-serif;font-size:16px;font-weight:400;line-height:1.55}body:before{content:"";pointer-events:none;background-image:linear-gradient(var(--rule) 1px, transparent 1px);opacity:.04;z-index:0;background-size:100% 32px;position:fixed;inset:0}.mono{font-feature-settings:"ss01" on;font-family:IBM Plex Mono,ui-monospace,monospace}::selection{background:var(--text);color:var(--bg)}a{color:inherit;text-decoration:none}a.link{border-bottom:1px solid var(--text-secondary);padding-bottom:1px;transition:opacity .15s}a.link:hover{opacity:.65}header.site{z-index:2;border-bottom:1px solid var(--rule);background:var(--bg);position:relative}.site-inner{max-width:var(--max);padding:max(22px, env(safe-area-inset-top)) max(var(--pad-x), env(safe-area-inset-right)) 22px max(var(--pad-x), env(safe-area-inset-left));justify-content:space-between;align-items:center;gap:24px;margin:0 auto;display:flex}.wordmark{letter-spacing:-.01em;align-items:baseline;gap:10px;font-family:IBM Plex Sans,sans-serif;font-size:17px;font-weight:600;display:inline-flex}.wordmark .glyph{background:var(--text);width:10px;height:10px;display:inline-block;transform:translateY(1px)}.wordmark .tld{color:var(--muted);font-family:IBM Plex Mono,monospace;font-size:12px;font-weight:400}nav.site-nav{letter-spacing:.04em;color:var(--text-secondary);gap:28px;font-family:IBM Plex Mono,monospace;font-size:12px;display:flex}nav.site-nav a{transition:color .15s}nav.site-nav a:hover{color:var(--muted)}.nav-toggle{border:1px solid var(--rule-strong);min-width:44px;min-height:44px;color:var(--text);cursor:pointer;background:0 0;flex-shrink:0;justify-content:center;align-items:center;margin:0;padding:0;transition:background .18s,border-color .18s;display:none}.nav-toggle:hover{background:var(--bg-elevated);border-color:var(--text-secondary)}.nav-toggle:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.nav-toggle-bars{background:linear-gradient(currentColor 0 1.5px,#0000 1.5px 5.25px,currentColor 5.25px 6.75px,#0000 6.75px 10.5px,currentColor 10.5px 12px);width:18px;height:12px;display:block;position:relative}.site.nav-open .nav-toggle-bars{background:0 0;width:16px;height:12px}.site.nav-open .nav-toggle-bars:before,.site.nav-open .nav-toggle-bars:after{content:"";background:currentColor;height:1.5px;position:absolute;top:50%;left:0;right:0}.site.nav-open .nav-toggle-bars:before{transform:translateY(-50%)rotate(45deg)}.site.nav-open .nav-toggle-bars:after{transform:translateY(-50%)rotate(-45deg)}.nav-panel{border-bottom:1px solid var(--rule);background:var(--bg);padding:0 max(var(--pad-x), env(safe-area-inset-left)) 20px max(var(--pad-x), env(safe-area-inset-right))}.nav-panel[hidden]{display:none!important}.nav-panel-inner{max-width:var(--max);letter-spacing:.04em;color:var(--text-secondary);flex-direction:column;gap:0;margin:0 auto;font-family:IBM Plex Mono,monospace;font-size:12px;display:flex}.nav-panel-inner a{border-top:1px solid var(--rule);padding:14px 0;transition:color .15s;display:block}.nav-panel-inner a:first-of-type{border-top:0;padding-top:4px}.nav-panel-inner a:hover{color:var(--muted)}@media (max-width:680px){nav.site-nav{display:none}.nav-toggle{display:flex}}@media (min-width:681px){.nav-panel{display:none!important}}main{z-index:1;position:relative}.container{max-width:var(--max);padding:0 max(var(--pad-x), env(safe-area-inset-left)) 0 max(var(--pad-x), env(safe-area-inset-right));margin:0 auto}footer.site{z-index:2;border-top:1px solid var(--rule);background:var(--bg);padding:40px 0 max(56px, env(safe-area-inset-bottom));position:relative}.footer-inner{max-width:var(--max);padding:0 max(var(--pad-x), env(safe-area-inset-left)) 0 max(var(--pad-x), env(safe-area-inset-right));flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:24px;margin:0 auto;display:flex}.footer-inner .f-wordmark{font-family:IBM Plex Sans,sans-serif;font-size:15px;font-weight:600}.footer-inner .f-tld{color:var(--muted);margin-left:6px;font-family:IBM Plex Mono,monospace;font-size:12px;font-weight:400}.footer-inner .f-tagline{color:var(--muted);letter-spacing:.04em;margin-top:6px;font-family:IBM Plex Mono,monospace;font-size:11px}.footer-inner .f-meta{letter-spacing:.06em;color:var(--muted);text-transform:uppercase;text-align:right;font-family:IBM Plex Mono,monospace;font-size:11px;line-height:1.8}.footer-inner .f-links{letter-spacing:.04em;color:var(--text-secondary);gap:24px;font-family:IBM Plex Mono,monospace;font-size:12px;display:flex}.footer-inner .f-links a:hover{color:var(--muted)}@media (max-width:680px){.footer-inner .f-meta{text-align:left}}@media (max-width:480px){.footer-inner .f-links{flex-direction:column;align-items:flex-start;gap:12px}}footer.site.footer-legal{border-top-color:var(--rule-strong)}section[id]{scroll-margin-top:20px}
