@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/fef07dbb0973bf53-s.518e079e.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:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.ea323500.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/53b9e256198e5412-s.853d50a3.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307-s.55554cd0.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:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.3b6cae6d.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:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.geist_a71539c9-module__T19VSG__className{font-family:Geist,Geist Fallback;font-style:normal}.geist_a71539c9-module__T19VSG__variable{--font-geist-sans:"Geist","Geist Fallback"}
@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5ce348bf30bf5439-s.56c1f21e.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:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/4fa387ec64143e14-s.3b336396.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/6306c77e7c8268e4-s.e3369375.woff2)format("woff2");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7d817b4c03b0c5f1-s.a40b9a8b.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/bbc41e54d2fcbd21-s.fe42ddf4.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:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/797e433ab948586e-s.p.29207c2f.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:Geist Mono Fallback;src:local(Arial);ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.0%;size-adjust:134.59%}.geist_mono_8d43a2aa-module__8Li5zG__className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.geist_mono_8d43a2aa-module__8Li5zG__variable{--font-geist-mono:"Geist Mono","Geist 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-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--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}}}@layer theme{:root,:host{--font-serif:var(--font-serif);--color-cyan-500:#00b7d7;--color-blue-600:#155dfc;--color-gray-200:#e5e7eb;--spacing:.25rem;--container-3xl:48rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height:calc(1.5/1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--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);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5/2.25);--text-5xl:3rem;--text-5xl--line-height:1;--font-weight-medium:500;--font-weight-semibold:600;--tracking-tight:-.025em;--leading-relaxed:1.625;--radius-lg:.5rem;--radius-xl:.75rem;--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-geist-sans);--default-mono-font-family:var(--font-geist-mono)}@supports (color:lab(0% 0 0)){:root,:host{--color-cyan-500:lab(67.805% -35.3952 -30.2018);--color-blue-600:lab(44.0605% 29.0279 -86.0352);--color-gray-200:lab(91.6229% -.159115 -2.26791)}}}@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,ui-sans-serif,system-ui,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{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}}@layer components;@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}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.z-40{z-index:40}.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}}.my-6{margin-block:calc(var(--spacing)*6)}.my-8{margin-block:calc(var(--spacing)*8)}.my-10{margin-block:calc(var(--spacing)*10)}.my-12{margin-block:calc(var(--spacing)*12)}.mt-3{margin-top:calc(var(--spacing)*3)}.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-16{margin-top:calc(var(--spacing)*16)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.mb-5{margin-bottom:calc(var(--spacing)*5)}.mb-6{margin-bottom:calc(var(--spacing)*6)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.h-4{height:calc(var(--spacing)*4)}.h-20{height:calc(var(--spacing)*20)}.h-\[320px\]{height:320px}.h-px{height:1px}.h-screen{height:100vh}.max-h-\[calc\(100vh-12rem\)\]{max-height:calc(100vh - 12rem)}.min-h-screen{min-height:100vh}.w-4{width:calc(var(--spacing)*4)}.w-60{width:calc(var(--spacing)*60)}.w-full{width:100%}.max-w-3xl{max-width:var(--container-3xl)}.min-w-0{min-width:calc(var(--spacing)*0)}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.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)}.animate-spin{animation:var(--animate-spin)}.resize{resize:both}.scroll-mt-24{scroll-margin-top:calc(var(--spacing)*24)}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.gap-2{gap:calc(var(--spacing)*2)}.gap-6{gap:calc(var(--spacing)*6)}:where(.space-y-0\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*.5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*.5)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2.5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2.5)*calc(1 - var(--tw-space-y-reverse)))}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-r{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.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-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-\[color\:var\(--accent\)\]{border-color:var(--accent)}.border-\[color\:var\(--hair\)\]{border-color:var(--hair)}.bg-\[color\:var\(--hair\)\]{background-color:var(--hair)}.bg-\[color\:var\(--paper-2\)\]{background-color:var(--paper-2)}.bg-gray-200{background-color:var(--color-gray-200)}.from-cyan-500{--tw-gradient-from:var(--color-cyan-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-blue-600{--tw-gradient-to:var(--color-blue-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.object-cover{object-fit:cover}.p-5{padding:calc(var(--spacing)*5)}.px-1\.5{padding-inline:calc(var(--spacing)*1.5)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-5{padding-inline:calc(var(--spacing)*5)}.py-0\.5{padding-block:calc(var(--spacing)*.5)}.py-1{padding-block:calc(var(--spacing)*1)}.py-3{padding-block:calc(var(--spacing)*3)}.py-4{padding-block:calc(var(--spacing)*4)}.pt-8{padding-top:calc(var(--spacing)*8)}.pr-2{padding-right:calc(var(--spacing)*2)}.pb-16{padding-bottom:calc(var(--spacing)*16)}.pl-5{padding-left:calc(var(--spacing)*5)}.text-left{text-align:left}.font-mono{font-family:var(--font-geist-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[0\.85em\]{font-size:.85em}.text-\[1\.9rem\]{font-size:1.9rem}.leading-\[1\.05\]{--tw-leading:1.05;line-height:1.05}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.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-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.text-\[color\:var\(--accent\)\]{color:var(--accent)}.text-\[color\:var\(--ink\)\]{color:var(--ink)}.text-\[color\:var\(--muted\)\]{color:var(--muted)}.underline{text-decoration-line:underline}.decoration-\[color\:var\(--accent-soft\)\]{-webkit-text-decoration-color:var(--accent-soft);-webkit-text-decoration-color:var(--accent-soft);-webkit-text-decoration-color:var(--accent-soft);text-decoration-color:var(--accent-soft)}.underline-offset-4{text-underline-offset:4px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.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,)}.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))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.marker\:text-\[color\:var\(--faint\)\] ::marker{color:var(--faint)}.marker\:text-\[color\:var\(--faint\)\]::marker{color:var(--faint)}.marker\:text-\[color\:var\(--faint\)\] ::-webkit-details-marker{color:var(--faint)}.marker\:text-\[color\:var\(--faint\)\]::-webkit-details-marker{color:var(--faint)}@media (hover:hover){.hover\:decoration-\[color\:var\(--accent\)\]:hover{-webkit-text-decoration-color:var(--accent);-webkit-text-decoration-color:var(--accent);-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}}@media (min-width:48rem){.md\:block{display:block}.md\:flex{display:flex}.md\:h-\[440px\]{height:440px}.md\:grid-cols-\[2fr_1fr\]{grid-template-columns:2fr 1fr}.md\:gap-12{gap:calc(var(--spacing)*12)}.md\:pb-24{padding-bottom:calc(var(--spacing)*24)}.md\:text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.md\:text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.md\:text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.md\:text-\[2\.1rem\]{font-size:2.1rem}}.\[\&\>p\]\:m-0>p{margin:calc(var(--spacing)*0)}}:root,[data-theme=light]{--paper:#f4f5f3;--paper-2:#eceeea;--raise:#fff;--ink:#1b1d1c;--muted:#5a5e5b;--faint:#6c706c;--hair:#ddded9;--accent:#2e4f6b;--accent-soft:#2e4f6b1a;--on-accent:#f4f5f3;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-theme=dark]{--paper:#101211;--paper-2:#171a18;--raise:#1c1f1d;--ink:#eceeea;--muted:#9ca19c;--faint:#878c87;--hair:#282b28;--accent:#86abce;--accent-soft:#86abce1f;--on-accent:#101211;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root{--color-bg-primary:var(--paper);--color-bg-secondary:var(--paper-2);--color-surface:var(--raise);--color-border:var(--hair);--color-accent:var(--accent);--color-accent-secondary:var(--accent);--color-accent-muted:var(--accent-soft);--color-text-primary:var(--ink);--color-text-secondary:var(--muted);--measure:68ch;--edge:clamp(20px,5vw,72px);--maxw:1280px;--font-serif:var(--font-geist-sans)}*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;font-size:17px;overflow-x:clip}[id]{scroll-margin-top:72px}body{background:var(--paper);color:var(--ink);font-family:var(--font-geist-sans),-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;margin:0;font-size:1.06rem;line-height:1.62;transition:background-color .3s,color .3s;overflow-x:clip}a{color:var(--accent);text-decoration:none}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}::selection{background:var(--accent-soft)}.u-serif{font-family:var(--font-serif),"Iowan Old Style",Georgia,serif}.u-mono{font-family:var(--font-geist-mono),ui-monospace,"SF Mono",Consolas,monospace}.eyebrow{font-family:var(--font-geist-mono),ui-monospace,monospace;text-transform:uppercase;letter-spacing:.18em;color:var(--faint);font-size:.7rem}.muted-text{color:var(--muted)}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.container{width:100%;max-width:var(--maxw);padding-inline:var(--edge);margin-inline:auto}.block{border-top:1px solid var(--hair);padding-block:clamp(46px,6vw,78px)}.block-grid{display:block}.block-label{font-family:var(--font-geist-mono),monospace;text-transform:uppercase;letter-spacing:.16em;color:var(--accent);margin-bottom:14px;font-size:.74rem;line-height:1.5;display:block}.block-body{min-width:0}.block-title{font-family:var(--font-serif),Georgia,serif;letter-spacing:-.028em;color:var(--ink);text-wrap:balance;margin:0 0 clamp(26px,3.2vw,40px);font-size:clamp(1.9rem,3.4vw,2.9rem);font-weight:700;line-height:1.08}.btn{font-family:var(--font-geist-mono),monospace;background:var(--ink);color:var(--paper);border-radius:3px;align-items:center;gap:8px;padding:11px 18px;font-size:.85rem;transition:background-color .18s;display:inline-flex}.btn:hover{background:var(--accent);color:var(--on-accent)}.btn .arr{transition:transform .18s}.btn:hover .arr{transform:translate(3px)}.btn-ghost{color:var(--muted);align-items:center;gap:7px;font-size:.92rem;transition:color .18s;display:inline-flex}.btn-ghost:hover{color:var(--ink)}.surface-card{background:var(--raise);border:1px solid var(--hair);border-radius:6px;padding:1.5rem}.section-padding{padding-block:clamp(3rem,8vw,5rem);padding-inline:clamp(1.5rem,6vw,4rem)}.section-padding-small{padding-block:clamp(2rem,5vw,3rem);padding-inline:clamp(1.5rem,6vw,4rem)}.gradient-text{color:var(--ink)}::-webkit-scrollbar{width:11px;height:11px}::-webkit-scrollbar-track{background:var(--paper)}::-webkit-scrollbar-thumb{background:var(--hair);border:3px solid var(--paper);border-radius:6px}::-webkit-scrollbar-thumb:hover{background:var(--faint)}.rv{opacity:0;transition:opacity .6s,transform .6s;transform:translateY(14px)}.rv.in{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.rv{opacity:1;transition:none;transform:none}.btn,.btn .arr{transition:none}*{transition-duration:.001ms!important;animation-duration:.001ms!important}}.page-splash{z-index:9999;background:var(--paper);pointer-events:none;justify-content:center;align-items:center;animation:.86s cubic-bezier(.4,0,.2,1) both splash-veil;display:flex;position:fixed;inset:0}.page-splash-mask{padding:.12em .04em;line-height:1.1;display:inline-block;overflow:hidden}.page-splash-word{font-family:var(--font-serif),Georgia,serif;letter-spacing:-.03em;color:var(--ink);font-size:clamp(1.6rem,6vw,3rem);font-weight:700;animation:.86s cubic-bezier(.2,.7,.2,1) both splash-word;display:inline-block;transform:translateY(115%)}.page-splash-word .dot{color:var(--accent)}@keyframes splash-word{0%{transform:translateY(115%)}38%{transform:translateY(0)}72%{transform:translateY(0)}to{transform:translateY(-115%)}}@keyframes splash-veil{0%{opacity:1}68%{opacity:1}to{opacity:0}}@media (prefers-reduced-motion:reduce){.page-splash{display:none!important}}@media print{.page-splash{display:none!important}}.site-bar{z-index:50;background:var(--paper);position:sticky;top:0}@supports (color:color-mix(in lab, red, red)){.site-bar{background:color-mix(in srgb,var(--paper)86%,transparent)}}.site-bar{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid #0000;transition:border-color .3s,background-color .3s}.site-bar.scrolled{border-bottom-color:var(--hair)}.bar-inner{justify-content:space-between;align-items:center;gap:24px;height:60px;display:flex}.brand{font-family:var(--font-geist-mono),monospace;color:var(--ink);letter-spacing:.01em;font-size:.9rem}.brand .dot{color:var(--accent)}.nav-links{align-items:center;gap:26px;display:flex}.nav-links a{color:var(--muted);font-size:.9rem;transition:color .18s}.nav-links a:hover{color:var(--ink)}@media (max-width:600px){.nav-links a:not(.nav-keep){display:none}}.theme-toggle{border:1px solid var(--hair);width:34px;height:34px;color:var(--muted);cursor:pointer;background:0 0;border-radius:3px;justify-content:center;align-items:center;transition:color .18s,border-color .18s;display:inline-flex}.theme-toggle:hover{color:var(--ink);border-color:var(--faint)}.hero{padding-block:clamp(28px,5vw,56px) clamp(40px,7vw,76px)}.avail{align-items:center;gap:9px;margin-bottom:28px;display:inline-flex}.avail .pip{background:var(--accent);border-radius:50%;width:7px;height:7px}.hero-greet{font-family:var(--font-serif),Georgia,serif;color:var(--muted);margin:0 0 .5em;font-size:clamp(1.15rem,2.2vw,1.5rem);line-height:1.4}.hero-greet strong{color:var(--ink);font-weight:600}.hero-greet .wave{transform-origin:70% 70%;animation:2.6s ease-in-out 1s 2 wave;display:inline-block}@keyframes wave{0%,60%,to{transform:rotate(0)}10%,30%{transform:rotate(14deg)}20%,40%{transform:rotate(-8deg)}}@media (prefers-reduced-motion:reduce){.hero-greet .wave{animation:none}}.hero-title{font-family:var(--font-serif),Georgia,serif;letter-spacing:-.012em;text-wrap:balance;max-width:17ch;color:var(--ink);margin:0 0 .5em;font-size:clamp(2.7rem,6.4vw,4.8rem);font-weight:600;line-height:1.13}.hero-title .grey{color:var(--faint)}.lede{color:var(--muted);max-width:56ch;margin:0 0 2em;font-size:clamp(1.15rem,2vw,1.42rem);line-height:1.55}.lede strong{color:var(--ink);font-weight:600}.cta-row{flex-wrap:wrap;align-items:stretch;gap:14px 26px;display:flex}.cta-row .btn-ghost{min-height:44px}.approach-lede{max-width:60ch;color:var(--muted);margin:0 0 28px;font-size:clamp(1.02rem,1.6vw,1.18rem);line-height:1.6}.approach-cards{gap:46px;display:grid}.a-mask>.a-line{display:block}.a-kicker{font-family:var(--font-geist-mono),monospace;text-transform:uppercase;letter-spacing:.16em;color:var(--faint);font-size:.74rem}.a-card h3{font-family:var(--font-serif),Georgia,serif;letter-spacing:-.012em;color:var(--ink);margin:12px 0 16px;font-size:clamp(1.7rem,2.8vw,2.4rem);font-weight:600}.a-card p.a-line{color:var(--muted);max-width:54ch;margin:0 0 16px;font-size:clamp(1.05rem,1.6vw,1.22rem);line-height:1.65}.a-out{font-family:var(--font-geist-mono),monospace;color:var(--accent);font-size:.8rem}.a-fig{display:none}@media (min-width:761px){.a-fig{width:clamp(230px,24vw,330px);margin-top:20px;display:block}.a-fig svg{width:100%;height:auto;display:block}}.a-cap{align-items:baseline;gap:16px;padding-top:18px;display:flex}.a-cap .n{font-family:var(--font-geist-mono),monospace;color:var(--accent);font-size:.76rem}.a-cap h4{font-family:var(--font-serif),Georgia,serif;letter-spacing:-.01em;color:var(--ink);margin:0 0 4px;font-size:1.3rem;font-weight:600}.a-cap p{color:var(--muted);max-width:48ch;margin:0;font-size:1rem;line-height:1.55}.approach-steps{padding-left:20px;display:none;position:relative}.approach-track{background:var(--hair);border-radius:2px;width:2px;position:absolute;top:6px;bottom:6px;left:0;overflow:hidden}.approach-track-fill{background:var(--accent);transform-origin:top;position:absolute;inset:0;transform:scaleY(0)}.approach-nav{gap:12px;margin:0;padding:0;list-style:none;display:grid}.approach-nav button{width:100%;color:var(--faint);cursor:pointer;text-align:left;font:inherit;background:0 0;border:0;border-radius:5px;align-items:baseline;gap:12px;margin-left:-12px;padding:10px 12px;transition:color .3s,background-color .3s;display:flex}.approach-nav button:hover{color:var(--muted)}.approach-nav button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.approach-nav .n{font-family:var(--font-geist-mono),monospace;font-size:.78rem}.approach-nav .t{font-size:1.05rem}.approach-nav li[data-on] button{color:var(--ink);background:var(--accent-soft)}.approach-nav li[data-on] .n{color:var(--accent)}.approach.is-pinned{padding-block:0}.approach.is-pinned .approach-pin{height:600vh}.approach.is-pinned .approach-stage{align-items:center;height:100vh;display:flex;position:sticky;top:0}.approach.is-pinned .approach-grid{grid-template-columns:minmax(240px,300px) 1fr;align-items:center;gap:clamp(32px,4.5vw,64px);width:100%;display:grid}.approach.is-pinned .block-title{margin-bottom:18px}.approach.is-pinned .approach-lede{margin-bottom:38px;font-size:1.05rem}.approach.is-pinned .approach-steps{display:block}.approach.is-pinned .approach-cards{height:min(66vh,620px);display:block;position:relative}.approach.is-pinned .a-card{visibility:hidden;opacity:0;align-items:center;gap:clamp(32px,4vw,56px);display:flex;position:absolute;inset:0}.approach.is-pinned .a-copy{flex:auto;min-width:0}.approach.is-pinned .a-fig{flex:0 0 clamp(220px,21vw,300px);margin-top:0}@media (max-width:1099px){.approach.is-pinned .a-fig{display:none}}.approach.is-pinned .a-mask{overflow:hidden}.work-grid{grid-template-columns:repeat(2,1fr);gap:28px;display:grid}.card{border:1px solid var(--hair);background:var(--raise);color:inherit;border-radius:8px;flex-direction:column;transition:border-color .2s,transform .2s;display:flex;overflow:hidden}a.card:hover{border-color:var(--faint);transform:translateY(-2px)}.card-img{aspect-ratio:16/10;background:var(--paper-2);border-bottom:1px solid var(--hair);overflow:hidden}.card-img img{object-fit:cover;width:100%;height:100%;transition:transform .5s}a.card:hover .card-img img{transform:scale(1.03)}.card-body{flex-direction:column;flex:1;gap:9px;padding:18px 20px 22px;display:flex}.card-meta{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.card .kind{font-family:var(--font-geist-mono),monospace;text-transform:uppercase;letter-spacing:.14em;color:var(--accent);font-size:.66rem}.card .yr{font-family:var(--font-geist-mono),monospace;color:var(--faint);font-size:.72rem}.card h3{font-family:var(--font-serif),Georgia,serif;letter-spacing:-.01em;color:var(--ink);margin:0;font-size:1.3rem;font-weight:600}.card p{color:var(--muted);margin:0;font-size:.95rem;line-height:1.5}.card .stack{margin-top:2px}.card .go{font-family:var(--font-geist-mono),monospace;color:var(--faint);margin-top:auto;padding-top:6px;font-size:.78rem;transition:color .18s}a.card:hover .go{color:var(--accent)}.stack{flex-wrap:wrap;gap:6px 8px;display:flex}.stack span{font-family:var(--font-geist-mono),monospace;color:var(--muted);border:1px solid var(--hair);background:var(--paper-2);border-radius:3px;padding:2px 7px;font-size:.72rem}@media (max-width:640px){.work-grid{grid-template-columns:1fr;gap:22px}}.work-list{border-top:1px solid var(--hair)}.work-row{border-bottom:1px solid var(--hair);color:inherit;grid-template-columns:128px 1fr auto;align-items:start;gap:24px;padding:22px 6px;transition:padding-left .25s,background-color .25s;display:grid;position:relative}a.work-row:hover{background:var(--accent-soft);padding-left:16px}.work-row .row-tag{flex-direction:column;gap:5px;padding-top:3px;display:flex}.cap-chip{font-family:var(--font-geist-mono),monospace;text-transform:uppercase;letter-spacing:.12em;color:var(--accent);font-size:.66rem}.work-row .yr{font-family:var(--font-geist-mono),monospace;color:var(--faint);font-size:.72rem}.row-main h3{font-family:var(--font-serif),Georgia,serif;letter-spacing:-.01em;color:var(--ink);margin:0 0 5px;font-size:1.45rem;font-weight:600;transition:color .2s}a.work-row:hover .row-main h3{color:var(--accent)}.row-main p{color:var(--muted);max-width:64ch;margin:0 0 12px;font-size:1rem;line-height:1.5}.row-go{font-family:var(--font-geist-mono),monospace;color:var(--faint);white-space:nowrap;align-self:center;font-size:.78rem;transition:color .2s}a.work-row:hover .row-go{color:var(--accent)}.row-go .arr{transition:transform .2s;display:inline-block}a.work-row:hover .row-go .arr{transform:translate(3px)}@media (max-width:680px){.work-row{grid-template-columns:1fr;gap:10px}.work-row .row-tag{flex-direction:row;align-items:baseline;gap:10px}.row-go{align-self:start}}.faq-list{border-top:1px solid var(--hair)}.faq-item{border-bottom:1px solid var(--hair);border-left:2px solid #0000;border-radius:0 8px 8px 0;padding-inline:0;transition:background-color .3s,border-color .3s,padding .3s}.faq-item.open{background:var(--accent-soft);border-left-color:var(--accent);border-bottom-color:#0000;padding-inline:16px}.faq-item.open .faq-q{color:var(--accent)}.faq-item.open .faq-mark:before,.faq-item.open .faq-mark:after{background:var(--accent)}.faq-q{text-align:left;cursor:pointer;width:100%;font-family:var(--font-serif),Georgia,serif;color:var(--ink);background:0 0;border:0;justify-content:space-between;align-items:center;gap:22px;padding:21px 2px;font-size:clamp(1rem,2vw,1.12rem);font-weight:500;transition:color .2s;display:flex}.faq-mark{flex:none;width:13px;height:13px;position:relative}.faq-mark:before,.faq-mark:after{content:"";background:var(--faint);transition:transform .25s,background-color .18s;position:absolute}.faq-mark:before{width:100%;height:1.5px;top:50%;left:0;transform:translateY(-50%)}.faq-mark:after{width:1.5px;height:100%;top:0;left:50%;transform:translate(-50%)}.faq-item.open .faq-mark:after{transform:translate(-50%)scaleY(0)}.faq-q:hover .faq-mark:before,.faq-q:hover .faq-mark:after{background:var(--ink)}.faq-a{grid-template-rows:0fr;transition:grid-template-rows .3s;display:grid}.faq-item.open .faq-a{grid-template-rows:1fr}.faq-a-inner{overflow:hidden}.faq-a-inner p{color:var(--muted);max-width:68ch;margin:0 0 21px;font-size:.98rem;line-height:1.62}.tl-cols{grid-template-columns:1fr 1fr;gap:48px;display:grid}@media (max-width:720px){.tl-cols{grid-template-columns:1fr;gap:36px}}.tl-col h3.t{font-family:var(--font-geist-mono),monospace;text-transform:uppercase;letter-spacing:.16em;color:var(--faint);margin:0 0 20px;font-size:.72rem}.tl{padding-left:22px;position:relative}.tl:after{content:"";background:var(--ink);transform-origin:top;width:1px;transform:scaleY(var(--tl-fill,1));z-index:0;position:absolute;top:6px;bottom:6px;left:4px}.tl-item{z-index:1;padding:0 0 26px;position:relative}.tl-item:last-child{padding-bottom:0}.tl-item:before{content:"";background:var(--paper);border:1.5px solid var(--faint);border-radius:50%;width:9px;height:9px;position:absolute;top:6px;left:-22px}.tl-item.now:before{background:var(--accent);border-color:var(--accent)}.tl-item .d{font-family:var(--font-geist-mono),monospace;color:var(--faint);font-size:.72rem}.tl-item .r{color:var(--ink);margin:3px 0 1px;font-size:1rem;font-weight:600}.tl-item .o{color:var(--muted);font-size:.92rem}.tl-item .desc{color:var(--muted);max-width:46ch;margin:6px 0 0;font-size:.88rem}.contact{background:var(--accent-soft);border-top-color:#0000}.contact .container{max-width:min(1400px,100%)}.contact-grid{grid-template-columns:minmax(320px,1fr) minmax(0,780px);align-items:start;gap:clamp(36px,5vw,72px);display:grid}.contact-cal{min-width:0}.cal-kicker{font-family:var(--font-geist-mono),monospace;text-transform:uppercase;letter-spacing:.14em;color:var(--faint);margin-bottom:12px;font-size:.72rem;display:block}.cal-card{min-height:420px;max-height:min(78vh,680px);overflow-y:auto}@media (max-width:900px){.contact-grid{grid-template-columns:1fr;gap:44px}.cal-card{min-height:380px}}.contact h2{font-family:var(--font-serif),Georgia,serif;letter-spacing:-.01em;max-width:18ch;color:var(--ink);margin:0 0 .4em;font-size:clamp(1.8rem,4vw,2.6rem);font-weight:600}.contact p{color:var(--muted);max-width:52ch;margin:0 0 1.4em}.contact .mail{font-family:var(--font-serif),Georgia,serif;color:var(--accent);border-bottom:1px solid var(--accent);font-size:clamp(1.15rem,1.7vw,1.5rem)}@supports (color:color-mix(in lab, red, red)){.contact .mail{border-bottom:1px solid color-mix(in srgb,var(--accent)35%,transparent)}}.contact .mail{overflow-wrap:anywhere;max-width:100%;transition:border-color .18s;display:inline-block}.contact .mail:hover{border-bottom-color:var(--accent)}.socials{gap:12px;margin-top:2.2em;display:flex}.social{border:1px solid var(--ink);justify-content:center;align-items:center;width:42px;height:42px;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.social{border:1px solid color-mix(in srgb,var(--ink)15%,transparent)}}.social{color:var(--muted);border-radius:3px;transition:color .18s,border-color .18s}.social:hover{color:var(--ink);border-color:var(--ink)}@supports (color:color-mix(in lab, red, red)){.social:hover{border-color:color-mix(in srgb,var(--ink)32%,transparent)}}.foot{border-top:1px solid var(--hair);flex-wrap:wrap;justify-content:space-between;gap:14px;padding-block:26px 44px;display:flex}.foot .copy{font-family:var(--font-geist-mono),monospace;color:var(--faint);font-size:.78rem}.foot nav{gap:18px;display:flex}.foot nav a{color:var(--muted);font-size:.85rem;transition:color .18s}.foot nav a:hover{color:var(--ink)}.wel{flex-direction:column;max-width:660px;min-height:100dvh;margin-inline:auto;padding:22px clamp(22px,6vw,40px) 26px;display:flex}.wel-bar{justify-content:space-between;align-items:center;min-height:44px;display:flex}.wel-body{flex-direction:column;flex:1;justify-content:center;align-items:flex-start;padding-block:clamp(36px,8vh,84px);display:flex}.wel-body--narrow{max-width:52ch}.wel-photo{width:max-content;margin-bottom:30px;padding:12px;position:relative}.wel-photo img{aspect-ratio:323/409;object-fit:cover;filter:grayscale(.12);width:116px;height:auto;transition:filter .4s;display:block}.wel-photo:hover img{filter:grayscale(0)}.wel-photo .hc{border-width:1.5px;width:15px;height:15px}.wel-avail{align-items:center;gap:9px;margin-bottom:20px;display:inline-flex}.wel-avail .pip{background:var(--accent);border-radius:50%;width:7px;height:7px}.wel-name{font-family:var(--font-serif),Georgia,serif;letter-spacing:-.015em;color:var(--ink);margin:0 0 .5em;font-size:clamp(2rem,5vw,2.9rem);font-weight:600;line-height:1.1}.wel-intro{color:var(--muted);max-width:46ch;margin:0 0 1.4em;font-size:clamp(1.05rem,1.8vw,1.22rem);line-height:1.6}.wel-now{color:var(--muted);max-width:48ch;margin:0 0 2em;font-size:.98rem;line-height:1.6}.wel-now .k{font-family:var(--font-geist-mono),monospace;text-transform:uppercase;letter-spacing:.14em;color:var(--accent);margin-right:10px;font-size:.7rem}.wel-stack{flex-wrap:wrap;gap:7px 8px;margin:0 0 2.4em;padding:0;list-style:none;display:flex}.wel-stack li{font-family:var(--font-geist-mono),monospace;color:var(--muted);border:1px solid var(--hair);background:var(--paper-2);border-radius:3px;padding:3px 9px;font-size:.74rem}.wel-links{border-top:1px solid var(--hair);width:100%;max-width:460px;margin-bottom:2.4em}.wel-link{border-bottom:1px solid var(--hair);color:var(--ink);align-items:baseline;gap:12px;padding:14px 4px;transition:padding-left .22s,color .18s;display:flex}.wel-link:hover{color:var(--accent);padding-left:12px}.wel-link .t{font-size:1.05rem}.wel-link .n{font-family:var(--font-geist-mono),monospace;color:var(--faint);font-size:.72rem}.wel-link .arr{color:var(--faint);margin-left:auto;transition:transform .18s,color .18s}.wel-link:hover .arr{color:var(--accent);transform:translate(3px)}.wel-social{gap:10px;display:flex}.wel-social .social{width:38px;height:38px}.wel-foot{font-family:var(--font-geist-mono),monospace;color:var(--faint);justify-content:space-between;gap:12px;font-size:.74rem;display:flex}.bento-page{flex-direction:column;justify-content:center;max-width:1200px;min-height:100dvh;margin-inline:auto;padding:clamp(14px,2.2vw,28px);display:flex;position:relative}@media (min-width:901px){.bento-page{height:100dvh;overflow:hidden}.bento{flex:auto;grid-template-rows:repeat(7,minmax(0,1fr));min-height:0}}.site-bg{z-index:-1;pointer-events:none;background-image:radial-gradient(circle,var(--ink)1px,transparent 1.6px),radial-gradient(90% 62% at 50% -10%,var(--accent),transparent 72%);position:fixed;inset:0}@supports (color:color-mix(in lab, red, red)){.site-bg{background-image:radial-gradient(circle,color-mix(in srgb,var(--ink)20%,transparent)1px,transparent 1.6px),radial-gradient(90% 62% at 50% -10%,color-mix(in srgb,var(--accent)14%,transparent),transparent 72%)}}.site-bg{opacity:.55;background-position:0 0,0 0;background-size:26px 26px,100% 100%;animation:46s linear infinite bg-drift;-webkit-mask-image:radial-gradient(125% 120% at 50% 42%,#000 26%,#0000 82%);mask-image:radial-gradient(125% 120% at 50% 42%,#000 26%,#0000 82%)}@keyframes bg-drift{0%{background-position:0 0,0 0}to{background-position:26px 26px,0 0}}.bento{z-index:1;grid-template-columns:repeat(4,1fr);grid-template-areas:"intro intro intro about""intro intro intro about""intro intro intro about""start time resume about""start time now about""start works blog github""start offclock palet foot";gap:12px;display:grid;position:relative}.t-intro{grid-area:intro}.t-about{grid-area:about}.t-start{grid-area:start}.t-time{grid-area:time}.t-works{grid-area:works}.t-now{grid-area:now}.t-resume{grid-area:resume}.t-blog{grid-area:blog}.t-github{grid-area:github}.t-offclock{grid-area:offclock}.t-palet{grid-area:palet}.t-foot{grid-area:foot}.tile{border:1px solid var(--hair);background:var(--raise);color:var(--ink);border-radius:14px;flex-direction:column;min-width:0;padding:clamp(15px,1.5vw,22px);transition:border-color .2s;display:flex;position:relative;overflow:hidden}.tile:hover{border-color:var(--faint)}a.tile,.tile--link{color:var(--ink);text-decoration:none;transition:border-color .2s,transform .2s}a.tile:hover{border-color:var(--faint);transform:translateY(-2px)}.tile-k{font-family:var(--font-geist-mono),monospace;text-transform:uppercase;letter-spacing:.14em;color:var(--accent);font-size:.68rem}.tile-note{font-family:var(--font-geist-mono),monospace;color:var(--faint);margin-top:6px;font-size:.72rem}.tile-cta{justify-content:space-between;align-items:baseline;gap:10px;margin-top:auto;display:flex}.tile-cta h2{font-family:var(--font-serif),Georgia,serif;letter-spacing:-.022em;color:var(--ink);margin:0;font-size:clamp(1.25rem,1.9vw,1.6rem);font-weight:700}.tile-cta .arr{color:var(--faint);flex:none;align-self:center;font-size:1.3em;transition:transform .18s,color .18s}.tile--link:hover .tile-cta .arr{color:var(--accent);transform:translate(2px,-2px)}[data-theme=dark] .tile-cta .arr{color:#fff}.t-intro{flex-direction:row;gap:22px}.intro-copy{flex-direction:column;flex:auto;gap:12px;min-width:0;display:flex}.intro-lead{color:var(--ink);max-width:44ch;margin:0;font-size:clamp(1.05rem,1.5vw,1.3rem);line-height:1.5}.intro-lead strong{font-weight:600}.intro-sub{color:var(--muted);max-width:50ch;margin:0;font-size:.96rem;line-height:1.55}.intro-cta{color:var(--muted);margin:0;font-size:.92rem;line-height:1.5}.intro-cta a{color:var(--accent);border-bottom:1px solid var(--accent-soft);white-space:nowrap;transition:border-color .18s}.intro-cta a:hover{border-bottom-color:var(--accent)}.intro-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;margin-top:auto;margin-bottom:clamp(4px,1.5vh,14px);display:flex}.pill-icon{border:1px solid var(--hair);background:var(--paper-2);width:46px;height:46px;color:var(--muted);border-radius:12px;justify-content:center;align-items:center;transition:color .18s,border-color .18s,background-color .18s,transform .18s;display:inline-flex}.pill-icon:hover{color:var(--accent);border-color:var(--accent);background:var(--accent-soft);transform:translateY(-2px)}.pill-cta{border:1px solid var(--accent);background:var(--accent);height:46px;font-family:var(--font-geist-mono),monospace;letter-spacing:.01em;color:var(--on-accent);cursor:pointer;border-radius:12px;align-items:center;gap:8px;margin-left:4px;padding:0 22px;font-size:.85rem;transition:background-color .18s,color .18s,transform .18s,box-shadow .18s;display:inline-flex}.pill-cta:hover{box-shadow:0 8px 22px -12px var(--accent);transform:translateY(-2px)}@supports (color:color-mix(in lab, red, red)){.pill-cta:hover{box-shadow:0 8px 22px -12px color-mix(in srgb,var(--accent)80%,transparent)}}.intro-photo{flex:none;align-self:center;padding:12px;position:relative;overflow:hidden}.intro-photo img{aspect-ratio:323/409;object-fit:cover;filter:grayscale(.12);transform-origin:50% 18%;width:clamp(116px,12vw,176px);height:auto;display:block;transform:scale(1.4)}.intro-photo .hc{z-index:1;width:15px;height:15px}.t-about{gap:11px}.about-h{font-family:var(--font-serif),Georgia,serif;letter-spacing:-.022em;color:var(--ink);margin:0;font-size:1.4rem;font-weight:700}.about-p{color:var(--muted);margin:0;font-size:.9rem;line-height:1.55}.about-p--last{margin-top:auto}.chips{flex-wrap:wrap;gap:6px;margin:2px 0 0;padding:0;list-style:none;display:flex}.chips li{font-family:var(--font-geist-mono),monospace;color:var(--muted);border:1px solid var(--hair);background:var(--paper-2);border-radius:999px;padding:3px 9px;font-size:.7rem}.t-start{gap:7px}.start-h{font-family:var(--font-serif),Georgia,serif;letter-spacing:-.028em;color:var(--ink);margin:0 0 10px;font-size:clamp(1.1rem,1.5vw,1.4rem);font-weight:700;line-height:1.14}.start-mail{color:var(--accent);word-break:break-all;font-size:.95rem}.start-loc{color:var(--muted);margin-bottom:8px;font-size:.92rem}.start-socials{flex-direction:column;gap:6px;margin:4px 0 0;padding:0;list-style:none;display:flex}.start-socials a{color:var(--muted);font-size:.98rem;transition:color .18s}.start-socials a:hover{color:var(--accent)}.clock{flex-direction:column;flex:1;display:flex}.clock-head{flex-direction:column;gap:4px;display:flex}.clock-day{font-family:var(--font-serif),Georgia,serif;color:var(--ink);font-size:clamp(.92rem,1.3vw,1.08rem);line-height:1.2}.clock-body{flex-direction:column;flex:1;justify-content:center;gap:12px;margin-top:4px;display:flex}.clock-row{flex-direction:column;gap:5px;display:flex}.clock-meta{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.clock-k{font-family:var(--font-geist-mono),monospace;text-transform:uppercase;letter-spacing:.11em;color:var(--accent);font-size:.62rem}.clock-t{font-family:var(--font-serif),Georgia,serif;color:var(--ink);font-variant-numeric:tabular-nums;align-items:baseline;gap:4px;font-size:clamp(1.8rem,3vw,2.5rem);line-height:1;display:flex}.clock-s{font-family:var(--font-geist-mono),monospace;color:var(--faint);font-variant-numeric:tabular-nums;font-size:.8rem}.clock-s:before{content:":";margin-right:1px}.clock-z{font-family:var(--font-geist-mono),monospace;color:var(--faint);letter-spacing:.04em;font-size:.64rem}.clock-div{background:var(--hair);height:1px;margin:2px 0}.now-head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.now-date{font-family:var(--font-geist-mono),monospace;color:var(--faint);font-size:.7rem}.now-p{color:var(--muted);margin:8px 0 0;font-size:.9rem;line-height:1.45}.now-p strong{color:var(--ink);font-weight:600}.now-link{color:var(--ink);border-bottom:1px solid var(--accent-soft);font-weight:600;transition:border-color .18s,color .18s}.now-link:hover{color:var(--accent);border-bottom-color:var(--accent)}.live-dot{background:var(--accent);vertical-align:.08em;border-radius:50%;width:6px;height:6px;margin-left:4px;display:inline-block;position:relative}.live-dot:after{content:"";background:var(--accent);border-radius:50%;animation:1.9s ease-out infinite live-pulse;position:absolute;inset:0}@keyframes live-pulse{0%{opacity:.55;transform:scale(1)}to{opacity:0;transform:scale(3.2)}}@media (prefers-reduced-motion:reduce){.live-dot:after{opacity:0;animation:none}}.t-foot{text-align:center;font-family:var(--font-geist-mono),monospace;color:var(--faint);justify-content:center;align-items:center;gap:6px;font-size:.7rem;line-height:1.4}.foot-made{color:var(--muted);align-items:center;gap:6px;display:inline-flex}.foot-heart{color:var(--ink);transform-origin:50% 60%;font-size:.92rem;line-height:1;animation:2.6s ease-in-out infinite heart-beat}.foot-sub{color:var(--faint);opacity:.85}@keyframes heart-beat{0%,42%,to{transform:scale(1)}12%{transform:scale(1.3)}24%{transform:scale(1)}34%{transform:scale(1.16)}}@media (prefers-reduced-motion:reduce){.foot-heart{animation:none}}.t-github .gh-mark{color:var(--accent)}.t-github .gh-mark svg{width:22px;height:22px}.t-offclock{gap:10px}.off-p{font-family:var(--font-serif),Georgia,serif;color:var(--muted);margin:auto 0 0;font-size:1.02rem;line-height:1.5}.off-p strong{color:var(--ink);font-weight:600}.tswitch{cursor:pointer;background:0 0;border:0;align-self:center;margin:auto;padding:0}.tswitch-track{border:1px solid var(--hair);background:var(--paper-2);border-radius:999px;justify-content:space-between;align-items:center;width:96px;height:46px;padding:0 13px;transition:background-color .25s,border-color .2s;display:flex;position:relative}.tswitch:hover .tswitch-track{border-color:var(--faint)}.tswitch-ico{width:18px;height:18px;color:var(--faint);z-index:1}.tswitch-knob{background:var(--accent);border-radius:50%;width:36px;height:36px;margin-top:-18px;transition:transform .3s cubic-bezier(.16,1,.3,1);position:absolute;top:50%;left:4px}.tswitch[data-dark] .tswitch-knob{transform:translate(50px)}.tswitch:focus-visible .tswitch-track{outline:2px solid var(--accent);outline-offset:2px}::view-transition-old(root){z-index:1}::view-transition-new(root){z-index:9999}::view-transition-old(root){mix-blend-mode:normal;animation:none}::view-transition-new(root){mix-blend-mode:normal;animation:none}.bg-sheen>*,.bg-lines>*,.bg-rise>*,.bg-graph>*{z-index:1;position:relative}.bg-sheen:before{content:"";z-index:0;background-image:repeating-linear-gradient(45deg,var(--accent)0 1.5px,transparent 1.5px 14px);position:absolute;inset:0}@supports (color:color-mix(in lab, red, red)){.bg-sheen:before{background-image:repeating-linear-gradient(45deg,color-mix(in srgb,var(--accent)34%,transparent)0 1.5px,transparent 1.5px 14px)}}.bg-sheen:before{opacity:.7;animation:3s linear infinite sheen-pan;-webkit-mask-image:radial-gradient(92% 92% at 80% 70%,#000,#0000 88%);mask-image:radial-gradient(92% 92% at 80% 70%,#000,#0000 88%)}@keyframes sheen-pan{0%{background-position:0 0}to{background-position:19.8px 0}}.bg-lines:before{content:"";z-index:0;background-image:repeating-linear-gradient(0deg,var(--accent)0 1.5px,transparent 1.5px 14px);position:absolute;inset:0}@supports (color:color-mix(in lab, red, red)){.bg-lines:before{background-image:repeating-linear-gradient(0deg,color-mix(in srgb,var(--accent)42%,transparent)0 1.5px,transparent 1.5px 14px)}}.bg-lines:before{opacity:.9;animation:2.5s linear infinite lines-drift;-webkit-mask-image:radial-gradient(92% 92% at 80% 70%,#000,#0000 88%);mask-image:radial-gradient(92% 92% at 80% 70%,#000,#0000 88%)}@keyframes lines-drift{0%{background-position:0 0}to{background-position:0 -14px}}.bg-rise:before{content:"";z-index:0;background-image:radial-gradient(var(--accent)2px,transparent 3px);position:absolute;inset:-25% 0}@supports (color:color-mix(in lab, red, red)){.bg-rise:before{background-image:radial-gradient(color-mix(in srgb,var(--accent)62%,transparent)2px,transparent 3px)}}.bg-rise:before{opacity:.55;background-size:30px 30px;animation:3.5s linear infinite rise-up;-webkit-mask-image:linear-gradient(#0000,#000 55%,#0000);mask-image:linear-gradient(#0000,#000 55%,#0000)}@keyframes rise-up{0%{background-position:0 0}to{background-position:0 -30px}}.bg-graph:before{content:"";z-index:0;background-image:linear-gradient(var(--accent)1px,transparent 1px),linear-gradient(90deg,var(--accent)1px,transparent 1px);position:absolute;inset:0}@supports (color:color-mix(in lab, red, red)){.bg-graph:before{background-image:linear-gradient(color-mix(in srgb,var(--accent)30%,transparent)1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--accent)30%,transparent)1px,transparent 1px)}}.bg-graph:before{opacity:.55;background-size:20px 20px;animation:7s linear infinite graph-pan;-webkit-mask-image:radial-gradient(85% 80% at 74% 30%,#000,#0000 86%);mask-image:radial-gradient(85% 80% at 74% 30%,#000,#0000 86%)}@keyframes graph-pan{0%{background-position:0 0,0 0}to{background-position:20px 20px,20px 20px}}@media (prefers-reduced-motion:reduce){.bg-sheen:before,.bg-lines:before,.bg-rise:before,.bg-graph:before,.site-bg{animation:none}}@media (max-width:900px){.bento{grid-template-columns:repeat(2,1fr);grid-template-areas:"intro intro""intro intro""about about""start start""time time""works now""resume blog""github offclock""palet foot"}}@media (max-width:560px){.bento-page{justify-content:flex-start}.bento{grid-template-columns:1fr;grid-template-areas:"intro""about""start""time""works""now""resume""blog""github""offclock""palet""foot";grid-auto-rows:auto}.tile{min-height:108px}.t-intro{flex-direction:column}.intro-photo{order:-1;align-self:center}}.work-foot{font-family:var(--font-geist-mono),monospace;color:var(--faint);padding-block:40px 60px;font-size:.78rem}.empty-page{flex-direction:column;justify-content:center;align-items:flex-start;gap:14px;max-width:60ch;min-height:calc(100dvh - 60px);margin-inline:auto;padding:40px clamp(20px,5vw,40px);display:flex}.empty-emoji{font-size:2.4rem}.empty-h{font-family:var(--font-serif),Georgia,serif;letter-spacing:-.015em;color:var(--ink);margin:0;font-size:clamp(2rem,5vw,3rem);font-weight:600}.empty-p{color:var(--muted);max-width:54ch;margin:0;font-size:1.05rem;line-height:1.6}.empty-back{font-family:var(--font-geist-mono),monospace;color:var(--accent);margin-top:10px;font-size:.85rem}.cv-wrap{flex-direction:column;align-items:center;padding:clamp(20px,4vw,52px) 16px 84px;display:flex}.cv-controls{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;width:794px;max-width:100%;margin-bottom:16px;display:flex}.cv-swatches{align-items:center;gap:8px;display:flex}.cv-swatch{cursor:pointer;background:0 0;border:2px solid #0000;border-radius:999px;justify-content:center;align-items:center;width:28px;height:28px;padding:3px;transition:border-color .16s,transform .16s;display:inline-flex}.cv-swatch:hover{border-color:var(--hair)}.cv-swatch.is-active{border-color:var(--accent)}.cv-swatch-dot{border-radius:999px;width:100%;height:100%;display:block}.cv-download{font-family:var(--font-geist-sans),system-ui,sans-serif;background:var(--accent);color:var(--on-accent);cursor:pointer;border:0;border-radius:9px;align-items:center;gap:8px;padding:9px 16px;font-size:.85rem;font-weight:600;transition:opacity .16s;display:inline-flex}.cv-download:hover{opacity:.9}.cv-download svg{width:16px;height:16px}.cv-mobile-note{display:none}.cv-doc{background:var(--raise);border:1px solid var(--hair);width:794px;max-width:100%;min-height:1123px;color:var(--ink);border-radius:14px;grid-template-columns:234px 1fr;display:grid;position:relative;overflow:hidden;box-shadow:0 24px 60px -24px #00000073,0 8px 20px -12px #0000004d}.cv-side{background:var(--paper-2);border-right:1px solid var(--hair);min-width:0;padding:28px 22px;position:relative}.cv-side-glow{pointer-events:none;background:linear-gradient(180deg,var(--accent-soft),transparent 78%);height:190px;position:absolute;top:0;left:0;right:0}.cv-side>:not(.cv-side-glow){position:relative}.cv-main{min-width:0;padding:28px 26px}.cv-section{margin-bottom:16px}.cv-section:last-child{margin-bottom:0}.cv-h2{font-family:var(--font-geist-mono),ui-monospace,monospace;text-transform:uppercase;letter-spacing:.16em;color:var(--accent);align-items:center;gap:8px;margin:0 0 12px;font-size:.66rem;font-weight:500;display:flex}.cv-h2-bar{background:var(--accent);border-radius:1px;flex:none;width:3px;height:.85em}.cv-head{text-align:center;margin-bottom:22px}.cv-photo{background:var(--paper-2);border:1px solid var(--hair);border-radius:12px;width:128px;height:138px;margin:0 auto 14px;overflow:hidden}.cv-photo img{object-fit:cover;object-position:50% 14%;width:100%;height:100%}.cv-name{font-family:var(--font-geist-sans),system-ui,sans-serif;letter-spacing:-.01em;color:var(--ink);margin:0;font-size:1.28rem;font-weight:700;line-height:1.1}.cv-role{font-family:var(--font-geist-mono),monospace;text-transform:uppercase;letter-spacing:.14em;color:var(--accent);margin:5px 0 0;font-size:.64rem}.cv-contacts{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.cv-contact{color:var(--muted);font-size:.68rem}.cv-contact a{color:inherit}.cv-contact,.cv-contact a{align-items:flex-start;gap:8px;display:flex}.cv-contact svg{width:13px;height:13px;color:var(--accent);flex:none;margin-top:1px}.cv-contact span{overflow-wrap:anywhere;min-width:0}.cv-contact a:hover{color:var(--ink)}.cv-skills{flex-direction:column;gap:11px;display:flex}.cv-skill-label{font-family:var(--font-geist-mono),monospace;text-transform:uppercase;letter-spacing:.1em;color:var(--faint);margin:0 0 3px;font-size:.6rem}.cv-skill-items{color:var(--muted);margin:0;font-size:.72rem;line-height:1.5}.cv-langs{flex-direction:column;gap:10px;display:flex}.cv-lang{flex-direction:column;gap:5px;display:flex}.cv-lang-top{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.cv-lang-name{color:var(--ink);font-size:.76rem;font-weight:600}.cv-lang-level{color:var(--muted);text-align:right;font-size:.6rem;line-height:1.3}.cv-lang-bar{background:var(--hair);border-radius:999px;height:3px;overflow:hidden}.cv-lang-bar-fill{background:var(--accent);border-radius:999px;height:100%;display:block}.cv-interests{flex-direction:column;gap:9px;display:flex}.cv-interest{flex-direction:column;gap:1px;display:flex}.cv-interest-name{color:var(--ink);font-size:.72rem;font-weight:600}.cv-interest-text{color:var(--muted);font-size:.66rem;line-height:1.4}.cv-profile{color:var(--muted);margin:0;font-size:.78rem;line-height:1.6}.cv-timeline{padding-left:20px;position:relative}.cv-timeline:before{content:"";background:var(--hair);width:1px;position:absolute;top:5px;bottom:5px;left:4px}.cv-entry{margin-bottom:13px;position:relative}.cv-entry:last-child{margin-bottom:0}.cv-entry:before{content:"";background:var(--raise);border:1.5px solid var(--accent);border-radius:50%;width:8px;height:8px;position:absolute;top:3px;left:-20px}.cv-entry-top{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.cv-entry-head{font-family:var(--font-geist-sans),system-ui,sans-serif;color:var(--ink);flex:auto;min-width:0;margin:0;font-size:.82rem;font-weight:700;line-height:1.25}.cv-dash{color:var(--faint);font-weight:400}.cv-entry-period{font-family:var(--font-geist-mono),monospace;color:var(--faint);white-space:nowrap;flex:none;font-size:.62rem}.cv-entry-meta{color:var(--accent);margin:2px 0 0;font-size:.68rem}.cv-entry-body{color:var(--muted);margin:4px 0 0;font-size:.72rem;line-height:1.5}.cv-entry-points{color:var(--muted);flex-direction:column;gap:3px;margin:5px 0 0;padding:0;font-size:.72rem;line-height:1.5;list-style:none;display:flex}.cv-entry-points li{padding-left:13px;position:relative}.cv-entry-points li:before{content:"•";color:var(--accent);font-size:.72em;line-height:inherit;position:absolute;top:-.04em;left:2px}@media (max-width:840px){.cv-doc{display:none}.cv-controls{justify-content:center}.cv-controls .cv-download{display:none}.cv-mobile-note{text-align:center;background:var(--raise);border:1px solid var(--hair);border-radius:14px;flex-direction:column;align-items:center;gap:16px;width:100%;max-width:420px;padding:28px 24px;display:flex}.cv-mobile-note p{color:var(--muted);margin:0;font-size:.9rem;line-height:1.55}}@media print{@page{size:A4;margin:0}html,body{background:var(--paper);color:var(--ink);-webkit-print-color-adjust:exact;print-color-adjust:exact;margin:0;padding:0}*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.site-bar,.cursor-frame,.companion,.site-bg,.page-splash,.cv-controls,.cv-mobile-note{display:none!important}.cv-wrap{background:var(--paper);padding:0;display:block}.cv-doc{float:none;width:210mm;max-width:none;height:297mm;min-height:0;box-shadow:none;border:0;border-radius:0;margin:0;display:grid;overflow:hidden}.cv-side{border-radius:0}}.cs-back{z-index:40;background:var(--paper);position:sticky;top:0}@supports (color:color-mix(in lab, red, red)){.cs-back{background:color-mix(in srgb,var(--paper)86%,transparent)}}.cs-back{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--hair)}.toc-link{text-align:left;width:100%;color:var(--muted);cursor:pointer;background:0 0;border:none;border-left:2px solid #0000;padding:6px 0 6px 12px;font-size:.83rem;line-height:1.4;transition:color .18s,border-color .18s;display:block}.toc-link:hover{color:var(--ink)}.toc-link.active{color:var(--accent);border-left-color:var(--accent);font-weight:600}.hero-grid{grid-template-columns:1.4fr .9fr;align-items:stretch;gap:clamp(28px,5vw,72px);min-height:min(70vh,640px);display:grid}.hero-copy{align-self:center}.hero-photo{place-self:center end;padding:clamp(14px,1.5vw,22px);position:relative}.hero-photo img{aspect-ratio:323/409;object-fit:cover;filter:grayscale(.12);width:clamp(260px,33vw,430px);height:auto;transition:filter .4s;display:block}.hero-photo:hover img{filter:grayscale(0)}.hc{border:1.5px solid var(--accent);pointer-events:none;width:clamp(20px,2vw,28px);height:clamp(20px,2vw,28px);position:absolute}.hc-tl{border-bottom:0;border-right:0;top:0;left:0}.hc-tr{border-bottom:0;border-left:0;top:0;right:0}.hc-bl{border-top:0;border-right:0;bottom:0;left:0}.hc-br{border-top:0;border-left:0;bottom:0;right:0}@media (max-width:800px){.hero-grid{grid-template-columns:1fr;gap:28px;min-height:0}.hero-photo{order:-1;place-self:auto center;padding:16px}.hero-photo img{width:210px}.hc{width:18px;height:18px}}.cursor-frame{pointer-events:none;z-index:9999;opacity:0;will-change:transform,width,height;width:22px;height:22px;transition:opacity .25s;position:fixed;top:0;left:0}.cursor-frame.ready{opacity:.85}.cursor-frame.framed{opacity:1}.cursor-frame.over-embed{opacity:0}.cursor-frame .cf-c{border:1.5px solid var(--accent);width:7px;height:7px;transition:width .22s,height .22s;position:absolute}.cursor-frame.framed .cf-c{width:13px;height:13px}.cursor-frame .cf-tl{border-bottom:0;border-right:0;top:0;left:0}.cursor-frame .cf-tr{border-bottom:0;border-left:0;top:0;right:0}.cursor-frame .cf-bl{border-top:0;border-right:0;bottom:0;left:0}.cursor-frame .cf-br{border-top:0;border-left:0;bottom:0;right:0}@media (hover:none),(pointer:coarse){.cursor-frame{display:none}}@media (prefers-reduced-motion:reduce){.cursor-frame{display:none}}.companion{z-index:60;position:fixed;bottom:clamp(16px,2.6vw,30px);right:clamp(16px,2.6vw,30px)}.comp-bubble{background:var(--raise);width:max-content;max-width:min(252px,100vw - 108px);position:absolute;bottom:2px;right:74px}@supports (color:color-mix(in lab, red, red)){.comp-bubble{background:color-mix(in srgb,var(--raise)92%,transparent)}}.comp-bubble{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--hair);transform-origin:100% 100%;opacity:0;pointer-events:none;border-radius:13px 13px 4px;padding:11px 14px 12px;transition:opacity .3s,transform .3s;transform:translate(8px)scale(.96);box-shadow:0 12px 34px #0000001f}.companion[data-talking=true] .comp-bubble{opacity:1;pointer-events:auto;transform:none}.comp-bubble:after{content:"";background:var(--raise);border-right:1px solid var(--hair);border-bottom:1px solid var(--hair);width:10px;height:10px;position:absolute;bottom:10px;right:-5px;transform:rotate(-45deg)}.bub-note{color:var(--ink);font-family:var(--font-serif),Georgia,serif;min-height:1.4em;margin:0;font-size:1rem;line-height:1.4;animation:.4s both compFade}.bub-caret{vertical-align:-.12em;background:var(--accent);width:2px;height:1em;margin-left:1px;animation:.9s step-end infinite bubCaret;display:inline-block}@keyframes bubCaret{0%,50%{opacity:1}50.01%,to{opacity:0}}.bub-dots{align-items:center;gap:4px;height:1.4em;display:inline-flex}.bub-dots i{background:var(--faint);border-radius:50%;width:6px;height:6px;animation:1.25s ease-in-out infinite bubDot}.bub-dots i:nth-child(2){animation-delay:.16s}.bub-dots i:nth-child(3){animation-delay:.32s}@keyframes bubDot{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}.bub-cta{font-family:var(--font-geist-mono),monospace;color:var(--accent);border-bottom:1px solid var(--accent-soft);align-items:center;gap:6px;margin-top:10px;padding-bottom:1px;font-size:.76rem;transition:border-color .18s;display:inline-flex}.bub-cta:hover{border-bottom-color:var(--accent)}.bub-cta .arr{transition:transform .18s}.bub-cta:hover .arr{transform:translate(3px)}@keyframes compFade{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.comp-face{border:1px solid var(--hair);background:var(--raise);cursor:pointer;width:58px;height:58px;transition:transform var(--bob-dur,4.5s)cubic-bezier(.45,0,.55,1),border-color .18s ease,box-shadow .18s ease;border-radius:50%;place-items:center;padding:0;display:grid;position:relative;box-shadow:0 6px 18px #00000021}.comp-face:hover{border-color:var(--faint);box-shadow:0 8px 22px #00000029}.face-inner{gap:9px;display:flex;transform:translateY(-1px)}.comp-marks{pointer-events:none;width:0;height:0;position:absolute;top:0;left:50%}.comp-mark{transform-origin:bottom;width:26px;height:26px;margin-left:-13px;animation:1.2s forwards markWobble;position:absolute;bottom:2px;left:0}.comp-mark svg{width:100%;height:100%;display:block;overflow:visible}.qm-path{fill:none;stroke:var(--accent);stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round}.qm-dot{fill:var(--accent)}@keyframes markWobble{0%{opacity:0;transform:translate(var(--dx,0px),-4px)rotate(-28deg)scale(.5)}30%{opacity:1;transform:translate(var(--dx,0px),-11px)rotate(14deg)scale(1.12)}48%{transform:translate(var(--dx,0px),-11px)rotate(-7deg)scale(1)}64%{transform:translate(var(--dx,0px),-11px)rotate(4deg)scale(1)}80%{transform:translate(var(--dx,0px),-11px)rotate(-2deg)scale(1)}to{opacity:0;transform:translate(var(--dx,0px),-11px)rotate(0deg)scale(1)}}.companion[data-talking=true] .face-inner{animation:.5s faceTalk}.eye{width:9px;height:11px;transform:translate(var(--ex,0),var(--ey,0));place-items:center;transition:transform .16s;display:grid}.pupil{background:var(--ink);border-radius:50%;width:9px;height:11px;animation:5.4s infinite blink}@keyframes blink{0%,92%,to{transform:scaleY(1)}95%{transform:scaleY(.12)}98%{transform:scaleY(1)}}@keyframes faceTalk{0%{transform:translateY(-1px)scale(1)}30%{transform:translateY(-1px)scale(.9,1.1)}60%{transform:translateY(-1px)scale(1.06,.94)}to{transform:translateY(-1px)scale(1)}}@media (prefers-reduced-motion:reduce){.comp-face{transition:none;transform:none}.pupil{animation:none}.eye{transition:none}.companion[data-talking=true] .face-inner,.bub-note{animation:none}.comp-bubble{transition:opacity .2s;transform:none}}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.fade-in{animation:.5s both fadeIn}@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-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@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 spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}
