*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*
! tailwindcss v3.4.13 | MIT License | https://tailwindcss.com
*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.visible{visibility:visible}.fixed{position:fixed}.absolute{position:absolute}.inset-0{inset:0}.bottom-0{bottom:0}.left-0{left:0}.right-0{right:0}.top-0{top:0}.top-\[45\%\]{top:45%}.top-\[60\%\]{top:60%}.top-\[calc\(25\%\+10px\)\]{top:calc(25% + 10px)}.top-\[calc\(25\%-22px\)\]{top:calc(25% - 22px)}.top-\[calc\(45\%\+18px\)\]{top:calc(45% + 18px)}.top-\[calc\(60\%\+18px\)\]{top:calc(60% + 18px)}.z-10{z-index:10}.mb-1{margin-bottom:.25rem}.mb-3{margin-bottom:.75rem}.ml-4{margin-left:1rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.h-screen{height:100vh}.w-screen{width:100vw}.min-w-\[220px\]{min-width:220px}.max-w-\[300px\]{max-width:300px}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.resize{resize:both}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-x-6{-moz-column-gap:1.5rem;column-gap:1.5rem}.gap-y-2{row-gap:.5rem}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.border{border-width:1px}.border-\[\#0a0a0a\]{--tw-border-opacity:1;border-color:rgb(10 10 10/var(--tw-border-opacity))}.bg-\[\#f4f3ee\]{--tw-bg-opacity:1;background-color:rgb(244 243 238/var(--tw-bg-opacity))}.bg-\[var\(--bg\)\]{background-color:var(--bg)}.p-1{padding:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[12px\]{font-size:12px}.text-\[13px\]{font-size:13px}.text-\[14px\]{font-size:14px}.text-\[15px\]{font-size:15px}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.normal-case{text-transform:none}.leading-none{line-height:1}.leading-snug{line-height:1.375}.tracking-\[0\.18em\]{letter-spacing:.18em}.tracking-\[0\.2em\]{letter-spacing:.2em}.text-\[\#0a0a0a\]{--tw-text-opacity:1;color:rgb(10 10 10/var(--tw-text-opacity))}.text-\[\#6b6b6b\]{--tw-text-opacity:1;color:rgb(107 107 107/var(--tw-text-opacity))}.invert{--tw-invert:invert(100%)}.filter,.invert{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.will-change-transform{will-change:transform}:root{--bg:#f4f3ee;--fg:#0a0a0a;--mute:#6b6b6b;--accent:#f5f54e}html[data-theme=dark]{--bg:#050505;--fg:#f4f3ee;--mute:hsla(50,21%,95%,.62);--accent:#f4f3ee}body,html{margin:0;background:var(--bg);color:var(--fg);-webkit-font-smoothing:antialiased}body{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.site-nav{position:fixed;top:18px;left:18px;z-index:60;pointer-events:auto}.site-brand{display:inline-flex;align-items:center;gap:9px;padding:5px;color:var(--fg);text-decoration:none;line-height:1}.site-logo{width:18px;height:18px;display:block;background:url(/logo.png) 50%/contain no-repeat;filter:grayscale(1)}html[data-theme=dark] .intro-logo,html[data-theme=dark] .site-logo{filter:grayscale(1) invert(1)}.site-brand span{font-size:11px;letter-spacing:.22em;text-transform:uppercase}.site-menu{position:absolute;top:30px;left:2px;min-width:136px;padding:14px 14px 12px;background:hsla(50,21%,95%,.95);border:1px solid var(--fg);opacity:0;transform:translateY(-7px);transition:opacity .55s cubic-bezier(.2,.72,.18,1),transform .55s cubic-bezier(.2,.72,.18,1);pointer-events:none}html[data-theme=dark] .site-menu{background:rgba(5,5,5,.95)}.site-nav:focus-within .site-menu,.site-nav:hover .site-menu{opacity:1;transform:translateY(0);pointer-events:auto}.site-menu a{display:block;padding:6px 0;color:var(--fg);text-decoration:none;font-size:12px;letter-spacing:.14em;text-transform:uppercase;transition:transform .45s cubic-bezier(.2,.72,.18,1)}.site-menu a:hover{transform:translateX(3px)}.site-corner{position:absolute;width:18px;height:18px;pointer-events:none}.site-corner:after,.site-corner:before{content:"";position:absolute;background:var(--fg)}.site-corner:before{width:18px;height:1px}.site-corner:after{width:1px;height:18px}.site-corner.tl{top:-1px;left:-1px}.site-corner.tr{top:-1px;right:-1px;transform:rotate(90deg)}.site-corner.br{bottom:-1px;right:-1px;transform:rotate(180deg)}.site-corner.bl{bottom:-1px;left:-1px;transform:rotate(270deg)}.theme-toggle{position:fixed;top:18px;right:18px;z-index:60;width:28px;height:28px;border:0;background:transparent;color:var(--fg);cursor:pointer;pointer-events:auto}.theme-toggle:before{content:"";position:absolute;inset:5px;border:1px solid;border-radius:50%;background:linear-gradient(90deg,currentColor 0 50%,transparent 50% 100%);transition:transform .55s cubic-bezier(.2,.72,.18,1)}.theme-toggle:hover:before{transform:rotate(180deg)}html[data-theme=dark] canvas{filter:invert(1) grayscale(1)}html[data-theme=dark] .text-\[\#0a0a0a\]{color:var(--fg)}html[data-theme=dark] .text-\[\#6b6b6b\]{color:var(--mute)}html[data-theme=dark] .border-\[\#0a0a0a\]{border-color:var(--fg)}html[data-theme=dark] .hover\:bg-\[\#0a0a0a\]:hover{background-color:var(--fg)}html[data-theme=dark] .hover\:text-\[var\(--bg\)\]:hover{color:var(--bg)}.intro-shell{overflow:hidden}.intro-layer,.intro-shell{position:fixed;inset:0;background:var(--bg)}.intro-layer{z-index:20;display:flex;align-items:center;justify-content:center;padding:18px 32px;transform:translateY(calc(var(--pull, 0) * -18vh));transition:transform .7s cubic-bezier(.18,.92,.22,1)}.intro-layer.is-pulled{pointer-events:none;transform:translateY(-124vh) scale(.985);transition:transform 1.05s cubic-bezier(.14,.88,.18,1)}.intro-grid{width:min(1352px,100%);min-height:calc(100vh - 36px);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:108px auto 1fr auto;gap:52px 28px;align-items:start}.intro-brand{position:absolute;top:0;left:0;z-index:3;padding:4px;font-size:11px;letter-spacing:.2em;line-height:1}.intro-logo{display:inline-block;width:16px;height:16px;margin-right:4px;background:url(/logo.png) 50%/contain no-repeat}.intro-brand span,.intro-logo{vertical-align:middle}.intro-title{grid-column:1/-1;margin:34px 0 0;align-self:start;text-align:center;font-size:clamp(15px,2vw,27px);line-height:1;font-weight:400}.intro-card,.visualizer-entry{position:relative;min-height:82px;padding:28px 30px 26px;border:0;color:var(--fg);background:hsla(50,21%,95%,.88);text-align:left;font:inherit}html[data-theme=dark] .intro-card,html[data-theme=dark] .visualizer-entry{background:transparent}.intro-card{animation:intro-breathe 7s ease-in-out infinite;cursor:pointer}.intro-card:nth-child(2){animation-delay:-1.4s}.intro-card:nth-child(3){animation-delay:-2.8s}.corner-frame{position:absolute;inset:0;pointer-events:none;background:linear-gradient(var(--fg),var(--fg)) 0 0 /26px 1px no-repeat,linear-gradient(var(--fg),var(--fg)) 0 0 /1px 26px no-repeat,linear-gradient(var(--fg),var(--fg)) 100% 0 /26px 1px no-repeat,linear-gradient(var(--fg),var(--fg)) 100% 0 /1px 26px no-repeat,linear-gradient(var(--fg),var(--fg)) 0 100% /26px 1px no-repeat,linear-gradient(var(--fg),var(--fg)) 0 100% /1px 26px no-repeat,linear-gradient(var(--fg),var(--fg)) 100% 100% /26px 1px no-repeat,linear-gradient(var(--fg),var(--fg)) 100% 100% /1px 26px no-repeat}.intro-card h2,.visualizer-entry span:first-child{position:relative;margin:0;font-size:18.9px;line-height:1.2;font-weight:500}.intro-copy{position:relative;margin:0;color:var(--mute);font-size:13.65px;line-height:1.58;opacity:0;max-height:0;padding-top:0;overflow:hidden;transform:translateY(-16px);transition:opacity 1.35s ease,max-height 2.2s cubic-bezier(.1,.74,.1,1),padding-top 2.2s cubic-bezier(.1,.74,.1,1),transform 2.2s cubic-bezier(.1,.74,.1,1)}.intro-copy p{margin:0}.intro-copy p+p{margin-top:1.15em}.learn-more{display:inline-block;margin-top:1.2em;border:0;padding:0;background:transparent;color:var(--fg);font:inherit;text-decoration:none;cursor:pointer;pointer-events:auto}.learn-more:focus,.learn-more:hover{text-decoration:underline;text-underline-offset:3px}.intro-card.is-open .intro-copy,.intro-card:focus .intro-copy,.intro-card:hover .intro-copy{opacity:1;max-height:940px;padding-top:18px;transform:translateY(0)}.visualizer-entry{grid-column:1/-1;justify-self:center;align-self:end;width:min(520px,100%);min-height:88px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;cursor:pointer;background:transparent;transform:translateY(58px);transition:transform .36s cubic-bezier(.18,.82,.16,1)}.visualizer-entry:focus,.visualizer-entry:hover{transform:translateY(54px)}.visualizer-entry span:first-child{font-size:13.5px;letter-spacing:.08em;overflow:hidden;background:linear-gradient(100deg,var(--fg) 0,var(--fg) 38%,hsla(0,0%,47%,.72) 48%,var(--fg) 58%,var(--fg) 100%);background-size:260% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:text-shine 4.8s ease-in-out infinite}.down-arrow{position:relative;display:inline-block;width:12px;height:18px;animation:arrow-fade 2.6s ease-in-out infinite}.down-arrow:after,.down-arrow:before{content:"";position:absolute;left:50%;background:var(--fg);transform:translateX(-50%)}.down-arrow:before{top:0;width:1px;height:14px}.down-arrow:after{bottom:1px;width:7px;height:7px;border-right:1px solid var(--fg);border-bottom:1px solid var(--fg);background:transparent;transform:translateX(-50%) rotate(45deg)}@keyframes intro-breathe{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes arrow-fade{0%,to{opacity:.24}50%{opacity:.86}}@keyframes text-shine{0%,28%{background-position:120% 0}72%,to{background-position:-120% 0}}@media (max-width:860px){.intro-layer{align-items:flex-start;padding:28px 22px;overflow:auto}.intro-grid{grid-template-columns:1fr;grid-template-rows:auto auto auto auto auto;gap:16px}.intro-card{min-height:72px}}@media (prefers-reduced-motion:reduce){.down-arrow,.intro-card,.intro-copy,.intro-layer,.visualizer-entry{animation:none;transition:none}}.hover\:bg-\[\#0a0a0a\]:hover{--tw-bg-opacity:1;background-color:rgb(10 10 10/var(--tw-bg-opacity))}.hover\:text-\[\#0a0a0a\]:hover{--tw-text-opacity:1;color:rgb(10 10 10/var(--tw-text-opacity))}.hover\:text-\[var\(--bg\)\]:hover{color:var(--bg)}