@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-cyrillic-ext-400-normal-g30qAdWV.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-400-normal-Dsrv2Tcn.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 Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-cyrillic-400-normal-DZqxrq2p.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-400-normal-BTotfTJu.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-greek-400-normal-_efipK4i.woff2) format("woff2"),url(/assets/ibm-plex-sans-greek-400-normal-D9ESIMu3.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-vietnamese-400-normal-DG4YqDda.woff2) format("woff2"),url(/assets/ibm-plex-sans-vietnamese-400-normal-fK1oJ5dG.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 Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-ext-400-normal-C5H60-Va.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-ext-400-normal-RBey6euL.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 Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-400-normal-CDDApCn2.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-400-normal-CYLoc0-x.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 Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-cyrillic-ext-500-normal-Cs5J6C77.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-500-normal-DB5PtV2g.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 Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-cyrillic-500-normal-CocWQlwt.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-500-normal-ByOcLdNv.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-greek-500-normal-JMMifIXV.woff2) format("woff2"),url(/assets/ibm-plex-sans-greek-500-normal-CuWXN6rf.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-vietnamese-500-normal-e4dixQRQ.woff2) format("woff2"),url(/assets/ibm-plex-sans-vietnamese-500-normal-BEb3_waV.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 Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-ext-500-normal-DakdToA3.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-ext-500-normal-D0aIdm-b.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 Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-500-normal-6ng42L7E.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-500-normal-BgVn5rGT.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 Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-cyrillic-ext-600-normal-DUMzJB7m.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-600-normal-Bz0x94Yp.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 Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-cyrillic-600-normal-71GNu3SW.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-600-normal-BGq0mW3O.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-greek-600-normal-DzTrcv_p.woff2) format("woff2"),url(/assets/ibm-plex-sans-greek-600-normal-D-CqTdkO.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-vietnamese-600-normal-DpPYBSTl.woff2) format("woff2"),url(/assets/ibm-plex-sans-vietnamese-600-normal-DgdngZtN.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 Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-ext-600-normal-DOrvGEcy.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-ext-600-normal-DIrixKbi.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 Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-600-normal-CuJfVYMP.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-600-normal-Cu4Hd6ag.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(/assets/ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2) format("woff2"),url(/assets/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(/assets/ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2) format("woff2"),url(/assets/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(/assets/ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2) format("woff2"),url(/assets/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(/assets/ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2) format("woff2"),url(/assets/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(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2) format("woff2"),url(/assets/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(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BqneJy0T.woff2) format("woff2"),url(/assets/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(/assets/ibm-plex-mono-cyrillic-500-normal-Bq9vWWag.woff2) format("woff2"),url(/assets/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(/assets/ibm-plex-mono-vietnamese-500-normal-DZ4AoWbu.woff2) format("woff2"),url(/assets/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(/assets/ibm-plex-mono-latin-ext-500-normal-CAhNIIs5.woff2) format("woff2"),url(/assets/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(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2) format("woff2"),url(/assets/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}:root{color-scheme:dark;--color-accent-50: oklch(.192 .022 284.127);--color-accent-100: oklch(.209 .029 286.606);--color-accent-200: oklch(.272 .069 278.457);--color-accent-300: oklch(.318 .102 275.994);--color-accent-400: oklch(.357 .11 277.307);--color-accent-500: oklch(.4 .112 279.451);--color-accent-600: oklch(.448 .12 280.423);--color-accent-700: oklch(.507 .138 280.804);--color-accent-800: oklch(.54 .184 278.285);--color-accent-900: oklch(.587 .172 281.258);--color-accent-950: oklch(.774 .122 287.464);--color-accent-9: oklch(.54 .184 278.285);--color-accent-12: oklch(.914 .042 287.016);--color-neutral-50: oklch(.179 .004 285.981);--color-neutral-100: oklch(.213 .004 264.479);--color-neutral-200: oklch(.252 .006 271.182);--color-neutral-300: oklch(.283 .007 248.075);--color-neutral-400: oklch(.312 .008 255.56);--color-neutral-500: oklch(.347 .01 253.971);--color-neutral-600: oklch(.399 .012 252.939);--color-neutral-700: oklch(.489 .016 251.691);--color-neutral-800: oklch(.537 .015 262.343);--color-neutral-900: oklch(.583 .015 266.626);--color-neutral-950: oklch(.769 .01 258.342);--color-neutral-9: oklch(.537 .015 262.343);--color-neutral-12: oklch(.949 .003 264.542);--color-success-50: oklch(.187 .013 159.729);--color-success-100: oklch(.21 .013 149.917);--color-success-200: oklch(.267 .03 150.155);--color-success-300: oklch(.319 .053 150.3);--color-success-400: oklch(.367 .062 149.853);--color-success-500: oklch(.416 .072 149.329);--color-success-600: oklch(.468 .083 148.995);--color-success-700: oklch(.523 .097 148.317);--color-success-800: oklch(.651 .147 147.392);--color-success-900: oklch(.689 .145 147.801);--color-success-950: oklch(.78 .142 148.485);--color-success-9: oklch(.651 .147 147.392);--color-success-12: oklch(.911 .078 144.9);--color-warning-50: oklch(.185 .013 77.796);--color-warning-100: oklch(.212 .018 81.986);--color-warning-200: oklch(.258 .044 74.478);--color-warning-300: oklch(.296 .063 73.879);--color-warning-400: oklch(.336 .072 72.898);--color-warning-500: oklch(.386 .078 75.255);--color-warning-600: oklch(.454 .082 74.958);--color-warning-700: oklch(.536 .096 73.435);--color-warning-800: oklch(.854 .157 84.13);--color-warning-900: oklch(.885 .181 94.784);--color-warning-950: oklch(.862 .173 89.018);--color-warning-9: oklch(.854 .157 84.13);--color-warning-12: oklch(.935 .072 86.068);--color-danger-50: oklch(.187 .012 18.258);--color-danger-100: oklch(.208 .017 31.431);--color-danger-200: oklch(.255 .055 26.764);--color-danger-300: oklch(.29 .087 27.755);--color-danger-400: oklch(.331 .098 28.626);--color-danger-500: oklch(.38 .1 29.898);--color-danger-600: oklch(.446 .106 31.608);--color-danger-700: oklch(.538 .129 33.407);--color-danger-800: oklch(.627 .194 33.339);--color-danger-900: oklch(.664 .179 34.086);--color-danger-950: oklch(.779 .131 34.906);--color-danger-9: oklch(.627 .194 33.339);--color-danger-12: oklch(.899 .046 31.233);--color-background: var(--color-neutral-50);--color-foreground: var(--color-neutral-12);--color-surface: var(--color-neutral-100);--color-surface-foreground: var(--color-neutral-12);--color-card: var(--color-neutral-200);--color-card-foreground: var(--color-neutral-12);--color-popover: var(--color-neutral-300);--color-popover-foreground: var(--color-neutral-12);--color-primary: var(--color-accent-9);--color-primary-foreground: oklch(1 0 0);--color-secondary: color-mix(in oklch, var(--color-neutral-12) 10%, transparent);--color-secondary-foreground: var(--color-neutral-12);--color-muted: color-mix(in oklch, var(--color-neutral-12) 6%, transparent);--color-muted-foreground: var(--color-neutral-950);--color-accent: color-mix(in oklch, var(--color-neutral-12) 8%, transparent);--color-accent-foreground: var(--color-neutral-12);--color-destructive: var(--color-danger-9);--color-destructive-foreground: var(--color-neutral-50);--color-warning-foreground: oklch(.241 .01 248.229);--color-border: var(--color-neutral-200);--color-input: var(--color-neutral-800);--color-ring: var(--color-accent-9);--color-scrim: rgba(0, 0, 0, .6);--font-sans: "IBM Plex Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-serif: "IBM Plex Serif", ui-serif, Georgia, "Times New Roman", serif;--font-mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--text-page-title: 20px;--text-page-title--line-height: 28px;--text-page-title--font-weight: 600;--text-page-title--letter-spacing: -.01em;--text-section-title: 18px;--text-section-title--line-height: 28px;--text-section-title--font-weight: 600;--text-card-title: 16px;--text-card-title--line-height: 24px;--text-card-title--font-weight: 600;--text-body: 14px;--text-body--line-height: 20px;--text-small: 13px;--text-small--line-height: 18px;--text-caption: 12px;--text-caption--line-height: 16px;--text-group-label: 11px;--text-group-label--line-height: 16px;--text-group-label--font-weight: 600;--text-group-label--letter-spacing: .05em;--text-mono: 13px;--text-mono--line-height: 20px;--text-canvas-title: 32px;--text-canvas-title--line-height: 40px;--text-canvas-title--font-weight: 600;--text-canvas-title--letter-spacing: -.01em;--text-canvas-h2: 24px;--text-canvas-h2--line-height: 32px;--text-canvas-h2--font-weight: 600;--text-canvas-body: 18px;--text-canvas-body--line-height: 30px;--ease-standard: cubic-bezier(.4, 0, .2, 1);--ease-out-sheet: cubic-bezier(.32, .72, 0, 1);--animate-fade-in: fade-in .2s var(--ease-standard)}@keyframes fade-in{0%{opacity:0}}*,*:before,*:after{box-sizing:border-box;border-color:var(--color-border)}html{background-color:var(--color-background)}body{margin:0;background-color:var(--color-background);color:var(--color-foreground);font-family:var(--font-sans);font-size:var(--text-body);line-height:var(--text-body--line-height);font-feature-settings:"rlig" 1,"calt" 1;-webkit-font-smoothing:antialiased}a{color:inherit}:focus-visible{outline:2px solid var(--color-ring);outline-offset:2px}h1,h2,h3,p,ul{margin:0}ul{padding:0;list-style:none}.mono{font-family:var(--font-mono)}.container{max-width:1080px;margin:0 auto;padding:0 24px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:38px;padding:0 16px;border:1px solid transparent;border-radius:8px;font-family:var(--font-sans);font-size:var(--text-body);font-weight:500;text-decoration:none;cursor:pointer;transition:background-color .15s var(--ease-standard),border-color .15s var(--ease-standard),color .15s var(--ease-standard)}.btn:disabled{opacity:.55;cursor:default}.btn-primary{background-color:var(--color-primary);color:var(--color-primary-foreground)}.btn-primary:hover:not(:disabled){background-color:var(--color-accent-700)}.btn-secondary{background-color:transparent;border-color:var(--color-border);color:var(--color-foreground)}.btn-secondary:hover:not(:disabled){background-color:var(--color-accent)}.btn-ghost{background-color:transparent;color:var(--color-muted-foreground)}.btn-ghost:hover:not(:disabled){background-color:var(--color-accent);color:var(--color-foreground)}.btn-lg{height:44px;padding:0 22px;font-size:15px}.site-nav{position:sticky;top:0;z-index:50;background-color:color-mix(in oklch,var(--color-background) 84%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--color-border)}.nav-inner{display:flex;align-items:center;gap:24px;height:64px}.brand{font-family:var(--font-mono);font-size:15px;font-weight:600;letter-spacing:.02em;text-decoration:none;color:var(--color-foreground)}.nav-links{display:flex;align-items:center;gap:20px;margin-left:auto}.nav-link{font-size:var(--text-small);font-weight:500;text-decoration:none;color:var(--color-muted-foreground)}.nav-link:hover{color:var(--color-foreground)}.hero{padding:96px 0 80px}.eyebrow{font-size:var(--text-caption);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--color-accent-12)}.hero h1{margin-top:16px;max-width:680px;font-size:clamp(40px,6vw,56px);line-height:1.08;font-weight:600;letter-spacing:-.015em}.hero .lede{margin-top:20px;max-width:580px;font-size:var(--text-canvas-body);line-height:var(--text-canvas-body--line-height);color:var(--color-muted-foreground)}.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:32px}.hero-meta{margin-top:16px;font-size:var(--text-small);line-height:var(--text-small--line-height);color:var(--color-muted-foreground)}.section{border-top:1px solid var(--color-border);padding:72px 0}.section-head{max-width:620px}.section-head h2{font-size:var(--text-canvas-h2);line-height:var(--text-canvas-h2--line-height);font-weight:600;letter-spacing:-.01em}.section-head .lede{margin-top:12px;font-size:var(--text-body);line-height:22px;color:var(--color-muted-foreground)}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:40px}.feature-card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;padding:24px}.feature-index{font-family:var(--font-mono);font-size:var(--text-caption);line-height:var(--text-caption--line-height);color:var(--color-accent-12)}.feature-card h3{margin-top:12px;font-size:var(--text-card-title);line-height:var(--text-card-title--line-height);font-weight:600}.feature-card p{margin-top:8px;font-size:var(--text-body);line-height:22px;color:var(--color-muted-foreground)}.phase-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:16px}.phase-tag{font-family:var(--font-mono);font-size:var(--text-caption);line-height:var(--text-caption--line-height);color:var(--color-muted-foreground);background-color:var(--color-muted);border:1px solid var(--color-border);border-radius:5px;padding:3px 8px}.contract{margin-top:40px;background-color:var(--color-surface);border:1px solid var(--color-border);border-top:2px solid var(--color-accent-9);border-radius:16px;padding:40px}.contract-cols{display:grid;grid-template-columns:1.4fr 1fr;gap:40px}.contract p{font-size:var(--text-body);line-height:24px;color:var(--color-muted-foreground)}.contract .price{margin-top:20px;font-size:var(--text-section-title);line-height:var(--text-section-title--line-height);font-weight:600;color:var(--color-foreground)}.facts{display:flex;flex-direction:column;gap:12px}.fact{display:flex;gap:10px;align-items:baseline;font-size:var(--text-small);line-height:var(--text-small--line-height);color:var(--color-muted-foreground)}.fact:before{content:"";flex:none;width:5px;height:5px;border-radius:50%;background-color:var(--color-accent-9);transform:translateY(-2px)}.contract-actions{margin-top:28px}.site-footer{border-top:1px solid var(--color-border);padding:48px 0 72px}.footer-inner{display:flex;flex-wrap:wrap;align-items:center;gap:24px}.footer-brand{display:flex;flex-direction:column;gap:4px}.footer-note{font-size:var(--text-small);color:var(--color-muted-foreground)}.footer-links{display:flex;align-items:center;gap:20px;margin-left:auto}.auth-wrap{max-width:480px;margin:0 auto;padding:72px 24px 80px}.panel{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;padding:32px}.page-title{font-size:var(--text-page-title);line-height:var(--text-page-title--line-height);font-weight:600;letter-spacing:-.01em}.panel .subtitle{margin-top:6px;font-size:var(--text-small);line-height:var(--text-small--line-height);color:var(--color-muted-foreground)}.field{margin-top:20px}.field label{display:block;font-size:var(--text-small);font-weight:500;margin-bottom:6px}.field input{width:100%;height:40px;padding:0 12px;background-color:var(--color-background);border:1px solid var(--color-border);border-radius:8px;color:var(--color-foreground);font-family:var(--font-sans);font-size:var(--text-body)}.field input::placeholder{color:var(--color-neutral-900)}.field input:focus{outline:2px solid var(--color-ring);outline-offset:0;border-color:var(--color-accent-700)}.field-error{margin-top:6px;font-size:var(--text-small);color:var(--color-danger-12)}.form-actions{margin-top:24px}.form-actions .btn{width:100%}.form-note{margin-top:16px;font-size:var(--text-small);line-height:var(--text-small--line-height);color:var(--color-muted-foreground)}.alert{margin-top:20px;border-radius:8px;padding:12px 14px;font-size:var(--text-small);line-height:var(--text-small--line-height);display:flex;flex-direction:column;gap:10px}.alert-error{background-color:color-mix(in oklch,var(--color-danger-9) 14%,transparent);border:1px solid color-mix(in oklch,var(--color-danger-9) 38%,transparent);color:var(--color-danger-12)}.alert .btn{align-self:flex-start}.confirmation{display:flex;flex-direction:column;gap:16px}.check-mark{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background-color:color-mix(in oklch,var(--color-success-9) 16%,transparent);border:1px solid color-mix(in oklch,var(--color-success-9) 38%,transparent)}.check-mark svg{color:var(--color-success-12)}.confirmation .subtitle{font-size:var(--text-body);line-height:22px;color:var(--color-muted-foreground)}.confirmation .form-actions{margin-top:8px}.loading{display:flex;align-items:center;gap:10px;margin-top:24px;color:var(--color-muted-foreground);font-size:var(--text-body)}.spinner{width:16px;height:16px;border-radius:50%;border:2px solid var(--color-border);border-top-color:var(--color-accent-9);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.empty{border:1px dashed var(--color-border);border-radius:10px;padding:28px;text-align:center;color:var(--color-muted-foreground);font-size:var(--text-small)}.error-text{margin-top:16px;font-size:var(--text-small);color:var(--color-danger-12)}.wizard-shell{max-width:960px;margin:0 auto;padding:32px 24px 88px}.wizard-top{display:flex;align-items:center;gap:16px;padding-bottom:16px;border-bottom:1px solid var(--color-border);margin-bottom:28px}.top-context{font-size:var(--text-small);color:var(--color-muted-foreground)}.wizard-top .btn{margin-left:auto}.wizard-columns{display:grid;grid-template-columns:1fr 360px;gap:40px;align-items:start}.section-label{font-size:var(--text-group-label);line-height:var(--text-group-label--line-height);font-weight:600;letter-spacing:var(--text-group-label--letter-spacing);text-transform:uppercase;color:var(--color-muted-foreground);margin:24px 0 12px}.wizard-columns .section-label:first-child{margin-top:0}.tenant-list{display:flex;flex-direction:column;gap:8px}.tenant-row{width:100%;display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:14px 16px;background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;color:var(--color-foreground);font-family:var(--font-sans);font-size:var(--text-body);text-align:left;cursor:pointer;transition:border-color .15s var(--ease-standard)}.tenant-row:hover{border-color:var(--color-accent-700)}.tenant-slug{font-family:var(--font-mono);font-size:var(--text-small);color:var(--color-muted-foreground)}.detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.back-link{background:none;border:none;padding:0;margin-bottom:10px;font-family:var(--font-sans);font-size:var(--text-small);color:var(--color-muted-foreground);cursor:pointer}.back-link:hover{color:var(--color-foreground)}.detail-title{font-size:var(--text-section-title);line-height:var(--text-section-title--line-height);font-weight:600}.detail-meta{margin-top:4px;font-family:var(--font-mono);font-size:var(--text-small);color:var(--color-muted-foreground)}.row-list{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:10px}.row-item{display:flex;align-items:center;gap:14px;padding:12px 16px;border-bottom:1px solid var(--color-border)}.row-item:last-child{border-bottom:none}.row-label{flex:1;font-size:var(--text-body)}.row-index,.row-meta{font-family:var(--font-mono);font-size:var(--text-small);color:var(--color-muted-foreground)}.row-label.mono{font-size:var(--text-mono)}.chip{display:inline-flex;align-items:center;gap:7px;height:22px;padding:0 10px;border-radius:999px;border:1px solid var(--color-border);background-color:var(--color-muted);font-size:var(--text-caption);line-height:var(--text-caption--line-height);font-weight:500;color:var(--color-muted-foreground)}.chip-dot{width:6px;height:6px;border-radius:50%;background-color:currentColor}.chip-success{color:var(--color-success-12);border-color:color-mix(in oklch,var(--color-success-9) 38%,transparent);background-color:color-mix(in oklch,var(--color-success-9) 12%,transparent)}.chip-danger{color:var(--color-danger-12);border-color:color-mix(in oklch,var(--color-danger-9) 38%,transparent);background-color:color-mix(in oklch,var(--color-danger-9) 12%,transparent)}.chip-running{color:var(--color-accent-12);border-color:color-mix(in oklch,var(--color-accent-9) 38%,transparent);background-color:color-mix(in oklch,var(--color-accent-9) 12%,transparent)}.chip-running .chip-dot{animation:pulse 1.6s var(--ease-standard) infinite}@keyframes pulse{50%{opacity:.35}}.log-console{height:320px;overflow-y:auto;padding:14px 16px;background-color:color-mix(in oklch,var(--color-neutral-50) 78%,black);border:1px solid var(--color-border);border-radius:10px;font-family:var(--font-mono);font-size:var(--text-mono);line-height:var(--text-mono--line-height)}.log-line{white-space:pre-wrap;word-break:break-word;color:var(--color-neutral-950)}.log-empty{color:var(--color-neutral-900)}.terminal-card{margin-top:28px;display:flex;flex-wrap:wrap;align-items:center;gap:20px;padding:28px;background-color:color-mix(in oklch,var(--color-success-9) 9%,var(--color-surface));border:1px solid color-mix(in oklch,var(--color-success-9) 32%,transparent);border-radius:12px;animation:var(--animate-fade-in)}.terminal-card .grow{flex:1;min-width:220px}.terminal-title{font-size:var(--text-card-title);line-height:var(--text-card-title--line-height);font-weight:600}.terminal-meta{margin-top:6px;font-size:var(--text-small);color:var(--color-muted-foreground)}.terminal-actions{display:flex;flex-wrap:wrap;gap:12px}@media(max-width:900px){.feature-grid,.wizard-columns,.contract-cols{grid-template-columns:1fr}.hero{padding:64px 0 56px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
