:root{color-scheme:light dark;--bg:#f5f8fb;--grid:#e3eaf1;--surface:#fff;--code-bg:#f5f8fb;--border:#dbe5ee;--text:#13263a;--text-2:#3f5568;--text-3:#5a7085;--accent:#0e7490;--accent-text:#fff;--error:#dc2626;--serif:Georgia, "Times New Roman", serif;--sans:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, "SF Mono", Menlo, monospace}@media (prefers-color-scheme:dark){:root{--bg:#0c1722;--grid:#162636;--surface:#0f1d2a;--code-bg:#0a141e;--border:#22384b;--text:#e3ecf4;--text-2:#a9bccd;--text-3:#8ea4b8;--accent:#22b8cf;--accent-text:#0c1722;--error:#f87171}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);font:16px/1.6 var(--sans);margin:0}a{color:var(--accent)}img{max-width:100%;height:auto}.wrap{max-width:1040px;margin:0 auto;padding:0 16px}.grid-bg{background-color:var(--bg);background-image:linear-gradient(var(--grid) 1px, transparent 1px), linear-gradient(90deg, var(--grid) 1px, transparent 1px);background-size:16px 16px}.site-header{font:14px var(--mono);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 20px;padding-block:20px;display:flex}.brand{color:var(--accent);font-weight:700;text-decoration:none}.site-nav{gap:20px;display:flex}.site-nav a{color:var(--text-3);text-decoration:none}.site-nav a:hover,.site-nav a[aria-current]{color:var(--accent)}.site-footer{color:var(--text-3);padding-block:40px 56px;font-size:14px}.footer-contact{margin:0 0 12px}.footer-links{flex-wrap:wrap;gap:8px 24px;margin:0;padding:0;list-style:none;display:flex}h1{font:400 clamp(2rem, 5vw, 3.2rem)/1.12 var(--serif);margin:0}h2{font:400 1.6rem/1.2 var(--serif);margin:0 0 16px}h3{font:600 1.05rem/1.3 var(--sans);margin:0}.label{font:600 12px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin:0 0 8px}.lede{color:var(--text-2);max-width:680px;margin:12px 0 0}.meta{font:12px var(--mono);color:var(--text-3)}.more{font:14px var(--mono)}section{padding:40px 0}.hero{padding:24px 0 48px}.pitch{font:italic 1.3rem/1.5 var(--serif);color:var(--text-2);max-width:720px;margin:16px 0 8px}.support{color:var(--text-3);max-width:720px;margin:0;font-size:15px}.page-head{padding:24px 0 8px}.project-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:20px;display:grid}.project-card{--ink:var(--ink-l);--tint:var(--tint-l);background:var(--surface);border:1px solid var(--border);border-radius:8px;flex-direction:column;min-width:0;display:flex;overflow:hidden}@media (prefers-color-scheme:dark){.project-card{--ink:var(--ink-d);--tint:var(--tint-d)}}.project-card h3 a{color:var(--text);overflow-wrap:anywhere;text-decoration:none}.project-card h3 a:hover{color:var(--ink)}.project-card p{color:var(--text-2);margin:0;font-size:15px}.card-body{flex-direction:column;flex:1;gap:10px;padding:14px 20px 18px;display:flex}.key-result{background:var(--code-bg);border-left:3px solid var(--ink);padding:6px 10px;font:12px/1.5 var(--mono)!important;color:var(--text)!important}.project-card .meta{gap:16px;margin-top:auto;display:flex}.project-card .meta a{color:var(--ink)}.strip{background-color:var(--tint);min-height:84px;color:var(--ink);flex-direction:column;justify-content:flex-end;align-items:flex-start;gap:6px;padding:14px 20px;display:flex;position:relative;overflow:hidden}.strip-mark{opacity:.32;width:108px;height:108px;position:absolute;top:-14px;right:-16px}.strip h3,.strip .lang{position:relative}.strip h3{font-size:1.1rem}.lang{font:11px var(--mono);color:var(--ink);background:var(--tint);border:1px solid;border-radius:999px;padding:1px 8px}.tex-graph{background-image:radial-gradient(color-mix(in srgb, var(--ink) 22%, transparent) 1.5px, transparent 1.6px);background-size:12px 12px}.tex-cone{background-image:repeating-radial-gradient(circle at 0 50%, transparent 0 9px, color-mix(in srgb, var(--ink) 16%, transparent) 9px 10.5px)}.tex-bars{background-image:repeating-linear-gradient(90deg, color-mix(in srgb, var(--ink) 12%, transparent) 0 6px, transparent 6px 14px)}.tex-trie{background-image:linear-gradient(135deg, color-mix(in srgb, var(--ink) 10%, transparent) 25%, transparent 25%), linear-gradient(225deg, color-mix(in srgb, var(--ink) 10%, transparent) 25%, transparent 25%);background-size:16px 16px}.tex-nucleus{background-image:repeating-linear-gradient(45deg, color-mix(in srgb, var(--ink) 14%, transparent) 0 1.5px, transparent 1.5px 10px)}.post-list{gap:20px;margin:0;padding:0;list-style:none;display:grid}.post-list a{font:1.15rem/1.4 var(--serif)}.post-list p{color:var(--text-2);margin:4px 0 0;font-size:15px}.side-note{border-left:3px solid var(--border);color:var(--text-3);max-width:680px;margin:24px 0 0;padding:14px 16px;font-size:14px}.post{max-width:680px;margin:0 auto;padding:24px 0 40px}.post h1{font-size:clamp(1.9rem,4.5vw,2.6rem)}.post-summary{font:italic 1.15rem/1.5 var(--serif);color:var(--text-2);margin:12px 0 32px}.prose{font:1.125rem/1.75 var(--serif);overflow-wrap:anywhere}.prose h2{margin:2em 0 .6em;font-size:1.5rem}.prose h3{font:600 1.15rem/1.3 var(--serif);margin:1.6em 0 .5em}.prose code{font:.85em var(--mono);background:var(--code-bg);border-radius:3px;padding:.1em .3em}.prose pre{background:var(--code-bg);border:1px solid var(--border);font:13px/1.55 var(--mono);border-radius:6px;padding:16px;overflow-x:auto}.prose pre code{font-size:inherit;background:0 0;padding:0}.prose table{border-collapse:collapse;font:14px var(--sans);margin:1.5em 0;display:block;overflow-x:auto}.prose th,.prose td{border-bottom:1px solid var(--border);text-align:left;padding:6px 12px}.prose blockquote{border-left:3px solid var(--accent);color:var(--text-2);margin:1.5em 0;padding-left:16px;font-style:italic}@media (prefers-color-scheme:dark){.astro-code,.astro-code span{color:var(--shiki-dark)!important;background-color:var(--shiki-dark-bg)!important;font-style:var(--shiki-dark-font-style)!important;font-weight:var(--shiki-dark-font-weight)!important;text-decoration:var(--shiki-dark-text-decoration)!important}}.crosspost{color:var(--text-3);margin-top:40px;font-size:15px}@media (width<=720px){section{padding:32px 0}.site-nav{gap:14px}}
