@font-face{font-family:Geist;src:url(/site/fonts/geist-latin-wght-normal.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:Geist Mono;src:url(/site/fonts/geist-mono-latin-wght-normal.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}:root{--font-sans: -apple-system, BlinkMacSystemFont, "Geist", "Segoe UI", sans-serif;--font-mono: "Geist Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--radius: .625rem;--radius-sm: calc(var(--radius) * .6);--radius-md: calc(var(--radius) * .8);--radius-lg: var(--radius);--radius-xl: calc(var(--radius) * 1.4);--radius-2xl: calc(var(--radius) * 1.8);--radius-3xl: calc(var(--radius) * 2.2);--radius-4xl: calc(var(--radius) * 2.6);--frame-radius: 24px;--frame-inset: 8px;--frame-inner-radius: calc(var(--frame-radius) - var(--frame-inset));--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-bounce: cubic-bezier(.34, 1.36, .64, 1);--d-micro: 80ms;--d-quick: .15s;--d-fast: .25s;--d-medium: .35s;--d-slow: .4s;--d-very-slow: .5s;--d-reveal: .8s;--tracking-label: .15em;--tracking-code: .3em;--page-max: 1240px;--page-wide: 1440px;--gutter: clamp(16px, 4vw, 40px);--section-y: clamp(80px, 9vw, 136px)}:root,[data-theme=dark]{color-scheme:dark;--divider: #1a1a1a;--surface-border: var(--divider);--background: oklch(.1448 0 0);--foreground: oklch(.985 0 0);--card: oklch(.1913 0 0);--card-foreground: oklch(.985 0 0);--popover: oklch(.1913 0 0);--primary: oklch(.607 .214 260.624);--primary-foreground: oklch(.97 .014 254.604);--secondary: oklch(.274 .006 286.033);--muted: oklch(.235 0 0);--muted-foreground: oklch(.708 0 0);--accent: oklch(.235 0 0);--destructive: oklch(.704 .191 22.216);--warning: oklch(.8 .14 80);--success: oklch(.72 .18 152);--border: var(--surface-border);--sidebar: oklch(.1448 0 0);--agent: oklch(.714 .203 305.504);--status-ready: oklch(70.7% .165 254.624);--app-page-background: oklch(.1684 0 0);--task-card: oklch(.1913 0 0);--surface-frame-edge-shadow: inset 0 1px 0 0 oklch(1 0 0 / 4%), inset 0 0 0 1px oklch(0 0 0 / 6%), inset 0 -1px 0 0 oklch(0 0 0 / 6%), inset 0 0 0 1px oklch(.8203 0 0 / 7%);--diff-addition-fg: hsl(142, 72%, 58%);--diff-addition-bg: hsl(145, 20%, 8%);--diff-deletion-fg: hsl(0, 76%, 62%);--diff-deletion-bg: hsl(0, 24%, 10%);--code-fg: oklch(.8699 0 0);--code-comment: oklch(.6323 .1092 136.61);--code-keyword: oklch(.6713 .1118 245.54);--code-string: oklch(.7104 .0825 43.17);--code-number: oklch(.8226 .0586 134.91);--code-function: oklch(.8821 .0656 107.67);--code-type: oklch(.7604 .1152 177.18);--code-property: oklch(.8632 .0801 232.08);--text-strong: oklch(.985 0 0);--text-body: oklch(.82 0 0);--text-quiet: oklch(.62 0 0);--plate: oklch(1 0 0 / 3.5%);--plate-line: oklch(1 0 0 / 7%);--dot-ink: 233, 238, 247;--dot-accent: 59, 160, 255}[data-theme=light]{color-scheme:light;--divider: oklch(.9551 0 0);--surface-border: var(--divider);--background: oklch(.985 0 0);--foreground: oklch(.145 0 0);--card: oklch(1 0 0);--card-foreground: oklch(.145 0 0);--popover: oklch(1 0 0);--primary: oklch(.607 .214 260.624);--primary-foreground: oklch(.97 .014 254.604);--secondary: oklch(.967 .001 286.375);--muted: oklch(.97 0 0);--muted-foreground: oklch(.556 0 0);--accent: oklch(.97 0 0);--destructive: oklch(.577 .245 27.325);--warning: oklch(.75 .15 75);--success: oklch(.62 .17 150);--border: var(--surface-border);--sidebar: oklch(.985 0 0);--agent: oklch(.627 .265 303.9);--status-ready: oklch(70.7% .165 254.624);--app-page-background: oklch(1 0 0);--task-card: oklch(1 0 0);--surface-frame-edge-shadow: inset 0 0 0 1px oklch(0 0 0 / 6%), inset 0 -1px 0 0 oklch(0 0 0 / 6%);--diff-addition-fg: hsl(160, 77%, 35%);--diff-addition-bg: hsl(160, 77%, 88%);--diff-deletion-fg: hsl(10, 100%, 40%);--diff-deletion-bg: hsl(10, 100%, 90%);--code-fg: oklch(.3523 0 0);--code-comment: oklch(.5198 .1769 142.5);--code-keyword: oklch(.452 .3132 264.05);--code-string: oklch(.4587 .175 27.74);--code-number: oklch(.5481 .1215 160.17);--code-function: oklch(.4978 .0812 83.01);--code-type: oklch(.5566 .0901 221.73);--code-property: oklch(.2857 .178 264.19);--text-strong: oklch(.145 0 0);--text-body: oklch(.36 0 0);--text-quiet: oklch(.52 0 0);--plate: oklch(0 0 0 / 3%);--plate-line: oklch(0 0 0 / 7%);--dot-ink: 24, 26, 32;--dot-accent: 37, 99, 235}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:88px}body{margin:0;min-height:100dvh;background:var(--background);color:var(--foreground);font-family:var(--font-sans);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:clip}h1,h2,h3,h4,h5,h6,p,figure,blockquote,dl,dd{margin:0}ul,ol{margin:0;padding:0;list-style:none}img,svg,video,canvas{display:block;max-width:100%}img,video{height:auto}button,input,select,textarea{font:inherit;color:inherit;letter-spacing:inherit}button{background:none;border:0;padding:0;cursor:pointer}a{color:inherit;text-decoration:none}::selection{background:var(--primary);color:var(--primary-foreground)}:focus-visible{outline:2px solid var(--primary);outline-offset:3px;border-radius:8px}.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}.skip-link{position:fixed;top:12px;left:12px;z-index:100;padding:10px 16px;border-radius:999px;background:var(--primary);color:var(--primary-foreground);font-size:14px;transform:translateY(-160%);transition:transform var(--d-fast) var(--ease-out)}.skip-link:focus-visible{transform:none}.fi{width:1em;height:1em;fill:currentColor;overflow:visible;flex:none;transform:scale(.8)}.fi .fi-s{opacity:.3}.pm{width:1em;height:1em;flex:none;overflow:visible;transform:scale(.8)}.f-container{width:100%;max-width:calc(var(--page-max) + var(--gutter) * 2);margin-inline:auto;padding-inline:var(--gutter)}.f-container-wide{max-width:calc(var(--page-wide) + var(--gutter) * 2)}.f-section{padding-block:var(--section-y);position:relative}.f-display{font-size:clamp(44px,7vw,88px);line-height:1;letter-spacing:-.04em;font-weight:650;color:var(--text-strong);text-wrap:balance}.f-h1{font-size:clamp(40px,5.6vw,68px);line-height:1.03;letter-spacing:-.035em;font-weight:650;color:var(--text-strong);text-wrap:balance}.f-h2{font-size:clamp(32px,4.2vw,52px);line-height:1.06;letter-spacing:-.03em;font-weight:640;color:var(--text-strong);text-wrap:balance}.f-h3{font-size:clamp(20px,1.8vw,24px);line-height:1.25;letter-spacing:-.018em;font-weight:600;color:var(--text-strong)}.f-lede{font-size:clamp(17px,1.45vw,20px);line-height:1.5;color:var(--text-body);max-width:60ch;text-wrap:pretty}.f-body{font-size:16px;line-height:1.6;color:var(--text-body);text-wrap:pretty}.f-small{font-size:14px;line-height:1.5;color:var(--text-quiet)}.f-eyebrow{font-size:12px;font-weight:500;letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--muted-foreground)}.f-mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.f-accent{color:var(--primary)}.f-btn{--btn-h: 44px;display:inline-flex;align-items:center;justify-content:center;gap:8px;height:var(--btn-h);padding:0 20px;border-radius:999px;font-size:15px;font-weight:500;line-height:1;white-space:nowrap;-webkit-user-select:none;user-select:none;transition:background-color var(--d-quick) var(--ease-out),color var(--d-quick) var(--ease-out),transform var(--d-quick) var(--ease-out),box-shadow var(--d-quick) var(--ease-out)}.f-btn:active{transform:scale(.98)}.f-btn .fi{font-size:16px}.f-btn-primary{background:var(--primary);color:var(--primary-foreground)}.f-btn-primary:hover{background:color-mix(in oklab,var(--primary) 88%,white)}.f-btn-quiet{background:color-mix(in oklab,var(--muted) 55%,transparent);color:var(--foreground)}.f-btn-quiet:hover{background:var(--muted)}.f-btn-ghost{color:var(--text-body)}.f-btn-ghost:hover{background:color-mix(in oklab,var(--muted) 70%,transparent);color:var(--foreground)}.f-btn-lg{--btn-h: 52px;padding:0 24px;font-size:16px}.f-btn-sm{--btn-h: 34px;padding:0 14px;font-size:14px}.f-btn-disc{padding-right:6px}.f-btn-disc .f-disc{display:grid;place-items:center;width:calc(var(--btn-h) - 12px);height:calc(var(--btn-h) - 12px);border-radius:999px;background:#ffffff29;transition:transform var(--d-fast) var(--ease-out)}.f-btn-quiet.f-btn-disc .f-disc{background:color-mix(in oklab,var(--foreground) 8%,transparent)}.f-btn-disc:hover .f-disc{transform:translate(2px)}.f-badge{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 10px;border-radius:999px;font-size:12px;font-weight:500;white-space:nowrap;background:color-mix(in oklab,var(--muted) 70%,transparent);color:var(--text-body)}.f-badge-primary{background:color-mix(in oklab,var(--primary) 16%,transparent);color:color-mix(in oklab,var(--primary) 70%,white)}.f-badge-success{background:color-mix(in oklab,var(--success) 14%,transparent);color:var(--success)}.f-kbd{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:6px;background:var(--muted);color:var(--muted-foreground);font-family:var(--font-mono);font-size:11px;line-height:1}.f-bezel{padding:var(--frame-inset);border-radius:var(--frame-radius);background:var(--plate);box-shadow:inset 0 0 0 1px var(--plate-line)}.f-bezel>.f-bezel-core{border-radius:var(--frame-inner-radius);background:var(--app-page-background);box-shadow:var(--surface-frame-edge-shadow);overflow:hidden}.f-card{border-radius:var(--radius-4xl);background:var(--card);box-shadow:var(--surface-frame-edge-shadow)}.f-reveal{opacity:0;transform:translateY(18px);filter:blur(6px);transition:opacity var(--d-reveal) var(--ease-out),transform var(--d-reveal) var(--ease-out),filter var(--d-reveal) var(--ease-out);transition-delay:calc(var(--i, 0) * 70ms)}.f-reveal.is-in{opacity:1;transform:none;filter:none}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.f-reveal{opacity:1;transform:none;filter:none;transition:none}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.dot-test{position:absolute;inset:0;width:100%;height:100%}.f-mono,code,kbd,pre{font-variant-ligatures:none;font-feature-settings:"calt" 0}[data-theme=light] .f-badge-primary{color:color-mix(in oklab,var(--primary) 82%,black)}
