/* Inter — Söhne 替代，全局可用 */
@font-face{font-family:"Inter";font-style:normal;font-weight:300;font-display:swap;src:url("/_astro/inter-latin-300.woff2") format("woff2")}
@font-face{font-family:"Inter";font-style:normal;font-weight:400;font-display:swap;src:url("/_astro/inter-latin-400.woff2") format("woff2")}
@font-face{font-family:"Inter";font-style:normal;font-weight:500;font-display:swap;src:url("/_astro/inter-latin-500.woff2") format("woff2")}
@font-face{font-family:"Inter";font-style:normal;font-weight:600;font-display:swap;src:url("/_astro/inter-latin-600.woff2") format("woff2")}

/* 第二辅色 --signal：成功/有效/通过状态 */
code.signal[data-astro-cid-m6zdlxxu]{color:var(--signal);background:var(--signal-soft);padding:.1em .45em;border-radius:4px;font-weight:500}
/* verify result 的 valid 状态 */
code.signal[data-astro-cid-m6zdlxxu]::before{content:"✓ ";font-weight:600}
/* 微动效：按钮 hover 微位移 + 卡片 hover 升起 */
.cta[data-astro-cid-xhaoqxbd]{transition:transform .2s cubic-bezier(.2,.6,.2,1),box-shadow .2s cubic-bezier(.2,.6,.2,1),background var(--transition),color var(--transition),border-color var(--transition)}
.cta[data-astro-cid-xhaoqxbd]:hover{transform:translateY(-1px);box-shadow:0 2px 4px color-mix(in srgb,var(--accent) 18%,transparent),0 6px 12px -4px color-mix(in srgb,var(--accent) 22%,transparent)}
.cta[data-astro-cid-xhaoqxbd]:active{transform:translateY(0)}
.nav-link[data-astro-cid-xhaoqxbd]{transition:color var(--transition),opacity var(--transition)}
.link[data-astro-cid-xhaoqxbd]{transition:color var(--transition),opacity var(--transition)}
/* grain texture — 印刷质感叠加 */
body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:9999;opacity:.035;mix-blend-mode:multiply;
background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
background-size:180px}
[data-theme="dark"] body::after{opacity:.06;mix-blend-mode:screen}
@media (prefers-reduced-motion:reduce){body::after{opacity:.035}}


