@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/fef07dbb0973bf53-s.12tyk43_3sh9u.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.0jzbimsg8vl84.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.0-wfv7uh4i7h9.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.0nx0ww8fni_q3.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.09~u27dqhyhd6.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_deef94d5-module__Sms4YG__className{font-family:Geist,Geist Fallback;font-style:normal}.geist_deef94d5-module__Sms4YG__variable{--font-geist-sans:"Geist", "Geist Fallback"}
@font-face{font-family:Piazzolla;font-style:italic;font-weight:500;font-display:swap;src:url(../media/1f5a198e4bda5f88-s.15olqtj~n2~9z.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:Piazzolla;font-style:italic;font-weight:500;font-display:swap;src:url(../media/90e40fe690310181-s.13dorxrib.sxv.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Piazzolla;font-style:italic;font-weight:500;font-display:swap;src:url(../media/d30aa3dcbf21d7e5-s.08.vdowoyjewj.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Piazzolla;font-style:italic;font-weight:500;font-display:swap;src:url(../media/2da82ebd2de1510f-s.0-2_oa-~99jyf.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Piazzolla;font-style:italic;font-weight:500;font-display:swap;src:url(../media/b83112dec7a343c6-s.0br1tbk-hb.d7.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:Piazzolla;font-style:italic;font-weight:500;font-display:swap;src:url(../media/16688617a253f890-s.16-oxa1eog.1r.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:Piazzolla;font-style:italic;font-weight:500;font-display:swap;src:url(../media/01d215225aec3825-s.p.13wv106vt9_tk.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:Piazzolla;font-style:italic;font-weight:600;font-display:swap;src:url(../media/1f5a198e4bda5f88-s.15olqtj~n2~9z.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:Piazzolla;font-style:italic;font-weight:600;font-display:swap;src:url(../media/90e40fe690310181-s.13dorxrib.sxv.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Piazzolla;font-style:italic;font-weight:600;font-display:swap;src:url(../media/d30aa3dcbf21d7e5-s.08.vdowoyjewj.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Piazzolla;font-style:italic;font-weight:600;font-display:swap;src:url(../media/2da82ebd2de1510f-s.0-2_oa-~99jyf.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Piazzolla;font-style:italic;font-weight:600;font-display:swap;src:url(../media/b83112dec7a343c6-s.0br1tbk-hb.d7.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:Piazzolla;font-style:italic;font-weight:600;font-display:swap;src:url(../media/16688617a253f890-s.16-oxa1eog.1r.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:Piazzolla;font-style:italic;font-weight:600;font-display:swap;src:url(../media/01d215225aec3825-s.p.13wv106vt9_tk.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:Piazzolla Fallback;src:local(Times New Roman);ascent-override:101.33%;descent-override:28.3%;line-gap-override:0.0%;size-adjust:109.54%}.piazzolla_3c24f2eb-module__zW3NYq__className{font-family:Piazzolla,Piazzolla Fallback;font-style:italic}.piazzolla_3c24f2eb-module__zW3NYq__variable{--font-display:"Piazzolla", "Piazzolla Fallback"}
@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5ce348bf30bf5439-s.0zgw-jeven.3w.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.0wkzw~je483f-.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.0rhz0arwfsn~5.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.0l76wvqk9d84w.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.0k4k9394f2q-k.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.08e28id.o-okb.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_1bf8cbf6-module__FlyLvG__className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.geist_mono_1bf8cbf6-module__FlyLvG__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-border-style:solid;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction: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;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:var(--font-geist-sans);--font-mono:var(--font-geist-mono);--spacing:.25rem;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--ease-out:cubic-bezier(0, 0, .2, 1);--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)}}@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{.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}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.bottom-0{bottom:calc(var(--spacing) * 0)}.left-1\/2{left:50%}.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}}.m-1425{margin:calc(var(--spacing) * 1425)}.m-5322{margin:calc(var(--spacing) * 5322)}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.flex-shrink,.shrink{flex-shrink:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.underline{text-decoration-line:underline}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.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,)}.grayscale{--tw-grayscale:grayscale(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,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.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))}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}}:root{--bg:#fff;--bg-hover:#f7f6f3;--bg-secondary:#f1f0ee;--nav-bg:#ffffffd9;--text:#37352f;--text-2:#787774;--text-3:#acaba8;--border:#e3e2e0;--accent:#2383e2;--accent-hover:#0b6bcb;--selection:#b7d4f5;--veil:#ffffff6b}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#191919;--bg-hover:#252525;--bg-secondary:#202020;--nav-bg:#191919d9;--text:#e9e9e7;--text-2:#9b9b98;--text-3:#6e6e6b;--border:#333331;--accent:#5b9ff0;--accent-hover:#8bbcf5;--selection:#2a4a6b;--veil:#19191973}}:root[data-theme=dark]{--bg:#191919;--bg-hover:#252525;--bg-secondary:#202020;--nav-bg:#191919d9;--text:#e9e9e7;--text-2:#9b9b98;--text-3:#6e6e6b;--border:#333331;--accent:#5b9ff0;--accent-hover:#8bbcf5;--selection:#2a4a6b;--veil:#19191973}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:var(--font-geist-sans), -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.65}a{color:inherit;text-decoration:none}::selection{background:var(--selection);color:var(--text)}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.cursor-blink:after{content:"_";color:var(--accent);animation:1.2s ease-in-out infinite blink}.scramble-text{cursor:default;display:inline-block}.section-label{letter-spacing:.1em;text-transform:uppercase;color:var(--text-3);margin-bottom:20px;font-size:11px;font-weight:600;display:block}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:3px}.timeline-line{background:var(--border);width:1px;position:absolute;top:6px;bottom:0;left:0;transform:translate(-.5px)}.timeline-dot{box-sizing:content-box;background:var(--border);border:1.5px solid var(--bg);border-radius:50%;width:8px;height:8px;position:absolute;top:10px;left:0;transform:translate(-50%,-50%)}.prose-notion,.prose-body,.page-title,.detail-note,.detail-lead,.article-outline{font-family:-apple-system,BlinkMacSystemFont,system-ui,Segoe UI,sans-serif}.prose-notion,.prose-body{--prose-measure:72ch;--prose-flow:1rem;--prose-section:2.25rem}.prose-notion h2,.prose-body h2{letter-spacing:-.025em;color:var(--text);margin:var(--prose-section) 0 0;border-bottom:1px solid var(--border);max-width:var(--prose-measure);padding-bottom:.375rem;font-size:1.5rem;font-weight:400;line-height:1.34}.prose-notion h3,.prose-body h3{letter-spacing:-.015em;color:var(--text);margin:1.5rem 0 0;font-size:1.125rem;font-weight:500;line-height:1.45}.prose-notion>:is(h2,h3):first-child,.prose-body>:is(h2,h3):first-child{margin-top:0}.prose-notion h1{letter-spacing:-.025em;color:var(--text);margin:0 0 .5rem;font-size:1.875rem;font-weight:600;line-height:1.2}.prose-notion p,.prose-body p{color:var(--text-2);max-width:var(--prose-measure);text-wrap:pretty;font-size:1rem;line-height:1.63}.prose-notion ul,.prose-notion ol,.prose-body ul,.prose-body ol{max-width:var(--prose-measure);padding-left:1.25rem}.prose-notion ul,.prose-body ul{list-style:outside}.prose-notion ol,.prose-body ol{list-style:decimal}.prose-notion li,.prose-body li{color:var(--text-2);font-size:1rem;line-height:1.63}.prose-notion li+li,.prose-body li+li{margin-top:.25rem}.prose-notion li::marker{color:var(--text-3)}.prose-body li::marker{color:var(--text-3)}.prose-notion li>ul,.prose-notion li>ol,.prose-body li>ul,.prose-body li>ol{margin-top:.25rem}.prose-notion li>ul,.prose-body li>ul{list-style-type:circle}.prose-notion code,.prose-body code{font-family:var(--font-geist-mono), ui-monospace, monospace;background:var(--bg-secondary);color:var(--text);overflow-wrap:anywhere;border-radius:4px;padding:2px 6px;font-size:.75rem;line-height:1.5}.prose-notion pre,.prose-body pre{background:var(--bg-secondary);border:1px solid var(--border);border-radius:6px;padding:.875rem 1rem;overflow-x:auto}.prose-notion pre code,.prose-body pre code{overflow-wrap:normal;background:0 0;padding:0;font-size:.84375rem;line-height:1.7}.prose-notion a:not(.external-link),.prose-body a:not(.external-link){color:var(--text);text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:1px;-webkit-text-decoration-color:var(--text-3);-webkit-text-decoration-color:var(--text-3);-webkit-text-decoration-color:var(--text-3);text-decoration-color:var(--text-3);transition:text-decoration-color .15s,color .15s}.prose-notion a:not(.external-link):hover,.prose-body a:not(.external-link):hover{text-decoration-color:currentColor}.prose-notion blockquote,.prose-body blockquote{border-left:2px solid var(--border);color:var(--text-3);max-width:var(--prose-measure);padding-left:1rem;font-size:.9375rem;line-height:1.63}.prose-notion blockquote>*+*{margin-top:var(--prose-flow)}.prose-notion hr,.prose-body hr{border:none;border-top:1px solid var(--border);margin:var(--prose-section) 0}.prose-notion img,.prose-body img{border:1px solid var(--border);border-radius:6px;max-width:100%;height:auto}.prose-notion strong,.prose-body strong{color:var(--text);font-weight:600}.prose-notion>*,.prose-body>*{margin-block:0}.prose-notion>*+*,.prose-body>*+*{margin-top:var(--prose-flow)}.prose-notion>:is(h2,h3)+*,.prose-body>:is(h2,h3)+*{margin-top:.5rem}.page-title{letter-spacing:-.025em;color:var(--text);text-wrap:balance;margin:0;font-size:clamp(1.5rem,4vw,1.875rem);font-weight:600;line-height:1.2}.detail-header{border-bottom:1px solid var(--border);margin-bottom:2rem;padding-bottom:.75rem}.detail-header .detail-note,.detail-header time.detail-note{color:var(--text-3);margin-top:.375rem;font-size:.8125rem;line-height:1.4;display:block}.detail-header .detail-lead{margin-top:.75rem}.detail-note{color:var(--text-3);margin:.75rem 0 0;font-size:.875rem}.detail-tech{flex-wrap:wrap;gap:6px;margin-top:1rem;display:flex}.detail-body>.prose-body+.prose-body{margin-top:var(--prose-section,2rem)}.detail-links{flex-wrap:wrap;gap:14px;display:flex}.detail-lead{color:var(--text-2);max-width:var(--prose-measure);text-wrap:pretty;margin:0;font-size:1rem;line-height:1.63}.article-hero-top{border:1px solid var(--border);border-radius:8px;margin:32px 0 40px;overflow:hidden}.article-hero-top img{width:100%;height:auto;display:block}.projects-grid{grid-template-columns:repeat(2,1fr);column-gap:24px;display:grid}.project-card-full{grid-column:1/-1}.project-card-half{grid-column:span 1}.project-card-inner{border-bottom:1px solid var(--border);cursor:pointer;border-radius:6px;height:100%;margin:0 -12px;padding:16px 12px;transition:background .15s;display:block}.project-card-inner:hover{background:var(--bg-hover)}@media (max-width:560px){.projects-grid{grid-template-columns:1fr}.project-card-half{grid-column:1/-1}}.article-outline{z-index:10;width:186px;max-height:calc(100vh - 200px);display:none;position:fixed;top:140px;left:calc(50% - 532px);overflow-y:auto}@media (min-width:1120px){.article-outline{display:block}}::view-transition-old(root){mix-blend-mode:normal;animation:none}::view-transition-new(root){mix-blend-mode:normal;animation:none}html[data-vt=rect]::view-transition-new(root){animation:.42s ease-out rect-reveal}@keyframes rect-reveal{0%{clip-path:inset(100% 0 0)}to{clip-path:inset(0)}}@media (prefers-reduced-motion:reduce){html[data-vt=rect]::view-transition-new(root){animation:none}}.nav-control{width:32px;height:32px;color:var(--text-2);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:7px;justify-content:center;align-items:center;padding:0;transition:background .15s,border-color .15s,color .15s;display:flex}.control-wrap{flex:0 0 32px;width:32px;height:32px}.nav-control-separator{background:var(--border);flex:0 0 1px;width:1px;height:16px;margin:0 4px}.nav-language-tabs{box-sizing:border-box;height:32px;min-height:32px}.nav-language-tabs button{box-sizing:border-box;height:26px;padding:0 8px!important}.nav-link{color:var(--text-2);font-weight:400;transition:color .15s,font-weight .15s}.nav-link-label{grid-template-areas:"label";display:inline-grid}.nav-link-label>span,.nav-link-label:before{grid-area:label}.nav-link-label:before{content:attr(data-label);visibility:hidden;font-weight:600}.nav-link:hover{color:var(--text);font-weight:550}.nav-back-chevron{flex-shrink:0;transition:transform .25s cubic-bezier(.34,1.4,.64,1);transform:translateY(-.5px)}.nav-link:hover .nav-back-chevron{transform:translate(-2px,-.5px)}.nav-link[data-active]{color:var(--text);font-weight:600}.nav-link:focus-visible,.nav-control:focus-visible{outline:2px solid var(--accent);outline-offset:2px}nav [role=tablist]{box-sizing:border-box;min-height:32px}.nav-control:hover{background:var(--bg-hover);border-color:var(--border);color:var(--text)}.nav-control:active{transform:scale(.94)}.external-link{--link-brand:var(--text);color:var(--text-3);align-items:center;gap:6px;font-size:14px;transition:color .18s,transform .18s;display:inline-flex}.external-link:hover,.external-link:focus-visible{color:var(--link-brand);outline:none;transform:translateY(-1px)}.external-link-github{--link-brand:var(--text)}.external-link-linkedin{--link-brand:#0a66c2}.external-link-x{--link-brand:var(--text)}.external-link-email{--link-brand:var(--accent)}.external-link-koombea{--link-brand:#01d099;color:var(--text);gap:0;margin-left:2px;display:inline-block}.external-link-koombea img{margin-right:.22em}.external-link-live{--link-brand:var(--accent)}.footer .external-link{font-size:13px}.footer-link{color:var(--text-3);align-items:center;font-size:14px;transition:color .18s,transform .18s;display:inline-flex}.footer-link:hover,.footer-link:focus-visible{color:var(--text);outline:none;transform:translateY(-1px)}.control-tip{background:var(--text);color:var(--bg);white-space:nowrap;opacity:0;pointer-events:none;z-index:60;border-radius:6px;align-items:center;gap:6px;padding:4px 8px;font-size:11.5px;line-height:1;transition:opacity .14s,transform .14s;display:flex;position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%,-3px)}.control-wrap:hover .control-tip,.control-wrap:focus-within .control-tip{opacity:1;transform:translate(-50%)}.control-tip kbd{font-family:var(--font-geist-mono), monospace;background:var(--bg);border-radius:3px;padding:2px 4px;font-size:10px}@supports (color:color-mix(in lab, red, red)){.control-tip kbd{background:color-mix(in srgb, var(--bg) 22%, transparent)}}.control-tip kbd{line-height:1}.hero-location{color:var(--text-3);align-items:center;gap:.4em;margin:-21px 0 20px;font-size:14px;line-height:1.5;display:flex}@keyframes fade-in-blur{0%{opacity:0;filter:blur(4px)}to{opacity:1;filter:blur()}}@keyframes rise-in-blur{0%{opacity:0;filter:blur(10px);transform:translateY(22px)}to{opacity:1;filter:blur();transform:translateY(0)}}.page-enter{animation:.35s cubic-bezier(.34, 1.3, .64, 1) calc(.85s + var(--i,0) * 85ms) backwards rise-in-blur}body:not([data-no-entrance]) .home-entrance[data-entrance-ready] .home-enter{animation:.35s cubic-bezier(.34, 1.3, .64, 1) calc(.15s + var(--i,0) * 65ms) backwards rise-in-blur}::view-transition-old(root){animation:.22s cubic-bezier(.34,1.3,.64,1) reverse both fade-in-blur}::view-transition-new(root){animation:.35s cubic-bezier(.34,1.3,.64,1) both fade-in-blur}.detail-media{margin:0}.prose-body>*+.detail-media,.prose-notion>*+.detail-media{margin-top:var(--prose-flow)}.detail-media img,.detail-media video{width:100%;display:block}.detail-body>*,.detail-body>section>:not(.detail-media-flight){opacity:0}.detail-body>section:has(.detail-media-flight){opacity:1}main[data-hero-arrived] .detail-body>*,main[data-hero-arrived] .detail-body>section>:not(.detail-media-flight){animation:.42s cubic-bezier(.34,1.3,.64,1) both rise-in-blur}main[data-hero-arrived] .detail-body>section:has(.detail-media-flight){opacity:1;animation:none}main[data-hero-arrived] .detail-body>:first-child{animation-delay:0s}main[data-hero-arrived] .detail-body>:nth-child(2){animation-delay:.15s}main[data-hero-arrived] .detail-body>:nth-child(3){animation-delay:.26s}main[data-hero-arrived] .detail-body>:nth-child(n+4){animation-delay:.34s}@media (prefers-reduced-motion:reduce){.detail-body>*,.detail-body>section>*{opacity:1;animation:none}}.section-list{flex-direction:column;display:flex}a.section-entry{border-bottom:1px solid var(--border);color:inherit;grid-template-columns:92px minmax(0,1fr);align-items:start;gap:18px;padding:18px 0;transition:background .18s;display:grid}a.section-entry:last-child{border-bottom:none}.section-entry-head{align-items:baseline;gap:8px;margin-bottom:5px;display:flex}.section-entry-title{color:var(--text);letter-spacing:-.008em;min-width:0;font-size:15px;font-weight:600}.section-entry-head .stack-row-meta{flex-shrink:0;margin-left:auto;padding-left:12px}.section-entry-desc{color:var(--text-2);margin:0 0 10px;font-size:13.5px;line-height:1.6}.page-section{max-width:640px;margin:0 auto;padding:0 24px 52px}.row-enter{animation:.42s cubic-bezier(.34, 1.3, .64, 1) calc(.85s + var(--i,0) * 85ms) backwards rise-in-blur}body:not([data-no-entrance]) .home-entrance[data-entrance-ready] .home-row-enter{animation:.42s cubic-bezier(.34, 1.3, .64, 1) calc(.15s + var(--i,0) * 65ms) backwards rise-in-blur}body[data-no-entrance] .page-enter,body[data-no-entrance] .row-enter,body[data-no-entrance] .home-enter,body[data-no-entrance] .home-row-enter{opacity:1;animation:none}body[data-no-entrance] .home-hero-motion,body[data-no-entrance] .home-hero [data-reveal],body[data-no-entrance] .home-hero [data-reveal-part]{opacity:1!important;filter:none!important;transform:none!important}body:not([data-no-entrance]) .home-entrance:not([data-entrance-ready]) .page-section,body:not([data-no-entrance]) .home-entrance:not([data-entrance-ready]) #about{visibility:hidden}body[data-no-entrance] .home-entrance .page-section,body[data-no-entrance] .home-entrance #about{visibility:visible}.stack-list{flex-direction:column;display:flex}.stack-row{border-bottom:1px solid var(--border);color:inherit;grid-template-columns:46px 1fr auto;align-items:center;gap:16px;padding:11px 0;transition:background .18s;display:grid}.stack-row:last-child{border-bottom:none}.stack-row-name{align-items:center;gap:8px;min-width:0;display:flex}.stack-row-title{color:var(--text);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:15px;overflow:hidden}.stack-row-meta,.section-entry .stack-row-meta{color:var(--text-3);white-space:nowrap;font-variant-numeric:tabular-nums;text-overflow:ellipsis;text-align:right;min-width:0;font-size:12.5px;overflow:hidden}.stack-row{grid-template-columns:46px minmax(0,1fr) max-content}@media (max-width:620px){.stack-row{grid-template-columns:46px minmax(0,1fr)}.stack-row-meta{display:none}}.stack-row,a.section-entry{transition:transform .35s cubic-bezier(.34,1.4,.64,1)}.stack-row:hover,a.section-entry:hover{z-index:61;background:var(--bg);box-shadow:0 0 0 10px var(--bg);border-bottom-color:#0000;position:relative;transform:scale(1.015)}@media (prefers-reduced-motion:reduce){.stack-row:hover,a.section-entry:hover{transform:none}}.section-heading{font-family:var(--font-display), Georgia, serif;letter-spacing:-.015em;color:var(--text);margin:0 0 10px;font-size:19px;font-style:italic;font-weight:500}a.section-heading{align-items:center;gap:5px;transition:color .18s;display:inline-flex;position:relative}.section-rule{background:var(--border);height:1px;margin:0 0 14px;position:relative;overflow:hidden}.section-rule:after{content:"";background:var(--text);transform-origin:0;transition:transform .4s cubic-bezier(.22,1,.36,1);position:absolute;inset:0;transform:scaleX(0)}.page-section:has(a.section-heading:hover) .section-rule:after{transform:scaleX(1)}.page-section:has(a.section-heading:focus-visible) .section-rule:after{transform:scaleX(1)}a.section-heading svg{opacity:0;transition:opacity .2s,transform .25s cubic-bezier(.34,1.4,.64,1);transform:translate(-3px)}a.section-heading:hover svg,a.section-heading:focus-visible svg{opacity:1;transform:translate(0)}@media (prefers-reduced-motion:reduce){.page-enter,body:not([data-no-entrance]) .home-entrance[data-entrance-ready] .home-enter,body:not([data-no-entrance]) .home-entrance[data-entrance-ready] .home-row-enter{opacity:1;animation:none}::view-transition-old(root){opacity:1;animation:none}::view-transition-new(root){opacity:1;animation:none}.home-entrance .page-section,.home-entrance #about{visibility:visible}}.image-stack{flex-shrink:0;display:inline-block;position:relative}.image-stack-card{background:var(--bg);border:1px solid var(--border);transform:translate(var(--rest-tx,0), var(--rest-ty,0)) rotate(var(--rest-rot,0deg));border-radius:3px;transition:transform .35s cubic-bezier(.34,1.4,.64,1);position:absolute;inset:0;overflow:hidden;box-shadow:0 1px 2px #0000000f}.image-stack-card img{object-fit:cover;object-position:top center;opacity:.82;width:100%;height:100%;display:block}.image-stack[data-fill] .image-stack-card{background:var(--grad-light)}.image-stack[data-fill],.photo-strip{--grad-0:var(--grad-light-0);--grad-1:var(--grad-light-1);--grad-2:var(--grad-light-2);--grad-3:var(--grad-light-3);--grad-4:var(--grad-light-4);--grad-5:var(--grad-light-5);--grad-6:var(--grad-light-6)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .image-stack[data-fill] .image-stack-card{background:var(--grad-dark)}:root:not([data-theme=light]) .image-stack[data-fill],:root:not([data-theme=light]) .photo-strip{--grad-0:var(--grad-dark-0);--grad-1:var(--grad-dark-1);--grad-2:var(--grad-dark-2);--grad-3:var(--grad-dark-3);--grad-4:var(--grad-dark-4);--grad-5:var(--grad-dark-5);--grad-6:var(--grad-dark-6)}}:root[data-theme=dark] .image-stack[data-fill] .image-stack-card{background:var(--grad-dark)}:root[data-theme=dark] .image-stack[data-fill],:root[data-theme=dark] .photo-strip{--grad-0:var(--grad-dark-0);--grad-1:var(--grad-dark-1);--grad-2:var(--grad-dark-2);--grad-3:var(--grad-dark-3);--grad-4:var(--grad-dark-4);--grad-5:var(--grad-dark-5);--grad-6:var(--grad-dark-6)}.stack-row:hover .image-stack,.section-entry:hover .image-stack{z-index:3}.stack-row:hover .image-stack-card img,.section-entry:hover .image-stack-card img{opacity:1}.stack-row:hover .image-stack-card:not(.image-stack-front),.section-entry:hover .image-stack-card:not(.image-stack-front){box-shadow:0 4px 12px #00000029}.image-stack-front img{object-fit:cover;object-position:top center;width:100%;height:100%;display:block}.stack-row:hover .image-stack[data-fans] .image-stack-card,.section-entry:hover .image-stack[data-fans] .image-stack-card{transform:translate(var(--fan-tx), var(--fan-ty)) rotate(var(--fan-rot))}.stack-row:hover .image-stack-front,.section-entry:hover .image-stack-front{transform:translateY(-1px)rotate(0)scale(1.04)}.media-trigger{cursor:zoom-in;background:0 0;border:0;border-radius:8px;width:100%;padding:0;display:block;overflow:hidden}.media-trigger img{transition:transform .28s cubic-bezier(.22,1,.36,1),filter .28s}.media-trigger:hover img{filter:brightness(.96);transform:scale(1.012)}.media-lightbox{z-index:200;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#0a0a0ce0;flex-direction:column;justify-content:center;align-items:center;padding:64px 24px 24px;animation:.2s both lightbox-in;display:flex;position:fixed;inset:0}.media-lightbox:focus{outline:none}@keyframes lightbox-in{0%{opacity:0}to{opacity:1}}.media-lightbox-frame{flex-direction:column;align-items:center;gap:14px;max-width:100%;min-height:0;margin:0;display:flex}.media-lightbox-frame .media-lightbox-img{object-fit:contain;border-radius:6px;width:min(1400px,92vw);height:calc(100vh - 150px);animation:.26s cubic-bezier(.22,1,.36,1) both lightbox-img-in;display:block;box-shadow:0 24px 60px #00000080}@keyframes lightbox-img-in{0%{opacity:0;transform:scale(.985)}to{opacity:1;transform:scale(1)}}.media-close{color:#fff;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff47;border-radius:50%;place-items:center;width:34px;height:34px;transition:background .15s,border-color .15s;display:grid;position:absolute;top:18px;right:22px}.media-close:hover,.media-close:focus-visible{background:#ffffff29;border-color:#ffffff8c}.media-lightbox-bar{color:#ffffffbf;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;max-width:92vw;font-size:13px;display:flex}.media-lightbox-bar button{color:#fff;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff47;border-radius:6px;place-items:center;width:28px;height:28px;transition:background .15s,border-color .15s;display:grid}.media-lightbox-bar button:hover,.media-lightbox-bar button:focus-visible{background:#ffffff29;border-color:#ffffff8c}.media-count{font-variant-numeric:tabular-nums}.media-alt{text-align:center;color:#ffffff8c;flex-basis:100%;font-size:12.5px}.media-lightbox :focus-visible{outline-offset:2px;outline:2px solid #fffc}@media (prefers-reduced-motion:reduce){.media-lightbox,.media-lightbox-frame .media-lightbox-img{animation:none}.image-stack-card,.stack-row:hover .image-stack-card,.stack-row:hover .image-stack-front{transition:none;transform:none}}.section-head{justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}.section-head .section-label{margin-bottom:0}.cards-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.card-tile{border:1px solid var(--border);background:var(--bg);cursor:pointer;border-radius:8px;flex-direction:column;transition:border-color .15s,transform .15s;display:flex;overflow:hidden}.card-tile:hover{border-color:var(--text-3);transform:translateY(-2px)}.card-thumb{aspect-ratio:16/9;background:var(--bg-secondary);border-bottom:1px solid var(--border);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.card-thumb img{object-fit:cover;object-position:top center;width:100%;height:100%;display:block}.card-thumb-fallback{padding:10px}.card-thumb-fallback img{object-fit:contain;border-radius:6px;width:34px;height:34px}.card-thumb-fallback img,.card-thumb-fallback{flex:none}.card-tile-body{flex-direction:column;flex:1;gap:6px;padding:12px 14px 14px;display:flex}.card-placeholder-tag{letter-spacing:.06em;text-transform:uppercase;background:var(--bg);border:1px solid var(--border);color:var(--text-2);border-radius:4px;padding:3px 7px;font-size:10px;font-weight:600;position:absolute;top:8px;left:8px}.cards-list{flex-direction:column;display:flex}.card-row{border-bottom:1px solid var(--border);cursor:pointer;border-radius:6px;grid-template-columns:44px 1fr;align-items:start;gap:12px;margin:0 -12px;padding:14px 12px;transition:background .15s;display:grid}.card-row:hover{background:var(--bg-hover)}.card-row-thumb{border:1px solid var(--border);background:var(--bg-secondary);border-radius:6px;justify-content:center;align-items:center;width:44px;height:44px;display:flex;overflow:hidden}.card-row-thumb img{object-fit:contain;width:22px;height:22px}.card-title-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.tech-chip{color:var(--text-3);background:var(--bg-secondary);border:1px solid var(--border);border-radius:4px;align-items:center;gap:5px;padding:5px 8px;font-size:12px;line-height:1;display:inline-flex}.status-badge-wrap{vertical-align:.05em;flex-shrink:0;display:inline-flex;position:relative}.status-badge{width:16px;height:16px;color:var(--text-3);border-radius:50%;place-items:center;transition:color .15s;display:grid}.status-badge:hover,.status-badge:focus-visible{color:var(--text);outline:none}.status-badge svg{display:block}.status-tip{background:var(--text);color:var(--bg);white-space:nowrap;opacity:0;pointer-events:none;z-index:62;border-radius:6px;align-items:baseline;gap:6px;padding:5px 9px;font-size:11.5px;line-height:1.3;transition:opacity .14s,transform .14s;display:flex;position:absolute;top:calc(100% + 7px);left:50%;transform:translate(-50%,-3px)}.status-badge-wrap:hover .status-tip,.status-badge-wrap:focus-within .status-tip{opacity:1;transform:translate(-50%)}@media (max-width:620px){.status-tip{display:none}}.tech-chip svg{flex-shrink:0;display:block}@media (max-width:560px){.cards-grid{grid-template-columns:1fr}}.prose-notion table{border-collapse:collapse;white-space:normal;width:100%;margin:1.5rem 0;font-size:.9rem;display:block;overflow-x:auto}.prose-notion thead{border-bottom:2px solid var(--border)}.prose-notion th{text-align:left;color:var(--text);vertical-align:top;padding:8px 12px;font-weight:600}.prose-notion td{color:var(--text-2);border-bottom:1px solid var(--border);vertical-align:top;padding:8px 12px}.prose-notion tbody tr:last-child td{border-bottom:none}.tools-head{align-items:baseline;gap:10px;display:flex}.tools-count{color:var(--text-3);font-variant-numeric:tabular-nums;font-size:13px}.tools-intro{color:var(--text-2);margin:8px 0 0;font-size:15px;line-height:1.6}.tools-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 24px;display:grid}@media (max-width:560px){.tools-grid{grid-template-columns:1fr}}.tool-category{letter-spacing:-.01em;color:var(--text);margin:0 0 12px;font-size:16px;font-weight:500}.tool-list{flex-direction:column;display:flex}.tool{color:var(--text-2);align-items:center;gap:8px;padding:4px 0;font-size:14px;line-height:1.5;transition:color .25s cubic-bezier(0,.55,.45,1);display:flex}.tool:hover,.tool:focus-visible{color:var(--text);outline:none}.tool-name{text-underline-offset:3px;-webkit-text-decoration:underline #0000;text-decoration:underline #0000;transition:text-decoration-color .25s}.tool:hover .tool-name,.tool:focus-visible .tool-name{-webkit-text-decoration-color:var(--text-3);-webkit-text-decoration-color:var(--text-3);-webkit-text-decoration-color:var(--text-3);text-decoration-color:var(--text-3)}.tool-icon{background:var(--bg-secondary);border:1px solid var(--border);width:16px;height:16px;color:var(--text-3);text-transform:uppercase;border-radius:3px;flex-shrink:0;place-items:center;font-size:9px;font-weight:600;line-height:1;display:grid}.tool-icon img{border-radius:3px;width:16px;height:16px;display:block}@media (max-width:700px){.ds-shell{flex-direction:column}.ds-aside{border-bottom:1px solid var(--border);border-right:none!important;width:100%!important;height:auto!important;padding:16px 0 12px!important;position:static!important}.ds-aside nav{scrollbar-width:none;gap:18px;padding:0 16px;display:flex;overflow-x:auto}.ds-aside nav::-webkit-scrollbar{display:none}.ds-aside nav>div{flex-shrink:0;margin-bottom:0!important}.ds-main{max-height:none!important;padding:24px 20px!important}}.ds-column{max-width:760px;margin:0 auto}:is(.ds-column:has(.ds-grid),.ds-column:has(.ds-doc)){max-width:1180px}.ds-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;display:grid}.ds-cell{background:var(--bg-secondary);border:1px solid #0000;border-radius:10px;flex-direction:column;gap:14px;min-height:146px;padding:18px 16px 14px;transition:border-color .18s;display:flex}.ds-cell-wide{grid-column:span 2}@media (max-width:560px){.ds-cell-wide{grid-column:span 1}}.ds-cell-link{cursor:pointer}.ds-cell-link:hover,.ds-cell-link:focus-visible{border-color:var(--border);outline:none}.ds-stage{flex:1;place-items:center;min-height:76px;padding:4px;display:grid}.ds-cell:hover{z-index:2;position:relative}.ds-name{font-family:var(--font-mono), monospace;color:var(--text-3);align-items:center;gap:6px;font-size:11px;display:flex}.photo-word{cursor:default;display:inline-block;position:relative}.photo-word:focus-visible{outline:none}.photo-word-text{text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:1px;-webkit-text-decoration-color:var(--border);-webkit-text-decoration-color:var(--border);-webkit-text-decoration-color:var(--border);text-decoration-color:var(--border);transition:text-decoration-color .18s,color .18s}.photo-word:hover .photo-word-text,.photo-word:focus-visible .photo-word-text{color:var(--text);-webkit-text-decoration-color:var(--text-2);-webkit-text-decoration-color:var(--text-2);-webkit-text-decoration-color:var(--text-2);text-decoration-color:var(--text-2)}.photo-word-stage{pointer-events:none;z-index:40;width:0;height:0;position:absolute;top:0;left:50%}.photo-word-stage .image-stack{margin-left:calc(var(--photo-word-card,120px) / -2);position:absolute;bottom:4px;left:0}.image-stack[data-reveal] .image-stack-card{box-sizing:border-box;background-color:#fff;border:none;border-radius:0;padding:6px 6px 16px;box-shadow:0 2px 8px #0000001f,0 8px 24px #00000014}.image-stack[data-reveal] .image-stack-card img{opacity:1;border-radius:0}.image-stack[data-reveal] .image-stack-card{opacity:0;transition:transform .42s cubic-bezier(.22,1,.36,1),opacity .26s}.photo-word:hover .image-stack[data-reveal] .image-stack-card,.photo-word:focus-visible .image-stack[data-reveal] .image-stack-card{opacity:1;transform:translate(var(--fan-tx), var(--fan-ty)) rotate(var(--fan-rot))}@media (prefers-reduced-motion:reduce){.image-stack[data-reveal] .image-stack-card{transition:opacity .2s}}.photo-strip-section{max-width:640px;margin:0 auto;padding:0 24px 96px}.photo-strip{justify-content:center;align-items:flex-end;width:auto;margin-left:-110px;margin-right:-110px;padding:46px 0 12px;display:flex}.photo-frame{z-index:var(--z,1);transform:translateY(var(--y,0)) rotate(var(--rot,0deg));cursor:default;background:#fff;border:none;border-radius:0;flex-shrink:0;margin:0;padding:6px 6px 16px;transition:transform .3s cubic-bezier(.22,1,.36,1),box-shadow .3s,opacity .3s;position:relative;box-shadow:0 2px 8px #0000001f,0 8px 24px #00000014}.photo-frame-enter+.photo-frame-enter{margin-left:-26px}.photo-frame-enter{flex-shrink:0;line-height:0;position:relative}.photo-frame-image{width:118px;height:132px;display:block;position:relative;overflow:hidden}.photo-frame-image img{object-fit:cover;object-position:top center;width:100%;height:100%;display:block}@media (hover:hover) and (pointer:fine){.photo-strip:hover .photo-frame{opacity:.55}}.photo-strip:has(.photo-frame:hover) .photo-frame-enter:has(.photo-frame:hover){z-index:20!important}.photo-frame:hover,.photo-frame:focus-visible{transform:translateY(calc(var(--y,0px) - 12px)) rotate(0deg) scale(1.1);z-index:20;outline:none;box-shadow:0 10px 26px #0000002e;opacity:1!important}.photo-frame-caption{white-space:nowrap;color:#111;opacity:0;transform:rotate(calc(var(--rot,0deg) * -1)) translateX(-50%) translateY(3px) scale(.9);transform-origin:bottom;pointer-events:none;z-index:30;background:#fff;border-radius:8px;padding:4px 8px 3px;font-size:11px;font-weight:500;line-height:1;transition:opacity .22s cubic-bezier(.16,1,.3,1),transform .26s cubic-bezier(.34,1.56,.64,1);position:absolute;bottom:calc(100% + 7px);left:50%;box-shadow:inset 0 0 0 1px #11111114,0 2px 6px #0000000f}.photo-frame:hover .photo-frame-caption,.photo-frame:focus-visible .photo-frame-caption{opacity:1;transform:translate(-50%)translateY(0)scale(1)}.photo-frame-caption span{white-space:pre;opacity:0;filter:blur(2px);display:inline-block;transform:translateY(3px)}@media (hover:hover) and (pointer:fine){.photo-frame:hover .photo-frame-caption span,.photo-frame:focus-visible .photo-frame-caption span{animation:.26s cubic-bezier(.16,1,.3,1) forwards bubble-char;animation-delay:calc(var(--i) * 28ms)}}@keyframes bubble-char{to{opacity:1;filter:blur();transform:translateY(0)}}@media (max-width:1080px){.photo-strip{scrollbar-width:none;width:100%;margin-left:0;margin-right:0;overflow-x:auto}.photo-strip::-webkit-scrollbar{display:none}}@media (prefers-reduced-motion:reduce){.photo-frame{transition:opacity .2s}.photo-frame:hover,.photo-frame:focus-visible{transform:none}.photo-frame-caption{transition:opacity .2s}.photo-frame-caption span{opacity:1;filter:none;animation:none;transform:none}}.photo-frame-image[data-placeholder]:after,.image-stack[data-reveal] .image-stack-card[data-placeholder]:after{content:"";pointer-events:none;background:linear-gradient(100deg,#0000 20%,#ffffff61 50%,#0000 80%) 0 0/260% 100%;animation:3.4s ease-in-out infinite placeholder-sheen;position:absolute;inset:0}@keyframes placeholder-sheen{0%{background-position:180% 0}to{background-position:-80% 0}}@media (prefers-reduced-motion:reduce){.photo-frame-image[data-placeholder]:after,.image-stack[data-reveal] .image-stack-card[data-placeholder]:after{opacity:.5;animation:none}}.ds-note{color:var(--text-2);max-width:62ch;margin-bottom:24px;font-size:14px;line-height:1.6}.ds-table-wrap{border:1px solid var(--border);border-radius:8px;margin-bottom:8px;overflow-x:auto}.ds-table{border-collapse:collapse;width:100%;min-width:520px;font-size:13.5px}.ds-table th{text-align:left;letter-spacing:.09em;text-transform:uppercase;color:var(--text-3);border-bottom:1px solid var(--border);white-space:nowrap;padding:11px 16px;font-size:10.5px;font-weight:600}.ds-table td{border-bottom:1px solid var(--border);vertical-align:top;color:var(--text-2);padding:12px 16px;line-height:1.55}.ds-table tbody tr:last-child td{border-bottom:none}.ds-num,.ds-mono{font-family:var(--font-geist-mono), ui-monospace, monospace;font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--text)}.ds-ladder{flex-direction:column;gap:6px;margin-bottom:8px;display:flex}.ds-layer{background:var(--bg);border:1px solid var(--border);border-radius:7px;grid-template-columns:64px 148px minmax(0,1fr);align-items:baseline;gap:14px;max-width:620px;padding:12px 16px;display:grid;position:relative;box-shadow:0 1px 3px #0000000d,0 6px 16px #0000000d}.ds-layer-z{font-family:var(--font-geist-mono), ui-monospace, monospace;font-variant-numeric:tabular-nums;color:var(--accent);font-size:12.5px}.ds-layer-name{color:var(--text);font-size:13.5px;font-weight:600}.ds-layer-what{color:var(--text-3);font-size:13px;line-height:1.5}.ds-ease-row{cursor:pointer;grid-template-columns:180px minmax(0,1fr);align-items:center;gap:22px;margin-bottom:20px;display:grid}.ds-ease-track{background:var(--bg-secondary);border:1px solid var(--border);border-radius:6px;height:30px;position:relative;overflow:hidden}.ds-ease-dot{background:var(--accent);border-radius:5px;width:20px;height:20px;margin-top:-10px;position:absolute;top:50%;left:4px}@keyframes ds-slide{0%{transform:translate(0)}to{transform:translate(132px)}}.ds-ease-name{color:var(--text);font-size:13.5px;font-weight:600}.ds-ease-count{color:var(--text-3);font-weight:400}.ds-ease-role{color:var(--text-2);margin-top:2px;font-size:13px}.ds-ease-curve{font-family:var(--font-geist-mono), ui-monospace, monospace;color:var(--text-3);margin-top:3px;font-size:11.5px}.ds-callout{border-left:2px solid var(--accent);background:var(--bg-secondary);border-radius:0 7px 7px 0;max-width:620px;margin-top:26px;padding:14px 18px}.ds-callout p{color:var(--text-2);font-size:13.5px;line-height:1.6}.ds-callout code{font-size:12px}.ds-a11y{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;display:grid}.ds-a11y-item{border:1px solid var(--border);border-radius:8px;grid-template-columns:46px minmax(0,1fr);align-items:start;gap:14px;padding:16px;display:grid}.ds-a11y-count{font-family:var(--font-geist-mono), ui-monospace, monospace;font-variant-numeric:tabular-nums;color:var(--accent);font-size:19px;line-height:1.2}.ds-a11y-head{color:var(--text);margin-bottom:5px;font-size:13.5px;font-weight:600}.ds-a11y-body{color:var(--text-2);font-size:13px;line-height:1.6}.ds-a11y-demo{font:inherit;border:1px solid var(--border);background:var(--bg);color:var(--text);cursor:pointer;border-radius:5px;padding:2px 8px;font-size:12.5px}@media (max-width:700px){.ds-layer{grid-template-columns:56px minmax(0,1fr)}.ds-layer-what{grid-column:2}.ds-ease-row{grid-template-columns:1fr;gap:10px}}.ds-doc{grid-template-columns:minmax(0,1fr) 172px;align-items:start;gap:48px;display:grid}.ds-doc-main{min-width:0;max-width:680px}.ds-doc-summary{color:var(--text-2);max-width:60ch;margin-bottom:28px;font-size:15px;line-height:1.6}.ds-doc-h{letter-spacing:.09em;text-transform:uppercase;color:var(--text-3);margin:34px 0 14px;scroll-margin-top:24px;font-size:12px;font-weight:600}.ds-doc-h:first-of-type{margin-top:0}.ds-doc-preview{border:1px solid var(--border);background:var(--bg-secondary);border-radius:10px;flex-wrap:wrap;align-items:center;gap:16px;padding:32px 28px;display:flex}.ds-anatomy{border:1px solid var(--border);border-radius:8px;margin:0;padding:0;list-style:none;overflow:hidden}.ds-anatomy li{border-bottom:1px solid var(--border);grid-template-columns:26px 132px minmax(0,1fr);align-items:baseline;gap:12px;margin:0;padding:11px 16px;display:grid}.ds-anatomy li:last-child{border-bottom:none}.ds-anatomy-n{font-family:var(--font-geist-mono), ui-monospace, monospace;color:var(--text-3);font-variant-numeric:tabular-nums;font-size:11px}.ds-anatomy-part{color:var(--text);font-size:13.5px;font-weight:600}.ds-anatomy-role{color:var(--text-2);font-size:13px;line-height:1.5}.ds-req{font-family:var(--font-geist-sans), system-ui, sans-serif;letter-spacing:.06em;text-transform:uppercase;color:var(--accent);vertical-align:1px;margin-left:7px;font-size:9.5px;display:inline-block}.ds-type{color:var(--text-3)!important}.ds-doc-notes p{color:var(--text-2);max-width:62ch;font-size:13.5px;line-height:1.65}.ds-doc-rail{border-left:1px solid var(--border);padding-left:18px;position:sticky;top:24px}.ds-rail-title{letter-spacing:.09em;text-transform:uppercase;color:var(--text-3);margin-bottom:10px;font-size:10.5px;font-weight:600}.ds-rail-list{margin:0 0 18px;padding:0;list-style:none}.ds-rail-list li{margin:0 0 7px}.ds-rail-list a{color:var(--text-2);font-size:13px;text-decoration:none;transition:color .14s}.ds-rail-list a:hover{color:var(--text)}.ds-rail-path{font-family:var(--font-geist-mono), ui-monospace, monospace;color:var(--text-3);overflow-wrap:anywhere;font-size:10.5px;line-height:1.5}@media (max-width:1120px){.ds-doc{grid-template-columns:minmax(0,1fr);gap:32px}.ds-doc-rail{border-left:none;border-top:1px solid var(--border);padding-top:16px;padding-left:0;position:static}.ds-rail-list{flex-wrap:wrap;gap:16px;display:flex}.ds-rail-list li{margin:0}}.device-frame{max-width:300px;margin-inline:auto}.device-frame img,.device-frame video{border-radius:22px!important}@media (max-width:620px){.nav-shell{position:relative;padding:0 10px!important}.nav-link[data-back]{display:none}nav{gap:0}.nav-link{padding-left:5px;padding-right:5px;font-size:13px}.nav-language-single{letter-spacing:.02em;color:var(--text-2);font-size:11.5px;font-weight:600}.control-wrap{flex-basis:28px;width:28px}.nav-control{width:28px}}@media (max-width:359px){.nav-shell{padding:0 8px!important}.nav-link{padding-left:3px;padding-right:3px}.nav-control-separator{display:none}.control-wrap{flex-basis:26px;width:26px}.nav-control{width:26px}}@media (max-width:620px){.photo-frame-caption{opacity:1;transform:translate(-50%)translateY(0)scale(1)}.tool-name{-webkit-text-decoration-color:var(--text-3);-webkit-text-decoration-color:var(--text-3);-webkit-text-decoration-color:var(--text-3);text-decoration-color:var(--text-3)}}@media not all and (hover:hover){.stack-row:hover,a.section-entry:hover{z-index:auto;position:static}}@media (max-width:620px){.stack-row:has(.stack-row-chevron){grid-template-columns:46px minmax(0,1fr) max-content}}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (max-width:620px){.photo-strip{scroll-snap-type:x mandatory;overscroll-behavior-x:contain;justify-content:flex-start;gap:14px;padding:14px 0 10px;scroll-padding-left:0}.photo-frame-enter{scroll-snap-align:center;flex:0 0 100%}.photo-frame-enter+.photo-frame-enter{margin-left:0}.photo-frame{width:100%;transform:none!important}.photo-frame-image{aspect-ratio:118/132;width:100%;height:auto}.photo-frame-caption{opacity:1;white-space:normal;text-align:center;box-shadow:none;color:var(--text-2);background:0 0;margin-top:10px;padding:0;font-size:12.5px;line-height:1.45;display:block;position:static;transform:none}}.photo-dots{display:none}@media (max-width:620px){.photo-dots{justify-content:center;gap:6px;margin-top:14px;display:flex}.photo-dots span{background:var(--border);border-radius:50%;width:5px;height:5px;transition:background .2s,transform .2s}.photo-dots span[data-on]{background:var(--text-3);transform:scale(1.3)}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{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}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}
