@font-face{font-family:zodiak;src:url(../media/Zodiak_Regular-s.p.0sfwe_t7at8lh.woff2)format("woff2");font-display:swap;font-weight:400;font-style:normal}@font-face{font-family:zodiak;src:url(../media/Zodiak_Italic-s.p.3zgr3oko14eng.woff2)format("woff2");font-display:swap;font-weight:400;font-style:italic}@font-face{font-family:zodiak Fallback;src:local(Arial);ascent-override:88.19%;descent-override:23.16%;line-gap-override:8.02%;size-adjust:112.26%}.zodiak_c51e02f-module__ckkYVa__className{font-family:zodiak,zodiak Fallback,Georgia,serif}.zodiak_c51e02f-module__ckkYVa__variable{--font-display-face:"zodiak", "zodiak Fallback", Georgia, serif}
@font-face{font-family:cabinetGrotesk;src:url(../media/CabinetGrotesk_Regular-s.p.22yjlnlk5xyo-.woff2)format("woff2");font-display:swap;font-weight:400;font-style:normal}@font-face{font-family:cabinetGrotesk;src:url(../media/CabinetGrotesk_Medium-s.p.1qer_lx1z9xe3.woff2)format("woff2");font-display:swap;font-weight:500;font-style:normal}@font-face{font-family:cabinetGrotesk;src:url(../media/CabinetGrotesk_Bold-s.p.44x0z4al0mepe.woff2)format("woff2");font-display:swap;font-weight:700;font-style:normal}@font-face{font-family:cabinetGrotesk Fallback;src:local(Arial);ascent-override:90.64%;descent-override:29.17%;line-gap-override:9.38%;size-adjust:95.99%}.cabinetgrotesk_39e3bfcf-module__nhoXyW__className{font-family:cabinetGrotesk,cabinetGrotesk Fallback,system-ui,sans-serif}.cabinetgrotesk_39e3bfcf-module__nhoXyW__variable{--font-body-face:"cabinetGrotesk", "cabinetGrotesk Fallback", system-ui, sans-serif}
@font-face{font-family:Martian Mono;font-style:normal;font-weight:100 800;font-stretch:100%;font-display:swap;src:url(../media/2b232b7efa22db1c-s.2a5zzury7bvvl.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Martian Mono;font-style:normal;font-weight:100 800;font-stretch:100%;font-display:swap;src:url(../media/3bee448361125987-s.01g2kivmtf43w.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Martian Mono;font-style:normal;font-weight:100 800;font-stretch:100%;font-display:swap;src:url(../media/564b25e5ad617bd2-s.29dtuopo-jwmz.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Martian Mono;font-style:normal;font-weight:100 800;font-stretch:100%;font-display:swap;src:url(../media/ee9d8ff0751135e3-s.p.3p2zw-bmbrlar.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Martian Mono Fallback;src:local(Arial);ascent-override:63.69%;descent-override:12.74%;line-gap-override:0.0%;size-adjust:157.02%}.martian_mono_4b0d09fe-module__RQjkBq__className{font-family:Martian Mono,Martian Mono Fallback;font-style:normal}.martian_mono_4b0d09fe-module__RQjkBq__variable{--font-mono-face:"Martian Mono", "Martian Mono Fallback"}
@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-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--sweep-r:0%}}}@layer theme{:root,:host{--font-sans:-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-mono:var(--font-mono-face), ui-monospace, monospace;--color-red-500:#fb2c36;--color-neutral-500:#737373;--spacing:12px;--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--font-weight-normal:400;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--aspect-video:16 / 9;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono-face), ui-monospace, monospace;--font-display:var(--font-display-face), Georgia, serif;--font-body:var(--font-body-face), system-ui, sans-serif;--text-step-0:var(--step-0);--ease-site:cubic-bezier(.32, .72, 0, 1)}@supports (color:lab(0% 0 0)){:root,:host{--color-red-500:lab(55.4814% 75.0732 48.8528);--color-neutral-500:lab(48.496% 0 0)}}}@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;-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{-webkit-text-size-adjust:100%;font-feature-settings:"calt" 1, "liga" 1}body{background-color:var(--page);color:var(--ink);font-family:var(--font-body);font-size:var(--text-step-0);-webkit-font-smoothing:antialiased;line-height:1.6}::selection{background-color:var(--sun);color:var(--ink)}:focus-visible{outline:2px solid var(--plum);outline-offset:3px;border-radius:1px}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.032em;text-wrap:balance;line-height:1.02}p{text-wrap:pretty}.font-mono,time,[data-nums]{font-variant-numeric:tabular-nums}}@layer components{.nav-link{padding-block:2px;display:inline-block;position:relative}.nav-link:after{content:"";transform-origin:0;background-color:currentColor;width:100%;height:1px;position:absolute;bottom:0;left:0;transform:scaleX(0)}.nav-link[aria-current=page]:after{transform:scaleX(1)}.link{color:var(--plum);text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:1px;-webkit-text-decoration-color:var(--plum);-webkit-text-decoration-color:var(--plum);-webkit-text-decoration-color:var(--plum);text-decoration-color:var(--plum)}@supports (color:color-mix(in lab, red, red)){.link{-webkit-text-decoration-color:color-mix(in srgb, var(--plum) 40%, transparent);-webkit-text-decoration-color:color-mix(in srgb, var(--plum) 40%, transparent);-webkit-text-decoration-color:color-mix(in srgb, var(--plum) 40%, transparent);text-decoration-color:color-mix(in srgb, var(--plum) 40%, transparent)}}.link:hover{-webkit-text-decoration-color:var(--plum);-webkit-text-decoration-color:var(--plum);-webkit-text-decoration-color:var(--plum);text-decoration-color:var(--plum)}@media (prefers-reduced-motion:no-preference){.nav-link:after{transition:transform .15s var(--ease-site)}.nav-link:hover:after,.nav-link:focus-visible:after{transform:scaleX(1)}.link{transition:text-decoration-color .18s var(--ease-site)}}@media (prefers-reduced-motion:reduce){.nav-link:hover:after,.nav-link:focus-visible:after{transform:scaleX(1)}}.cell{fill:var(--rule)}.cell[data-level="1"]{fill:var(--sun)}@supports (color:color-mix(in lab, red, red)){.cell[data-level="1"]{fill:color-mix(in srgb, var(--sun) 25%, var(--rule))}}.cell[data-level="2"]{fill:var(--sun)}@supports (color:color-mix(in lab, red, red)){.cell[data-level="2"]{fill:color-mix(in srgb, var(--sun) 50%, var(--rule))}}.cell[data-level="3"]{fill:var(--sun)}@supports (color:color-mix(in lab, red, red)){.cell[data-level="3"]{fill:color-mix(in srgb, var(--sun) 75%, var(--rule))}}.cell[data-level="4"]{fill:var(--sun)}.dark .cell{fill:var(--panel)}.dark .cell[data-level="1"]{fill:var(--sun)}@supports (color:color-mix(in lab, red, red)){.dark .cell[data-level="1"]{fill:color-mix(in srgb, var(--sun) 25%, var(--panel))}}.dark .cell[data-level="2"]{fill:var(--sun)}@supports (color:color-mix(in lab, red, red)){.dark .cell[data-level="2"]{fill:color-mix(in srgb, var(--sun) 50%, var(--panel))}}.dark .cell[data-level="3"]{fill:var(--sun)}@supports (color:color-mix(in lab, red, red)){.dark .cell[data-level="3"]{fill:color-mix(in srgb, var(--sun) 75%, var(--panel))}}.dark .cell[data-level="4"]{fill:var(--sun)}.heat-key{background-color:var(--rule);border-radius:2px;flex:none;width:10px;height:10px}.heat-key[data-level="1"]{background-color:var(--sun)}@supports (color:color-mix(in lab, red, red)){.heat-key[data-level="1"]{background-color:color-mix(in srgb, var(--sun) 25%, var(--rule))}}.heat-key[data-level="2"]{background-color:var(--sun)}@supports (color:color-mix(in lab, red, red)){.heat-key[data-level="2"]{background-color:color-mix(in srgb, var(--sun) 50%, var(--rule))}}.heat-key[data-level="3"]{background-color:var(--sun)}@supports (color:color-mix(in lab, red, red)){.heat-key[data-level="3"]{background-color:color-mix(in srgb, var(--sun) 75%, var(--rule))}}.heat-key[data-level="4"]{background-color:var(--sun)}.dark .heat-key{background-color:var(--panel)}.dark .heat-key[data-level="1"]{background-color:var(--sun)}@supports (color:color-mix(in lab, red, red)){.dark .heat-key[data-level="1"]{background-color:color-mix(in srgb, var(--sun) 25%, var(--panel))}}.dark .heat-key[data-level="2"]{background-color:var(--sun)}@supports (color:color-mix(in lab, red, red)){.dark .heat-key[data-level="2"]{background-color:color-mix(in srgb, var(--sun) 50%, var(--panel))}}.dark .heat-key[data-level="3"]{background-color:var(--sun)}@supports (color:color-mix(in lab, red, red)){.dark .heat-key[data-level="3"]{background-color:color-mix(in srgb, var(--sun) 75%, var(--panel))}}.dark .heat-key[data-level="4"]{background-color:var(--sun)}.grain,.hero-frame,.card,.bento-tile,.work-panel,.related-card,.modal-foot{gap:calc(var(--spacing) * .75);padding-top:calc(var(--spacing));flex-wrap:wrap;display:flex}.modal-panel{isolation:isolate;position:relative}.grain:before,.hero-frame:before,.card:before,.bento-tile:before,.work-panel:before,.related-card:before,.modal-panel:before{content:"";z-index:-1;border-radius:inherit;pointer-events:none;opacity:.45;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)'/%3E%3C/svg%3E");position:absolute;inset:0}.dark .grain:before,.dark .hero-frame:before,.dark .card:before,.dark .bento-tile:before,.dark .work-panel:before,.dark .related-card:before,.dark .modal-panel:before{opacity:.105}.lift{box-shadow:0 1px 2px var(--ink), 0 8px 24px -12px var(--ink)}@supports (color:color-mix(in lab, red, red)){.lift{box-shadow:0 1px 2px color-mix(in srgb, var(--ink) 6%, transparent), 0 8px 24px -12px color-mix(in srgb, var(--ink) 18%, transparent)}}.dark .lift{box-shadow:0 1px 2px #0006,0 12px 32px -14px #000000b3}.btn{border-radius:var(--r-sm);padding:calc(var(--spacing) * .85) calc(var(--spacing) * 1.35);font-family:var(--font-mono);font-size:var(--step--1);white-space:nowrap;background-color:var(--ink);color:var(--page);will-change:transform;border:1px solid #0000;align-items:center;gap:10px;line-height:1;display:inline-flex}.btn:after{content:"→";opacity:.65;display:inline-block}.btn[download]:after{content:"↓"}.btn-ghost{color:var(--ink);border-color:var(--rule);background-color:#0000}.btn:hover{background-color:var(--ink)}@supports (color:color-mix(in lab, red, red)){.btn:hover{background-color:color-mix(in srgb, var(--ink) 84%, var(--plum))}}.btn:hover{transform:translateY(-1px)}.btn:hover:after{opacity:1;transform:translate(3px)}.btn[download]:hover:after{transform:translateY(2px)}.btn-ghost:hover{background-color:var(--ink)}@supports (color:color-mix(in lab, red, red)){.btn-ghost:hover{background-color:color-mix(in srgb, var(--ink) 7%, transparent)}}.btn-ghost:hover{border-color:var(--ink)}@supports (color:color-mix(in lab, red, red)){.btn-ghost:hover{border-color:color-mix(in srgb, var(--ink) 34%, transparent)}}.btn-ghost:hover{color:var(--ink)}.btn:active{transform:translateY(1px)scale(.99)}@media (prefers-reduced-motion:no-preference){.btn{transition:background-color .22s var(--ease-site), border-color .22s var(--ease-site), color .22s var(--ease-site), transform .18s var(--ease-site)}.btn:after{transition:transform .26s var(--ease-site), opacity .22s var(--ease-site)}}.card{border-radius:var(--r-md);background-color:var(--panel);will-change:transform;border:1px solid #0000}.card:hover{border-color:var(--rule);transform:translateY(-2px)}@media (prefers-reduced-motion:no-preference){.card{transition:transform .4s var(--ease-site), border-color .4s var(--ease-site), box-shadow .4s var(--ease-site)}}.motif-mask{-webkit-mask-image:linear-gradient(90deg,#0000,#000 52% 88%,#0000);mask-image:linear-gradient(90deg,#0000,#000 52% 88%,#0000)}.section-centered>*{width:100%;max-width:46rem;margin-inline:auto}.contact-form{gap:calc(var(--spacing) * 1.25);flex-direction:column;display:flex}.contact-row{gap:calc(var(--spacing) * 1.25);display:grid}@media (min-width:640px){.contact-row{grid-template-columns:1fr 1fr}}.field{flex-direction:column;gap:8px;display:flex}.field-label{font-family:var(--font-mono);font-size:var(--step--1);color:var(--pencil)}.field input,.field textarea{border:1px solid var(--rule);border-radius:var(--r-sm);background-color:var(--panel);width:100%;color:var(--ink);font-family:inherit;font-size:var(--step-0);padding:calc(var(--spacing) * .75) calc(var(--spacing) * .9);line-height:1.5}.field textarea{resize:vertical;min-height:calc(var(--spacing) * 10)}.field input:focus-visible,.field textarea:focus-visible{border-color:var(--plum);outline-offset:1px}.field-note{font-family:var(--font-mono);font-size:var(--step--1);color:var(--pencil);margin:0;line-height:1.5}.contact-check{min-height:65px}.contact-foot{align-items:center;gap:calc(var(--spacing) * 1.25);flex-wrap:wrap;display:flex}.contact-foot .btn[disabled]{opacity:.55;cursor:progress}.nav-open,.nav-shrunk{--nav-pad:calc(var(--spacing) * 1.2)}.nav-inner{padding-block:var(--nav-pad)}.nav-shrunk{--nav-pad:calc(var(--spacing) * .6);padding-top:calc(var(--spacing) * .8);padding-inline:calc(var(--spacing) * 1.5)}.nav-shrunk .nav-inner{max-width:1000px;padding-inline:calc(var(--spacing) * 2);background-color:var(--page);border-radius:9999px}@supports (color:color-mix(in lab, red, red)){.nav-shrunk .nav-inner{background-color:color-mix(in srgb, var(--page) 55%, transparent)}}.nav-shrunk .nav-inner{-webkit-backdrop-filter:blur(20px)saturate(180%);backdrop-filter:blur(20px)saturate(180%);border:1px solid var(--ink)}@supports (color:color-mix(in lab, red, red)){.nav-shrunk .nav-inner{border:1px solid color-mix(in srgb, var(--ink) 8%, transparent)}}.nav-shrunk .nav-inner{box-shadow:inset 0 1px 0 #ffffff8c, 0 10px 30px -18px var(--ink)}@supports (color:color-mix(in lab, red, red)){.nav-shrunk .nav-inner{box-shadow:inset 0 1px 0 #ffffff8c, 0 10px 30px -18px color-mix(in srgb, var(--ink) 60%, transparent)}}.dark .nav-shrunk .nav-inner{background-color:var(--page)}@supports (color:color-mix(in lab, red, red)){.dark .nav-shrunk .nav-inner{background-color:color-mix(in srgb, var(--page) 60%, transparent)}}.dark .nav-shrunk .nav-inner{border-color:var(--ink)}@supports (color:color-mix(in lab, red, red)){.dark .nav-shrunk .nav-inner{border-color:color-mix(in srgb, var(--ink) 13%, transparent)}}.dark .nav-shrunk .nav-inner{box-shadow:inset 0 1px 0 var(--ink), 0 10px 30px -16px #000}@supports (color:color-mix(in lab, red, red)){.dark .nav-shrunk .nav-inner{box-shadow:inset 0 1px 0 color-mix(in srgb, var(--ink) 12%, transparent), 0 10px 30px -16px #000}}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.nav-shrunk .nav-inner,.dark .nav-shrunk .nav-inner{background-color:var(--page)}}@media (prefers-reduced-motion:no-preference){.nav-open,.nav-shrunk{transition:padding .42s var(--ease-site)}.nav-inner{transition:max-width .42s var(--ease-site), padding .42s var(--ease-site), background-color .42s var(--ease-site), border-radius .42s var(--ease-site), box-shadow .42s var(--ease-site)}}.bento-tile{background-color:var(--panel);border-radius:var(--r-md);height:100%;padding:var(--pad-box);will-change:transform;--px:0;--py:0;border:1px solid #0000;flex-direction:column;display:flex;position:relative;overflow:hidden}.bento-tile:hover,.bento-tile:focus-within{border-color:var(--rule);transform:translate3d(calc(var(--px) * 4px), calc(var(--py) * 4px), 0)}.bento-tile:hover .bento-fill,.bento-tile:focus-within .bento-fill{transform:translate3d(calc(var(--px) * -3px), calc(var(--py) * -3px), 0)}.bento-chip{border:1px solid var(--rule);padding:2px calc(var(--spacing) * .7);font-family:var(--font-mono);font-size:var(--step--1);color:var(--pencil);border-radius:999px}.bento-play{border:1px solid var(--ink);background-color:var(--ink);color:var(--page);padding:4px calc(var(--spacing));font-family:var(--font-mono);font-size:var(--step--1);border-radius:999px;align-items:center;gap:6px;display:inline-flex}.bento-play:hover{background-color:var(--ink)}@supports (color:color-mix(in lab, red, red)){.bento-play:hover{background-color:color-mix(in srgb, var(--ink) 86%, var(--plum))}}.bento-play:active{transform:translateY(1px)}[data-cursor],[data-cursor] *{cursor:none!important}.cursor{z-index:90;pointer-events:none;background-color:var(--ink);opacity:0;border-radius:999px;place-items:center;width:10px;height:10px;display:grid;position:fixed;top:0;left:0;overflow:hidden}.cursor[data-shown]{opacity:1}.cursor[data-pill]{width:var(--cursor-w,120px);background-color:var(--ink);height:30px}.cursor-label{font-family:var(--font-mono);font-size:var(--step--1);white-space:nowrap;color:var(--page);opacity:0;line-height:1;transform:scale(.9)}.cursor[data-pill] .cursor-label{opacity:1;transform:none}@media (prefers-reduced-motion:no-preference){.cursor{transition:width .42s cubic-bezier(.22, .68, .24, 1), height .42s cubic-bezier(.22, .68, .24, 1), opacity .22s var(--ease-site)}.cursor-label{transition:opacity .24s var(--ease-site), transform .32s cubic-bezier(.22, .68, .24, 1)}.bento-tile{transition:transform .6s cubic-bezier(.22, .61, .36, 1), border-color .42s var(--ease-site), box-shadow .42s var(--ease-site)}.bento-fill{transition:transform .7s cubic-bezier(.22,.61,.36,1)}.bento-play{transition:background-color .22s var(--ease-site), transform .12s var(--ease-site)}[data-bento-run] .bento-tile{opacity:0;animation:.56s cubic-bezier(.34,1.4,.64,1) forwards bento-pop;animation-delay:calc(var(--i,0) * 70ms)}@keyframes bento-pop{0%{opacity:0;transform:scale(.9)translateY(14px)}to{opacity:1;transform:none}}[data-bento-run] .bento-fill{opacity:0;transform:translateY(8px)}[data-bento-fill] .bento-fill{opacity:1;transition:opacity .42s var(--ease-site), transform .42s var(--ease-site);transition-delay:calc(var(--i,0) * 45ms);transform:none}}.bento-fill{flex-direction:column;flex:auto;display:flex}.modal-backdrop{z-index:60;padding:calc(var(--spacing) * 1.5);background-color:var(--ink);place-items:center;display:grid;position:fixed;inset:0}@supports (color:color-mix(in lab, red, red)){.modal-backdrop{background-color:color-mix(in srgb, var(--ink) 62%, transparent)}}.modal-backdrop{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.modal-panel{border-radius:var(--r-lg);border:1px solid var(--rule);background-color:var(--page);width:min(920px,100%);padding:var(--pad-box);box-shadow:0 40px 90px -40px var(--ink)}@supports (color:color-mix(in lab, red, red)){.modal-panel{box-shadow:0 40px 90px -40px color-mix(in srgb, var(--ink) 80%, transparent)}}.modal-site-wrap{display:grid;position:relative}.modal-site-wait{pointer-events:none;place-items:center;display:grid;position:absolute;inset:0}.modal-doc{height:min(74vh,820px)}.modal-site{-webkit-overflow-scrolling:touch;height:min(62vh,560px)}@media (prefers-reduced-motion:no-preference){.modal-backdrop{animation:fade-in .22s var(--ease-site)}.modal-panel{animation:.32s cubic-bezier(.34,1.4,.64,1) modal-in}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-in{0%{opacity:0;transform:scale(.94)translateY(12px)}to{opacity:1;transform:none}}}.sky,.sky-paint,.sky[data-scene=day],.sky-paint[data-scene=day]{--sky-fg:#faf8f3;--sky-top:#926d7e;--sky-mid:#96675c;--sky-base:#6d3d5a;--sky-orb:#f2c877;--sky-bird:#442540}.dark .sky,.dark .sky-paint,.sky[data-scene=night],.sky-paint[data-scene=night]{--sky-fg:#ede9e1;--sky-top:#0c0c0b;--sky-mid:#251e24;--sky-base:#3c2f3b;--sky-orb:#e7e1d2;--sky-bird:transparent}.sky[data-scene=day],.sky-paint[data-scene=day]{--sky-fg:#faf8f3;--sky-top:#926d7e;--sky-mid:#96675c;--sky-base:#6d3d5a;--sky-orb:#f2c877;--sky-bird:#442540}.sky{--sky-cloud:#e8dce6;border-radius:var(--r-lg);isolation:isolate;box-shadow:inset 0 1px 0 var(--sky-cloud), 0 24px 60px -32px var(--ink);position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.sky{box-shadow:inset 0 1px 0 color-mix(in srgb, var(--sky-cloud) 30%, transparent), 0 24px 60px -32px color-mix(in srgb, var(--ink) 55%, transparent)}}.sky-paint{background-image:linear-gradient(to bottom, var(--sky-top) 0%, var(--sky-mid) 22%, var(--sky-base) 34%, var(--sky-base) 48%, var(--sky-base) 74%);position:absolute;inset:0}@supports (color:color-mix(in lab, red, red)){.sky-paint{background-image:linear-gradient(to bottom, var(--sky-top) 0%, var(--sky-mid) 22%, color-mix(in srgb, var(--sky-base) 42%, var(--sky-mid)) 34%, color-mix(in srgb, var(--sky-base) 80%, var(--sky-mid)) 48%, var(--sky-base) 74%)}}.sky{--orb-cx:72px;--orb-cy:72px}@media (min-width:768px){.sky{--orb-cx:90px;--orb-cy:90px}}.sky-sweep{z-index:4;--sweep-r:5%;-webkit-mask-image:radial-gradient(circle at calc(100% - var(--orb-cx)) var(--orb-cy), #000 0%, #000 var(--sweep-r), transparent calc(var(--sweep-r) + 30%));-webkit-mask-image:radial-gradient(circle at calc(100% - var(--orb-cx)) var(--orb-cy), #000 0%, #000 var(--sweep-r), transparent calc(var(--sweep-r) + 30%));-webkit-mask-image:radial-gradient(circle at calc(100% - var(--orb-cx)) var(--orb-cy), #000 0%, #000 var(--sweep-r), transparent calc(var(--sweep-r) + 30%));-webkit-mask-image:radial-gradient(circle at calc(100% - var(--orb-cx)) var(--orb-cy), #000 0%, #000 var(--sweep-r), transparent calc(var(--sweep-r) + 30%));mask-image:radial-gradient(circle at calc(100% - var(--orb-cx)) var(--orb-cy), #000 0%, #000 var(--sweep-r), transparent calc(var(--sweep-r) + 30%));position:absolute;inset:0}.sky-sweep[data-dir=fall]{--sweep-r:150%}.sky-glow{z-index:7;top:var(--orb-cy);right:var(--orb-cx);pointer-events:none;opacity:0;background-image:radial-gradient(circle, var(--sky-orb) 0%, var(--sky-orb) 38%, transparent 68%);width:760px;height:760px;position:absolute;transform:translate(50%,-50%)scale(.15)}@supports (color:color-mix(in lab, red, red)){.sky-glow{background-image:radial-gradient(circle, color-mix(in srgb, var(--sky-orb) 62%, transparent) 0%, color-mix(in srgb, var(--sky-orb) 18%, transparent) 38%, transparent 68%)}}.sky-glow[data-glow=in]{opacity:1;transform:translate(50%,-50%)scale(1)}.sky-glow[data-glow=out]{opacity:0;transform:translate(50%,-50%)scale(2.1)}.sky-glow[data-glow=snuff]{opacity:0;transform:translate(50%,-50%)scale(.15)}.sky-stars{display:none}.dark .sky-paint:not([data-scene]) .sky-stars,.sky-paint[data-scene=night] .sky-stars{display:block}.sky-paint[data-scene=day] .sky-stars{display:none}.star{fill:var(--sky-cloud)}.sky-orb{z-index:20;color:var(--sky-orb);border-radius:9999px;position:absolute}.sky-orb:hover{transform:scale(1.06)}.sky-orb:active{transform:scale(.97)}.sky .orb-moon{display:none}.sky .orb-sun,.dark .sky:not([data-scene]) .orb-moon,.sky[data-scene=night] .orb-moon{display:block}.dark .sky:not([data-scene]) .orb-sun,.sky[data-scene=night] .orb-sun,.sky[data-scene=day] .orb-moon{display:none}.sky[data-scene=day] .orb-sun{display:block}.cloud-blur{z-index:6;filter:blur(4px);position:absolute;inset:0}@media (min-width:768px){.cloud-blur{filter:blur(6px)}}.cloud-track{width:200%;display:flex;position:absolute;inset:0}.cloud-track>*{flex:none;width:50%}.sky-birds{z-index:5;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.bird-drift path{fill:none;stroke:var(--sky-bird);stroke-width:.42px;stroke-linecap:round;vector-effect:non-scaling-stroke}.bird-drift{transform:translate(-14px)}@media (prefers-reduced-motion:no-preference){.sky-sweep{transition:--sweep-r 1s cubic-bezier(.16,.66,.24,1)}.sky-sweep[data-dir=fall]{transition:--sweep-r 1s cubic-bezier(.76,0,.84,.34)}.sky-glow[data-glow=in]{transition:opacity .38s cubic-bezier(.4,0,.7,.6),transform .38s cubic-bezier(.4,0,.7,.6)}.sky-glow[data-dir=fall][data-glow=in]{transition:opacity 1s cubic-bezier(.5,0,.75,.45),transform 1s cubic-bezier(.76,0,.84,.34)}.sky-glow[data-glow=snuff]{transition:opacity .38s cubic-bezier(.4,0,.7,.6),transform .38s cubic-bezier(.4,0,.7,.6)}.sky-glow[data-glow=out]{transition:opacity .76s cubic-bezier(.2,.5,.3,1),transform 1s cubic-bezier(.16,.66,.24,1)}.sky-orb{transition:transform .32s var(--ease-site), color .42s var(--ease-site)}.sky-orb svg{transition:transform .6s var(--ease-site)}.sky-orb:hover svg{transform:rotate(18deg)}.cloud-track{animation:linear infinite drift;animation-duration:var(--drift,90s)}@keyframes drift{0%{transform:translate(0)}to{transform:translate(-50%)}}.star{animation:ease-in-out infinite alternate twinkle;animation-duration:var(--twinkle,4s);animation-delay:var(--tdelay,0s)}@keyframes twinkle{0%{opacity:.25}to{opacity:.9}}.bird-drift{animation:linear infinite fly;animation-duration:var(--fly,60s);animation-delay:var(--fdelay,0s)}@keyframes fly{0%{transform:translate(-14px)}to{transform:translate(174px)}}.bird-flap{animation:ease-in-out infinite alternate flap;animation-duration:var(--flap,.7s);animation-delay:var(--pdelay,0s)}@keyframes flap{0%{transform:scaleY(.35)}to{transform:scaleY(1.15)}}}.work-panel{isolation:isolate;border-radius:var(--r-md);background-color:var(--panel);border:1px solid #0000;position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.work-panel{background-color:color-mix(in srgb, var(--panel) 62%, var(--page))}}.work-panel{padding:var(--pad-box)}.work-hit{z-index:1;border-radius:inherit;position:absolute;inset:0}.work-trailer{border-radius:var(--r-sm);background-color:var(--media);aspect-ratio:16/9;align-self:center;position:relative;overflow:hidden}.work-trailer video{object-fit:contain;width:100%;height:100%;display:block}.work-links{z-index:10;margin-top:calc(var(--spacing) * 1.5);padding-top:calc(var(--spacing) * 1.15);border-top:1px solid var(--rule);gap:0 calc(var(--spacing) * 1.5);flex-wrap:wrap;display:flex;position:relative}.work-link{font-family:var(--font-mono);font-size:var(--step--1);letter-spacing:.01em;color:var(--plum);align-items:center;gap:7px;padding-block:5px;text-decoration:none;display:inline-flex;position:relative}.work-link:before{content:"";opacity:.3;background-color:currentColor;height:1px;position:absolute;bottom:0;left:0;right:0}.work-link-lead:before{opacity:.75}.work-link:after{content:"→";opacity:.7;display:inline-block}.work-link[data-external]:after{content:"↗"}.work-link:hover:before{opacity:1}.work-link:hover:after{opacity:1;transform:translate(3px)}.work-link[data-external]:hover:after{transform:translate(2px,-2px)}@media (prefers-reduced-motion:no-preference){.work-link:before{transition:opacity .2s var(--ease-site)}.work-link:after{transition:transform .24s var(--ease-site), opacity .2s var(--ease-site)}}.bento-chip-more{color:var(--pencil);border-style:dashed}.work-panel:hover{border-color:var(--rule);background-color:var(--panel)}.work-index{font-family:var(--font-display);font-size:var(--step-1);color:var(--sun);line-height:1}@media (prefers-reduced-motion:no-preference){.work-panel{transition:background-color .42s var(--ease-site), border-color .42s var(--ease-site)}}.related-grid{gap:calc(var(--spacing));display:grid}@media (min-width:640px){.related-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.related-card{border-radius:var(--r-md);background-color:var(--panel);border:1px solid #0000;flex-direction:column;gap:4px;height:100%;display:flex}@supports (color:color-mix(in lab, red, red)){.related-card{background-color:color-mix(in srgb, var(--panel) 62%, var(--page))}}.related-card{padding:var(--pad-box)}.related-card:hover{border-color:var(--rule);background-color:var(--panel)}@media (prefers-reduced-motion:no-preference){.related-card{transition:background-color .42s var(--ease-site), border-color .42s var(--ease-site)}}.hero{--hero-p:0;padding-block:calc(var(--spacing) * 1.5) calc(var(--spacing) * 3);position:relative}.hero-frame{gap:calc(var(--spacing) * 2.5);min-height:clamp(320px,40vh,400px);padding:var(--pad-box);border:1px solid var(--rule);border-radius:var(--r-lg);background-color:var(--panel);transform:scale(calc(1 - var(--hero-p) * .04));transform-origin:top;opacity:calc(1 - var(--hero-p) * .55);grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch;display:grid}.hero-side{justify-content:space-between;gap:calc(var(--spacing) * 2);flex-direction:column;min-width:0;display:flex}.hero-side-l{grid-column:1}.hero-art{grid-column:2}.hero-now{font-family:var(--font-mono);font-size:var(--step--2);letter-spacing:.01em;color:var(--pencil)}.hero-company{color:var(--plum);background:0 0;font-weight:400}a.hero-company{text-decoration:none}a.hero-company:hover{text-underline-offset:3px;text-decoration:underline}.hero-name{font-family:var(--font-display);letter-spacing:-.04em;font-size:clamp(2.4rem,4.6vw,4.2rem);line-height:.92}.hero-name-hl{display:inline-block;position:relative}.hero-name-hl:after{content:"";background-color:var(--plum);transform-origin:0;border-radius:2px;height:2px;position:absolute;bottom:.06em;left:0;right:0;transform:scaleX(0)}.hero-hi{border-radius:var(--r-sm);background-color:var(--plum);color:var(--page);font-family:var(--font-mono);font-size:var(--step--2);letter-spacing:.02em;white-space:nowrap;opacity:0;transform-origin:50% 100%;pointer-events:none;margin-left:-3.6em;padding:5px 11px 6px;line-height:1.2;position:absolute;bottom:calc(100% + 14px);left:50%;transform:scale(.82)translateY(6px)}.hero-hi:after{content:"";background-color:inherit;border-radius:2px;width:10px;height:10px;position:absolute;bottom:-3px;left:calc(50% - 5px);transform:rotate(45deg)}.hero-name-hl:hover .hero-hi{opacity:1;transform:scale(1)translateY(0)}.hero-name-hl:hover:after{transform:scaleX(1)}.hero-role{margin-top:calc(var(--spacing) * .75);font-family:var(--font-mono);font-size:var(--step--1);color:var(--pencil)}.hero-art{place-items:center;min-width:0;display:grid}.hero-cta{margin-top:calc(var(--spacing) * 1.25);align-self:flex-start}@media (max-width:1023px){.hero-frame{gap:calc(var(--spacing) * 2.5);min-height:0;padding:var(--pad-box);grid-template-columns:1fr}.hero-side-l,.hero-art{grid-column:1}.hero-art{justify-self:center;width:100%}}@media (max-width:560px){.hero-frame{border-radius:var(--r-md);gap:calc(var(--spacing) * 2)}.hero-cta{justify-content:center;width:100%}.hero-portrait-stack{max-width:300px}}@media (prefers-reduced-motion:no-preference){.hero-side-l,.hero-art{transition:opacity .8s var(--ease-site), translate .8s var(--ease-site), filter .8s var(--ease-site)}.hero-side-l{transition-delay:.2s}.hero-art{transition-delay:.34s}.hero-hi{transition:opacity .26s var(--ease-site), transform .32s cubic-bezier(.2, 1.5, .4, 1)}.hero-name-hl:after{transition:transform .42s var(--ease-site)}[data-reveal-enabled] .hero:not([data-open]) .hero-side-l,[data-reveal-enabled] .hero:not([data-open]) .hero-art{opacity:0;filter:blur(6px);translate:0 18px}.hero-frame{transition:border-color .6s var(--ease-site)}[data-reveal-enabled] .hero:not([data-open]) .hero-frame{border-color:#0000}}.hero-portrait-stack{aspect-ratio:1;width:100%;max-width:520px;margin-inline:auto;position:relative;container-type:inline-size}.hero-portrait-ghost{white-space:pre;font-family:var(--font-mono);font-size:calc(100cqw / (var(--ghost-cols) * .62));color:var(--ink);place-content:center;margin:0;line-height:1.06;display:grid;position:absolute;inset:0}@supports (color:color-mix(in lab, red, red)){.hero-portrait-ghost{color:color-mix(in srgb, var(--ink) 55%, transparent)}}.hero-portrait-ghost{-webkit-user-select:none;user-select:none;pointer-events:none}.hero-portrait-ghost[data-ghost=dark]{visibility:hidden}.dark .hero-portrait-ghost[data-ghost=dark]{visibility:visible}.dark .hero-portrait-ghost[data-ghost=light]{visibility:hidden}.hero-portrait-stack:has(canvas) .hero-portrait-ghost{opacity:0}@media (prefers-reduced-motion:no-preference){.hero-portrait-ghost{transition:opacity .7s var(--ease-site)}}.hero-portrait:not(:has(canvas)){font-size:0;animation:none}.hero-portrait{width:100%;height:100%;position:relative}.hero-portrait-stack{--mx:50%;--my:50%;--blob:56px;--blob-shift:15px}.hero-portrait-tint{opacity:0;pointer-events:none;-webkit-mask-image:radial-gradient(circle var(--blob) at calc(var(--mx) - var(--blob-shift)) calc(var(--my) - var(--blob-shift)), #000 0%, #000 34%, transparent 100%);-webkit-mask-image:radial-gradient(circle var(--blob) at calc(var(--mx) - var(--blob-shift)) calc(var(--my) - var(--blob-shift)), #000 0%, #000 34%, transparent 100%);-webkit-mask-image:radial-gradient(circle var(--blob) at calc(var(--mx) - var(--blob-shift)) calc(var(--my) - var(--blob-shift)), #000 0%, #000 34%, transparent 100%);-webkit-mask-image:radial-gradient(circle var(--blob) at calc(var(--mx) - var(--blob-shift)) calc(var(--my) - var(--blob-shift)), #000 0%, #000 34%, transparent 100%);mask-image:radial-gradient(circle var(--blob) at calc(var(--mx) - var(--blob-shift)) calc(var(--my) - var(--blob-shift)), #000 0%, #000 34%, transparent 100%);position:absolute;inset:0}.hero-portrait-tint-sun{-webkit-mask-image:radial-gradient(circle var(--blob) at calc(var(--mx) + var(--blob-shift)) calc(var(--my) + var(--blob-shift)), #000 0%, #000 34%, transparent 100%);-webkit-mask-image:radial-gradient(circle var(--blob) at calc(var(--mx) + var(--blob-shift)) calc(var(--my) + var(--blob-shift)), #000 0%, #000 34%, transparent 100%);-webkit-mask-image:radial-gradient(circle var(--blob) at calc(var(--mx) + var(--blob-shift)) calc(var(--my) + var(--blob-shift)), #000 0%, #000 34%, transparent 100%);-webkit-mask-image:radial-gradient(circle var(--blob) at calc(var(--mx) + var(--blob-shift)) calc(var(--my) + var(--blob-shift)), #000 0%, #000 34%, transparent 100%);mask-image:radial-gradient(circle var(--blob) at calc(var(--mx) + var(--blob-shift)) calc(var(--my) + var(--blob-shift)), #000 0%, #000 34%, transparent 100%)}.hero-portrait-stack[data-hover] .hero-portrait-tint{opacity:1}@media (prefers-reduced-motion:no-preference){.hero-portrait-tint{transition:opacity .26s var(--ease-site)}}@media (hover:none){.hero-portrait-tint{display:none}}:root{--bar-h:0px}.nav-item{font-size:var(--step--1);align-items:center;gap:7px;display:inline-flex}.nav-icon{flex:none;width:18px;height:18px}@media (min-width:900px){.nav-item{font-size:var(--step-0)}}.nav-top-links{align-items:center;gap:calc(var(--spacing) * 1.5);display:flex}.nav-bottom{display:none}.nav-top-only{display:inline-flex}@media (max-width:767px){:root{--bar-h:62px}.nav-top-links,.nav-top-lamp{display:none}body{padding-bottom:calc(var(--bar-h) + env(safe-area-inset-bottom))}.nav-bottom{z-index:45;padding:6px calc(var(--spacing)) calc(6px + env(safe-area-inset-bottom));border-top:1px solid var(--rule);background-color:var(--page);display:block;position:fixed;bottom:0;left:0;right:0}@supports (color:color-mix(in lab, red, red)){.nav-bottom{background-color:color-mix(in srgb, var(--page) 78%, transparent)}}.nav-bottom{-webkit-backdrop-filter:blur(14px)saturate(140%);backdrop-filter:blur(14px)saturate(140%)}.nav-bottom-inner{justify-content:space-around;align-items:center;gap:4px;display:flex}.nav-bottom .nav-label{white-space:nowrap;clip-path:inset(50%);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.nav-bottom .nav-item{border-radius:var(--r-sm);padding:8px 10px;position:relative}.nav-bottom .nav-icon{width:22px;height:22px}.nav-bottom .nav-link:after{display:none}.nav-bottom .nav-item[aria-current=page]{background-color:var(--ink)}@supports (color:color-mix(in lab, red, red)){.nav-bottom .nav-item[aria-current=page]{background-color:color-mix(in srgb, var(--ink) 8%, transparent)}}}.coding-time{gap:calc(var(--spacing) * 1.5);padding:var(--pad-box);border:1px solid var(--rule);border-radius:var(--r-md);align-items:center;display:grid}@media (min-width:900px){.coding-time{gap:calc(var(--spacing) * 2.5);grid-template-columns:auto minmax(0,1fr) auto}}.coding-time-figure{min-width:0}.coding-time-split{gap:8px;min-width:0;display:grid}.coding-time-bar{background-color:var(--ink);border-radius:999px;height:6px;display:flex;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.coding-time-bar{background-color:color-mix(in srgb, var(--ink) 7%, transparent)}}.coding-time-bar>span{display:block}.coding-time-rest{background-color:#0000}.coding-time-keys{gap:4px calc(var(--spacing));font-family:var(--font-mono);font-size:var(--step--2);color:var(--pencil);flex-wrap:wrap;display:flex}.coding-time-keys li{align-items:center;gap:6px;display:flex}.coding-time-dot{border-radius:2px;flex:none;width:7px;height:7px}.coding-time-foot{align-items:center;gap:calc(var(--spacing));flex-wrap:wrap;display:flex}.marquee{z-index:60;pointer-events:none;border:1px solid var(--ink);background-color:var(--ink);position:fixed}@supports (color:color-mix(in lab, red, red)){.marquee{background-color:color-mix(in srgb, var(--ink) 9%, transparent)}}.marquee{border-radius:2px}.is-marquee,.is-marquee *{-webkit-user-select:none;user-select:none;cursor:crosshair}.type{font-variant-numeric:tabular-nums}.type[data-typing]:after{content:"";vertical-align:-.04em;background-color:var(--plum);width:.06em;height:.78em;margin-left:.08em;display:inline-block}@media (prefers-reduced-motion:no-preference){.type[data-typing]:after{animation:.9s step-end infinite caret}@keyframes caret{0%,50%{opacity:1}51%,to{opacity:0}}}}@layer utilities{.collapse{visibility:collapse}.invisible{visibility:hidden}.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}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:0}.top-0{top:0}.top-3{top:36px}.top-5{top:60px}.right-3{right:36px}.z-10{z-index:10}.z-40{z-index:40}.\!container{width:100%!important}@media (min-width:40rem){.\!container{max-width:40rem!important}}@media (min-width:48rem){.\!container{max-width:48rem!important}}@media (min-width:64rem){.\!container{max-width:64rem!important}}@media (min-width:80rem){.\!container{max-width:80rem!important}}@media (min-width:96rem){.\!container{max-width:96rem!important}}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.-mx-1{margin-inline:-12px}.my-2{margin-block:24px}.\!mt-8{margin-top:96px!important}.mt-0\.5{margin-top:6px}.mt-1{margin-top:12px}.mt-2{margin-top:24px}.mt-3{margin-top:36px}.mt-4{margin-top:48px}.mt-5{margin-top:60px}.mt-6{margin-top:72px}.mt-8{margin-top:96px}.mt-auto{margin-top:auto}.mb-1{margin-bottom:12px}.mb-3{margin-bottom:36px}.mb-4{margin-bottom:48px}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.table{display:table}.aspect-video{aspect-ratio:var(--aspect-video)}.size-1{width:12px;height:12px}.size-2\.5{width:30px;height:30px}.size-3{width:36px;height:36px}.size-6{width:72px;height:72px}.size-full{width:100%;height:100%}.h-1{height:12px}.h-auto{height:auto}.h-full{height:100%}.min-h-\[276px\]{min-height:276px}.min-h-\[300px\]{min-height:300px}.w-full{width:100%}.max-w-\[18ch\]{max-width:18ch}.min-w-\[680px\]{min-width:680px}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.scroll-mt-6{scroll-margin-top:72px}.auto-rows-\[minmax\(0\,auto\)\]{grid-auto-rows:minmax(0,auto)}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-stretch{align-items:stretch}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-0\.5{gap:6px}.gap-1{gap:12px}.gap-1\.5{gap:18px}.gap-2{gap:24px}.gap-4{gap:48px}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(12px * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(12px * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(12px * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(12px * 4) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-2{column-gap:24px}.gap-x-3{column-gap:36px}.gap-x-4{column-gap:48px}.gap-y-0\.5{row-gap:6px}.gap-y-1{row-gap:12px}.gap-y-2{row-gap:24px}.gap-y-3{row-gap:36px}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.rounded{border-radius:.25rem}.rounded-\[2px\]{border-radius:2px}.rounded-\[14px\]{border-radius:14px}.rounded-\[inherit\]{border-radius:inherit}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.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-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-rule{border-color:var(--rule)}.bg-page{background-color:var(--page)}.bg-panel{background-color:var(--panel)}.bg-sun,.bg-sun\/15{background-color:var(--sun)}@supports (color:color-mix(in lab, red, red)){.bg-sun\/15{background-color:color-mix(in oklab, var(--sun) 15%, transparent)}}.p-3{padding:36px}.px-0\.5{padding-inline:6px}.px-1{padding-inline:12px}.py-0\.5{padding-block:6px}.py-6{padding-block:72px}.py-8{padding-block:96px}.py-12{padding-block:144px}.pt-2{padding-top:24px}.pt-3{padding-top:36px}.pt-5{padding-top:60px}.pt-6{padding-top:72px}.pt-8{padding-top:96px}.pb-1{padding-bottom:12px}.pb-2{padding-bottom:24px}.pb-4{padding-bottom:48px}.pb-6{padding-bottom:72px}.pb-7{padding-bottom:84px}.pl-2{padding-left:24px}.font-display{font-family:var(--font-display-face), Georgia, serif}.font-mono{font-family:var(--font-mono-face), ui-monospace, monospace}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-step--1{font-size:var(--step--1)}.text-step--2{font-size:var(--step--2)}.text-step-0{font-size:var(--step-0)}.text-step-1{font-size:var(--step-1)}.text-step-2{font-size:var(--step-2)}.text-step-3{font-size:var(--step-3)}.text-step-4{font-size:var(--step-4)}.leading-\[1\.4\]{--tw-leading:1.4;line-height:1.4}.leading-\[1\.5\]{--tw-leading:1.5;line-height:1.5}.leading-\[1\.6\]{--tw-leading:1.6;line-height:1.6}.leading-\[1\.15\]{--tw-leading:1.15;line-height:1.15}.leading-\[1\.25\]{--tw-leading:1.25;line-height:1.25}.leading-\[1\.35\]{--tw-leading:1.35;line-height:1.35}.leading-\[1\.45\]{--tw-leading:1.45;line-height:1.45}.leading-\[1\.55\]{--tw-leading:1.55;line-height:1.55}.leading-none{--tw-leading:1;line-height:1}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.break-all{word-break:break-all}.text-\[\#5B2A56\]{color:#5b2a56}.text-ink{color:var(--ink)}.text-neutral-500{color:var(--color-neutral-500)}.text-pencil{color:var(--pencil)}.text-red-500{color:var(--color-red-500)}.italic{font-style:italic}.opacity-70{opacity:.7}.opacity-80{opacity:.8}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);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,)}.invert{--tw-invert:invert(100%);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,)}.filter{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,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}@media (hover:hover){.hover\:text-ink:hover{color:var(--ink)}.hover\:opacity-100:hover{opacity:1}}@media (min-width:40rem){.sm\:col-span-3{grid-column:span 3/span 3}.sm\:col-span-6{grid-column:span 6/span 6}.sm\:mt-2{margin-top:24px}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:flex-wrap{flex-wrap:wrap}.sm\:justify-between{justify-content:space-between}.sm\:gap-x-3{column-gap:36px}.sm\:gap-y-3{row-gap:36px}.sm\:text-right{text-align:right}.sm\:text-step-1{font-size:var(--step-1)}}@media (min-width:48rem){.md\:top-4{top:48px}.md\:right-4{right:48px}.md\:col-span-4{grid-column:span 4/span 4}.md\:col-span-8{grid-column:span 8/span 8}.md\:mx-0{margin-inline:0}.md\:mt-6{margin-top:72px}.md\:mb-4{margin-bottom:48px}.md\:size-7{width:84px;height:84px}.md\:min-h-\[320px\]{min-height:320px}.md\:min-h-\[360px\]{min-height:360px}.md\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.md\:justify-between{justify-content:space-between}.md\:gap-2{gap:24px}.md\:p-5{padding:60px}.md\:px-0{padding-inline:0}.md\:py-8{padding-block:96px}.md\:py-12{padding-block:144px}.md\:py-20{padding-block:240px}.md\:pt-8{padding-top:96px}.md\:pt-10{padding-top:120px}.md\:pb-6{padding-bottom:72px}.md\:pb-8{padding-bottom:96px}.md\:pb-9{padding-bottom:108px}.md\:text-step-3{font-size:var(--step-3)}.md\:text-step-4{font-size:var(--step-4)}}@media (min-width:64rem){.lg\:col-span-3{grid-column:span 3/span 3}.lg\:col-span-5{grid-column:span 5/span 5}.lg\:col-span-6{grid-column:span 6/span 6}.lg\:col-span-7{grid-column:span 7/span 7}.lg\:col-span-12{grid-column:span 12/span 12}.lg\:float-right{float:right}.lg\:my-0{margin-block:0}.lg\:-mr-\[19rem\]{margin-right:-19rem}.lg\:w-\[16rem\]{width:16rem}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.lg\:grid-cols-\[1fr_16rem\]{grid-template-columns:1fr 16rem}.lg\:gap-1\.5{gap:18px}.lg\:gap-2{gap:24px}.lg\:self-center{align-self:center}.lg\:border-l-0{border-left-style:var(--tw-border-style);border-left-width:0}.lg\:pt-2{padding-top:24px}.lg\:pr-\[19rem\]{padding-right:19rem}.lg\:pl-0{padding-left:0}.lg\:text-right{text-align:right}}.dark\:block:where(.dark,.dark *){display:block}.dark\:hidden:where(.dark,.dark *){display:none}@media (min-width:64rem){.lg\:\[\&\>\*\:first-child\]\:order-2>:first-child{order:2}}.measure{max-width:68ch}.shell{width:100%;max-width:1240px;padding-inline:calc(var(--spacing) * 1.5);margin-inline:auto}@media (min-width:768px){.shell{padding-inline:calc(var(--spacing) * 3)}}@media (min-width:1280px){.shell{padding-inline:calc(var(--spacing) * 4)}}}@property --sweep-r{syntax:"<percentage>";inherits:false;initial-value:0%}:root{--page:#faf8f3;--panel:#efebe1;--ink:#1f1e1c;--pencil:#696861;--rule:#ddd9d0;--plum:#5b2a56;--sun:#e0a32c;--media:#131312;--step--2:.75rem;--step--1:.875rem;--step-0:1rem;--step-1:1.333rem;--step-2:1.777rem;--step-3:2.369rem;--step-4:3.157rem;--step-5:4.209rem;--pad-box:calc(var(--spacing) * 1.5);--r-lg:26px;--r-md:18px;--r-sm:12px}.dark{--page:#0b0b0a;--panel:#161615;--ink:#edeae4;--pencil:#94918a;--rule:#2b2a28;--plum:#b98bb4;--sun:#e9b44c}@media (prefers-reduced-motion:no-preference){[data-assemble] .cell{opacity:0;animation:cell-in .52s var(--ease-site) forwards}@keyframes cell-in{0%{opacity:0;transform:translate(-6px)scale(.72)}to{opacity:1;transform:none}}[data-stage][data-stage-run]>*{opacity:0;animation:stage-in .62s var(--ease-site) forwards;animation-delay:calc(var(--stage-base,.12s) + var(--stage,0) * 90ms)}@keyframes stage-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}[data-reveal-enabled] [data-reveal]{opacity:0;filter:blur(3px);transition:opacity .48s var(--ease-site), transform .48s var(--ease-site), filter .48s var(--ease-site);transition-delay:var(--reveal-delay,0s);transform:translateY(14px)}[data-reveal-enabled] [data-reveal][data-shown]{opacity:1;filter:none;transform:none}}@media print{[data-reveal]{opacity:1!important;filter:none!important;transform:none!important}}section[id]{scroll-margin-top:calc(var(--spacing) * 7)}html{scroll-behavior:smooth}html[data-intro-scrolling]{scroll-behavior:auto}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@media (prefers-reduced-motion:no-preference){.lamp-glow{transform-origin:12px 10px;animation:lamp-on .32s var(--ease-site)}@keyframes lamp-on{0%{opacity:0;transform:scaleY(.4)}to{opacity:.16;transform:none}}.lamp-shade{transition:fill .25s var(--ease-site)}}@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-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@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-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@keyframes pulse{50%{opacity:.5}}