:root{--font-wordmark:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
:root{--font-display: "Hanken Grotesk", "Inter", "PingFang SC", "Microsoft YaHei", sans-serif;--font-text: "Hanken Grotesk", "Inter", -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", sans-serif;--font-mono: "IBM Plex Mono", "SFMono-Regular", ui-monospace, monospace;--fs-display: 5.15rem;--fs-h1: 3.45rem;--fs-h2: 2.45rem;--fs-h3: 1.25rem;--fs-lead: 1.25rem;--fs-body: 1.0625rem;--fs-small: .9375rem;--fs-label: .75rem;--lh-display: .98;--lh-tight: 1.15;--lh-body: 1.55;--ls-display: -.02em;--ls-tight: .005em;--ls-label: 0;--fw-light: 300;--fw-regular: 400;--fw-medium: 500;--sp-1: .25rem;--sp-2: .5rem;--sp-3: .75rem;--sp-4: 1rem;--sp-5: 1.25rem;--sp-6: 1.5rem;--sp-8: 2rem;--sp-12: 3rem;--sp-16: 4rem;--sp-24: 6rem;--sp-32: 8rem;--section-y: clamp(6.5rem, 12vh, 10rem);--container: 1440px;--measure: 64ch;--gutter: clamp(1.5rem, 4vw, 3rem);--radius-sm: 6px;--radius: 10px;--transition: .28s cubic-bezier(.2, .6, .2, 1);--rule: 1px solid var(--border)}:root,[data-theme=light]{--bg: #ffffff;--paper: #ffffff;--ink: #0d0d0d;--gray-5: #6b6b6b;--gray-6: #3d3d3d;--bg-elev: rgba(255, 255, 255, .92);--text: #0f172a;--text-soft: #475569;--text-mut: #64748b;--border: rgba(15, 23, 42, .10);--border-strong: rgba(15, 23, 42, .22);--accent: #002FA7;--signal: #0d9488;--signal-soft: rgba(13,148,136,.14);--on-accent: #ffffff;--selection: rgba(0, 47, 167, .18)}[data-theme=dark]{--bg: #0f172a;--paper: #0d0d0d;--ink: #ffffff;--gray-5: #8e8e8e;--gray-6: #c4c4c4;--bg-elev: rgba(30, 41, 59, .82);--text: #f1f5f9;--text-soft: #cbd5e1;--text-mut: #94a3b8;--border: rgba(241, 245, 249, .12);--border-strong: rgba(241, 245, 249, .26);--accent: #3A6FFF;--signal: #2dd4bf;--signal-soft: rgba(45,212,191,.16);--on-accent: #ffffff;--selection: rgba(58, 111, 255, .24)}@media (max-width: 1100px){:root{--fs-display: 4rem;--fs-h1: 2.85rem;--fs-h2: 2.1rem}}@media (max-width: 720px){:root{--gutter: 1.5rem;--fs-display: 2.75rem;--fs-h1: 2.25rem;--fs-h2: 1.75rem;--fs-lead: 1.0625rem;--fs-body: 1rem}}@font-face{font-family:Hanken Grotesk;font-style:normal;font-display:swap;font-weight:300;src:url(data:font/woff2;base64,d09GMgABAAAAAAQEABAAAAAAB/wAAAOqAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhYbahwoBmA/U1RBVEQAXBEICoJ8gkALFAABNgIkAyIEIAWFIAdiDAcblAZRlC7KdoAvDrIhQx+z0RQqV7lKJ5O/tmOIS22CRvp8XRqmvhj9KKinsd/su/tiimg0T9rEKo0QqYVExFMh4tHkpzy/N0m/4Em+xDRV4HYBXfdE8nJdE49/u7ciiAIMKLA8b4VtgadZpIEmmMZZv7Ea0f/l/2Hh/38/eVEcxbu2JhvwxPOdeZdtloEjHkVbNVUCjXemHwc2c2t+UgJja17bzUJ6+6EIxAGAEXFEIKoXjehbuobAf2GcMvjzgH8ENFt1GTyBgHgmTMJMngkMiocYAHHEOEaiIxuzXzop2AZkxDHZ50W5uMF2A4ANuxqNkJlMlFAImIGrfWMv3NY0511/b+hbqqAN6ADQa1eANpJmvy/kEaAXsdkdTgRwtDIi8kbyTNWTGFy7CaBKowBgwIE8khAVWgUk+bEJaqu323WI9uk/YFiUx21W9dDtJoh6tqiQAhABkAVEwQHgGFAF5AFg7JfeF09U+5Av+nZp/5hL2KEfGY/4CD6c98zUaKEfxWz6+BGt3BUzevg4rLjzwWfzp5T29+9t8gPzoR+57jlI3n3qvel9bse5T70+fIAVtzNnR32GZmPtyGfFC1jzylzoPf3t/LYiijvEQYRdLkWXWz9M60tOnO0ImYCkcIOFLhuvjPv/pscGZ+Oyt7Uk5TVPtP54HNq7eHQmMvtn9uuK8y3OIgb3pCWF7kyjWrKP1/6ZK22sGMujeopSgzUoGeU3Ny3bDM+fzvWG2vy8pRgvy82v6zK4HogWBEJC7tzI9KDwBBhACdhArpXd7ICAq7bPrGy/m01VvXo6dw+43VthO/J8NYsoX5wNgisYsYL0bPag/jtogMpRwXD+0B5K4cUEP2cdMYBJpRCIGGNSQbJsZwSSTjiqI8BN8BhkMJ5gkr7AmXOz3PtBQNV+COq3DJImtEFarFx+hreugCCuWCn3DBclRXGx18AmhYQha+fEEHFYo6w4dg5OXSPU5jtQYCVL1EqncGp0g/B/TipDhQIFDCwdR+VkyGfgiPIpdHYFerXoYs1Wy/Nya0ZwpLMgJXvtQvkwSuFItlKbJo16C2fGDbTezkXE0N+vPDEytZFCtZCO9k9Ew2iUREMFZy2AEfV1HI9YDuzruTg5KHSGRJlf1GTHea3jYpaPpZAUkDB0RCPecfYaLoYCDjOQz2N3ZSEohf/DoC0joNeTELg4eQUUDC6bt+kf5eGSOYzrsf0ljRuKvBjW5bTuWEPjizpxIS7Zwkb4Zd1pLwA=) format("woff2"),url(data:font/woff;base64,d09GRgABAAAAAAYwAA8AAAAAB6wAAQABAAAAAAAAAAAAAAAAAAAAAAAAAABHREVGAAABWAAAABYAAAAWABEABEdQT1MAAAFwAAAASwAAAGYrviSMR1NVQgAAAbwAAAAnAAAAKLj8uOpPUy8yAAAB5AAAAE0AAABgVa2Vv1NUQVQAAAI0AAAAOAAAAETkS8wZY21hcAAAAmwAAABCAAAAXEHQ4ltnYXNwAAACsAAAAAgAAAAIAAAAEGdseWYAAAK4AAABWwAAAXzNfNUfaGVhZAAABBQAAAA2AAAANiKYW4FoaGVhAAAETAAAAB8AAAAkCEUBYGhtdHgAAARsAAAAIQAAACINtADJbG9jYQAABJAAAAAUAAAAFAFhAextYXhwAAAEpAAAABoAAAAgABwA5W5hbWUAAATAAAABIAAAAmw0RV4QcG9zdAAABeAAAABOAAAAYvVu8ckAAQAAAAwAAAAAAAAAAgABAAEAAwABAAB42j3HpQECQAAAwHvBNZOZgBWQRGQAtOA2Py7XTkBVV08cjMYTze3suteU4X4XEDar816Zz2RRWVAWtUFXRxAFSRAlUfjPAyrAB5UAeNpjYGRgYOBiUANCJhc3nxAGoZzEkjwGPgYQYAER//+DSABaSQVVAHjaY2BhkmXUYWBlYGDqYopgYGDwhtCMcQwajBoMqIAdiJlgHA8XZ3+GAwwKCluYX/y7yMDA/IJRX4GBcTJIjvEt004gpcDADADMCgxNAAAAeNodxAEGgEAUBcB5f0MKQkcI0KUCFQGWrh8NRsSosP5v6j2vHtz9eDKJwSKQlh1NVGYQPqiwBBN42mNgYGACYmYgFgGSjGCahcEDSPMxcADl2BgUGBwZFjAcZGRS2PL/P1Achf//yf8D/1P/O/5nvB8E1I0CAGW/EkIAAAABAAH//wAPeNo8yyEIwkAUBuD/vcN7Yhu4DTTdxs6+c3fRaMdiL2KzF0Gw2wQ72DGZrSarHZvV5M2gWD/4wKgButIdCgK4xCSVSUxNh7imZdzTPVYDOoKRAzzjMwQ9wJGjcmSkUionFYink3ib0Hyz4fN7ejo9aRV3aNvvUlu2IAACwQPXvy9+rtFdAoxh++KELxgiAJ3C2mYcfCgbkxotOu1nmat9yLWmxvjgm7G1ZaFl5L2rsyztixaXUvGZU6olBxuHLeO3fxN42Lk13XVdo/lsRWv+LWQME+IVVbJSNXSXNlFIdLaKNBLk5AnkNI6ylhXn59PS4hOQkNWyV/KwkwyIYJylxcsnqapoKq+tq2BloedvoiLJx6MFdK85ky7DM2BIMDMwCJsbs5tnu9Qz6fb0gGWeMiYzpzPwAmWU1EyNRUDuBVJsZ7299SwMDCz0fJmeOtvr6unrODgBAFYTSwUAAAEAAAADA1TxSpiuXw889QADA+gAAAAA34ofCAAAAADfmvVi/1f/AAUDA+AAAAAGAAIAAAAAAAB42mNgZGBgfvHvIgMDq9n/8L8BrMxAEVTAAQCUtQWrAHjaY/zHYMSUzSAOw4wsDAwgzGTGIM3AwGDOYA4AUWMDiQAAAAAAABQALwA7AEYARgBGAJkApgC+eNpjYGRgYOBkaADiZAZWMA8BWBgYARcdAQIAAHjajZGFTQVBFEUP7kRwYhvB3d3dHeLBv7t3QAUUQCkUQgUUwc3y3bN5M+fdp5kFmvmkiorqBvF3RXucKxjkN86VtPIT5ypW+YpzdVpODb18xLmWfp7j3Mo8o/9cgWYZca6ikc44N0pvjHOTCK7x4OIJN0cEdTux8cKpTgtWKQ+8JVmmz0uAZSb0BZTpxyYlKB4nIHbq9ki1MMEF++p0aHZ38KbzAL+iQXFAyljanHtpfrODR3kGM+ozyZTuFK2o1y47XIjK63rNmyiEU9n+jBojq8pIq9qR7iWGP6kYTDMpmxLdSnnDKNHt0vTt8l/M+i1C5gt6pAfkD+a8pgWbmRHimXFezP8yIdPmpueUWWQhAtKtadPHpKdPH/oDq8tdi3jaY2BiAIP/7QwaDNgAJxCrMJxkZGJgZmRmZGFkZWRjc0wqSi1LZS/NyzQwcDQA0UYGTiacicmlJanJ+blJPCAZYwMzveTE4lQAH2ARFAAA) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Hanken Grotesk;font-style:normal;font-display:swap;font-weight:300;src:url(/_astro/hanken-grotesk-vietnamese-300-normal.DuGzRrc6.woff2) format("woff2"),url(/_astro/hanken-grotesk-vietnamese-300-normal.DZsP3ZPe.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Hanken Grotesk;font-style:normal;font-display:swap;font-weight:300;src:url(/_astro/hanken-grotesk-latin-ext-300-normal.DaPXwqZ3.woff2) format("woff2"),url(/_astro/hanken-grotesk-latin-ext-300-normal.DlLOb3W0.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Hanken Grotesk;font-style:normal;font-display:swap;font-weight:300;src:url(/_astro/hanken-grotesk-latin-300-normal.7Inw_u-u.woff2) format("woff2"),url(/_astro/hanken-grotesk-latin-300-normal.D6QX6NIr.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Hanken Grotesk;font-style:normal;font-display:swap;font-weight:400;src:url(data:font/woff2;base64,d09GMgABAAAAAAQgABAAAAAAB+wAAAPGAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhYbahwoBmA/U1RBVEgAXBEICoJ8gkMLFAABNgIkAyIEIAWFCgdiDAcbhQbIPg1vjKH/SZAjGKk6g0Cz4ZDoqIq9ujYKvX+56LMpeKqx39u9+yKCiGazJpasMYQkFiKJSmhkKiQRqyQSleGnud+7DTG5L6jJGPdNJriH5JbwBBG6JVISgmK/170QegCQmWgmlyggSYrYRiVCU8mVdSoUqdZWfpsHE7m10AI7gL2xGtH/pVj0d/045f9hYeqMUicC2WdxoPzP5fhug8y4jw3gwAJO/G57a1i0nm8KMKFeYGdNPGoNsbVxiQSWuba48mH8gQtyCg5ZGAvDD5agO4oAPwBQQhhCgFe5RFRvaXUzOG0xggGcWMA/AWSTcAawAQKEpdyEm4qzANWCIApAGEIZSsgghakUSrjFgCREbxu/cRzQGwWAUWtGFiE8qqmDC6iWQ71FdfCqquouvdcYFiOuCtAtgPxPewaK0aS0ggxDgXLUnlIlIIClbUaH7BBxFsMkfAAIGOGXWNkB/QSAAgPiaALiLAwBgtyUU7EC+w6DKv6QgJ+R/PPNsuFpiK5bSEIxAA+AKMALZgHrgCwgDgCl77kplpAM67LJDJl10GcCuuhI+33L9mq73u62NvsWZu3rMWb3cgvn12x/P8lffyqb/HglnFmEf+rjy4X7/ql37b5+6vY78+HB0UP1UoRu7ouL/fbFUbnaWt23vt79XKns2uzimnswMDd4/sV5T+tRyfifEJTXp0rO6M72e3+7lt5c7R9a9l9j3tdUtXfNZMugZxqkJWfd0l8q27px4E9LcXRh+Fpfy289JTldsUkNKfimSnyrbqPraoPjv2PDRXk54d4RkT5h2QXVBUA1QMDF5ccP6u/k3oV4ABGgm/SiDaYEBEz6xGt/Ouacs1M038DXTWWO5d+ncE1S92PgXGCNBfLTfYd+nQZUqml3/MkRYQsLL6dd3AEtEiDg0c5CBh22pgT47TIkwwMcReIOIh9JUMFwg9HlDax62+CQNQdOtdrtQZ2kDgJ+SbAEww1e/LyL8uEFY4z0GAYVBAwdNVYbQk1JRcB/FpjwMsWJw2Nx1EwEvFg8NZ1YRhylOHVKVSvHMNAiDMpwjAQETytGI0JJpMPgtCI4PDUjAyxJrHgJkuK1sHjCUuBqyVKuWJE6WQVKqfrUwiJGJqO4dr4JliheogRYMxUC19bqGdFobDRUQGxZM7ZQHwtvPKSkdvNFA2KxD6bEIcTgSNEBUTYW8eKokr1jKFMRKOrzf9Xm4AHl3oPChBErDnE6uwc4MkSsRYM6Pr4g3g5MjC9Mtl1gRYF8TUNxOCXjk+JT/6qR+4TujRUA) format("woff2"),url(data:font/woff;base64,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) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Hanken Grotesk;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/hanken-grotesk-vietnamese-400-normal.BLrFBAHj.woff2) format("woff2"),url(/_astro/hanken-grotesk-vietnamese-400-normal.C-iWyKLC.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Hanken Grotesk;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/hanken-grotesk-latin-ext-400-normal.DR7lHpW4.woff2) format("woff2"),url(/_astro/hanken-grotesk-latin-ext-400-normal.DI-aIsWt.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Hanken Grotesk;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/hanken-grotesk-latin-400-normal.BG6hkEXj.woff2) format("woff2"),url(/_astro/hanken-grotesk-latin-400-normal.CjyVwvJV.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Hanken Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(data:font/woff2;base64,d09GMgABAAAAAAQIABAAAAAACAQAAAOvAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhYbahwoBmA/U1RBVEQAXBEICoJ8gkILFAABNgIkAyIEIAWFKAdiDAcbngYoLgpsW7F2EW5iaDHUuE4MfK2EiuDJv6h63X9mQfCkiMhBhsvo5EiaqbW2d/+I+KtIQl7tBEmQGRKRRIOu1qgM08UaQyggDm7nRPJEQ8yt/i+kPxzR/3NNvjVI8z4uSAc88SqLKssyHUVb097RKkT3pocLQBwwzNwaPrRPwsDGVWMcQ0JC6POwBxWoCUhCyEKguo4k4ImTfTHQv3MdVgf9CqgQiB2bkDroRCAUkqpCVUlDRHQ1D5JAyEKSJYGU4qidMYjDVkQilhfxV/yqRLoxLQXMUK3Eaqx0JRxVkEydutYguNe2j/N3/7OjjD5tAXQrxM/pRbRFEP1vS0MwOoKPbCliELZdqgpVFxoiFnfUoG4WEKX4FSRkNEQQ+IJTAbUDsClry2zfm5HaPlMBxKLylTdsMk58Oh9E7h2iQh1QDdQHVMcywAlAc0BDAEn61CcqhCiKKkXjYjt17Rq5VlpfK9essaPGtuqrVyaTPYvWbV+4EFc82GLJ4SPOvvlhjZsudlj0cm5z1LE76xb/63f4H3up+o2f9Fx8dDH2/HlnH2m6xk1ZuMYWNc6+eiJ9/fBDzvW/fNflgx0iu/P1135hTq0X9rzb8b2OffZaL/9ttxws1OTtcs2ifurg4aN54vRp2vBVpxF+zfPqLpPezVhxxNg+pnTtuPK4cx07sOdmLi627vZzbK74f/MIh3FRKIso5sp/ek5tZ9stN3vviznTbUYH/aNT55eOkyw+M4A7g1BFFb/4BK0uq3qaCKA26Xi+Rm22BYScFx5lvr6+ps7I36rm/B18emObqir5nt/W66/caaU8xXJTpJNusFD+f6j0OwWqxr/6J1HDioKXS30NAnrhg1DNQETNEDjokkBtj8miqIa3YiiA0D21IakdIBvtsbEwQklzh1DW1RbUNpgH6polYNfTq702JGLjxtIlUp1Y/T+ooTrma6hJqXPDpFSVZCTllBQUYfxyskpwNS4pdRU5dSROiAZMDqqiCINpQmkICaEyECVNGJQAqqRKoAFRIBTk4OOWKs38+GBCDkKSN2p7KQERManm13KxsQrWho5E+l+Aq0pBHtlMcudbNTRtQIb1TUgkRCTESGKKckhUeQgiZXmGgr0ZDlPUgECRsAZrLCjZ1sGlCWQ01AjVpCBIWm2QQhscSqioB0G+gpMNJkIr0xXKaujoKZIcOYooRbk8bv3K/ikdh3aXRCKzSD0pEVlkXes24Fju9xrSXuwQSUWKdTYSz6PSE8Ut) format("woff2"),url(data:font/woff;base64,d09GRgABAAAAAAY8AA8AAAAAB7QAAQABAAAAAAAAAAAAAAAAAAAAAAAAAABHREVGAAABWAAAABYAAAAWABEABEdQT1MAAAFwAAAASwAAAGYrviSMR1NVQgAAAbwAAAAnAAAAKLj8uOpPUy8yAAAB5AAAAE0AAABgVnWVylNUQVQAAAI0AAAAOQAAAETlE8wbY21hcAAAAnAAAABCAAAAXEHQ4ltnYXNwAAACtAAAAAgAAAAIAAAAEGdseWYAAAK8AAABXgAAAXwE1rnAaGVhZAAABBwAAAA1AAAANiKkW4FoaGVhAAAEVAAAAB8AAAAkCFEBaWhtdHgAAAR0AAAAIQAAACIN/ACZbG9jYQAABJgAAAAUAAAAFAFhAextYXhwAAAErAAAABoAAAAgABwA5W5hbWUAAATIAAABIQAAAnQ1/F4xcG9zdAAABewAAABOAAAAYvVu8ckAAQAAAAwAAAAAAAAAAgABAAEAAwABAAB42j3HpQECQAAAwHvBNZOZgBWQRGQAtOA2Py7XTkBVV08cjMYTze3suteU4X4XEDar816Zz2RRWVAWtUFXRxAFSRAlUfjPAyrAB5UAeNpjYGRgYOBiUANCJhc3nxAGoZzEkjwGPgYQYAER//+DSABaSQVVAHjaY2Bh0mD8wsDKwMDUxRTBwMDgDaEZ4xg0GDUYUAE7EDPBOB4uzv4MBxgUFLYwv/h3kYGB+QWjvgID42SQHONbpp1ASoGBGQAXMA0gAAAAeNodxIEFgFAYBsD7/ooUhEZosUBFgEeLN0B0OBGjwvq/qec4W3C1/c4keotAhrzoRGUG4QO3sgTdAAAAeNpjYGBgAmJmIBYBkoxgmoXBA0jzMXAA5dgYFBgcGRYwHGRkUtjy/z9QHIX//8n/A/9T/zv+Z7wfBNSNAgBlvxJCAAAAAQAB//8AD3jaPIszeGxRGEX3f+7MOflebGOM58tnG7FdxahjN7HZt+mn/2KXqdM3URer3HutBQYZoHXahwQBKKGWUIcl1CLT7PkAZZ4v0v65y07jYAgCWDPzQeARoJBCNpdFOCQpiILTKKjx1fnBK1LrG5jv7OfCwik9P9/DxcVtJfUxJwiAgMARNh/+yrufw6/96kDIxTGLYsuIhwGYrU6nphq6YdMskRYueGREVJQi60Y056RZdEPXVKfTZuXCpeuKHBUVGSG4UCIp5UftWy6ZXjJ+vuBn9re+c7xNDSqL7TyfoQLBQxOeJXk+xmSkVP74WKr5S6a3AXrp+9gIf/+PH/39o+LsSsJbxf0vhxY+cxGZGO+NcXvlD+9eZOmJkdz8GYSn7AmZmA8SEG4o4mlD9TB7MjR0Qw6oXKpE4BWxOi9naiwCci+QYjvu7+2mr6qm5+rL9NjVXlVFVcXJCQCvfEkeAAB42mNgZGBgYGYOqfY4HxbPb/MVyH7BAAT3u+Q5wPSsr0n/A//9YxVlfgTksjEwgUQBcMANhAAAAHjaY2BkYGB+8e8iAwOry//Av96sokARVMABAJZ2BcAAeNpj/MNgxNTJwAfDjCwMDCDMZMAgwMDAoMugCwBW0wOhAAAAAAAAFAAvADsARgBGAEYAmQCmAL542mNgZGBg4GRoAOJkBlYwDwFYGBgBFx0BAgAAeNpiYGDgYZjGwMzAyMIJZB9ilIGyGRm0GD5B2UwMfAxPIGwgacewDMpmQVLDyiDF0ANohKy1KgiCKFi45aRIgrtDgrtrCs/d9e8p3OXs6b3VPjPP3MogoSe2c57xJ25wF/3P3CJ3P3On3PnMXRKckyXNHRn2KKkp4gQ5IkxIKpu7ISxFiZnX/HIUWWaCCTVIwWyOkjxOUU6pWaNR8ydsc8guzidJ2P8OBbMluWhk7MOma7mAM6zI0MsM40wypb7RCrtsssGJ9N+553JUSllf+NDV+6mv90PfhpkcdQqv9+9lmkltSro0ElZ/n3eKPgn9IPazRlmNGfOm+oNf3jTqNiusCzBO0Mo0E5pnR4+UFtXKdkxY97Z9jOiH7UP3TuVfYwAAAHjaY2BiAIP/7QwaDNgAJxCrMJxkZGJgZmRmZGFkZWRjc0wqSi1LZS/NyzQwcDQA0UYGTiacicmlJanJ+blJPCAZYwMzveTE4lQAH2ARFAAA) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Hanken Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/hanken-grotesk-vietnamese-500-normal.DxwlvJEc.woff2) format("woff2"),url(/_astro/hanken-grotesk-vietnamese-500-normal.DkDHNoXI.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Hanken Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/hanken-grotesk-latin-ext-500-normal.DLb9JDK8.woff2) format("woff2"),url(/_astro/hanken-grotesk-latin-ext-500-normal.BNvrJ0Ju.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Hanken Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/hanken-grotesk-latin-500-normal.DrDcrrxK.woff2) format("woff2"),url(/_astro/hanken-grotesk-latin-500-normal.Bo-NxEKf.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-cyrillic-ext-400-normal.xuaO2J-f.woff2) format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-ext-400-normal.DMdlQ8Kv.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-cyrillic-400-normal.BSMlKf0J.woff2) format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-400-normal.CEL4l2ZJ.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-vietnamese-400-normal.BulugwFq.woff2) format("woff2"),url(/_astro/ibm-plex-mono-vietnamese-400-normal.DDuiU_S-.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-latin-ext-400-normal.BmRBH3aV.woff2) format("woff2"),url(/_astro/ibm-plex-mono-latin-ext-400-normal.D3D2R8hC.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-latin-400-normal.DMJ8VG8y.woff2) format("woff2"),url(/_astro/ibm-plex-mono-latin-400-normal.CvHOgSBP.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-cyrillic-ext-500-normal.BqneJy0T.woff2) format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-ext-500-normal.BIfNGwUT.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-cyrillic-500-normal.Bq9vWWag.woff2) format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-500-normal.Ael50iVv.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-vietnamese-500-normal.DZ4AoWbu.woff2) format("woff2"),url(/_astro/ibm-plex-mono-vietnamese-500-normal.C8zxqsMH.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-latin-ext-500-normal.CAhNIIs5.woff2) format("woff2"),url(/_astro/ibm-plex-mono-latin-ext-500-normal.CZ70TYgx.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-latin-500-normal.DSY6xOcd.woff2) format("woff2"),url(/_astro/ibm-plex-mono-latin-500-normal.CB9ihrfo.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--bg);overflow-x:hidden}body{font-family:var(--font-text);font-size:var(--fs-body);font-weight:var(--fw-regular);line-height:var(--lh-body);color:var(--text);background:var(--bg);text-rendering:optimizeLegibility;transition:background var(--transition),color var(--transition);overflow-x:hidden}::selection{background:var(--selection)}h1,h2,h3{font-family:var(--font-display);font-weight:var(--fw-regular);line-height:var(--lh-tight);letter-spacing:var(--ls-tight)}button,input{font:inherit}button{color:inherit}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:3px}[data-theme=dark] .only-light,[data-theme=light] .only-dark{display:none!important}.container{max-width:var(--container);margin-inline:auto;padding-inline:var(--gutter)}.section{padding-block:var(--section-y)}.measure{max-width:min(var(--measure),100%)}.rule{border:0;border-top:var(--rule)}.label{font-family:var(--font-mono);font-size:var(--fs-label);font-weight:var(--fw-medium);letter-spacing:0;text-transform:uppercase;color:var(--text-mut)}.display{font-family:var(--font-display);font-size:var(--fs-display);font-weight:var(--fw-light);line-height:var(--lh-display);letter-spacing:var(--ls-display)}.lead{font-size:var(--fs-lead);color:var(--text-soft);line-height:1.5}.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}.link{color:var(--text);border-bottom:1px solid var(--border-strong);padding-bottom:1px;transition:border-color var(--transition)}.link:hover{border-color:var(--text)}.cta{display:inline-flex;align-items:center;gap:var(--sp-3);font-family:var(--font-mono);font-size:var(--fs-small);letter-spacing:0;color:var(--on-accent);border:1px solid var(--accent);border-radius:var(--radius-sm);padding:.82rem 1.05rem;background:var(--accent);transition:border-color var(--transition),color var(--transition),background var(--transition)}.cta:hover{border-color:var(--text);background:var(--text);color:var(--bg)}@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.research-trace[data-astro-cid-m6zdlxxu]{display:grid;grid-template-columns:minmax(18rem,.42fr) minmax(0,1fr);gap:clamp(3rem,6vw,6rem);padding-block:var(--section-y);border-top:var(--rule);border-bottom:var(--rule);background:color-mix(in srgb,var(--bg-elev) 24%,transparent)}.trace-intro[data-astro-cid-m6zdlxxu],.trace-panel[data-astro-cid-m6zdlxxu]{min-width:0}.trace-intro[data-astro-cid-m6zdlxxu]{display:grid;align-content:start;gap:var(--sp-6);position:sticky;top:6rem}.trace-caption[data-astro-cid-m6zdlxxu]{width:fit-content;color:var(--accent);padding-left:var(--sp-3);border-left:1px solid var(--accent)}.trace-query[data-astro-cid-m6zdlxxu]{display:grid;gap:var(--sp-3);padding-top:var(--sp-6);border-top:var(--rule)}.trace-query[data-astro-cid-m6zdlxxu] p[data-astro-cid-m6zdlxxu]:last-child{font-family:var(--font-text);font-size:var(--fs-lead);font-weight:400;line-height:1.5;color:var(--text)}.trace-meta[data-astro-cid-m6zdlxxu]{display:grid;gap:0;border-top:var(--rule)}.trace-meta[data-astro-cid-m6zdlxxu] div[data-astro-cid-m6zdlxxu]{display:grid;grid-template-columns:minmax(7rem,.35fr) minmax(0,1fr);gap:var(--sp-4);padding-block:var(--sp-4);border-bottom:var(--rule)}.trace-meta[data-astro-cid-m6zdlxxu] dt[data-astro-cid-m6zdlxxu]{font-family:var(--font-mono);font-size:var(--fs-label);letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--text-mut)}.trace-meta[data-astro-cid-m6zdlxxu] dd[data-astro-cid-m6zdlxxu]{color:var(--text-soft);overflow-wrap:anywhere}.protein-chip[data-astro-cid-m6zdlxxu]{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap}.protein-chip[data-astro-cid-m6zdlxxu] span[data-astro-cid-m6zdlxxu],.protein-chip[data-astro-cid-m6zdlxxu] code[data-astro-cid-m6zdlxxu]{color:var(--text)}.protein-chip[data-astro-cid-m6zdlxxu] span[data-astro-cid-m6zdlxxu]:before{content:"/";color:var(--text-mut);margin-right:var(--sp-2)}.sequence-box[data-astro-cid-m6zdlxxu]{border-top:var(--rule);border-bottom:var(--rule)}.sequence-box[data-astro-cid-m6zdlxxu].compact{border:0}.sequence-box[data-astro-cid-m6zdlxxu] summary[data-astro-cid-m6zdlxxu]{display:grid;grid-template-columns:minmax(6rem,.28fr) minmax(0,1fr);gap:var(--sp-4);padding-block:var(--sp-4);cursor:pointer;list-style:none}.sequence-box[data-astro-cid-m6zdlxxu] summary[data-astro-cid-m6zdlxxu]::-webkit-details-marker{display:none}.sequence-box[data-astro-cid-m6zdlxxu] summary[data-astro-cid-m6zdlxxu] span[data-astro-cid-m6zdlxxu]{font-family:var(--font-mono);font-size:var(--fs-label);letter-spacing:0;text-transform:uppercase;color:var(--text-mut)}code[data-astro-cid-m6zdlxxu],pre[data-astro-cid-m6zdlxxu]{font-family:var(--font-mono);font-size:.8125rem}.sequence-box[data-astro-cid-m6zdlxxu] code[data-astro-cid-m6zdlxxu],.io-panel[data-astro-cid-m6zdlxxu] pre[data-astro-cid-m6zdlxxu],.result-list[data-astro-cid-m6zdlxxu] code[data-astro-cid-m6zdlxxu],.component-row[data-astro-cid-m6zdlxxu] code[data-astro-cid-m6zdlxxu],.bench-row[data-astro-cid-m6zdlxxu] code[data-astro-cid-m6zdlxxu]{color:var(--text);overflow-wrap:anywhere}.sequence-body[data-astro-cid-m6zdlxxu]{display:grid;gap:var(--sp-4);padding-bottom:var(--sp-4)}.copy-btn[data-astro-cid-m6zdlxxu]{justify-self:start;border:0;border-bottom:1px solid var(--border-strong);border-radius:0;background:transparent;color:var(--text);cursor:pointer;font-family:var(--font-mono);font-size:var(--fs-label);letter-spacing:0;text-transform:uppercase;padding:0 0 .18rem}.copy-btn[data-astro-cid-m6zdlxxu]:hover{border-color:var(--text)}.trace-panel[data-astro-cid-m6zdlxxu]{display:grid;gap:var(--sp-12)}.loop-stepper[data-astro-cid-m6zdlxxu]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));list-style:none;border-top:var(--rule);border-bottom:var(--rule)}.loop-item[data-astro-cid-m6zdlxxu]{position:relative;display:grid;grid-template-rows:auto 1fr;gap:var(--sp-4);min-width:0;padding:var(--sp-5) var(--sp-4);border-right:var(--rule)}.loop-item[data-astro-cid-m6zdlxxu]:last-child{border-right:0}.loop-mark[data-astro-cid-m6zdlxxu]{width:.5rem;height:.5rem;border-radius:50%;border:1px solid var(--accent);background:var(--accent)}.loop-copy[data-astro-cid-m6zdlxxu]{display:grid;gap:var(--sp-3)}.loop-head[data-astro-cid-m6zdlxxu]{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-3)}.loop-stage[data-astro-cid-m6zdlxxu]{font-family:var(--font-text);font-size:1.4rem;font-weight:500;line-height:1.2;color:var(--text)}.status-tag[data-astro-cid-m6zdlxxu]{font-family:var(--font-mono);font-size:.625rem;letter-spacing:0;text-transform:uppercase;color:var(--accent)}.loop-item[data-astro-cid-m6zdlxxu] p[data-astro-cid-m6zdlxxu]{color:var(--text-soft);font-size:var(--fs-small);line-height:1.45}.loop-item[data-astro-cid-m6zdlxxu].is-upcoming{background:color-mix(in srgb,var(--bg-elev) 40%,transparent)}.loop-item[data-astro-cid-m6zdlxxu].is-upcoming .loop-mark[data-astro-cid-m6zdlxxu]{background:transparent;border-color:var(--text-mut)}.loop-item[data-astro-cid-m6zdlxxu].is-upcoming .loop-stage[data-astro-cid-m6zdlxxu],.loop-item[data-astro-cid-m6zdlxxu].is-upcoming p[data-astro-cid-m6zdlxxu],.loop-item[data-astro-cid-m6zdlxxu].is-upcoming .status-tag[data-astro-cid-m6zdlxxu]{color:var(--text-mut)}.tool-log[data-astro-cid-m6zdlxxu]{display:grid;gap:var(--sp-12)}.tool-step[data-astro-cid-m6zdlxxu]{display:grid;gap:var(--sp-6);padding-top:var(--sp-8);border-top:var(--rule)}.tool-head[data-astro-cid-m6zdlxxu]{display:grid;grid-template-columns:3.25rem minmax(0,1fr);gap:var(--sp-4);align-items:baseline}.tool-head[data-astro-cid-m6zdlxxu] h3[data-astro-cid-m6zdlxxu]{display:inline;margin-right:var(--sp-3);font-size:1.4rem;font-weight:500}.tool-head[data-astro-cid-m6zdlxxu] code[data-astro-cid-m6zdlxxu]{color:var(--text-mut)}.tool-note[data-astro-cid-m6zdlxxu]{color:var(--text-soft);max-width:none}.io-grid[data-astro-cid-m6zdlxxu]{display:grid;grid-template-columns:minmax(0,.66fr) minmax(0,1fr);gap:var(--sp-6)}.io-panel[data-astro-cid-m6zdlxxu]{min-width:0;display:grid;align-content:start;gap:var(--sp-4);padding:var(--sp-5) 0 0;border:0;border-top:var(--rule);background:transparent}.io-panel[data-astro-cid-m6zdlxxu] pre[data-astro-cid-m6zdlxxu]{overflow-x:auto;white-space:pre-wrap;line-height:1.5}.result-list[data-astro-cid-m6zdlxxu]{display:grid;gap:var(--sp-3)}.result-list[data-astro-cid-m6zdlxxu]>div[data-astro-cid-m6zdlxxu]{display:flex;justify-content:space-between;gap:var(--sp-4);padding-bottom:var(--sp-3);border-bottom:var(--rule)}.result-list[data-astro-cid-m6zdlxxu] span[data-astro-cid-m6zdlxxu]{color:var(--text-mut)}.components-block[data-astro-cid-m6zdlxxu]{display:grid;gap:var(--sp-5);padding-top:var(--sp-3)}.components-head[data-astro-cid-m6zdlxxu]{display:flex;justify-content:space-between;gap:var(--sp-4);align-items:baseline;flex-wrap:wrap}.components-head[data-astro-cid-m6zdlxxu] code[data-astro-cid-m6zdlxxu]{color:var(--text-soft)}.component-table[data-astro-cid-m6zdlxxu]{display:grid;border-top:var(--rule)}.component-row[data-astro-cid-m6zdlxxu]{display:grid;grid-template-columns:minmax(10rem,1.1fr) minmax(8rem,.9fr) minmax(5.5rem,.48fr) minmax(8rem,.8fr) minmax(9rem,.7fr);gap:var(--sp-4);align-items:center;padding-block:var(--sp-4);border-bottom:var(--rule)}.component-header[data-astro-cid-m6zdlxxu]{font-family:var(--font-mono);font-size:var(--fs-label);letter-spacing:0;text-transform:uppercase;color:var(--text-mut)}.weight-cell[data-astro-cid-m6zdlxxu]{display:grid;grid-template-columns:minmax(4rem,1fr) 3rem;gap:var(--sp-3);align-items:center}.weight-bar[data-astro-cid-m6zdlxxu]{position:relative;display:block;height:1px;background:var(--border-strong)}.weight-bar[data-astro-cid-m6zdlxxu]:after{content:"";position:absolute;inset:-2px auto -2px 0;width:var(--weight);background:var(--accent)}.source-cell[data-astro-cid-m6zdlxxu] summary[data-astro-cid-m6zdlxxu]{width:fit-content;cursor:pointer;color:var(--text);border-bottom:1px solid var(--border-strong);font-family:var(--font-mono);font-size:var(--fs-label);letter-spacing:0;text-transform:uppercase;list-style:none}.source-cell[data-astro-cid-m6zdlxxu] summary[data-astro-cid-m6zdlxxu]::-webkit-details-marker{display:none}.source-cell[data-astro-cid-m6zdlxxu] p[data-astro-cid-m6zdlxxu]{margin-top:var(--sp-3);color:var(--text-soft);font-size:var(--fs-small);line-height:1.45}.benchmarks[data-astro-cid-m6zdlxxu]{display:grid;gap:var(--sp-6);padding-top:var(--sp-8);border-top:var(--rule)}.bench-head[data-astro-cid-m6zdlxxu]{display:flex;justify-content:space-between;gap:var(--sp-4);color:var(--text-soft);flex-wrap:wrap}.bench-group[data-astro-cid-m6zdlxxu]{display:grid;gap:var(--sp-3)}.bench-row[data-astro-cid-m6zdlxxu]{display:grid;grid-template-columns:minmax(15rem,.4fr) minmax(0,1fr);gap:var(--sp-5);align-items:center}.bench-row[data-astro-cid-m6zdlxxu]>div[data-astro-cid-m6zdlxxu]{display:flex;justify-content:space-between;gap:var(--sp-4);min-width:0}.bench-row[data-astro-cid-m6zdlxxu] span[data-astro-cid-m6zdlxxu]{color:var(--text-soft)}.bench-row[data-astro-cid-m6zdlxxu].this-run span[data-astro-cid-m6zdlxxu]{color:var(--text)}.bench-track[data-astro-cid-m6zdlxxu]{position:relative;height:1px;background:var(--border-strong)}.bench-track[data-astro-cid-m6zdlxxu] span[data-astro-cid-m6zdlxxu]{position:absolute;inset:-3px auto -3px 0;width:var(--score);background:var(--accent)}@media (max-width: 1100px){.research-trace[data-astro-cid-m6zdlxxu],.io-grid[data-astro-cid-m6zdlxxu]{grid-template-columns:1fr}.trace-intro[data-astro-cid-m6zdlxxu]{position:static}.loop-stepper[data-astro-cid-m6zdlxxu]{grid-template-columns:repeat(2,minmax(0,1fr))}.loop-item[data-astro-cid-m6zdlxxu]:nth-child(2){border-right:0}.loop-item[data-astro-cid-m6zdlxxu]:nth-child(-n+2){border-bottom:var(--rule)}}@media (max-width: 760px){.research-trace[data-astro-cid-m6zdlxxu]{gap:var(--sp-12)}.trace-meta[data-astro-cid-m6zdlxxu] div[data-astro-cid-m6zdlxxu],.sequence-box[data-astro-cid-m6zdlxxu] summary[data-astro-cid-m6zdlxxu],.tool-head[data-astro-cid-m6zdlxxu],.bench-row[data-astro-cid-m6zdlxxu]{grid-template-columns:1fr;gap:var(--sp-2)}.loop-stepper[data-astro-cid-m6zdlxxu],.component-row[data-astro-cid-m6zdlxxu]{grid-template-columns:1fr}.loop-item[data-astro-cid-m6zdlxxu],.loop-item[data-astro-cid-m6zdlxxu]:nth-child(2){border-right:0;border-bottom:var(--rule)}.loop-item[data-astro-cid-m6zdlxxu]:last-child{border-bottom:0}.component-header[data-astro-cid-m6zdlxxu]{display:none}.component-row[data-astro-cid-m6zdlxxu]{gap:var(--sp-3);align-items:start}.trace-query[data-astro-cid-m6zdlxxu] p[data-astro-cid-m6zdlxxu]:last-child{font-size:1.1rem}.loop-stage[data-astro-cid-m6zdlxxu]{font-size:1.2rem}.io-panel[data-astro-cid-m6zdlxxu]{padding:var(--sp-4)}}.skip-link[data-astro-cid-xhaoqxbd]{position:fixed;left:var(--gutter);top:var(--sp-4);z-index:30;transform:translateY(-150%);background:var(--bg-elev);color:var(--text);border:var(--rule);padding:var(--sp-2) var(--sp-3);font-family:var(--font-mono);font-size:var(--fs-label);letter-spacing:var(--ls-label);text-transform:uppercase}.skip-link[data-astro-cid-xhaoqxbd]:focus{transform:translateY(0)}.nav[data-astro-cid-xhaoqxbd]{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-6);padding-block:1.2rem;position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--bg) 86%,transparent);}.wordmark[data-astro-cid-xhaoqxbd]{display:inline-flex;align-items:center;gap:var(--sp-2);color:var(--text);font-family:var(--font-wordmark);font-size:1.15rem;font-weight:700;line-height:1;letter-spacing:-0.02em;text-transform:none}.wordmark[data-astro-cid-xhaoqxbd] img[data-astro-cid-xhaoqxbd]{height:20px;width:auto;display:block}.nav-links[data-astro-cid-xhaoqxbd]{display:flex;align-items:center;gap:clamp(1rem,2vw,1.75rem)}.nav-link[data-astro-cid-xhaoqxbd]{font-family:var(--font-mono);font-size:var(--fs-label);letter-spacing:0;text-transform:uppercase;color:var(--text-mut);transition:color var(--transition),border-color var(--transition)}.nav-link[data-astro-cid-xhaoqxbd]:hover{color:var(--text)}.theme-btn[data-astro-cid-xhaoqxbd]{background:none;border:0;cursor:pointer;padding:0;line-height:1}.signin[data-astro-cid-xhaoqxbd]{color:var(--accent);border-bottom:1px solid var(--accent);padding-bottom:2px}.hero[data-astro-cid-xhaoqxbd]{position:relative;min-height:min(820px,calc(90svh - 3.5rem));display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:0;padding-block:clamp(5.5rem,12vh,8rem) var(--sp-24);border-bottom:0;place-content:center}.hero[data-astro-cid-xhaoqxbd]:before{content:"";position:absolute;inset:15% 0 auto auto;width:min(38vw,30rem);height:min(38vw,30rem);pointer-events:none;border-radius:50%;background:radial-gradient(circle at 35% 35%,color-mix(in srgb,var(--accent) 22%,transparent),transparent 58%),radial-gradient(circle at 70% 72%,rgba(126,162,171,.15),transparent 62%);opacity:.72}.hero-copy[data-astro-cid-xhaoqxbd]{display:grid;justify-items:center;text-align:center;position:relative;z-index:2;width:100%;margin-inline:auto;place-items:center}.hero-copy[data-astro-cid-xhaoqxbd]>.label[data-astro-cid-xhaoqxbd]{font-family:var(--font-mono);font-size:var(--fs-label);font-weight:500;line-height:1.4;text-transform:uppercase;color:var(--text-mut)}.hero-title[data-astro-cid-xhaoqxbd]{margin-top:var(--sp-6);max-width:16ch;font-size:clamp(4.2rem,7.4vw,6.6rem);font-weight:300;line-height:.95;letter-spacing:-0.01em;color:var(--text)}.hero-copy[data-astro-cid-xhaoqxbd],.instrument[data-astro-cid-xhaoqxbd],.access-copy[data-astro-cid-xhaoqxbd],.wl-form[data-astro-cid-xhaoqxbd]{min-width:0}.hero-lead[data-astro-cid-xhaoqxbd]{margin-top:var(--sp-8);max-width:52rem;color:var(--text-soft);font-size:1.18rem;font-weight:400;line-height:1.7}.hero-cta[data-astro-cid-xhaoqxbd]{margin-top:var(--sp-8);display:flex;align-items:center;gap:var(--sp-4);justify-content:flex-start;flex-wrap:wrap}.cta[data-astro-cid-xhaoqxbd] span[data-astro-cid-xhaoqxbd]{margin-left:var(--sp-1)}.hero-note[data-astro-cid-xhaoqxbd]{max-width:18rem;line-height:1.5}.instrument[data-astro-cid-xhaoqxbd]{position:relative;z-index:1;width:100%;align-self:auto;margin-top:0;border:var(--rule);border-radius:var(--radius);padding:var(--sp-6);color:var(--text-soft);background:color-mix(in srgb,var(--bg-elev) 76%,transparent);box-shadow:none}.instrument-head[data-astro-cid-xhaoqxbd]{display:flex;justify-content:space-between;gap:var(--sp-4);align-items:center;margin-bottom:var(--sp-3)}.instrument-state[data-astro-cid-xhaoqxbd]{width:.42rem;height:.5rem;border-radius:50%;background:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 48%,var(--bg))}.proof-list[data-astro-cid-xhaoqxbd]{display:grid}.proof-row[data-astro-cid-xhaoqxbd]{display:grid;grid-template-columns:minmax(8rem,.7fr) 1.3fr;gap:var(--sp-4);padding-block:var(--sp-2);border-top:var(--rule)}.proof-row[data-astro-cid-xhaoqxbd] dt[data-astro-cid-xhaoqxbd]{font-family:var(--font-mono);font-size:var(--fs-label);letter-spacing:0;text-transform:uppercase;color:var(--text-mut)}.proof-row[data-astro-cid-xhaoqxbd] dd[data-astro-cid-xhaoqxbd]{color:var(--text);font-family:var(--font-text);font-size:1rem;font-weight:500;line-height:1.2;overflow-wrap:anywhere}.agent-console[data-astro-cid-xhaoqxbd]{margin-top:var(--sp-4);min-height:auto;display:grid;align-content:start;gap:var(--sp-4);padding:var(--sp-3) 0 0;color:var(--text);background:transparent;border-top:var(--rule);box-shadow:none}.console-top[data-astro-cid-xhaoqxbd],.console-grid[data-astro-cid-xhaoqxbd],.console-steps[data-astro-cid-xhaoqxbd] li[data-astro-cid-xhaoqxbd]{font-family:var(--font-mono);font-size:var(--fs-label)}.console-top[data-astro-cid-xhaoqxbd]{display:flex;justify-content:space-between;gap:var(--sp-4);color:var(--text-mut);text-transform:uppercase}.console-top[data-astro-cid-xhaoqxbd] span[data-astro-cid-xhaoqxbd]:last-child{color:var(--text)}.console-query[data-astro-cid-xhaoqxbd]{display:none;gap:var(--sp-3);padding-block:var(--sp-3) var(--sp-4);border-top:var(--rule);border-bottom:var(--rule)}.console-query[data-astro-cid-xhaoqxbd] span[data-astro-cid-xhaoqxbd],.console-grid[data-astro-cid-xhaoqxbd] dt[data-astro-cid-xhaoqxbd]{font-family:var(--font-mono);font-size:var(--fs-label);color:var(--text-mut);text-transform:uppercase}.console-query[data-astro-cid-xhaoqxbd] p[data-astro-cid-xhaoqxbd]{max-width:58ch;margin:0;color:var(--text);font-family:var(--font-display);font-size:1.16rem;line-height:1.28}.console-grid[data-astro-cid-xhaoqxbd]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--border);border:0;border-top:var(--rule)}.console-grid[data-astro-cid-xhaoqxbd] div[data-astro-cid-xhaoqxbd]{min-width:0;display:grid;gap:var(--sp-2);padding:var(--sp-3);background:color-mix(in srgb,var(--bg) 82%,var(--bg-elev))}.console-grid[data-astro-cid-xhaoqxbd] dd[data-astro-cid-xhaoqxbd],.console-grid[data-astro-cid-xhaoqxbd] code[data-astro-cid-xhaoqxbd]{color:var(--text);overflow-wrap:anywhere}.console-steps[data-astro-cid-xhaoqxbd]{display:none;list-style:none;border-top:0}.console-steps[data-astro-cid-xhaoqxbd] li[data-astro-cid-xhaoqxbd]{display:flex;justify-content:space-between;gap:var(--sp-4);padding-block:var(--sp-2);border-bottom:var(--rule);text-transform:uppercase}.console-steps[data-astro-cid-xhaoqxbd] span[data-astro-cid-xhaoqxbd]{color:var(--text)}.console-steps[data-astro-cid-xhaoqxbd] code[data-astro-cid-xhaoqxbd]{color:var(--accent)}.console-steps[data-astro-cid-xhaoqxbd] .is-upcoming[data-astro-cid-xhaoqxbd] span[data-astro-cid-xhaoqxbd],.console-steps[data-astro-cid-xhaoqxbd] .is-upcoming[data-astro-cid-xhaoqxbd] code[data-astro-cid-xhaoqxbd]{color:var(--text-mut)}.sec-head[data-astro-cid-xhaoqxbd]{display:grid;grid-template-columns:minmax(10rem,.28fr) minmax(0,1fr);gap:clamp(2rem,5vw,5rem);align-items:baseline;margin-bottom:clamp(2.5rem,5vw,4rem)}.examples[data-astro-cid-xhaoqxbd]{display:grid;grid-template-columns:minmax(10rem,.36fr) minmax(0,1fr);gap:clamp(2rem,5vw,5rem);padding-block:var(--section-y);border-top:var(--rule)}.examples-head[data-astro-cid-xhaoqxbd]{display:grid;align-content:start;justify-items:start;gap:var(--sp-4);text-align:left;margin:0;max-width:42rem}.examples-head[data-astro-cid-xhaoqxbd] h2[data-astro-cid-xhaoqxbd]{font-family:var(--font-display);font-size:var(--fs-h2);font-weight:400;line-height:var(--lh-tight)}.example-list[data-astro-cid-xhaoqxbd]{display:grid;list-style:none;border-top:var(--rule)}.example-card[data-astro-cid-xhaoqxbd]{display:grid;grid-template-columns:minmax(11rem,.34fr) minmax(0,1fr);gap:var(--sp-6);align-items:baseline;padding-block:var(--sp-6);border-bottom:var(--rule)}.example-card[data-astro-cid-xhaoqxbd] h3[data-astro-cid-xhaoqxbd]{font-family:var(--font-display);font-size:1.4rem;font-weight:500}.example-card[data-astro-cid-xhaoqxbd] p[data-astro-cid-xhaoqxbd]{color:var(--text-soft);margin:0}.sec-title[data-astro-cid-xhaoqxbd]{font-size:var(--fs-h2);max-width:42ch}.steps[data-astro-cid-xhaoqxbd],.caps[data-astro-cid-xhaoqxbd]{list-style:none;display:grid}.step[data-astro-cid-xhaoqxbd]{display:grid;grid-template-columns:4rem 15rem minmax(0,1fr);gap:var(--sp-6);align-items:baseline;padding-block:var(--sp-8);border-top:var(--rule)}.step[data-astro-cid-xhaoqxbd]:last-child,.cap[data-astro-cid-xhaoqxbd]:last-child,.faq-row[data-astro-cid-xhaoqxbd]:last-child{border-bottom:var(--rule)}.step-t[data-astro-cid-xhaoqxbd],.cap-t[data-astro-cid-xhaoqxbd],.faq-q[data-astro-cid-xhaoqxbd]{font-family:var(--font-display);font-size:1.4rem;font-weight:500;line-height:1.25}.step-d[data-astro-cid-xhaoqxbd],.cap-d[data-astro-cid-xhaoqxbd],.faq-a[data-astro-cid-xhaoqxbd]{color:var(--text-soft);margin:0}.cap[data-astro-cid-xhaoqxbd]{display:grid;grid-template-columns:minmax(13rem,18rem) minmax(0,1fr);gap:var(--sp-6);align-items:baseline;padding-block:var(--sp-8);border-top:var(--rule)}.cap-head[data-astro-cid-xhaoqxbd]{display:flex;align-items:baseline;gap:var(--sp-3);flex-wrap:wrap}.cap-status[data-astro-cid-xhaoqxbd]{color:var(--text-mut);padding-left:var(--sp-3);border-left:1px solid var(--border-strong);border-top:0}.access[data-astro-cid-xhaoqxbd]{display:grid;grid-template-columns:minmax(0,.8fr) minmax(19rem,.55fr);gap:clamp(2rem,7vw,6rem);align-items:end;border-top:var(--rule);padding-top:var(--sp-8)}.access-copy[data-astro-cid-xhaoqxbd]{display:grid;gap:var(--sp-6)}.wl-form[data-astro-cid-xhaoqxbd]{display:grid;gap:var(--sp-3)}.wl-input[data-astro-cid-xhaoqxbd]{min-width:0;background:transparent;color:var(--text);border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:.9rem 0;border-width:0 0 1px;border-radius:0;font-size:var(--fs-small)}.wl-input[data-astro-cid-xhaoqxbd]::placeholder{color:var(--text-mut)}.wl-input[data-astro-cid-xhaoqxbd][aria-invalid=true]{border-color:color-mix(in srgb,#b66a5d 70%,var(--border-strong))}.wl-btn[data-astro-cid-xhaoqxbd]{justify-content:flex-start;width:fit-content;cursor:pointer}.wl-btn[data-astro-cid-xhaoqxbd][disabled]{cursor:progress;color:var(--text-mut)}.wl-msg[data-astro-cid-xhaoqxbd]{min-height:1.45em;font-size:var(--fs-small);color:var(--text-soft);grid-column:2}.wl-msg[data-astro-cid-xhaoqxbd][data-state=ok],.wl-msg[data-astro-cid-xhaoqxbd][data-state=dup]{color:var(--accent)}.wl-msg[data-astro-cid-xhaoqxbd][data-state=invalid],.wl-msg[data-astro-cid-xhaoqxbd][data-state=error]{color:#c88b7d}.wl-note[data-astro-cid-xhaoqxbd]{margin-top:calc(var(--sp-2) * -1);grid-column:2}.faq[data-astro-cid-xhaoqxbd]{display:grid}.faq-row[data-astro-cid-xhaoqxbd]{display:grid;grid-template-columns:minmax(14rem,20rem) minmax(0,1fr);gap:var(--sp-6);padding-block:var(--sp-8);border-top:var(--rule)}.footer[data-astro-cid-xhaoqxbd]{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-6);padding-block:var(--sp-12);margin-top:clamp(3rem,7vh,5rem);border-top:var(--rule);flex-wrap:wrap}.foot-left[data-astro-cid-xhaoqxbd],.foot-right[data-astro-cid-xhaoqxbd]{display:flex;align-items:center;gap:var(--sp-4);flex-wrap:wrap}.foot-logo[data-astro-cid-xhaoqxbd]{height:21px;width:auto}.foot-tag[data-astro-cid-xhaoqxbd]{color:var(--text-mut);font-size:var(--fs-small)}.foot-right[data-astro-cid-xhaoqxbd]{gap:var(--sp-6)}@media (max-width: 900px){.hero[data-astro-cid-xhaoqxbd],.examples[data-astro-cid-xhaoqxbd],.access[data-astro-cid-xhaoqxbd]{grid-template-columns:1fr}.hero[data-astro-cid-xhaoqxbd]{min-height:auto;padding-block:var(--sp-16) var(--sp-12);gap:var(--sp-6)}.instrument[data-astro-cid-xhaoqxbd]{align-self:auto;margin-top:0}.wl-msg[data-astro-cid-xhaoqxbd],.wl-note[data-astro-cid-xhaoqxbd]{grid-column:auto}}@media (max-width: 720px){.nav[data-astro-cid-xhaoqxbd]{align-items:flex-start;gap:var(--sp-3);padding-block:var(--sp-4)}.wordmark[data-astro-cid-xhaoqxbd] img[data-astro-cid-xhaoqxbd]{height:21px}.nav-links[data-astro-cid-xhaoqxbd]{justify-content:flex-end;row-gap:var(--sp-3);flex-wrap:wrap;min-width:0}.nav-link[data-astro-cid-xhaoqxbd]{font-size:.6875rem}.nav-link[data-astro-cid-xhaoqxbd].optional{display:none}.hero-title[data-astro-cid-xhaoqxbd]{margin-top:1.2rem;max-width:min(21rem,100%);font-size:3.1rem;line-height:1.02}.hero-lead[data-astro-cid-xhaoqxbd]{margin-top:1.15rem;max-width:31ch;font-size:.96875rem;line-height:1.58;overflow-wrap:normal}.hero-cta[data-astro-cid-xhaoqxbd]{margin-top:var(--sp-6);align-items:center;flex-direction:column;gap:var(--sp-4)}.hero-note[data-astro-cid-xhaoqxbd]{max-width:min(18rem,100%)}.instrument[data-astro-cid-xhaoqxbd]{padding-top:var(--sp-4);padding:var(--sp-4)}.instrument-head[data-astro-cid-xhaoqxbd],.proof-list[data-astro-cid-xhaoqxbd],.console-query[data-astro-cid-xhaoqxbd]{display:none}.proof-row[data-astro-cid-xhaoqxbd]{grid-template-columns:1fr;gap:var(--sp-2)}.proof-row[data-astro-cid-xhaoqxbd] dd[data-astro-cid-xhaoqxbd]{font-size:var(--fs-h3)}.agent-console[data-astro-cid-xhaoqxbd]{min-height:auto;margin-top:0;padding:0;border-top:0}.console-top[data-astro-cid-xhaoqxbd]{display:flex;padding-bottom:var(--sp-3);border-bottom:var(--rule)}.console-grid[data-astro-cid-xhaoqxbd]{grid-template-columns:repeat(2,minmax(0,1fr))}.console-steps[data-astro-cid-xhaoqxbd]{display:none}.step[data-astro-cid-xhaoqxbd]{grid-template-columns:3rem 1fr;gap:var(--sp-4)}.step-d[data-astro-cid-xhaoqxbd]{grid-column:2}.sec-head[data-astro-cid-xhaoqxbd]{grid-template-columns:1fr;gap:var(--sp-3)}.cap[data-astro-cid-xhaoqxbd],.faq-row[data-astro-cid-xhaoqxbd]{grid-template-columns:1fr;gap:var(--sp-2)}.step-t[data-astro-cid-xhaoqxbd],.cap-t[data-astro-cid-xhaoqxbd],.faq-q[data-astro-cid-xhaoqxbd]{font-size:1.35rem}.example-card[data-astro-cid-xhaoqxbd]{grid-template-columns:1fr;gap:var(--sp-3)}.footer[data-astro-cid-xhaoqxbd]{align-items:flex-start}}

/* ===== Stage 2 enhancements — Fugu-inspired ===== */

/* Section 背景交替节奏 */
.examples[data-astro-cid-xhaoqxbd],
.section[id="capabilities"] {
  position: relative;
}
.section[id="capabilities"][data-astro-cid-xhaoqxbd]::before,
.research-trace[data-astro-cid-m6zdlxxu]::before,
.section[id="access"][data-astro-cid-xhaoqxbd]::before {
  content: "";
  position: absolute;
  inset: 0;
  background: color-mix(in srgb, var(--bg-elev) 45%, transparent);
  z-index: -1;
}

/* ===== 数据条带 stat-strip ===== */
.stat-strip[data-astro-cid-xhaoqxbd] {
  padding-block: clamp(2.5rem, 5vw, 4rem);
  border-top: var(--rule);
  border-bottom: var(--rule);
}
.stats[data-astro-cid-xhaoqxbd] {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: clamp(1.5rem, 3vw, 3rem);
  margin: 0;
}
.stat[data-astro-cid-xhaoqxbd] {
  display: grid;
  gap: .35rem;
  align-content: start;
}
.stat-label[data-astro-cid-xhaoqxbd] {
  font-family: var(--font-mono);
  font-size: var(--fs-label);
  text-transform: uppercase;
  letter-spacing: .04em;
  color: var(--text-mut);
}
.stat-value[data-astro-cid-xhaoqxbd] {
  font-family: var(--font-display);
  font-size: clamp(2.2rem, 3.6vw, 3rem);
  font-weight: 400;
  line-height: 1;
  color: var(--text);
  margin: 0;
  display: flex;
  align-items: baseline;
  gap: .5rem;
  flex-wrap: wrap;
}
.stat-suffix[data-astro-cid-xhaoqxbd] {
  font-family: var(--font-text);
  font-size: var(--fs-small);
  font-weight: 400;
  color: var(--text-soft);
  line-height: 1.3;
}

/* ===== Capabilities 精密网格 (Fugu fg-cell 风格) ===== */
.caps-grid[data-astro-cid-xhaoqxbd] {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  background: var(--border);
  border: var(--rule);
  margin-top: var(--sp-12);
}
@media (max-width: 860px) {
  .caps-grid[data-astro-cid-xhaoqxbd] { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px) {
  .caps-grid[data-astro-cid-xhaoqxbd] { grid-template-columns: 1fr; }
}
.caps-grid[data-astro-cid-xhaoqxbd] .cap[data-astro-cid-xhaoqxbd] {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--sp-3);
  padding: clamp(1.5rem, 2.5vw, 2rem) clamp(1.25rem, 2vw, 1.75rem);
  border-top: 0;
  background: var(--bg);
  align-content: start;
  transition: background var(--transition);
}
.caps-grid[data-astro-cid-xhaoqxbd] .cap[data-astro-cid-xhaoqxbd]:hover {
  background: var(--bg-elev);
}
.caps-grid[data-astro-cid-xhaoqxbd] .cap-head[data-astro-cid-xhaoqxbd] {
  display: grid;
  gap: .25rem;
}
.caps-grid[data-astro-cid-xhaoqxbd] .cap-n[data-astro-cid-xhaoqxbd] {
  font-family: var(--font-mono);
  font-size: var(--fs-label);
  letter-spacing: .06em;
  color: var(--accent);
  text-transform: uppercase;
}
.caps-grid[data-astro-cid-xhaoqxbd] .cap-t[data-astro-cid-xhaoqxbd] {
  font-size: 1.2rem;
  line-height: 1.25;
}
.caps-grid[data-astro-cid-xhaoqxbd] .cap-d[data-astro-cid-xhaoqxbd] {
  font-size: .95rem;
  line-height: 1.6;
  color: var(--text-soft);
}

/* ===== Hero instrument 增强动效 ===== */
.instrument-state[data-astro-cid-xhaoqxbd] {
  position: relative;
  animation: ev-pulse 2.4s cubic-bezier(.4, 0, .6, 1) infinite;
}
.instrument-state[data-astro-cid-xhaoqxbd]::after {
  content: "";
  position: absolute;
  inset: -3px;
  border-radius: 50%;
  border: 1px solid var(--accent);
  opacity: 0;
  animation: ev-ring 2.4s cubic-bezier(.4, 0, .6, 1) infinite;
}
@keyframes ev-pulse {
  0%, 100% { box-shadow: 0 0 0 0 color-mix(in srgb, var(--accent) 50%, transparent); }
  50% { box-shadow: 0 0 0 4px color-mix(in srgb, var(--accent) 15%, transparent); }
}
@keyframes ev-ring {
  0% { transform: scale(.6); opacity: .8; }
  100% { transform: scale(2.2); opacity: 0; }
}

/* Hero CTA 次级引导 */
.hero-cta[data-astro-cid-xhaoqxbd] .cta-secondary {
  color: var(--text-soft);
  text-decoration: underline;
  text-decoration-color: var(--border-strong);
  text-underline-offset: 4px;
  font-size: var(--fs-small);
  transition: color var(--transition);
}
.hero-cta[data-astro-cid-xhaoqxbd] .cta-secondary:hover {
  color: var(--text);
}

/* 尊重 reduced motion */
@media (prefers-reduced-motion: reduce) {
  .instrument-state[data-astro-cid-xhaoqxbd],
  .instrument-state[data-astro-cid-xhaoqxbd]::after {
    animation: none;
  }
}

/* 移动端数据条带适配 */
@media (max-width: 720px) {
  .stats[data-astro-cid-xhaoqxbd] {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem;
  }
  .stat-value[data-astro-cid-xhaoqxbd] {
    font-size: 2rem;
  }
}

/* ===== Stage 3: nav线拉满 + hero文案层级 + 备案号 ===== */

/* nav 分隔线拉满屏幕宽度(伪元素绕过 container max-width) */
.nav[data-astro-cid-xhaoqxbd]::after{
  content:"";
  position:absolute;
  left:50%;
  right:50%;
  bottom:0;
  width:100vw;
  margin-left:-50vw;
  margin-right:-50vw;
  border-bottom:1px solid var(--border);
  pointer-events:none;
}
.nav[data-astro-cid-xhaoqxbd]{position:sticky}

/* hero 品牌名 Evolrix 放大为主标题 */
.hero-title[data-astro-cid-xhaoqxbd]{
  max-width:none;
  white-space:nowrap;
  font-size:clamp(2.8rem, 5.6vw, 5rem);
  line-height:1;
  letter-spacing:-0.02em;
}

/* hero 副标题(An AI scientist for biology)降级,小于品牌名 */
.hero-subtitle[data-astro-cid-xhaoqxbd]{
  margin-top:var(--sp-5);
  font-family:var(--font-display);
  font-size:clamp(1.6rem, 2.6vw, 2.4rem);
  font-weight:400;
  line-height:1.15;
  color:var(--text-soft);
  letter-spacing:-0.01em;
}

/* lead 介绍文字适当收敛,层级低于副标题 */
.hero-lead[data-astro-cid-xhaoqxbd]{
  margin-top:var(--sp-6);
  font-size:1.05rem;
}

/* 移动端 Evolrix 字号适配 */
@media (max-width:720px){
  .hero-title[data-astro-cid-xhaoqxbd]{
    font-size:clamp(2rem, 9vw, 2.8rem);
    margin-top:1rem;
    max-width:100%;
  }
  .hero-subtitle[data-astro-cid-xhaoqxbd]{
    font-size:1.5rem;
  }
}

/* 备案号链接样式(与正文链接区分,略弱) */
.icp-beian-link[data-astro-cid-xhaoqxbd]{
  color:var(--text-mut);
  border-bottom:1px solid var(--border);
  font-size:var(--fs-label);
}
.icp-beian-link[data-astro-cid-xhaoqxbd]:hover{
  color:var(--text);
  border-color:var(--text-soft);
}

/* 覆盖旧 agent-viz 样式,改为高级架构图可视化 */
.agent-viz{
  position:relative;
  width:100%;
  max-width:480px;
  margin:0 auto;
  border:var(--rule);
  border-radius:var(--radius);
  background:linear-gradient(180deg,color-mix(in srgb,var(--bg-elev) 90%,transparent) 0%,color-mix(in srgb,var(--bg) 96%,transparent) 100%);
  padding:0;
  overflow:hidden;
  box-shadow:0 1px 2px color-mix(in srgb,var(--text) 4%,transparent),0 4px 8px color-mix(in srgb,var(--text) 4%,transparent),0 12px 24px -8px color-mix(in srgb,var(--text) 10%,transparent),0 24px 48px -16px color-mix(in srgb,var(--text) 14%,transparent);
}
.agent-viz svg{width:100%;height:auto;display:block}

/* 架构分层 */
.arch-layer{fill:none}
.arch-layer-bg{fill:color-mix(in srgb,var(--text) 2%,transparent)}
.arch-layer-label{font-family:var(--font-mono);font-size:7px;fill:var(--text-mut);text-transform:uppercase;letter-spacing:.1em;font-weight:500}

/* 输入查询条 */
.arch-query{fill:color-mix(in srgb,var(--accent) 8%,transparent);stroke:var(--accent);stroke-width:.8;opacity:.9}
.arch-query-text{font-family:var(--font-mono);font-size:7.5px;fill:var(--text)}

/* 中央 orchestrator */
.arch-orch-box{fill:var(--text);stroke:none}
.arch-orch-label{font-family:var(--font-mono);font-size:9px;font-weight:600;fill:var(--bg);text-transform:uppercase;letter-spacing:.12em}
.arch-orch-sub{font-family:var(--font-mono);font-size:6px;fill:color-mix(in srgb,var(--bg) 60%,transparent);text-transform:uppercase;letter-spacing:.08em}
.arch-orch-glow{fill:var(--accent);opacity:0;animation:orch-glow 3s ease-in-out infinite}
@keyframes orch-glow{
  0%,100%{opacity:0}
  50%{opacity:.18}
}

/* 工具卡片 */
.arch-tool{fill:var(--bg);stroke:var(--border);stroke-width:1}
.arch-tool-icon{fill:var(--text-soft);opacity:.7}
.arch-tool-name{font-family:var(--font-mono);font-size:7px;fill:var(--text);font-weight:500}
.arch-tool-val{font-family:var(--font-mono);font-size:6.5px;fill:var(--text-mut)}
.arch-tool-active .arch-tool{stroke:var(--accent);stroke-width:1.2}
.arch-tool-active .arch-tool-icon{fill:var(--accent);opacity:1}
.arch-tool-active .arch-tool-name{fill:var(--accent)}
.arch-tool-pulse{fill:var(--accent);opacity:0}
.arch-tool:nth-child(1) .arch-tool-pulse{animation:tool-fire 4s ease-out infinite .5s}
.arch-tool:nth-child(2) .arch-tool-pulse{animation:tool-fire 4s ease-out infinite 1.5s}
.arch-tool:nth-child(3) .arch-tool-pulse{animation:tool-fire 4s ease-out infinite 2.5s}
.arch-tool:nth-child(4) .arch-tool-pulse{animation:tool-fire 4s ease-out infinite 3.5s}
@keyframes tool-fire{
  0%{opacity:.5;transform:scale(1)}
  100%{opacity:0;transform:scale(1.8)}
}

/* 数据流连线 */
.arch-flow{stroke:var(--border-strong);stroke-width:1;fill:none;stroke-dasharray:2 3;opacity:.5}
.arch-flow-active{stroke:var(--accent);stroke-width:1.5;fill:none;stroke-dasharray:4 6;opacity:0}
.arch-flow-active:nth-of-type(1){animation:flow-stream 4s linear infinite .5s}
.arch-flow-active:nth-of-type(2){animation:flow-stream 4s linear infinite 1.5s}
.arch-flow-active:nth-of-type(3){animation:flow-stream 4s linear infinite 2.5s}
.arch-flow-active:nth-of-type(4){animation:flow-stream 4s linear infinite 3.5s}
@keyframes flow-stream{
  0%,10%{opacity:0;stroke-dashoffset:0}
  15%,55%{opacity:.75}
  65%,100%{opacity:0;stroke-dashoffset:-20}
}

/* 输出结果 */
.arch-output{fill:color-mix(in srgb,var(--accent) 10%,transparent);stroke:var(--accent);stroke-width:1}
.arch-output-label{font-family:var(--font-mono);font-size:7px;fill:var(--accent);font-weight:600;text-transform:uppercase;letter-spacing:.08em}
.arch-output-val{font-family:var(--font-display);font-size:18px;font-weight:500;fill:var(--text)}
.arch-output-unit{font-family:var(--font-mono);font-size:7px;fill:var(--text-mut)}

/* 顶部状态栏 */
.viz-topbar{fill:none}
.viz-dots circle{fill:var(--text-mut);opacity:.4}
.viz-dots circle:first-child{fill:var(--accent);opacity:.9;animation:status-blink 1.6s ease-in-out infinite}
.viz-title{font-family:var(--font-mono);font-size:7px;fill:var(--text-mut);text-transform:uppercase;letter-spacing:.1em}
.viz-badge{font-family:var(--font-mono);font-size:6px;fill:var(--accent);text-transform:uppercase;letter-spacing:.08em}
@keyframes status-blink{0%,100%{opacity:.4}50%{opacity:1}}

/* 底部 provenance */
.viz-prov{font-family:var(--font-mono);font-size:6px;fill:var(--text-mut);text-transform:uppercase;letter-spacing:.06em}
.viz-prov-dot{fill:var(--accent);opacity:.8}

/* 数据粒子(沿主流向运动) */
.arch-particle{fill:var(--accent);opacity:0}

@media (prefers-reduced-motion:reduce){
  .arch-orch-glow,.arch-tool-pulse,.arch-flow-active,.viz-dots circle:first-child,.arch-particle{animation:none}
  .arch-flow-active{opacity:.3}
}

@media (max-width:720px){
  .agent-viz{max-width:340px}
}

/* ===== Hero canvas 容器 (p5.js 生成式视觉) ===== */

.hero[data-astro-cid-xhaoqxbd]{position:relative;overflow:hidden}
.hero-copy[data-astro-cid-xhaoqxbd]{position:relative;z-index:2}
.hero .agent-viz,.hero 

/* ===== Scroll-reveal (enabled via _astro/reveal.js) ===== */
.reveal{
  opacity:0;
  transform:translateY(18px);
  transition:opacity .6s cubic-bezier(.2,.6,.2,1),transform .6s cubic-bezier(.2,.6,.2,1);
}
.reveal.is-in{opacity:1;transform:none}

@media (prefers-reduced-motion:reduce){
  .reveal{opacity:1;transform:none;transition:none}
}

/* footer 文字 logo (替代老图标) */
.foot-mark[data-astro-cid-xhaoqxbd]{
  font-family:var(--font-wordmark);
  font-weight:300;
  font-size:1.1rem;
  letter-spacing:0.18em;
  text-transform:uppercase;
  color:var(--text);
  line-height:1;
}

/* 小屏允许标题换行,桌面强制一行 */
@media (max-width:680px){
  .hero-title[data-astro-cid-xhaoqxbd]{white-space:normal;max-width:100%}
}


/* 全局 ev-header + tk-nav-cta（所有页面共享）*/
.ev-header{position:sticky;top:0;z-index:50;background:var(--paper);contain:layout paint}
.ev-header-inner{max-width:1424px;margin:0 auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between;gap:24px;height:60px}
.ev-header-left{display:flex;align-items:center;gap:32px}
.ev-header-nav{display:flex;align-items:center;gap:24px}
.ev-header-right{display:flex;align-items:center;gap:24px}
.ev-header .nav-link{color:var(--gray-6);font-size:14px;font-weight:500;text-decoration:none;padding:8px 0;transition:color 0.15s;display:inline-flex;align-items:center;line-height:1}
.ev-header .nav-link:hover{color:var(--ink)}
.ev-header .theme-btn{color:var(--gray-6);font-size:16px;padding:8px 0;line-height:1;background:none;border:0;cursor:pointer;transition:color 0.15s}
.ev-header .theme-btn:hover{color:var(--ink)}
.ev-header .wordmark{color:var(--ink);font-weight:700;font-family:"Inter",sans-serif;font-size:1.15rem;letter-spacing:-0.01em;text-decoration:none}
.tk-nav-cta{display:inline-flex;align-items:center;padding:7px 16px;border-radius:9999px;background:var(--ink);color:var(--paper);font-size:13px;font-weight:500;text-decoration:none;transition:opacity 0.15s;font-family:inherit;line-height:1}
.tk-nav-cta:hover{opacity:0.85}
[data-theme="dark"] .tk-nav-cta{background:var(--paper);color:var(--ink)}
.ev-footer{padding:0 0 48px;font-family:"Hanken Grotesk","Inter",-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;background:#ffffff}
[data-theme="dark"] .ev-footer{background:#0d0d0d}
.ev-footer-inner{max-width:1424px;margin:0 auto;padding:56px 24px 32px;display:flex;flex-direction:column;gap:40px;border-top:1px solid var(--gray-2)}
.ev-footer-copy{font-size:13px;color:var(--gray-5);font-weight:500}
.ev-footer-links{display:flex;gap:24px;flex-wrap:wrap;justify-content:center}
.ev-footer-links a{font-size:13px;color:var(--gray-5);text-decoration:none;font-family:inherit;transition:color 0.15s}
.ev-footer-links a:hover{color:var(--ink)}

/* Footer brand column */
.ev-footer-brand{display:flex;flex-direction:column;gap:10px;max-width:220px;flex-shrink:0}
.ev-footer-brand .wordmark{font-size:1.35rem;font-weight:700;font-family:"Hanken Grotesk","Inter",sans-serif;color:var(--ink);letter-spacing:-0.02em;text-decoration:none;line-height:1}
[data-theme="dark"] .ev-footer-brand .wordmark{color:var(--paper)}
.ev-footer-tag{font-size:13px;color:var(--gray-5);line-height:1.5;margin:0}

/* Footer columns: brand left + 3 link columns, space-between */
.ev-footer-cols{display:flex;justify-content:space-between;gap:32px;flex-wrap:wrap;align-items:flex-start}
.ev-footer-col{display:flex;flex-direction:column;gap:4px;min-width:100px}
.ev-footer-col-title{font-family:"IBM Plex Mono","SFMono-Regular",ui-monospace,monospace;font-size:11px;font-weight:500;letter-spacing:0.08em;text-transform:uppercase;color:var(--gray-4);margin:0 0 8px}
.ev-footer-col a{font-size:14px;color:var(--gray-6);text-decoration:none;transition:color 0.15s;line-height:2.0}
.ev-footer-col a:hover{color:var(--ink)}
[data-theme="dark"] .ev-footer-col a{color:var(--gray-5)}
[data-theme="dark"] .ev-footer-col a:hover{color:var(--paper)}

/* Footer bottom row: copyright left, links right */
.ev-footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:24px;border-top:1px solid var(--gray-2)}
.ev-footer-bottom-links{display:flex;gap:16px;flex-wrap:wrap;align-items:center}
.ev-footer-bottom-links a{font-size:12px;color:var(--gray-5);text-decoration:none;transition:color 0.15s}
.ev-footer-bottom-links a:hover{color:var(--ink)}
[data-theme="dark"] .ev-footer-bottom-links a:hover{color:var(--paper)}
@media(max-width:720px){
  .ev-footer-cols{flex-direction:column;gap:32px}
  .ev-footer-brand{max-width:none}
  .ev-footer-bottom{flex-direction:column;align-items:flex-start;gap:12px}
}
@media(max-width:480px){
  .ev-footer-inner{padding:40px 16px 24px}
}

/* ===== Phase B: Layout rhythm utilities ===== */
.ev-section--alt{background:var(--gray-1)}
[data-theme="dark"] .ev-section--alt{background:var(--gray-1)}
.ev-wrap--narrow{max-width:760px}
.ev-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-top:32px}
.ev-stat-grid .ev-card{background:var(--gray-1);border:1px solid var(--gray-2);border-radius:12px;padding:28px 24px;transition:transform .2s cubic-bezier(.2,.6,.2,1),box-shadow .2s cubic-bezier(.2,.6,.2,1)}
[data-theme="dark"] .ev-stat-grid .ev-card{background:var(--gray-1);border-color:var(--gray-3)}
.ev-stat-grid .ev-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,.06)}
[data-theme="dark"] .ev-stat-grid .ev-card:hover{box-shadow:0 8px 24px rgba(0,0,0,.3)}
.ev-stat-grid .ev-card-body{padding:0}
@media(max-width:768px){.ev-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.ev-stat-grid{grid-template-columns:1fr}}

