@font-face{font-family:Archivo;font-style:normal;font-weight:400 800;font-display:swap;src:url(/fonts/archivo-var.woff2) format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/jetbrains-mono-var.woff2) format("woff2")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/plex-sans-400.woff2) format("woff2")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/plex-sans-500.woff2) format("woff2")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/plex-sans-600.woff2) format("woff2")}:root{--bg:#FBFAF8;--surface:#FFFFFF;--sunken:#F3F1ED;--text:#2A2E34;--dim:#63696F;--head:#14161A;--rule:rgba(20,22,26,.14);--rule-strong:rgba(20,22,26,.32);--accent:#1A5C9E;--accent-soft:rgba(26,92,158,.1);--shadow:0 1px 2px rgba(20,22,26,.05);--mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;--sans:"IBM Plex Sans",system-ui,-apple-system,sans-serif;--display:"Archivo","IBM Plex Sans",system-ui,sans-serif;--wrap:960px;--pad:20px}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#131519;--surface:#181B20;--sunken:#1D2026;--text:#C6CBD2;--dim:#8A9099;--head:#F2F4F7;--rule:rgba(198,208,222,.15);--rule-strong:rgba(198,208,222,.34);--accent:#7FB4EA;--accent-soft:rgba(127,180,234,.12);--shadow:none}}:root[data-theme=dark]{--bg:#131519;--surface:#181B20;--sunken:#1D2026;--text:#C6CBD2;--dim:#8A9099;--head:#F2F4F7;--rule:rgba(198,208,222,.15);--rule-strong:rgba(198,208,222,.34);--accent:#7FB4EA;--accent-soft:rgba(127,180,234,.12);--shadow:none}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:var(--sans);background:var(--bg);color:var(--text);font-size:16px;line-height:1.65;min-height:100vh;display:flex;flex-direction:column;overflow-x:hidden}a{color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}::selection{background:var(--accent-soft);color:var(--head)}img{max-width:100%;height:auto}.wrap{max-width:var(--wrap);margin:0 auto;width:100%;padding:0 var(--pad)}.statusbar{border-bottom:1px solid var(--rule);background:var(--bg)}.statusbar-inner{max-width:var(--wrap);margin:0 auto;padding:14px var(--pad);display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.brand{font-family:var(--mono);font-size:14px;font-weight:600;color:var(--head);text-decoration:none;letter-spacing:.01em}.brand:hover{color:var(--accent)}.statusbar nav{order:3;width:100%;display:flex;gap:20px;flex-wrap:wrap;padding-top:12px;border-top:1px solid var(--rule);font-family:var(--mono);font-size:13px}.statusbar nav a{text-decoration:none;color:var(--dim);padding:2px 0;border-bottom:1px solid transparent;transition:color .15s,border-color .15s}.statusbar nav a:hover{color:var(--head)}.statusbar nav a.active{color:var(--head);border-bottom-color:var(--accent)}.theme-toggle{background:none;border:1px solid var(--rule);border-radius:4px;color:var(--dim);cursor:pointer;width:32px;height:32px;line-height:1;display:inline-flex;align-items:center;justify-content:center;font-size:14px;transition:color .15s,border-color .15s}.theme-toggle:hover{color:var(--head);border-color:var(--rule-strong)}.theme-toggle .dark-glyph{display:none}:root[data-theme=dark] .theme-toggle .dark-glyph{display:inline}:root[data-theme=dark] .theme-toggle .light-glyph{display:none}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .theme-toggle .dark-glyph{display:inline}:root:not([data-theme=light]) .theme-toggle .light-glyph{display:none}}.loader{position:fixed;inset:0;z-index:99;background:var(--bg);display:flex;align-items:center;justify-content:center;transition:opacity .45s ease,visibility .45s;cursor:pointer}.loader.done{opacity:0;visibility:hidden;pointer-events:none}.loader-inner{width:min(460px,86vw);font-family:var(--mono);font-size:12.5px;line-height:2;color:var(--dim)}.loader-brand{font-size:13px;color:var(--head);font-weight:600;margin-bottom:16px}.loader-lines .line{display:block;white-space:pre-wrap;min-height:2em}.loader .ok{color:var(--accent)}.loader-bar{margin-top:12px;color:var(--text);white-space:pre;font-variant-ligatures:none}.loader-bar .fill{color:var(--accent)}.loader-ready{margin-top:8px;color:var(--accent);opacity:0;transition:opacity .3s}.loader-ready.show{opacity:1}.loader-skip{position:absolute;bottom:24px;left:0;right:0;text-align:center;font-family:var(--mono);font-size:10.5px;color:var(--dim);opacity:.6;letter-spacing:.1em;text-transform:uppercase}main{flex:1}.hero{max-width:var(--wrap);margin:0 auto;width:100%;padding:56px var(--pad) 8px}.boot{font-family:var(--mono);font-size:12.5px;line-height:1.9;color:var(--dim);margin-bottom:28px;min-height:72px}.boot .ok{color:var(--accent)}.boot .line{display:block;white-space:pre-wrap}.hero-main{opacity:0;transform:translateY(10px);transition:opacity .6s ease,transform .6s ease}.hero-main.on{opacity:1;transform:none}h1.wordmark{font-family:var(--display);font-weight:800;font-size:clamp(34px,9vw,58px);line-height:1.02;letter-spacing:-.02em;text-transform:uppercase;color:var(--head)}.locale{font-family:var(--mono);font-size:12.5px;color:var(--dim);margin-top:12px;letter-spacing:.02em}.lede{font-size:clamp(17px,4.4vw,20px);line-height:1.55;color:var(--text);max-width:46ch;margin-top:24px}.cta-row{display:flex;gap:12px;margin-top:28px;flex-wrap:wrap}.btn{font-family:var(--mono);font-size:12.5px;padding:10px 16px;text-decoration:none;border-radius:4px;border:1px solid var(--rule-strong);color:var(--head);transition:background .15s,border-color .15s}.btn:hover{background:var(--sunken)}.btn.primary{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.btn.primary:hover{background:var(--accent);color:var(--bg)}.section{max-width:var(--wrap);margin:0 auto;padding:56px var(--pad)}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;border-bottom:1px solid var(--rule-strong);padding-bottom:10px;margin-bottom:0}.section-head h1{font-family:var(--display);font-weight:800;font-size:clamp(26px,6.5vw,34px);line-height:1.1;letter-spacing:-.015em;color:var(--head)}.section-head h2,.section-head h3{font-family:var(--mono);font-size:12.5px;font-weight:600;text-transform:uppercase;letter-spacing:.14em;color:var(--head)}.section-head a.aside{text-decoration:none}.section-head a.aside:hover{color:var(--accent)}.section-head .aside{font-family:var(--mono);font-size:12px;color:var(--dim)}.section-note{font-size:15px;color:var(--dim);max-width:56ch;margin:18px 0 0}.rows{list-style:none}.row{border-bottom:1px solid var(--rule)}.row-link{display:grid;grid-template-columns:1fr;gap:6px;padding:20px 0;text-decoration:none;align-items:baseline}a.row-link:hover .row-title{color:var(--accent)}.row-num{font-family:var(--mono);font-size:12px;color:var(--dim)}.row-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;flex-wrap:wrap}.row-title{font-family:var(--display);font-weight:700;font-size:18px;line-height:1.3;color:var(--head);transition:color .15s}.row-desc{font-size:15px;color:var(--dim);margin-top:6px;max-width:60ch}.row-meta{font-family:var(--mono);font-size:11.5px;color:var(--dim);margin-top:10px}.status{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--dim);white-space:nowrap}.status.active{color:var(--accent)}.status:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:7px;vertical-align:1px;border:1px solid currentColor}.status.active:before{background:currentColor}.list-foot{font-family:var(--mono);font-size:11.5px;color:var(--dim);padding-top:16px}.empty{border:1px dashed var(--rule-strong);border-radius:6px;padding:32px 20px;text-align:center;font-family:var(--mono);font-size:13px;color:var(--dim);margin-top:24px}.empty p+p{margin-top:8px}.facts{display:grid;grid-template-columns:1fr;gap:0;margin-top:8px}.facts div{display:grid;grid-template-columns:96px 1fr;gap:14px;padding:14px 0;border-bottom:1px solid var(--rule)}.facts dt{font-family:var(--mono);font-size:11px;color:var(--dim);text-transform:uppercase;letter-spacing:.1em;padding-top:3px}.facts dd{font-size:15px;color:var(--text);word-break:break-word}.facts dd a{color:var(--accent);text-underline-offset:3px}.article{max-width:680px;margin:0 auto;padding:48px var(--pad) 72px}.backlink{font-family:var(--mono);font-size:12.5px;color:var(--dim);text-decoration:none;display:inline-block;margin-bottom:28px}.backlink:hover{color:var(--accent)}.article h1{font-family:var(--display);font-weight:800;font-size:clamp(27px,6.5vw,40px);line-height:1.15;letter-spacing:-.015em;color:var(--head);margin-bottom:14px}.article .meta{display:flex;align-items:center;gap:14px;flex-wrap:wrap;font-family:var(--mono);font-size:11.5px;color:var(--dim);padding-bottom:20px;border-bottom:1px solid var(--rule-strong);margin-bottom:32px}.prose{font-size:16.5px;line-height:1.7}.prose p{margin-bottom:1.15em}.prose h2{font-family:var(--display);font-weight:700;font-size:clamp(20px,4.5vw,25px);line-height:1.25;color:var(--head);margin:1.9em 0 .6em}.prose h3{font-family:var(--display);font-weight:700;font-size:18px;color:var(--head);margin:1.6em 0 .5em}.prose a{color:var(--accent);text-underline-offset:3px}.prose strong{color:var(--head);font-weight:600}.prose ul,.prose ol{margin:0 0 1.15em 1.3em}.prose li{margin-bottom:.35em}.prose blockquote{border-left:2px solid var(--rule-strong);padding:.1em 0 .1em 1.1em;color:var(--dim);margin-bottom:1.15em}.prose code{font-family:var(--mono);font-size:.86em;background:var(--sunken);border:1px solid var(--rule);border-radius:4px;padding:.1em .35em;color:var(--head)}.prose pre{background:var(--sunken);border:1px solid var(--rule);border-radius:6px;padding:16px;overflow-x:auto;margin-bottom:1.3em;font-size:13px;line-height:1.7}.prose pre code{background:none;border:none;padding:0}.prose hr{border:none;border-top:1px solid var(--rule);margin:2em 0}.prose table{width:100%;border-collapse:collapse;margin-bottom:1.3em;font-size:15px}.prose th,.prose td{border-bottom:1px solid var(--rule);padding:8px 10px;text-align:left}.form{display:grid;gap:16px;max-width:480px;margin-top:24px}.form label{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--dim);display:block;margin-bottom:6px}.form input[type=text],.form input[type=email],.form textarea{width:100%;background:var(--surface);color:var(--text);border:1px solid var(--rule-strong);border-radius:4px;font-family:var(--sans);font-size:16px;padding:10px 12px;transition:border-color .15s}.form input:focus,.form textarea:focus{outline:none;border-color:var(--accent)}.form textarea{min-height:140px;resize:vertical;line-height:1.6}.form .hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}.form button{justify-self:start;cursor:pointer;font-family:var(--mono);font-size:12.5px;padding:11px 18px;border-radius:4px;background:var(--accent-soft);border:1px solid var(--accent);color:var(--accent);transition:background .15s,color .15s}.form button:hover{background:var(--accent);color:var(--bg)}.alt-contact{margin-top:28px;font-family:var(--mono);font-size:12.5px;color:var(--dim);line-height:2}.alt-contact a{color:var(--text);text-decoration:none}.alt-contact a:hover{color:var(--accent)}footer{border-top:1px solid var(--rule);padding:28px 0 40px;margin-top:32px}.foot-inner{max-width:var(--wrap);margin:0 auto;padding:0 var(--pad);display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;font-family:var(--mono);font-size:12px;color:var(--dim)}.foot-inner a{text-decoration:none}.foot-inner a:hover{color:var(--accent)}.foot-inner .links{display:flex;gap:18px;flex-wrap:wrap}.reveal{opacity:0;transform:translateY(10px);transition:opacity .55s ease,transform .55s ease}.reveal.in{opacity:1;transform:none}@media(min-width:640px){:root{--pad:32px}body{font-size:16.5px}.row-link{grid-template-columns:5.5em 1fr;gap:0 20px}.row-num{padding-top:4px}.facts div{grid-template-columns:120px 1fr}.hero{padding-top:72px}.section{padding-top:64px;padding-bottom:64px}}@media(min-width:900px){.statusbar-inner{padding:16px var(--pad);flex-wrap:nowrap}.statusbar nav{order:2;width:auto;padding-top:0;border-top:none;gap:24px;margin-left:auto;margin-right:24px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.reveal,.hero-main{opacity:1;transform:none}.loader{display:none}html{scroll-behavior:auto}}
