/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial}}}@layer theme{:root,:host{--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--font-weight-medium:500;--font-weight-semibold:600;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--font-sans:"Manrope", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"Noto Sans Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--radius-sm:6px;--radius-lg:16px}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}html{scroll-behavior:smooth;background-color:var(--background);color:var(--text-primary);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility}body{background-color:var(--background);color:var(--text-primary);font-size:18px;font-weight:400;line-height:28px}section[id]{scroll-margin-top:calc(var(--header-h) + 40px - var(--section-pt,0px))}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid var(--brand-primary);outline-offset:2px;border-radius:2px}::selection{background-color:var(--brand-primary);color:var(--background)}}@layer components{.section{--section-pt:80px;padding-top:var(--section-pt)}.section--tight{--section-pt:48px}@media (min-width:48rem){.section{--section-pt:144px}.section--tight{--section-pt:64px}}.skip-link{z-index:100;border:1px solid var(--brand-primary);border-radius:var(--radius-sm);background:var(--background);color:var(--brand-primary);transition:transform var(--dur) var(--ease);padding:8px 16px;font-weight:500;position:fixed;top:8px;left:8px;transform:translateY(-160%)}.skip-link:focus-visible{transform:none}.site-header{background-color:var(--background);transition:border-color var(--dur) var(--ease);border-bottom:1px solid #0000}.site-header.is-scrolled,.site-header.menu-open{border-bottom-color:var(--border)}.logo-crop{--logo-h:36px;width:calc(var(--logo-h) * 696 / 158);height:var(--logo-h);transition:opacity .4s var(--ease), transform .4s var(--ease), visibility 0s;display:block;overflow:hidden}.site-header.logo-hidden .logo-crop{opacity:0;visibility:hidden;transition:opacity .3s var(--ease), transform .3s var(--ease), visibility 0s .3s;transform:translateY(-8px)}.logo-crop img{width:calc(var(--logo-h) * 1200 / 158);max-width:none;height:auto;margin-left:calc(var(--logo-h) * -78 / 158);margin-top:calc(var(--logo-h) * -68 / 158);display:block}@media (min-width:48rem){.logo-crop{--logo-h:44px}}.nav-link{color:var(--text-secondary);transition:color var(--dur) var(--ease);padding-block:8px;font-size:15px;font-weight:500;line-height:24px;display:inline-block;position:relative}.nav-link:hover{color:var(--text-primary)}.nav-link[aria-current=true]{color:var(--brand-primary)}.nav-link:after{content:"";transform-origin:0;height:1px;transition:transform var(--dur-long) var(--ease);background:currentColor;position:absolute;bottom:2px;left:0;right:0;transform:scaleX(0)}.nav-link:hover:after{transform:scaleX(.4)}.nav-link[aria-current=true]:after{transform:scaleX(1)}.icon-button{border:1px solid var(--border);border-radius:var(--radius-sm);min-width:40px;height:40px;color:var(--text-primary);background:var(--background);transition:background-color var(--dur) var(--ease), border-color var(--dur) var(--ease);justify-content:center;align-items:center;padding-inline:12px;display:inline-flex}.icon-button:hover{background:var(--surface)}.mobile-link{letter-spacing:-.01em;align-items:baseline;gap:16px;padding-block:16px;font-size:24px;font-weight:500;line-height:32px;display:flex}.mobile-link[aria-current=true]{color:var(--brand-primary)}.action-link{color:var(--brand-primary);border-bottom:1px solid;align-items:center;gap:12px;padding-bottom:4px;font-size:20px;font-weight:500;line-height:28px;display:inline-flex}.action-link svg{transition:transform var(--dur) var(--ease)}.action-link:hover svg,.action-link:focus-visible svg{transform:translate(6px)}.email-link{max-width:100%;color:var(--brand-primary);padding-bottom:8px;display:inline-block;position:relative}.email-link:after{content:"";transform-origin:0;height:2px;transition:transform var(--dur-reveal) var(--ease) .4s;background:currentColor;position:absolute;bottom:0;left:0;right:0}.email-link:hover:after{transform-origin:100%;animation:underline-redraw .6s var(--ease)}.cursor{background-color:var(--brand-accent);vertical-align:baseline;transform-origin:0;width:.5em;height:.09em;margin-left:.08em;animation:1s step-end infinite cursor-blink;display:inline-block}.logo-draw__chevron{stroke:var(--brand-primary)}.logo-draw__cursor{stroke:var(--brand-accent);transform-box:fill-box;transform-origin:0}[data-type]{min-height:16px}.type-caret{background:var(--brand-accent);vertical-align:baseline;width:.6em;height:2px;margin-left:2px;animation:.6s step-end infinite cursor-blink;display:inline-block}.word{vertical-align:top;margin:-.06em 0 -.18em;padding:.06em 0 .18em;display:inline-block;overflow:hidden}.word__inner{display:inline-block}.type-word{white-space:nowrap}[data-split=type] .cursor{margin-right:-.58em}.rule-draw{position:relative}.rule-draw:after{content:"";background:var(--border);transform-origin:0;pointer-events:none;height:1px;position:absolute;top:0;left:0;right:0}.reading-progress{z-index:40;left:16px;top:calc(var(--header-h) + 32px);pointer-events:none;width:12px;position:fixed;bottom:32px}.reading-progress__track{background:var(--border);width:1px;position:absolute;top:0;bottom:0;left:0}.reading-progress__cursor{background:var(--brand-accent);will-change:transform;width:12px;height:3px;position:absolute;top:0;left:0}.reading-progress__num{font-family:var(--font-mono);letter-spacing:.08em;color:var(--text-secondary);transition:opacity .3s var(--ease);font-size:11px;line-height:16px;display:none;position:absolute;top:-7px;left:18px}.reading-progress__num.is-hidden{opacity:0}@media (min-width:80rem){.reading-progress{left:24px}.reading-progress__num{display:block}}.hero-logo{--logo-h:clamp(64px, 40px + 6vw, 136px);width:calc(var(--logo-h) * 696 / 158);max-width:100%;height:var(--logo-h);overflow:hidden}.hero-logo img{width:calc(var(--logo-h) * 1200 / 158);max-width:none;height:auto;margin-left:calc(var(--logo-h) * -78 / 158);margin-top:calc(var(--logo-h) * -68 / 158);display:block}.hero-logo svg{width:100%;height:100%;display:block;overflow:visible}.hero-logo .logo-sub{opacity:0;transition:opacity .5s var(--ease), transform .5s var(--ease);transition-delay:calc(var(--i,0) * 45ms);transform:translateY(18px)}.hero-logo.is-sub .logo-sub{opacity:1;transform:none}.logo-caret{fill:var(--brand-accent)}.logo-caret.is-idle{animation:.8s step-end infinite cursor-blink}.principle__viz svg{width:160px;height:72px;display:block;overflow:visible}.viz-frame{stroke:var(--border);stroke-width:1.5px}.viz-frame--soft{stroke:var(--text-secondary)}.viz-frame--strong{stroke:var(--text-primary)}.viz-rail,.viz-straight{stroke:var(--text-primary);stroke-width:1.5px;stroke-linecap:round}.viz-tangle{stroke:var(--text-secondary);stroke-width:1.5px;stroke-linecap:round;stroke-dasharray:3 4}.viz-soft-line{stroke:var(--text-secondary);stroke-width:1.5px;stroke-linecap:round}.viz-dot,.viz-solid,.viz-bar--strong{fill:var(--text-primary)}.viz-bar,.viz-soft{fill:var(--text-secondary)}.viz-bar--strong{fill:var(--text-primary)}.viz-tick{fill:var(--border)}.viz-action{fill:var(--brand-primary)}.viz-question{fill:var(--text-secondary);font-family:var(--font-mono);font-size:14px;font-weight:500}.viz-check{stroke:var(--text-primary);stroke-width:1.75px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1 1}.p1-rail{stroke-dasharray:1 1}.p3-clutter,.p5-q{opacity:0}.principle__viz *{animation-play-state:paused}.principle.is-playing .principle__viz *{animation-play-state:running}.screens__stage{position:relative}.window{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);overflow:hidden}.window--app{background:var(--background);margin:-128px 0 0 16px;position:relative}@media (min-width:48rem){.screens__stage{min-height:600px}.window--code{width:68%}.window--app{width:50%;margin:0;position:absolute;top:96px;right:0}}.window__bar{border-bottom:1px solid var(--border);height:44px;font-family:var(--font-mono);letter-spacing:.04em;color:var(--text-secondary);white-space:nowrap;justify-content:space-between;align-items:center;gap:16px;padding-inline:16px;font-size:12px;line-height:16px;display:flex}.code-view{height:320px;position:relative;overflow:hidden}@media (min-width:48rem){.code-view{height:440px}}.code{font-family:var(--font-mono);color:var(--text-secondary);white-space:pre;transition:transform .9s var(--ease);margin:0;padding-block:16px;font-size:12px;line-height:20px}@media (min-width:48rem){.code{font-size:13px;line-height:22px}}.code-line{transition:opacity .4s var(--ease), background-color .4s var(--ease);padding-right:16px;display:flex;position:relative}.code-line:before{content:"";background:var(--brand-primary);width:2px;transition:transform .4s var(--ease);position:absolute;top:0;bottom:0;left:0;transform:scaleY(0)}.code-line__num{text-align:right;opacity:.5;-webkit-user-select:none;user-select:none;flex:none;width:48px;padding-right:16px}.code.has-focus .code-line{opacity:.35}.code.has-focus .code-line.is-active{opacity:1;background-color:var(--background)}.code.has-focus .code-line.is-active:before{transform:none}.tok-k{color:var(--brand-primary)}.tok-s,.tok-n{color:var(--text-primary)}.tok-c{opacity:.7}.app-status{border:1px solid var(--border);border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.08em;transition:color .3s var(--ease), border-color .3s var(--ease);padding:2px 8px}.app-status.is-done{color:var(--text-primary);border-color:var(--text-secondary)}.app-steps{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.app-step{min-width:0;font-family:var(--font-mono);color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;transition:color .3s var(--ease);font-size:10px;line-height:16px;overflow:hidden}@media (min-width:48rem){.app-step{letter-spacing:.04em;font-size:11px}}.app-step__bar{background:var(--border);height:2px;margin-bottom:8px;display:block;position:relative;overflow:hidden}.app-step__bar:after{content:"";background:var(--text-primary);transform-origin:0;transition:transform .5s var(--ease);position:absolute;inset:0;transform:scaleX(0)}.app-step.is-done{color:var(--text-primary)}.app-step.is-done .app-step__bar:after{transform:none}.app-checks{border-top:1px solid var(--border)}.app-check{border-bottom:1px solid var(--border);color:var(--text-secondary);transition:color .3s var(--ease);align-items:center;gap:12px;padding-block:12px;font-size:15px;line-height:20px;display:flex}.app-check__icon svg{width:16px;height:16px;display:block}.app-check__ring{stroke:var(--border);stroke-width:1.5px;transform-origin:50%;transition:stroke .3s var(--ease)}.app-check__mark{stroke:var(--text-primary);stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1 1;stroke-dashoffset:1px;transition:stroke-dashoffset .4s var(--ease)}.app-check__text{flex:1;min-width:0}.app-check__rule{font-family:var(--font-mono);letter-spacing:.08em;opacity:.7;font-size:11px}.app-check.is-running{color:var(--text-primary)}.app-check.is-running .app-check__ring{stroke:var(--text-primary);stroke-dasharray:32 12;animation:.9s linear infinite ring-spin}.app-check.is-done{color:var(--text-primary)}.app-check.is-done .app-check__ring{stroke:var(--text-secondary)}.app-check.is-done .app-check__mark{stroke-dashoffset:0}.app-button{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);transition:background-color .3s var(--ease), border-color .3s var(--ease), color .3s var(--ease), transform .16s var(--ease);flex:none;padding:8px 16px;font-size:14px;font-weight:500;line-height:20px}.app-button.is-ready{background:var(--brand-primary);border-color:var(--brand-primary);color:var(--background)}.app-button.is-pressed{transform:scale(.96)}.step__num,.step__title{transition:color .4s var(--ease), transform .4s var(--ease)}.step.is-current .step__num{color:var(--text-primary)}.step.is-current .step__title{transform:translate(8px)}.principle{isolation:isolate}.principle:before{content:"";z-index:-1;transition:background-color var(--dur) var(--ease);background-color:#0000;position:absolute;inset:0 -16px}.principle__num,.principle__title{transition:color var(--dur) var(--ease), transform var(--dur-long) var(--ease)}.principle:hover:before{background-color:var(--surface)}.principle:hover .principle__num{color:var(--brand-primary)}.principle:hover .principle__title{transform:translate(8px)}}@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fixed{position:fixed}.inset-x-0{inset-inline:0}.top-0{top:0}.z-50{z-index:50}.col-span-2{grid-column:span 2/span 2}.col-span-10{grid-column:span 10/span 10}.col-span-12{grid-column:span 12/span 12}.col-start-3{grid-column-start:3}.sheet{width:100%;max-width:1280px;margin-inline:auto;padding-inline:24px}@media (min-width:48rem){.sheet{padding-inline:40px}}.mt-1{margin-top:var(--spacing)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mt-10{margin-top:calc(var(--spacing) * 10)}.mt-12{margin-top:calc(var(--spacing) * 12)}.mt-16{margin-top:calc(var(--spacing) * 16)}.mb-20{margin-bottom:calc(var(--spacing) * 20)}.-ml-\[11px\]{margin-left:-11px}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.h-\(--header-h\){height:var(--header-h)}.h-4{height:calc(var(--spacing) * 4)}.h-16{height:calc(var(--spacing) * 16)}.h-18{height:calc(var(--spacing) * 18)}.min-h-\[72svh\]{min-height:72svh}.w-16{width:calc(var(--spacing) * 16)}.max-w-\[720px\]{max-width:720px}.flex-1{flex:1}.shrink-0{flex-shrink:0}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-4{gap:calc(var(--spacing) * 4)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-8{gap:calc(var(--spacing) * 8)}.gap-x-4{column-gap:calc(var(--spacing) * 4)}.gap-y-2{row-gap:calc(var(--spacing) * 2)}.gap-y-3{row-gap:calc(var(--spacing) * 3)}.gap-y-6{row-gap:calc(var(--spacing) * 6)}.self-start{align-self:flex-start}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-line{border-color:var(--border)}.bg-bg{background-color:var(--background)}.p-5{padding:calc(var(--spacing) * 5)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-8{padding-block:calc(var(--spacing) * 8)}.py-12{padding-block:calc(var(--spacing) * 12)}.py-24{padding-block:calc(var(--spacing) * 24)}.pt-1{padding-top:var(--spacing)}.pt-1\.5{padding-top:calc(var(--spacing) * 1.5)}.pt-6{padding-top:calc(var(--spacing) * 6)}.pt-\[calc\(var\(--header-h\)\+80px\)\]{padding-top:calc(var(--header-h) + 80px)}.pb-6{padding-bottom:calc(var(--spacing) * 6)}.pb-8{padding-bottom:calc(var(--spacing) * 8)}.pb-24{padding-bottom:calc(var(--spacing) * 24)}.label-mono{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary);font-size:12px;font-weight:500;line-height:16px}@media (min-width:48rem){.label-mono{font-size:13px}}.font-mono{font-family:var(--font-mono)}.text-display{letter-spacing:-.03em;font-size:clamp(2.375rem,.75rem + 6.4vw,6rem);font-weight:600;line-height:1.02}.text-h2{letter-spacing:-.02em;font-size:clamp(2rem,1.6rem + 1.2vw,2.5rem);font-weight:600;line-height:1.15}.text-h3{letter-spacing:-.015em;font-size:clamp(1.375rem,1.2rem + .6vw,1.75rem);font-weight:600;line-height:1.25}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[13px\]{font-size:13px}.text-\[15px\]{font-size:15px}.text-\[22px\]{font-size:22px}.text-\[clamp\(1\.75rem\,1rem\+3\.6vw\,3\.5rem\)\]{font-size:clamp(1.75rem,1rem + 3.6vw,3.5rem)}.leading-5{--tw-leading:calc(var(--spacing) * 5);line-height:calc(var(--spacing) * 5)}.leading-6{--tw-leading:calc(var(--spacing) * 6);line-height:calc(var(--spacing) * 6)}.leading-7{--tw-leading:calc(var(--spacing) * 7);line-height:calc(var(--spacing) * 7)}.leading-8{--tw-leading:calc(var(--spacing) * 8);line-height:calc(var(--spacing) * 8)}.leading-\[1\.15\]{--tw-leading:1.15;line-height:1.15}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[-0\.01em\]{--tw-tracking:-.01em;letter-spacing:-.01em}.tracking-\[-0\.02em\]{--tw-tracking:-.02em;letter-spacing:-.02em}.tracking-\[0\.08em\]{--tw-tracking:.08em;letter-spacing:.08em}.text-balance{text-wrap:balance}.\[overflow-wrap\:anywhere\]{overflow-wrap:anywhere}.whitespace-nowrap{white-space:nowrap}.text-ink{color:var(--text-primary)}.text-muted{color:var(--text-secondary)}.uppercase{text-transform:uppercase}@media (hover:hover){.hover\:text-ink:hover{color:var(--text-primary)}}@media (min-width:40rem){.sm\:inline{display:inline}}@media (min-width:48rem){.md\:col-span-2{grid-column:span 2/span 2}.md\:col-span-3{grid-column:span 3/span 3}.md\:col-span-4{grid-column:span 4/span 4}.md\:col-span-5{grid-column:span 5/span 5}.md\:col-span-7{grid-column:span 7/span 7}.md\:col-span-9{grid-column:span 9/span 9}.md\:col-start-4{grid-column-start:4}.md\:col-start-8{grid-column-start:8}.md\:col-start-auto{grid-column-start:auto}.md\:mt-0{margin-top:0}.md\:mt-12{margin-top:calc(var(--spacing) * 12)}.md\:mt-16{margin-top:calc(var(--spacing) * 16)}.md\:mt-20{margin-top:calc(var(--spacing) * 20)}.md\:mt-24{margin-top:calc(var(--spacing) * 24)}.md\:mb-32{margin-bottom:calc(var(--spacing) * 32)}.md\:block{display:block}.md\:hidden{display:none}.md\:flex-row{flex-direction:row}.md\:items-center{align-items:center}.md\:justify-between{justify-content:space-between}.md\:gap-x-6{column-gap:calc(var(--spacing) * 6)}.md\:self-auto{align-self:auto}.md\:p-8{padding:calc(var(--spacing) * 8)}.md\:py-10{padding-block:calc(var(--spacing) * 10)}.md\:py-16{padding-block:calc(var(--spacing) * 16)}.md\:py-40{padding-block:calc(var(--spacing) * 40)}.md\:pt-\[calc\(var\(--header-h\)\+128px\)\]{padding-top:calc(var(--header-h) + 128px)}.md\:pb-40{padding-bottom:calc(var(--spacing) * 40)}.md\:text-right{text-align:right}.md\:text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}}@media (min-width:64rem){.lg\:col-span-2{grid-column:span 2/span 2}.lg\:col-span-3{grid-column:span 3/span 3}.lg\:col-span-4{grid-column:span 4/span 4}.lg\:col-span-7{grid-column:span 7/span 7}.lg\:col-span-10{grid-column:span 10/span 10}.lg\:col-start-11{grid-column-start:11}.lg\:mt-0{margin-top:0}.lg\:block{display:block}.lg\:justify-self-end{justify-self:flex-end}}}@font-face{font-family:Manrope;font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/manrope-latin-400-normal.woff2)format("woff2")}@font-face{font-family:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/manrope-latin-500-normal.woff2)format("woff2")}@font-face{font-family:Manrope;font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/manrope-latin-600-normal.woff2)format("woff2")}@font-face{font-family:Noto Sans Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/noto-sans-mono-latin-400-normal.woff2)format("woff2")}@font-face{font-family:Noto Sans Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/noto-sans-mono-latin-500-normal.woff2)format("woff2")}:root{--brand-primary:#315bff;--brand-accent:#18afc4;--text-primary:#151a24;--text-secondary:#687386;--background:#fff;--surface:#f6f8fc;--border:#dce2ec;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--header-h:72px;--ease:cubic-bezier(.2, 0, 0, 1);--dur:.2s;--dur-long:.24s;--dur-reveal:.8s}html.dark{--brand-primary:#7f95ff;--brand-accent:#55d0df;--text-primary:#fff;--text-secondary:#aeb7c7;--background:#151a24;--surface:#1f2633;--border:#344054;color-scheme:dark}@media (min-width:48rem){:root{--header-h:88px}}@keyframes cursor-blink{0%{opacity:1}50%{opacity:0}}@keyframes underline-redraw{0%{transform-origin:100%;transform:scaleX(1)}50%{transform-origin:100%;transform:scaleX(0)}50.01%{transform-origin:0;transform:scaleX(0)}to{transform-origin:0;transform:scaleX(1)}}@keyframes ring-spin{to{transform:rotate(360deg)}}@keyframes p1-dot{0%,12%{transform:translate(var(--dx), var(--dy))}40%,82%{transform:none}to{transform:translate(var(--dx), var(--dy))}}@keyframes p1-rail{0%,38%{stroke-dashoffset:1px}55%,82%{stroke-dashoffset:0}to{stroke-dashoffset:1px}}@keyframes p2-bar{0%,15%{transform:translateY(var(--dy))}45%,85%{transform:none}to{transform:translateY(var(--dy))}}@keyframes p3-clutter{0%,20%{opacity:1}35%,85%{opacity:0}to{opacity:1}}@keyframes p4-screen{0%,5%{opacity:.2}20%,80%{opacity:1}95%,to{opacity:.2}}@keyframes p5-q{0%,25%{opacity:1}35%,85%{opacity:0}to{opacity:1}}@keyframes p5-check{0%,32%{stroke-dashoffset:1px}48%,85%{stroke-dashoffset:0}to{stroke-dashoffset:1px}}@keyframes p6-flow{to{stroke-dashoffset:-14px}}@keyframes logo-chevron{0%{stroke-dashoffset:1px;opacity:0}1%{opacity:1}to{stroke-dashoffset:0;opacity:1}}@keyframes logo-cursor{0%{opacity:0;transform:scaleX(0)}1%{opacity:1}to{opacity:1;transform:scaleX(1)}}@media (prefers-reduced-motion:no-preference){.js .scroll-fade-in{opacity:0;transition:opacity .6s var(--ease), transform .6s var(--ease);transition-delay:calc(var(--i,0) * 60ms);transform:translateY(16px)}.js .scroll-fade-in.is-visible{opacity:1;transform:none}.js .intro-fade{animation:intro-fade .6s var(--ease) both;animation-delay:calc(var(--i,0) * 70ms)}.js .rule-draw:after{transition:transform 1.1s var(--ease);transition-delay:calc(var(--i,0) * 60ms);transform:scaleX(0)}.js .rule-draw.is-visible:after{transform:none}.js [data-split=mask]:not(.is-split){opacity:0}.js [data-split=mask] .word__inner{transition:transform var(--dur-reveal) var(--ease);transition-delay:calc(var(--w,0) * 55ms);transform:translateY(130%)}.js [data-split=mask].is-visible .word__inner{transform:none}.js [data-split=type]:not(.is-split),.js [data-split=type] .type-char:not(.is-on){opacity:0}.js [data-split=type].is-typing .cursor{transform:none}.js [data-split] .cursor{animation:none;transform:scaleX(0)}.js [data-split].is-complete .cursor{transition:transform .36s var(--ease);animation:1s step-end .36s infinite cursor-blink;transform:none}.js [data-type]:not(.is-typed){color:#0000}.js [data-logo-draw] :is(.logo-draw__chevron,.logo-draw__cursor){opacity:0}.js [data-logo-draw] .logo-draw__chevron{stroke-dasharray:1 1;stroke-dashoffset:1px}.js [data-logo-draw].is-visible .logo-draw__chevron{animation:logo-chevron .9s var(--ease) .15s both}.js [data-logo-draw].is-visible .logo-draw__cursor{animation:logo-cursor .42s var(--ease) .95s both}.p1-dot{animation:p1-dot 5s var(--ease) infinite;animation-delay:calc(var(--i) * 80ms)}.p1-rail{animation:p1-rail 5s var(--ease) infinite}.p2-bar{animation:p2-bar 5s var(--ease) infinite;animation-delay:calc(var(--i) * 90ms)}.p3-clutter{animation:p3-clutter 5s var(--ease) infinite;animation-delay:calc(var(--i) * 70ms)}.p4-screen{animation:p4-screen 4.5s var(--ease) infinite;animation-delay:calc(var(--i) * .45s)}.p5-q{animation:p5-q 5s var(--ease) infinite;animation-delay:calc(var(--i) * .4s)}.p5-check{animation:p5-check 5s var(--ease) infinite;animation-delay:calc(var(--i) * .4s)}.p6-flow{animation:.9s linear infinite p6-flow}.js .hero-logo:not(.is-fallback) img{opacity:0}.js [data-screens] .window--code{translate:0 calc(var(--p,0) * -24px)}.js [data-screens] .window--app{translate:0 calc(var(--p,0) * 32px)}.js [data-screens] .window{transition:opacity .9s var(--ease), transform .9s var(--ease)}.js [data-screens] .window--app{transition-delay:.3s}.js [data-screens]:not(.is-visible) .window--code{opacity:0;transform:translateY(32px)}.js [data-screens]:not(.is-visible) .window--app{opacity:0;transform:translateY(64px)}.js [data-screens]:not(.is-settled) .code-line{transition-delay:calc(var(--l,0) * 14ms)}.js [data-screens]:not(.is-visible) .code-line{opacity:0}.js .scroll-fade-in:not(.is-visible) .email-link:after{transform:scaleX(0)}}@keyframes intro-fade{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.cursor,.type-caret{animation:none}*,:before,:after{transition-duration:0s!important;transition-delay:0s!important}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}