/* ===== Phase C: Interaction feedback ===== */
.ev-btn{transition:opacity .15s,transform .2s cubic-bezier(.2,.6,.2,1),box-shadow .2s cubic-bezier(.2,.6,.2,1)}
.ev-btn-primary:hover{opacity:1;transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,.1)}
.ev-btn-secondary:hover{background:var(--gray-1);transform:translateY(-1px);box-shadow:0 2px 8px rgba(0,0,0,.06)}
[data-theme="dark"] .ev-btn-primary:hover{box-shadow:0 4px 12px rgba(0,0,0,.4)}
[data-theme="dark"] .ev-btn-secondary:hover{box-shadow:0 2px 8px rgba(0,0,0,.3)}

.ev-card{transition:transform .2s cubic-bezier(.2,.6,.2,1),box-shadow .2s cubic-bezier(.2,.6,.2,1)}
.ev-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,.06)}
[data-theme="dark"] .ev-card:hover{box-shadow:0 8px 24px rgba(0,0,0,.3)}

.ri-item{transition:background .15s,transform .2s cubic-bezier(.2,.6,.2,1)}
.ri-item-clickable{cursor:pointer;display:block;text-decoration:none;color:inherit}
.ri-item-clickable:hover{transform:translateY(-1px)}

/* focus-visible unified for ev-page */
.ev-page a:focus-visible,.ev-page button:focus-visible,.ev-page input:focus-visible,.ev-page summary:focus-visible{outline:2px solid var(--ink);outline-offset:2px;border-radius:2px}
[data-theme="dark"] .ev-page a:focus-visible,[data-theme="dark"] .ev-page button:focus-visible,[data-theme="dark"] .ev-page input:focus-visible,[data-theme="dark"] .ev-page summary:focus-visible{outline-color:var(--paper)}

/* ===== Phase E: Polish ===== */
html{scroll-behavior:smooth}
.ev-header .theme-btn{min-width:40px;min-height:40px;display:inline-flex;align-items:center;justify-content:center}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
