/*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-border-style:solid;--tw-leading:initial;--tw-tracking: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-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-duration:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--spacing:.25rem;--radius-md:.375rem;--blur-sm:8px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-bg:var(--color-bg);--color-bg-accent:var(--color-bg-accent);--color-text:var(--color-text);--color-muted:var(--color-muted);--color-line:var(--color-line);--color-toggle-bg:var(--color-toggle-bg);--color-toggle-border:var(--color-toggle-border);--color-toggle-shadow:var(--color-toggle-shadow);--color-live-dot:var(--color-live-dot)}}@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;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{.pointer-events-none{pointer-events:none}.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}.relative{position:relative}.top-\[-0\.52rem\]{top:-.52rem}.top-full{top:100%}.left-1\/2{left:50%}.z-20{z-index:20}.z-999{z-index:999}.mt-\[0\.35rem\]{margin-top:.35rem}.mb-\[2\.8rem\]{margin-bottom:2.8rem}.flex{display:flex}.hidden{display:none}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.size-2{width:calc(var(--spacing)*2);height:calc(var(--spacing)*2)}.size-\[0\.46rem\]{width:.46rem;height:.46rem}.size-\[0\.86rem\]{width:.86rem;height:.86rem}.size-\[0\.88rem\]{width:.88rem;height:.88rem}.size-\[0\.99rem\]{width:.99rem;height:.99rem}.min-h-\[2\.02rem\]{min-height:2.02rem}.max-w-\[9\.2rem\]{max-width:9.2rem}.max-w-full{max-width:100%}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-full{--tw-translate-y:-100%;translate:var(--tw-translate-x)var(--tw-translate-y)}.rotate-45{rotate:45deg}.animate-\[live-dot-breathe_5\.6s_ease-in-out_infinite\]{animation:5.6s ease-in-out infinite live-dot-breathe}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.gap-\[0\.42rem\]{gap:.42rem}.gap-x-\[0\.56rem\]{column-gap:.56rem}.gap-y-2{row-gap:calc(var(--spacing)*2)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rounded-full{border-radius:3.40282e38px}.rounded-md{border-radius:var(--radius-md)}.border{border-style:var(--tw-border-style);border-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-live-dot\/65{border-color:var(--color-live-dot)}@supports (color:color-mix(in lab,red,red)){.border-live-dot\/65{border-color:color-mix(in oklab,var(--color-live-dot)65%,transparent)}}.border-toggle-border{border-color:var(--color-toggle-border)}.bg-live-dot{background-color:var(--color-live-dot)}.bg-toggle-bg{background-color:var(--color-toggle-bg)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-\[0\.66rem\]{padding-inline:.66rem}.px-\[0\.76rem\]{padding-inline:.76rem}.py-1{padding-block:calc(var(--spacing)*1)}.py-\[0\.38rem\]{padding-block:.38rem}.font-mono{font-family:var(--font-mono)}.text-\[0\.84rem\]{font-size:.84rem}.leading-none{--tw-leading:1;line-height:1}.tracking-\[0\.01em\]{--tw-tracking:.01em;letter-spacing:.01em}.whitespace-nowrap{white-space:nowrap}.text-muted{color:var(--color-muted)}.text-text,.text-text\/80{color:var(--color-text)}@supports (color:color-mix(in lab,red,red)){.text-text\/80{color:color-mix(in oklab,var(--color-text)80%,transparent)}}.opacity-0{opacity:0}.shadow-\[0_8px_20px_-16px_var\(--color-toggle-shadow\)\]{--tw-shadow:0 8px 20px -16px var(--tw-shadow-color,var(--color-toggle-shadow));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-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-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}@media(hover:hover){.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}}@media(prefers-reduced-motion:reduce){.motion-reduce\:animate-none{animation:none}}@media(min-width:48rem){.md\:text-\[0\.9rem\]{font-size:.9rem}}}:root{color-scheme:dark;--color-bg:#111316;--color-bg-accent:#171a20;--color-text:#f2f1ec;--color-muted:#c5c2b7;--color-line:#363a40;--color-toggle-bg:#191c22d9;--color-toggle-border:#f2f1ec38;--color-toggle-shadow:#00000057;--color-live-dot:#43b06d}:root[data-theme=light]{color-scheme:light;--color-bg:#fbf8f1;--color-bg-accent:#fffefb;--color-text:#201d18;--color-muted:#5e584e;--color-line:#ded6c6;--color-toggle-bg:#fffefbf5;--color-toggle-border:#201d182e;--color-toggle-shadow:#564a2e2e;--color-live-dot:#2f8a52}@keyframes live-dot-breathe{0%,to{opacity:.72;transform:scale(.92)}50%{opacity:.9;transform:scale(1)}}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:radial-gradient(circle at 0% 0%,var(--color-bg-accent)0%,var(--color-bg)45%);min-height:100vh;color:var(--color-text);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;font-family:Merriweather,Georgia,serif;line-height:1.58;transition:background-color .22s,color .22s}.theme-toggle{z-index:10;border:1px solid var(--color-toggle-border);background:var(--color-toggle-bg);color:var(--color-text);width:2.4rem;height:2.4rem;font:inherit;cursor:pointer;box-shadow:0 8px 26px -20px var(--color-toggle-shadow);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);border-radius:999px;justify-content:center;align-items:center;padding:0;transition:border-color .18s,transform .18s,background-color .22s,color .22s;display:inline-flex;position:fixed;top:1.25rem;right:1.25rem}.theme-icon{width:1rem;height:1rem;transition:transform .28s cubic-bezier(.22,1,.36,1),opacity .22s;position:absolute}.theme-icon-sun{opacity:0;transform:rotate(-40deg)scale(.6)}.theme-icon-moon,:root[data-theme=light] .theme-icon-sun{opacity:1;transform:rotate(0)scale(1)}:root[data-theme=light] .theme-icon-moon{opacity:0;transform:rotate(40deg)scale(.6)}.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}.theme-toggle:hover{border-color:var(--color-text)}@supports (color:color-mix(in lab,red,red)){.theme-toggle:hover{border-color:color-mix(in srgb,var(--color-text)36%,transparent)}}.theme-toggle:hover{transform:translateY(-1px)}.theme-toggle:focus-visible{outline:2px solid var(--color-text)}@supports (color:color-mix(in lab,red,red)){.theme-toggle:focus-visible{outline:2px solid color-mix(in srgb,var(--color-text)66%,transparent)}}.theme-toggle:focus-visible{outline-offset:2px}.theme-toggle:active{transform:translateY(0)scale(.95)}@media(prefers-reduced-motion:reduce){.theme-toggle,.theme-icon{transition:none}}.page-shell{width:min(100%,54rem);margin:0 auto;padding:4.5rem 1.5rem 5rem}h1,h2,h3{letter-spacing:.01em;margin:0;line-height:1.15}h1{font-size:clamp(2.4rem,4.8vw,4.25rem);font-weight:900}h2{padding-bottom:.8rem;font-size:clamp(1.5rem,2.5vw,2.2rem);font-weight:700}h3{padding-bottom:.6rem;font-size:clamp(1.2rem,2vw,1.26rem);font-weight:700}p{margin:0;padding-bottom:1.2rem;font-size:clamp(1.1rem,2vw,1.16rem);line-height:1.63}a{color:inherit;text-underline-offset:.19em;text-decoration:underline}a:hover{color:var(--color-muted);-webkit-text-decoration-color:var(--color-muted);text-decoration-color:var(--color-muted)}hr{background:var(--color-line);border:0;height:1px;margin:3rem 0 3.5rem}blockquote{border-left:5px solid var(--color-line);color:var(--color-text);margin:.4rem 0;padding:.2rem 0 .2rem 1.3rem;font-size:clamp(1.45rem,2.8vw,2rem);font-style:italic;font-weight:700}ul{gap:1rem;margin:.2rem 0 0;padding-left:1.65rem;display:grid}li{font-size:clamp(1.15rem,2.15vw,1.22rem)}.projects-list{gap:.65rem;margin:0;padding-left:1.5rem;list-style:outside;display:grid}.projects-list li::marker{color:var(--color-muted)}.muted{color:var(--color-muted)}@media(max-width:720px){.theme-toggle{width:2.2rem;height:2.2rem;top:.85rem;right:.85rem}.page-shell{padding-top:3.5rem;padding-bottom:3.75rem}hr{margin-top:2.3rem;margin-bottom:2.8rem}.prose{gap:1.4rem}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-tracking{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-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-duration{syntax:"*";inherits:false}
