@font-face{font-family:Geist;src:url(/fonts/geist-sans.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:optional}@font-face{font-family:Geist Mono;src:url(/fonts/geist-mono.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:optional}@font-face{font-family:Fraunces;src:url(/fonts/fraunces-display.woff2) format("woff2");font-weight:900;font-style:normal;font-display:optional}@font-face{font-family:Fraunces;src:url(/fonts/fraunces.woff2) format("woff2");font-weight:600;font-style:normal;font-display:optional}:root{--font-sans: "Geist", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono: "Geist Mono", ui-monospace, "SF Mono", "JetBrains Mono", "Fira Code", monospace;--font-serif: "Fraunces", Georgia, "Times New Roman", serif;--font-display: "Fraunces", Georgia, "Times New Roman", serif;--step--1: clamp(.83rem, .8rem + .15vw, .91rem);--step-0: clamp(1rem, .95rem + .25vw, 1.13rem);--step-1: clamp(1.2rem, 1.11rem + .44vw, 1.5rem);--step-2: clamp(1.44rem, 1.29rem + .74vw, 2rem);--step-3: clamp(1.73rem, 1.49rem + 1.18vw, 2.66rem);--step-4: clamp(2.07rem, 1.71rem + 1.82vw, 3.55rem);--step-5: clamp(2.49rem, 1.94rem + 2.72vw, 4.73rem);--step-6: clamp(2.99rem, 2.18rem + 4.02vw, 6.31rem);--step-7: clamp(3.4rem, 2.1rem + 6.2vw, 8.4rem);--step-8: clamp(4rem, 1.9rem + 9.6vw, 11.5rem);--space-2xs: .25rem;--space-xs: .5rem;--space-sm: .75rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--space-3xl: 4rem;--space-4xl: 6rem;--space-5xl: 8rem;--radius-xs: 2px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-full: 999px;--width-prose: 68ch;--width-content: 72rem;--width-wide: 88rem;--gutter: clamp(1rem, .6rem + 2vw, 2.5rem);--dur-instant: 80ms;--dur-fast: .16s;--dur-base: .24s;--dur-slow: .42s;--dur-slower: .68s;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--ease-emphasized: cubic-bezier(.2, 0, 0, 1);--z-base: 0;--z-raised: 10;--z-sticky: 100;--z-overlay: 1000;--z-terminal: 1200;--z-toast: 1400;--border-hairline: 1px;--border-focus: 2px}:root,[data-theme=light]{color-scheme:light;--bg: #F5F1E8;--surface: #FDFBF6;--surface-2: #ECE6D9;--border: #E1DACB;--text: #1A1712;--text-dim: #565046;--text-mute: #6A6254;--signal: #2A46E8;--signal-warm: #C0431F;--shadow-color: 38 30% 45%;--shadow-sm: 0 1px 2px hsl(var(--shadow-color) / .14);--shadow-md: 0 10px 30px -12px hsl(var(--shadow-color) / .22);--shadow-lg: 0 30px 70px -24px hsl(var(--shadow-color) / .3);--selection: color-mix(in oklab, var(--signal) 22%, transparent)}[data-theme=dark]{color-scheme:dark;--bg: #14120E;--surface: #1C1913;--surface-2: #241F17;--border: #322C22;--text: #F1EDE3;--text-dim: #B1A996;--text-mute: #918977;--signal: #6E86FF;--signal-warm: #FF8657;--shadow-color: 30 40% 2%;--shadow-sm: 0 1px 2px hsl(var(--shadow-color) / .5);--shadow-md: 0 10px 30px -12px hsl(var(--shadow-color) / .6);--shadow-lg: 0 30px 70px -20px hsl(var(--shadow-color) / .72);--selection: color-mix(in oklab, var(--signal) 30%, transparent)}*,*:before,*:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;-webkit-tap-highlight-color:transparent}body{min-height:100dvh;font-family:var(--font-sans);font-size:var(--step-0);line-height:1.6;color:var(--text);background-color:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-synthesis:none;transition:background-color var(--dur-base) var(--ease-in-out),color var(--dur-base) var(--ease-in-out)}h1,h2,h3,h4{text-wrap:balance}h1,h2{font-family:var(--font-display);font-weight:900;line-height:.96;letter-spacing:-.025em}h3,h4{font-weight:600;line-height:1.1;letter-spacing:-.01em}h1{font-size:var(--step-6)}h2{font-size:var(--step-4)}h3{font-size:var(--step-2)}h4{font-size:var(--step-1)}p{text-wrap:pretty}a{color:inherit;text-decoration:none}.prose a{color:var(--signal);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.18em;text-decoration-color:color-mix(in oklab,var(--signal) 38%,transparent);transition:text-decoration-color var(--dur-fast) var(--ease-out)}.prose a:hover{text-decoration-color:var(--signal)}img,svg,video,canvas{display:block;max-width:100%;height:auto}code,pre,kbd,samp{font-family:var(--font-mono);font-size:.95em}::selection{background:var(--selection)}:focus-visible{outline:var(--border-focus) solid var(--signal);outline-offset:2px;border-radius:var(--radius-xs)}:focus:not(:focus-visible){outline:none}*{scrollbar-width:thin;scrollbar-color:var(--border) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--border);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--text-mute)}.container{width:100%;max-width:var(--width-content);margin-inline:auto;padding-inline:var(--gutter)}.container--wide{max-width:var(--width-wide)}.prose{max-width:var(--width-prose)}.prompt{color:var(--signal)}.page{padding-block:var(--space-4xl)}.page__eyebrow{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.16em;color:var(--signal);font-size:var(--step--1)}.page h1{margin-top:var(--space-md)}.page__lede{margin-top:var(--space-lg);color:var(--text-dim);font-size:var(--step-1)}.grid{display:grid;gap:var(--space-md)}.card{padding:var(--space-lg);background:var(--surface);border:var(--border-hairline) solid var(--border);border-radius:var(--radius-lg);transition:border-color var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}.card:hover{border-color:color-mix(in oklab,var(--signal) 42%,var(--border));transform:translateY(-2px);box-shadow:var(--shadow-md)}.tag{display:inline-flex;align-items:center;gap:var(--space-2xs);font-family:var(--font-mono);font-size:var(--step--1);color:var(--text-dim);border:var(--border-hairline) solid var(--border);border-radius:var(--radius-full);padding:.1rem .6rem;white-space:nowrap}.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;left:var(--space-sm);top:var(--space-sm);transform:translateY(-200%);transition:transform var(--dur-fast) var(--ease-out);background:var(--surface);color:var(--text);padding:var(--space-xs) var(--space-md);border:var(--border-hairline) solid var(--border);border-radius:var(--radius-sm);z-index:var(--z-toast)}.skip-link:focus{transform:translateY(0)}@keyframes fade-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes cursor-blink{0%,49%{opacity:1}50%,to{opacity:0}}.js [data-reveal]{opacity:0;will-change:transform,opacity}.js [data-reveal].is-visible{animation:fade-up var(--dur-slow) var(--ease-out) both}@keyframes vt-out{to{opacity:0;transform:translateY(-8px) scale(.994)}}@keyframes vt-in{0%{opacity:0;transform:translateY(12px) scale(.994)}}::view-transition-old(root){animation:vt-out var(--dur-base) var(--ease-in-out) both}::view-transition-new(root){animation:vt-in var(--dur-slow) var(--ease-out) both}@media(prefers-reduced-motion:reduce){::view-transition-old(root),::view-transition-new(root){animation:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.js [data-reveal]{opacity:1}html{scroll-behavior:auto}}.xterm{cursor:text;position:relative;user-select:none;-ms-user-select:none;-webkit-user-select:none}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{position:absolute;top:0;z-index:5}.xterm .xterm-helper-textarea{padding:0;border:0;margin:0;position:absolute;opacity:0;left:-9999em;top:0;width:0;height:0;z-index:-5;white-space:nowrap;overflow:hidden;resize:none}.xterm .composition-view{background:#000;color:#fff;display:none;position:absolute;white-space:nowrap;z-index:1}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{background-color:#000;overflow-y:scroll;cursor:default;position:absolute;inset:0}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{position:absolute;left:0;top:0}.xterm-char-measure-element{display:inline-block;visibility:hidden;position:absolute;top:0;left:-9999em;line-height:normal}.xterm.enable-mouse-events{cursor:default}.xterm.xterm-cursor-pointer,.xterm .xterm-cursor-pointer{cursor:pointer}.xterm.column-select.focus{cursor:crosshair}.xterm .xterm-accessibility:not(.debug),.xterm .xterm-message{position:absolute;inset:0;z-index:10;color:transparent;pointer-events:none}.xterm .xterm-accessibility-tree:not(.debug) *::selection{color:transparent}.xterm .xterm-accessibility-tree{font-family:monospace;-webkit-user-select:text;user-select:text;white-space:pre}.xterm .xterm-accessibility-tree>div{transform-origin:left;width:fit-content}.xterm .live-region{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{text-decoration:double underline}.xterm-underline-3{text-decoration:wavy underline}.xterm-underline-4{text-decoration:dotted underline}.xterm-underline-5{text-decoration:dashed underline}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:overline underline}.xterm-overline.xterm-underline-2{text-decoration:overline double underline}.xterm-overline.xterm-underline-3{text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{text-decoration:overline dashed underline}.xterm-strikethrough{text-decoration:line-through}.xterm-screen .xterm-decoration-container .xterm-decoration{z-index:6;position:absolute}.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer{z-index:7}.xterm-decoration-overview-ruler{z-index:8;position:absolute;top:0;right:0;pointer-events:none}.xterm-decoration-top{z-index:2;position:relative}.xterm .xterm-scrollable-element>.scrollbar{cursor:default}.xterm .xterm-scrollable-element>.scrollbar>.scra{cursor:pointer;font-size:11px!important}.xterm .xterm-scrollable-element>.visible{opacity:1;background:#0000;transition:opacity .1s linear;z-index:11}.xterm .xterm-scrollable-element>.invisible{opacity:0;pointer-events:none}.xterm .xterm-scrollable-element>.invisible.fade{transition:opacity .8s linear}.xterm .xterm-scrollable-element>.shadow{position:absolute;display:none}.xterm .xterm-scrollable-element>.shadow.top{display:block;top:0;left:3px;height:3px;width:100%;box-shadow:var(--vscode-scrollbar-shadow, #000) 0 6px 6px -6px inset}.xterm .xterm-scrollable-element>.shadow.left{display:block;top:3px;left:0;height:100%;width:3px;box-shadow:var(--vscode-scrollbar-shadow, #000) 6px 0 6px -6px inset}.xterm .xterm-scrollable-element>.shadow.top-left-corner{display:block;top:0;left:0;height:3px;width:3px}.xterm .xterm-scrollable-element>.shadow.top.left{box-shadow:var(--vscode-scrollbar-shadow, #000) 6px 0 6px -6px inset}
