@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/inter-cyrillic-ext.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/inter-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/inter-greek-ext.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/inter-greek.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/inter-vietnamese.woff2) format("woff2");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:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/inter-latin-ext.woff2) format("woff2");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:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/inter-latin.woff2) format("woff2");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:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/inter-cyrillic-ext.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/inter-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/inter-greek-ext.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/inter-greek.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/inter-vietnamese.woff2) format("woff2");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:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/inter-latin-ext.woff2) format("woff2");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:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/inter-latin.woff2) format("woff2");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:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/inter-cyrillic-ext.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/inter-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/inter-greek-ext.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/inter-greek.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/inter-vietnamese.woff2) format("woff2");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:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/inter-latin-ext.woff2) format("woff2");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:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/inter-latin.woff2) format("woff2");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:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/inter-cyrillic-ext.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/inter-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/inter-greek-ext.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/inter-greek.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/inter-vietnamese.woff2) format("woff2");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:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/inter-latin-ext.woff2) format("woff2");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:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/inter-latin.woff2) format("woff2");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:Inter;font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/inter-cyrillic-ext.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/inter-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/inter-greek-ext.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/inter-greek.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/inter-vietnamese.woff2) format("woff2");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:Inter;font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/inter-latin-ext.woff2) format("woff2");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:Inter;font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/inter-latin.woff2) format("woff2");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:Inter;font-style:normal;font-weight:900;font-display:swap;src:url(/fonts/inter-cyrillic-ext.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:900;font-display:swap;src:url(/fonts/inter-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:900;font-display:swap;src:url(/fonts/inter-greek-ext.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-weight:900;font-display:swap;src:url(/fonts/inter-greek.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-weight:900;font-display:swap;src:url(/fonts/inter-vietnamese.woff2) format("woff2");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:Inter;font-style:normal;font-weight:900;font-display:swap;src:url(/fonts/inter-latin-ext.woff2) format("woff2");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:Inter;font-style:normal;font-weight:900;font-display:swap;src:url(/fonts/inter-latin.woff2) format("woff2");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:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/jetbrains-mono-cyrillic-ext.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/jetbrains-mono-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/jetbrains-mono-greek.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/jetbrains-mono-vietnamese.woff2) format("woff2");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:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/jetbrains-mono-latin-ext.woff2) format("woff2");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:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/jetbrains-mono-latin.woff2) format("woff2");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:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/jetbrains-mono-cyrillic-ext.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/jetbrains-mono-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/jetbrains-mono-greek.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/jetbrains-mono-vietnamese.woff2) format("woff2");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:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/jetbrains-mono-latin-ext.woff2) format("woff2");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:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/jetbrains-mono-latin.woff2) format("woff2");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}:root{--color-paper: oklch(100% 0 0);--color-surface: oklch(97% .015 245);--color-surface-raised: oklch(99% .005 245);--color-border: oklch(91% .02 245);--color-border-subtle: oklch(95% .01 245);--color-text: oklch(16% .01 245);--color-text-muted: oklch(52% .02 240);--color-text-disabled: oklch(72% .01 245);--color-accent: oklch(50% .26 245);--color-accent-hover: oklch(46% .28 245);--color-accent-light: oklch(75% .15 245);--color-accent-subtle: oklch(96% .03 245);--color-accent-text: oklch(100% 0 0);--color-warm: oklch(68% .13 55);--color-warm-hover: oklch(76% .11 58);--color-warm-subtle: oklch(96% .025 65);--color-warm-text: oklch(30% .08 55);--color-abbyy: oklch(50% .22 27);--color-abbyy-subtle: oklch(96% .02 27);--color-success: oklch(60% .18 155);--color-error: oklch(55% .22 25);--color-warning: oklch(72% .16 70);--color-focus: oklch(55% .26 245 / .5);--color-code-bg: oklch(97% .015 245);--color-code-border: oklch(88% .04 245);--surface-page: var(--color-paper);--surface-card: var(--color-paper);--surface-sunken: var(--color-surface);--text-body: var(--color-text);--text-soft: var(--color-text-muted);--border-default: var(--color-border)}:root{--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--weight-regular: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--weight-extra: 800;--weight-black: 900;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--text-5xl: 3rem;--text-6xl: 3.75rem;--text-display-s: clamp(2.5rem, 5vw + .75rem, 4.5rem);--text-display: clamp(4rem, 14vw + 1rem, 10rem);--leading-tight: 1.1;--leading-snug: 1.25;--leading-normal: 1.5;--leading-relaxed: 1.65;--tracking-display: -.03em;--tracking-heading: -.02em;--tracking-normal: 0;--tracking-wide: .02em;--tracking-label: .08em}:root{--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--space-24: 6rem;--space-32: 8rem;--space-40: 10rem;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 9999px;--layout-max: 1200px;--layout-prose: 65ch;--layout-gutter: clamp(1.5rem, 4vw, 4rem)}:root{--shadow-sm: 0 1px 3px oklch(16% .01 245 / .08);--shadow-md: 0 4px 16px oklch(16% .01 245 / .1);--shadow-lg: 0 10px 40px oklch(16% .01 245 / .12);--shadow-accent: 0 0 28px oklch(50% .26 245 / .2);--shadow-card: 0 1px 4px oklch(16% .01 245 / .06), 0 4px 16px oklch(16% .01 245 / .06);--shadow-nav: 0 1px 2px oklch(16% .01 245 / .04), 0 8px 32px oklch(16% .01 245 / .1)}:root{--ease-out: cubic-bezier(0, 0, .2, 1);--ease-in: cubic-bezier(.4, 0, 1, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--duration-fast: .1s;--duration-base: .2s;--duration-slow: .35s;--duration-xslow: .5s;--transition-base: all var(--duration-base) var(--ease-out)}*,*:before,*:after{box-sizing:border-box}html,body{overflow-x:clip}body{margin:0;font-family:var(--font-sans);font-size:var(--text-base);font-weight:var(--weight-regular);line-height:var(--leading-normal);color:var(--color-text);background:var(--color-paper);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3,h4,h5,h6{font-family:var(--font-sans);font-weight:var(--weight-bold);letter-spacing:var(--tracking-heading);line-height:var(--leading-tight);color:var(--color-text);margin:0;text-wrap:balance}p{margin:0;text-wrap:pretty}a{color:var(--color-accent);text-decoration:none;transition:color var(--duration-base) var(--ease-out)}a:not(.btn):hover{color:var(--color-accent-hover)}p a:not(.btn){text-decoration:underline;text-underline-offset:3px}code,pre,kbd,samp{font-family:var(--font-mono);font-size:.9em}::selection{background:var(--color-accent-subtle)}:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}button{font-family:inherit}.hover-accent:hover{background:var(--color-accent-hover)}.hover-surface:hover{background:var(--color-surface)}.hover-card:hover{border-color:var(--color-accent-light);box-shadow:var(--shadow-md)}.container{max-width:var(--layout-max);margin:0 auto;padding:0 var(--layout-gutter)}.container-prose{max-width:var(--layout-prose);margin:0 auto}.gutter{padding:0 var(--layout-gutter)}.section{padding:var(--space-24) 0}.section-compact{padding:var(--space-16) 0}.nav-bar{position:sticky;top:var(--space-4);z-index:50;display:flex;justify-content:center;padding:0 var(--layout-gutter)}.nav-container{display:flex;align-items:center;gap:var(--space-6);background:color-mix(in oklch,var(--color-paper) 78%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid var(--color-border);border-radius:var(--radius-full);box-shadow:var(--shadow-nav);padding:10px 12px 10px 22px}.nav-logo{height:28px;width:auto;display:block;flex-shrink:0}.nav-menu{display:flex;gap:var(--space-1);align-items:center}.nav-menu .btn{display:none}.nav-link{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text-muted);padding:8px 14px;border-radius:var(--radius-full);transition:var(--transition-base);cursor:pointer}.nav-link:hover{color:var(--color-text);background:var(--color-surface)}.nav-link-disabled{color:var(--color-text-disabled);cursor:default}.nav-link-disabled:hover{background:transparent}.hero-section{max-width:var(--layout-max);margin:0 auto;padding:var(--space-24) var(--layout-gutter) var(--space-16);text-align:center;display:flex;flex-direction:column;align-items:center;gap:var(--space-6)}.hero-content{display:flex;flex-direction:column;align-items:center;gap:var(--space-3)}.hero-split{display:flex;flex-direction:column;align-items:center;gap:var(--space-10);width:100%}.hero-copy{display:flex;flex-direction:column;align-items:center;gap:var(--space-6)}@media(max-width:899px){.hero-visual{display:none}}.hero-visual{margin:0;width:100%;max-width:560px;position:relative}.motion-toggle{display:block;margin:var(--space-2) auto 0;padding:4px 10px;background:none;border:1px solid var(--color-border);border-radius:var(--radius-full);font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-muted);cursor:pointer;transition:var(--transition-base)}.motion-toggle:hover{color:var(--color-text);border-color:var(--color-text-muted)}.motion-toggle[hidden]{display:none}.hero-visual img{display:block;width:100%;height:auto}@media(min-width:900px){.hero-split{flex-direction:row;align-items:flex-start;justify-content:center;gap:var(--space-12)}.hero-copy{flex:1 1 0;align-items:flex-start;text-align:left;max-width:34rem}.hero-copy .hero-title{max-width:none}.hero-copy .hero-form{justify-content:flex-start}.hero-visual{flex:0 1 46%;max-width:440px}}@media(min-width:900px){.hero-copy .hero-stats{width:100%;justify-content:flex-start;flex-wrap:nowrap;gap:var(--space-8)}.hero-copy .hero-stats .hero-content{flex:1 1 0;align-items:flex-start;text-align:left}}.hero-title{font-size:clamp(2.25rem,4vw + .5rem,3.5rem);font-weight:var(--weight-extra);letter-spacing:var(--tracking-display);line-height:1.08;margin:0;max-width:24ch;text-wrap:balance}.hero-stat{font-size:var(--text-4xl);font-weight:var(--weight-extra);letter-spacing:var(--tracking-display);line-height:1;margin:0}.hero-subtitle{font-size:var(--text-xl);color:var(--color-text-muted);line-height:var(--leading-snug);margin:0}.hero-form{display:flex;gap:var(--space-2);flex-wrap:wrap;justify-content:center;margin-top:var(--space-2);width:100%;max-width:460px}.feature-section{max-width:var(--layout-max);margin:0 auto;padding:var(--space-24) var(--layout-gutter) var(--space-16)}.feature-section-title{text-align:center;margin-bottom:var(--space-12)}.feature-card{background:var(--color-paper);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-4);transition:var(--transition-base)}.feature-card:hover{border-color:var(--color-accent-light);box-shadow:var(--shadow-md)}.feature-icon{width:44px;height:44px;border-radius:var(--radius-md);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.feature-icon.accent{background:var(--color-accent-subtle);color:var(--color-accent)}.feature-icon.warm{background:var(--color-warm-subtle);color:var(--color-warm-text)}.feature-icon.success{background:color-mix(in oklch,var(--color-success) 12%,transparent);color:var(--color-success)}.feature-icon.github{background:var(--color-text);color:var(--color-paper)}.feature-card h3{font-size:var(--text-lg);font-weight:var(--weight-bold);margin:0}.feature-card p{font-size:var(--text-base);color:var(--color-text-muted);line-height:var(--leading-relaxed);margin:0}.hero-stats{display:flex;flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:var(--space-10);list-style:none;margin:0;padding:0}.footnote-link{color:var(--color-accent);text-decoration:underline;text-underline-offset:.2em}.stat-footnote{font-size:.4em;vertical-align:super;margin-left:2px}.pricing-grid{display:grid;gap:var(--space-6);grid-template-columns:1fr;list-style:none;margin:0;padding:0}@media(min-width:480px){.pricing-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.pricing-grid{grid-template-columns:repeat(4,1fr)}}.pricing-card--featured{position:relative;border-color:var(--color-accent);box-shadow:var(--shadow-accent)}@media(min-width:1024px){.pricing-card--featured{transform:translateY(calc(var(--space-2) * -1))}}.pricing-card--enterprise{flex-direction:column;align-items:flex-start}@media(min-width:768px){.pricing-card--enterprise{flex-direction:row;align-items:center}}.btn-dark{background:var(--color-text);color:var(--color-paper);border-color:var(--color-text)}.btn-dark:hover:not(:disabled){background:#1e2226;color:var(--color-paper)}.footer{padding:var(--space-12) var(--layout-gutter);border-top:1px solid var(--color-border-subtle);text-align:center;color:var(--color-text-muted);font-size:var(--text-sm)}.footer-content{max-width:var(--layout-max);margin:0 auto}.label-uppercase{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:var(--tracking-label);font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--color-accent)}.label-warm{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:var(--tracking-label);font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--color-warm)}.heading-1{font-size:var(--text-5xl);font-weight:var(--weight-extra);letter-spacing:var(--tracking-heading);line-height:var(--leading-tight)}.heading-2{font-size:var(--text-4xl);font-weight:var(--weight-extra);letter-spacing:var(--tracking-heading);line-height:var(--leading-tight)}.heading-3{font-size:var(--text-lg);font-weight:var(--weight-bold);letter-spacing:var(--tracking-heading);line-height:var(--leading-tight)}.subtitle-lg{font-size:var(--text-xl);color:var(--color-text-muted);line-height:var(--leading-snug)}.subtitle-base{font-size:var(--text-base);color:var(--color-text-muted);line-height:var(--leading-relaxed)}.body-muted{font-size:var(--text-sm);color:var(--color-text-muted);line-height:var(--leading-relaxed)}.body-small{font-size:var(--text-xs);color:var(--color-text);line-height:var(--leading-normal)}.mono-label{font-family:var(--font-mono);font-size:var(--text-sm);font-weight:var(--weight-regular)}.mono-label-accent{font-family:var(--font-mono);font-size:var(--text-sm);font-weight:var(--weight-regular);color:var(--color-accent)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);font-weight:var(--weight-semibold);line-height:1;white-space:nowrap;border-radius:var(--radius-full);border:1px solid transparent;cursor:pointer;padding:15px 28px;font-size:var(--text-base);transition:var(--transition-base);font-family:var(--font-sans);text-decoration:none}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--color-accent);color:var(--color-accent-text)}.btn-primary:hover:not(:disabled){background:var(--color-accent-hover);color:var(--color-accent-text)}.btn-secondary{background:var(--color-paper);color:var(--color-text);border-color:var(--color-border)}.btn-secondary:hover:not(:disabled){background:var(--color-surface);border-color:var(--color-border);color:var(--color-text)}.btn-ghost{background:transparent;color:var(--color-accent);border:1px solid var(--color-accent)}.btn-ghost:hover:not(:disabled){background:var(--color-accent-subtle);color:var(--color-accent)}.btn-sm{padding:8px 16px;font-size:var(--text-sm)}.btn-lg{padding:20px 40px;font-size:var(--text-lg)}.btn-icon{width:44px;height:44px;padding:0;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center}.badge{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);font-weight:var(--weight-semibold);line-height:1;padding:7px 14px;border-radius:var(--radius-full);background:var(--color-accent-subtle);color:var(--color-accent)}.badge-accent{background:var(--color-accent-subtle);color:var(--color-accent)}.badge-warm{background:var(--color-warm-subtle);color:var(--color-warm-text)}.badge-abbyy{background:var(--color-abbyy-subtle);color:var(--color-abbyy)}.tab-container{display:flex;flex-direction:column;gap:var(--space-6)}.tab-buttons{display:flex;gap:var(--space-2);border-bottom:1px solid var(--color-border-subtle);overflow-x:auto}.tab-button{padding:var(--space-3) var(--space-4);border:none;background:transparent;color:var(--color-text-muted);font-weight:var(--weight-medium);font-size:var(--text-sm);cursor:pointer;transition:var(--transition-base);border-bottom:2px solid transparent;white-space:nowrap}.tab-button:hover{color:var(--color-text)}.tab-button.active{color:var(--color-accent);border-bottom-color:var(--color-accent)}.tab-panel{display:none}.tab-panel.active{display:block}.code-block{margin:0;background:var(--color-code-bg);border:1px solid var(--color-code-border);border-radius:var(--radius-md);padding:var(--space-4) var(--space-5);font-family:var(--font-mono);font-size:var(--text-sm);line-height:var(--leading-normal);color:var(--color-text);white-space:pre-wrap;overflow-wrap:anywhere;text-align:left}.code-block-dark{background:var(--color-text);color:var(--color-code-bg)}.code-inline{font-family:var(--font-mono);font-size:.9em;color:var(--color-accent)}.form-group{display:flex;flex-direction:column;gap:var(--space-2)}.form-label{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-text)}.form-input{font-family:var(--font-sans);font-size:var(--text-base);color:var(--color-text);background:var(--color-paper);border:1px solid var(--color-border);border-radius:var(--radius-full);padding:13px var(--space-5);transition:var(--transition-base)}.form-input:focus{outline:2px solid var(--color-focus);outline-offset:2px;border-color:var(--color-accent)}.form-input::placeholder{color:var(--color-text-muted)}.form-textarea{font-family:var(--font-sans);font-size:var(--text-base);color:var(--color-text);background:var(--color-paper);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);transition:var(--transition-base);resize:vertical}.form-textarea:focus{outline:2px solid var(--color-focus);outline-offset:2px;border-color:var(--color-accent)}.grid-auto{display:grid;grid-template-columns:repeat(auto-fit,minmax(var(--grid-min, 260px),1fr));gap:var(--grid-gap, var(--space-6))}.grid-2col{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-6)}.grid-3col{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--space-4)}.grid-cols-1{grid-template-columns:1fr}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}.grid-cols-4{grid-template-columns:repeat(4,1fr)}.flex{display:flex}.flex-col{display:flex;flex-direction:column}.flex-center{display:flex;align-items:center;justify-content:center}.flex-between{display:flex;align-items:center;justify-content:space-between}.flex-start{display:flex;align-items:flex-start}.flex-end{display:flex;align-items:flex-end}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.justify-start{justify-content:flex-start}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.gap-6{gap:var(--space-6)}.gap-8{gap:var(--space-8)}.gap-12{gap:var(--space-12)}.p-2{padding:var(--space-2)}.p-3{padding:var(--space-3)}.p-4{padding:var(--space-4)}.p-5{padding:var(--space-5)}.p-6{padding:var(--space-6)}.px-2{padding-left:var(--space-2);padding-right:var(--space-2)}.px-3{padding-left:var(--space-3);padding-right:var(--space-3)}.px-4{padding-left:var(--space-4);padding-right:var(--space-4)}.px-5{padding-left:var(--space-5);padding-right:var(--space-5)}.px-6{padding-left:var(--space-6);padding-right:var(--space-6)}.py-2{padding-top:var(--space-2);padding-bottom:var(--space-2)}.py-3{padding-top:var(--space-3);padding-bottom:var(--space-3)}.py-4{padding-top:var(--space-4);padding-bottom:var(--space-4)}.py-5{padding-top:var(--space-5);padding-bottom:var(--space-5)}.py-6{padding-top:var(--space-6);padding-bottom:var(--space-6)}.pt-2{padding-top:var(--space-2)}.pt-3{padding-top:var(--space-3)}.pt-4{padding-top:var(--space-4)}.pb-2{padding-bottom:var(--space-2)}.pb-4{padding-bottom:var(--space-4)}.my-4{margin-top:var(--space-4);margin-bottom:var(--space-4)}.my-6{margin-top:var(--space-6);margin-bottom:var(--space-6)}.my-8{margin-top:var(--space-8);margin-bottom:var(--space-8)}.my-12{margin-top:var(--space-12);margin-bottom:var(--space-12)}.mb-2{margin-bottom:var(--space-2)}.mb-4{margin-bottom:var(--space-4)}.mb-6{margin-bottom:var(--space-6)}.mb-8{margin-bottom:var(--space-8)}.mb-12{margin-bottom:var(--space-12)}.mt-2{margin-top:var(--space-2)}.mt-4{margin-top:var(--space-4)}.mt-6{margin-top:var(--space-6)}.mt-8{margin-top:var(--space-8)}.mt-12{margin-top:var(--space-12)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-muted{color:var(--color-text-muted)}.text-accent{color:var(--color-accent)}.text-disabled{color:var(--color-text-disabled)}.nav-hamburger{display:none;flex-direction:column;gap:6px;width:44px;height:44px;padding:8px;border:none;background:transparent;cursor:pointer;align-items:center;justify-content:center;flex-shrink:0}.nav-hamburger span{width:24px;height:2px;background:var(--color-text);transition:var(--transition-base);display:block}@media(max-width:479px){.nav-bar{top:var(--space-2)}.nav-container{display:flex;align-items:center;gap:var(--space-4);width:100%;padding:8px 10px 8px 16px}.nav-hamburger{display:flex;margin-left:auto}.nav-menu{display:none;position:fixed;top:60px;left:0;right:0;width:100%;flex-direction:column;gap:var(--space-2);background:color-mix(in oklch,var(--color-paper) 95%,transparent);border-bottom:1px solid var(--color-border-subtle);padding:var(--space-4);z-index:49;max-height:calc(100vh - 60px);overflow-y:auto}.nav-menu.open{display:flex}.nav-link{width:100%;padding:var(--space-3) var(--space-4)}.nav-container>.btn{display:none}.nav-menu .btn{display:flex;width:100%;margin-top:var(--space-3)}.btn{width:auto}.btn-nav-hide-mobile{display:none}.hero-section{padding:var(--space-12) var(--layout-gutter) var(--space-8)}.hero-title{font-size:clamp(1.875rem,7vw,2.25rem)}.hero-subtitle{font-size:var(--text-base)}.hero-form{flex-direction:column;max-width:100%}.form-input{width:100%;box-sizing:border-box}.btn{width:100%}.grid-auto{--grid-min: 100%}.grid-2col,.grid-3col{grid-template-columns:1fr}.feature-section{padding:var(--space-12) var(--layout-gutter) var(--space-8)}.section{padding:var(--space-12) 0}.section-compact{padding:var(--space-8) 0}.heading-1{font-size:var(--text-3xl)}.heading-2{font-size:var(--text-2xl)}.tab-buttons{overflow-x:auto;-webkit-overflow-scrolling:touch}.tab-button{padding:var(--space-2) var(--space-3);font-size:var(--text-xs)}}@media(min-width:480px)and (max-width:767px){.hero-title{font-size:clamp(2rem,8vw,2.5rem)}.grid-auto{--grid-min: 200px}.grid-3col{grid-template-columns:repeat(2,1fr)}.grid-2col{grid-template-columns:1fr}.feature-card{padding:var(--space-5)}.section{padding:var(--space-16) 0}}@media(min-width:768px){.grid-auto{--grid-min: 260px}.grid-3col{grid-template-columns:repeat(3,1fr)}.grid-2col{grid-template-columns:1fr 1fr}}@media(min-width:1200px){.hero-section,.feature-section{padding:var(--space-32) var(--layout-gutter) var(--space-24)}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}@media(min-width:1024px){.pricing-grid--5{grid-template-columns:repeat(3,1fr)}}@media(min-width:1280px){.pricing-grid--5{grid-template-columns:repeat(5,1fr)}}.included-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.included-list li{font-size:var(--text-sm);color:var(--color-text-muted);line-height:var(--leading-snug);padding-left:var(--space-4);position:relative}.included-list li:before{content:"";position:absolute;left:0;top:.55em;width:5px;height:5px;border-radius:50%;background:var(--color-accent)}.table-scroll{position:relative;overflow-x:auto;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-paper)}.compare-table{width:100%;min-width:520px;border-collapse:collapse;font-size:var(--text-sm)}.compare-table th,.compare-table td{text-align:left;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border-subtle);vertical-align:top}.compare-table thead th{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);background:var(--color-surface);position:sticky;top:0}.compare-table thead th:not(:first-child),.compare-table tbody td{text-align:center;width:8.5rem}.compare-table tbody th{font-weight:600;max-width:28rem}.compare-table tbody tr:last-child th,.compare-table tbody tr:last-child td{border-bottom:0}.compare-detail{display:block;margin-top:var(--space-1);font-weight:400;color:var(--color-text-muted);line-height:var(--leading-snug)}.compare-yes{color:var(--color-success);font-weight:700}.compare-no{color:var(--color-text-muted)}
