@font-face{font-family:Bodoni Moda Variable;font-style:normal;font-display:swap;font-weight:400 900;src:url(/_next/static/media/bodoni-moda-math-wght-normal.92001b04.woff2) format("woff2-variations");unicode-range:u+0302-0303,u+0305,u+0307-0308,u+0310,u+0312,u+0315,u+031a,u+0326-0327,u+032c,u+032f-0330,u+0332-0333,u+0338,u+033a,u+0346,u+034d,u+0391-03a1,u+03a3-03a9,u+03b1-03c9,u+03d1,u+03d5-03d6,u+03f0-03f1,u+03f4-03f5,u+2016-2017,u+2034-2038,u+203c,u+2040,u+2043,u+2047,u+2050,u+2057,u+205f,u+2070-2071,u+2074-208e,u+2090-209c,u+20d0-20dc,u+20e1,u+20e5-20ef,u+2100-2112,u+2114-2115,u+2117-2121,u+2123-214f,u+2190,u+2192,u+2194-21ae,u+21b0-21e5,u+21f1-21f2,u+21f4-2211,u+2213-2214,u+2216-22ff,u+2308-230b,u+2310,u+2319,u+231c-2321,u+2336-237a,u+237c,u+2395,u+239b-23b7,u+23d0,u+23dc-23e1,u+2474-2475,u+25af,u+25b3,u+25b7,u+25bd,u+25c1,u+25ca,u+25cc,u+25fb,u+266d-266f,u+27c0-27ff,u+2900-2aff,u+2b0e-2b11,u+2b30-2b4c,u+2bfe,u+3030,u+ff5b,u+ff5d,u+1d400-1d7ff,u+1ee??}@font-face{font-family:Bodoni Moda Variable;font-style:normal;font-display:swap;font-weight:400 900;src:url(/_next/static/media/bodoni-moda-symbols-wght-normal.faaf8dc2.woff2) format("woff2-variations");unicode-range:u+0001-000c,u+000e-001f,u+007f-009f,u+20dd-20e0,u+20e2-20e4,u+2150-218f,u+2190,u+2192,u+2194-2199,u+21af,u+21e6-21f0,u+21f3,u+2218-2219,u+2299,u+22c4-22c6,u+2300-243f,u+2440-244a,u+2460-24ff,u+25a0-27bf,u+28??,u+2921-2922,u+2981,u+29bf,u+29eb,u+2b??,u+4dc0-4dff,u+fff9-fffb,u+10140-1018e,u+10190-1019c,u+101a0,u+101d0-101fd,u+102e0-102fb,u+10e60-10e7e,u+1d2c0-1d2d3,u+1d2e0-1d37f,u+1f0??,u+1f100-1f1ad,u+1f1e6-1f1ff,u+1f30d-1f30f,u+1f315,u+1f31c,u+1f31e,u+1f320-1f32c,u+1f336,u+1f378,u+1f37d,u+1f382,u+1f393-1f39f,u+1f3a7-1f3a8,u+1f3ac-1f3af,u+1f3c2,u+1f3c4-1f3c6,u+1f3ca-1f3ce,u+1f3d4-1f3e0,u+1f3ed,u+1f3f1-1f3f3,u+1f3f5-1f3f7,u+1f408,u+1f415,u+1f41f,u+1f426,u+1f43f,u+1f441-1f442,u+1f444,u+1f446-1f449,u+1f44c-1f44e,u+1f453,u+1f46a,u+1f47d,u+1f4a3,u+1f4b0,u+1f4b3,u+1f4b9,u+1f4bb,u+1f4bf,u+1f4c8-1f4cb,u+1f4d6,u+1f4da,u+1f4df,u+1f4e3-1f4e6,u+1f4ea-1f4ed,u+1f4f7,u+1f4f9-1f4fb,u+1f4fd-1f4fe,u+1f503,u+1f507-1f50b,u+1f50d,u+1f512-1f513,u+1f53e-1f54a,u+1f54f-1f5fa,u+1f610,u+1f650-1f67f,u+1f687,u+1f68d,u+1f691,u+1f694,u+1f698,u+1f6ad,u+1f6b2,u+1f6b9-1f6ba,u+1f6bc,u+1f6c6-1f6cf,u+1f6d3-1f6d7,u+1f6e0-1f6ea,u+1f6f0-1f6f3,u+1f6f7-1f6fc,u+1f7??,u+1f800-1f80b,u+1f810-1f847,u+1f850-1f859,u+1f860-1f887,u+1f890-1f8ad,u+1f8b0-1f8bb,u+1f8c0-1f8c1,u+1f900-1f90b,u+1f93b,u+1f946,u+1f984,u+1f996,u+1f9e9,u+1fa00-1fa6f,u+1fa70-1fa7c,u+1fa80-1fa89,u+1fa8f-1fac6,u+1face-1fadc,u+1fadf-1fae9,u+1faf0-1faf8,u+1fb??}@font-face{font-family:Bodoni Moda Variable;font-style:normal;font-display:swap;font-weight:400 900;src:url(/_next/static/media/bodoni-moda-latin-ext-wght-normal.68a03ad6.woff2) format("woff2-variations");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:Bodoni Moda Variable;font-style:normal;font-display:swap;font-weight:400 900;src:url(/_next/static/media/bodoni-moda-latin-wght-normal.d91bb4a8.woff2) format("woff2-variations");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/_next/static/media/ibm-plex-sans-cyrillic-ext-wght-normal.192d14b2.woff2) format("woff2-variations");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/_next/static/media/ibm-plex-sans-cyrillic-wght-normal.b0b919fc.woff2) format("woff2-variations");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/_next/static/media/ibm-plex-sans-greek-wght-normal.ef1c8a30.woff2) format("woff2-variations");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/_next/static/media/ibm-plex-sans-vietnamese-wght-normal.bdc4ddcb.woff2) format("woff2-variations");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/_next/static/media/ibm-plex-sans-latin-ext-wght-normal.a8a9073d.woff2) format("woff2-variations");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/_next/static/media/ibm-plex-sans-latin-wght-normal.a7358d2e.woff2) format("woff2-variations");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/ibm-plex-mono-latin-400-normal.06ac09dc.woff2) format("woff2"),url(/_next/static/media/ibm-plex-mono-latin-400-normal.e32cf7a4.woff) format("woff")}
/*! tailwindcss v4.2.1 | 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)))){*,::backdrop,:after,:before{--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-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-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-duration:initial}}}@layer theme{:host,:root{--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;--color-gray-50:oklch(98.5% .002 247.839);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--color-zinc-50:oklch(98.5% 0 0);--color-zinc-100:oklch(96.7% .001 286.375);--color-zinc-200:oklch(92% .004 286.32);--color-zinc-400:oklch(70.5% .015 286.067);--color-neutral-700:oklch(37.1% 0 0);--color-neutral-800:oklch(26.9% 0 0);--color-neutral-900:oklch(20.5% 0 0);--color-white:#fff;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--radius-md:.375rem;--radius-2xl:1rem;--blur-xl:24px;--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)}}@layer base{*,::backdrop,:after,:before{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}:host,html{-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,pre,samp{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}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,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,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-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,::-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}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden}.absolute,.sr-only{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.-top-6{top:calc(var(--spacing) * -6)}.left-1\/2{left:50%}.mx-2{margin-inline:calc(var(--spacing) * 2)}.mx-auto{margin-inline:auto}.flex{display:flex}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.w-fit{width:fit-content}.max-w-full{max-width:100%}.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}.items-center{align-items:center}.items-end{align-items:flex-end}.justify-center{justify-content:center}.gap-4{gap:calc(var(--spacing) * 4)}.overflow-x-auto{overflow-x:auto}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:3.40282e+38px}.rounded-md{border-radius:var(--radius-md)}.border{border-style:var(--tw-border-style);border-width:1px}.border-gray-200{border-color:var(--color-gray-200)}.bg-gray-50{background-color:var(--color-gray-50)}.bg-gray-100{background-color:var(--color-gray-100)}.bg-\[radial-gradient\(circle_at_center\,var\(--tw-gradient-stops\)\,transparent_80\%\)\]{background-image:radial-gradient(circle at center,var(--tw-gradient-stops),transparent 80%)}.from-zinc-100{--tw-gradient-from:var(--color-zinc-100);--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))}.via-zinc-200{--tw-gradient-via:var(--color-zinc-200);--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from) var(--tw-gradient-from-position),var(--tw-gradient-via) var(--tw-gradient-via-position),var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.to-zinc-400{--tw-gradient-to:var(--color-zinc-400);--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))}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-4{padding-inline:calc(var(--spacing) * 4)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.whitespace-pre{white-space:pre}.text-neutral-700{color:var(--color-neutral-700)}.opacity-0{opacity:0}.opacity-100{opacity:1}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur-xl{--tw-blur:blur(var(--blur-xl))}.blur-xl,.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-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}.dark\:border-neutral-900:is(.dark *){border-color:var(--color-neutral-900)}.dark\:bg-neutral-800:is(.dark *){background-color:var(--color-neutral-800)}.dark\:bg-neutral-900:is(.dark *){background-color:var(--color-neutral-900)}.dark\:from-zinc-50:is(.dark *){--tw-gradient-from:var(--color-zinc-50);--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))}.dark\:via-zinc-100:is(.dark *){--tw-gradient-via:var(--color-zinc-100);--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from) var(--tw-gradient-from-position),var(--tw-gradient-via) var(--tw-gradient-via-position),var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.dark\:to-zinc-200:is(.dark *){--tw-gradient-to:var(--color-zinc-200);--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))}.dark\:text-white:is(.dark *){color:var(--color-white)}}:root{--line-strong:#7c7a72;--serenity:#dbe3d6;--frame:#d7d9d0;--focus:#0067d8}[data-theme=dark]{--line-strong:#77786e;--serenity:#29322a;--frame:#20231f;--focus:#8ebcff;color-scheme:dark}*{box-sizing:border-box}html{scrollbar-gutter:stable;overscroll-behavior-y:none;background:var(--paper);scroll-padding-top:96px;overflow-x:clip}[data-motion=off]{scroll-behavior:auto}[data-motion=off] *,[data-motion=off] :after,[data-motion=off] :before{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}body{color:var(--ink);font-family:var(--font-sans),Arial,sans-serif;min-width:0;margin:0;font-size:16px;line-height:1.5;overflow-x:clip}a{color:inherit;text-decoration:none}button,input{font:inherit}button{color:inherit}::selection{color:var(--paper);background:var(--accent)}:focus-visible{outline:3px solid var(--focus);outline-offset:4px}.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}.skip-link{z-index:1000;background:var(--ink);color:var(--paper);padding:10px 14px;position:fixed;top:12px;left:12px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.command-trigger{border:1px solid var(--ink);cursor:pointer;background:0 0;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:9px 14px;font-size:12px;display:inline-flex}.command-trigger:hover{background:var(--ink);color:var(--paper)}.command-trigger kbd{border:1px solid var(--line);font:10px var(--font-mono);padding:2px 5px}.location{color:var(--muted);align-items:center;gap:6px;margin-top:34px;display:flex}.eyebrow{font:10px var(--font-mono);text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}.copy-email-button{border:1px solid var(--line-strong);min-height:38px;color:var(--ink);cursor:pointer;font:9px var(--font-mono);text-transform:uppercase;letter-spacing:.06em;background:0 0;border-radius:6px;justify-content:center;align-items:center;gap:7px;padding:8px 11px;transition:border-color .18s,color .18s,background-color .18s;display:inline-flex}.copy-email-button:hover{border-color:var(--accent);background:var(--accent)}@supports (color:color-mix(in lab,red,red)){.copy-email-button:hover{background:color-mix(in srgb,var(--accent) 10%,transparent)}}.copy-email-button:hover{color:var(--accent)}.personal-notes{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr;display:grid}.personal-quote{border-right:1px solid var(--line);margin:0;padding:52px 40px;position:relative}.personal-quote>span{color:var(--accent);opacity:.18;font-size:110px;line-height:1;position:absolute;top:18px}.personal-quote blockquote{letter-spacing:-.03em;margin:40px 0 24px;font-size:clamp(1.4rem,2.4vw,2.2rem);line-height:1.45;position:relative}.personal-quote figcaption{color:var(--muted);font:9px var(--font-mono);text-transform:uppercase}.personal-location{padding:52px 40px}.personal-location>svg{color:var(--accent)}.personal-location h2{letter-spacing:-.05em;margin:16px 0 8px;font-size:clamp(1.8rem,3vw,3.2rem);line-height:.95}.personal-location p{color:var(--muted);font-size:12px}.personal-location button{border:1px solid var(--line);color:var(--ink);cursor:pointer;font:9px var(--font-mono);text-transform:uppercase;background:0 0;border-radius:999px;align-items:center;gap:8px;margin-top:16px;padding:10px 14px;display:inline-flex}.personal-location button:hover{border-color:var(--accent);color:var(--accent)}.personal-location button:disabled{opacity:.55;cursor:wait}.personal-location small{max-width:330px;color:var(--muted);font:9px/1.6 var(--font-mono);margin-top:14px;display:block}@media (max-width:760px){.personal-notes{grid-template-columns:1fr}.personal-quote{border-right:0;border-bottom:1px solid var(--line)}.personal-location,.personal-quote{padding:38px 16px}}.palette-backdrop{z-index:200;background:var(--ink);place-items:start center;padding:12vh 20px 20px;display:grid;position:fixed;inset:0}@supports (color:color-mix(in lab,red,red)){.palette-backdrop{background:color-mix(in srgb,var(--ink) 63%,transparent)}}.command-palette{border:1px solid var(--ink);background:var(--paper);width:min(620px,100%);box-shadow:10px 10px 0 var(--accent);color:var(--ink)}.palette-search{border-bottom:1px solid var(--ink);align-items:center;gap:14px;min-height:68px;padding:0 18px;display:flex}.palette-search input{color:var(--ink);background:0 0;border:0;outline:0;flex:1;font-size:16px}.palette-search kbd{border:1px solid var(--line);font:9px var(--font-mono);padding:3px 6px}.palette-results{max-height:min(54vh,530px);padding:8px;overflow-y:auto}.palette-results [role=option]{width:100%;min-height:55px;color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;grid-template-columns:30px 1fr auto;align-items:center;gap:7px;padding:8px 12px;display:grid}.palette-results [role=option]:hover,.palette-results [role=option][aria-selected=true]{background:var(--ink);color:var(--paper);outline-offset:-3px}.palette-results [role=option]>span{flex-direction:column;display:flex}.palette-results [role=option] small{color:var(--muted);font:9px var(--font-mono)}.palette-results [role=option]:hover small,.palette-results [role=option][aria-selected=true] small{color:var(--line)}.palette-results [role=option]>span:last-child{font:10px var(--font-mono)}.palette-empty{color:var(--muted);padding:20px}.command-palette>footer{border-top:1px solid var(--line);color:var(--muted);font:8px var(--font-mono);text-transform:uppercase;gap:18px;padding:10px 18px;display:flex}.command-palette>footer span:last-child{margin-left:auto}.project-share-actions{flex-wrap:wrap;grid-column:2;gap:7px;margin-top:2px;display:flex}.project-share-actions button{border:1px solid var(--line);min-height:38px;color:var(--muted);cursor:pointer;font:9px var(--font-mono);text-transform:uppercase;background:0 0;border-radius:999px;align-items:center;gap:7px;padding:8px 12px;transition:border-color .18s,background-color .18s,color .18s;display:inline-flex}.project-share-actions button:hover{border-color:var(--accent);background:var(--accent)}@supports (color:color-mix(in lab,red,red)){.project-share-actions button:hover{background:color-mix(in srgb,var(--accent) 8%,transparent)}}.project-share-actions button:hover{color:var(--accent)}.not-found-page{grid-template-rows:76px 1fr 76px;min-height:100svh;padding:0 52px;display:grid;overflow:hidden}.not-found-footer,.not-found-nav{border-bottom:1px solid var(--ink);font:9px var(--font-mono);letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;align-items:center;display:flex}.not-found-nav a{align-items:center;gap:8px;display:inline-flex}.not-found-stage{isolation:isolate;border-bottom:1px solid var(--ink);grid-template-columns:.7fr 1.3fr;align-content:center;min-height:650px;display:grid;position:relative}.not-found-kicker{z-index:1;color:var(--muted);font:9px var(--font-mono);letter-spacing:.08em;text-transform:uppercase;align-self:start;margin:54px 0 0;position:relative}.not-found-code{z-index:0;color:var(--accent);position:absolute;top:50%;right:-3vw}@supports (color:color-mix(in lab,red,red)){.not-found-code{color:color-mix(in srgb,var(--accent) 10%,transparent)}}.not-found-code{font:700 clamp(18rem,39vw,42rem)/.58 var(--font-sans);letter-spacing:-.12em;pointer-events:none;transform:translateY(-46%)}.not-found-copy{z-index:1;grid-column:2;max-width:780px;padding:80px 0;position:relative}.not-found-copy>span{color:var(--accent);font:9px var(--font-mono);letter-spacing:.1em;text-transform:uppercase}.not-found-copy h1{letter-spacing:-.075em;margin:38px 0 24px;font-size:clamp(4rem,9vw,10rem);line-height:.8}.not-found-copy>p{max-width:570px;color:var(--muted);font-size:15px;line-height:1.65}.not-found-copy nav{flex-wrap:wrap;gap:8px;margin-top:44px;display:flex}.not-found-copy nav a{border:1px solid var(--line);min-height:42px;font:9px var(--font-mono);text-transform:uppercase;border-radius:999px;align-items:center;gap:8px;padding:10px 14px;display:inline-flex}.not-found-copy nav a:first-child{border-color:var(--accent);background:var(--accent);color:var(--accent-ink)}.not-found-copy nav a:hover{border-color:var(--accent)}.not-found-route{z-index:1;grid-template-columns:repeat(4,1fr);gap:12px;display:grid;position:absolute;bottom:42px;left:0;right:0}.not-found-route i{background:var(--line);height:1px;position:relative}.not-found-route i:after{content:"";border:1px solid var(--accent);background:var(--paper);border-radius:50%;width:7px;height:7px;position:absolute;top:-3px;right:0}.not-found-footer{color:var(--muted);border-bottom:0}@media (max-width:760px){body{font-size:15px}.command-trigger span{display:inline}.command-trigger kbd{display:none}.command-trigger{min-width:44px;padding:7px 9px}.copy-email-button{min-height:42px}.command-palette>footer span:last-child{display:none}.project-share-actions{margin-top:14px}.not-found-page{grid-template-rows:62px 1fr 72px;padding:0 16px}.not-found-nav span{text-align:right;max-width:130px}.not-found-stage{min-height:660px;display:block}.not-found-kicker{margin:0;padding-top:34px}.not-found-code{opacity:.7;font-size:77vw;top:43%;right:-13vw}.not-found-copy{padding:110px 0 115px}.not-found-copy h1{font-size:17vw}.not-found-copy>p{font-size:13px}.not-found-copy nav{display:grid}.not-found-copy nav a{justify-content:space-between}.not-found-route{bottom:30px}.not-found-footer{gap:20px;font-size:7px}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}body{background:var(--paper)}main{border-left:1px solid var(--line);border-right:1px solid var(--line);width:min(1120px,100%);margin-inline:auto}.command-trigger{border-color:var(--line);min-height:36px;color:var(--muted);border-radius:7px;padding:7px 11px}.command-trigger:hover{border-color:var(--accent);background:var(--accent)}@supports (color:color-mix(in lab,red,red)){.command-trigger:hover{background:color-mix(in srgb,var(--accent) 12%,transparent)}}.command-trigger:hover{color:var(--accent)}.command-trigger kbd{border-color:var(--line);border-radius:4px}.palette-backdrop{background:#0a0a0cc7}.command-palette{border-color:var(--line-strong);border-radius:10px;overflow:hidden;box-shadow:10px 10px #7f91ff4d}.palette-search{border-color:var(--line)}@media (max-width:1100px){body{background-image:none}}.activity-grid{grid-template-rows:repeat(7,10px);grid-template-columns:repeat(12,1fr);grid-auto-flow:column;gap:4px;margin:28px 0;display:grid}.activity-grid i{border:1px solid var(--line);background:var(--paper-deep);min-width:0;display:block}.activity-grid i[data-level="1"]{background:var(--accent)}@supports (color:color-mix(in lab,red,red)){.activity-grid i[data-level="1"]{background:color-mix(in srgb,var(--accent) 28%,var(--paper-deep))}}.activity-grid i[data-level="2"]{background:var(--accent)}@supports (color:color-mix(in lab,red,red)){.activity-grid i[data-level="2"]{background:color-mix(in srgb,var(--accent) 50%,var(--paper-deep))}}.activity-grid i[data-level="3"]{background:var(--accent)}@supports (color:color-mix(in lab,red,red)){.activity-grid i[data-level="3"]{background:color-mix(in srgb,var(--accent) 72%,var(--paper-deep))}}.activity-grid i[data-level="4"]{border-color:var(--accent);background:var(--accent)}.godui-spotlight-card{isolation:isolate}.godui-spotlight-border,.godui-spotlight-layer{z-index:0;border-radius:inherit;pointer-events:none;opacity:0;background:radial-gradient(var(--spotlight-radius) circle at var(--spotlight-x,50%) var(--spotlight-y,50%),var(--spotlight-color),transparent 68%);transition:opacity .24s;position:absolute;inset:-1px}.godui-spotlight-border{z-index:2;padding:1px;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.godui-spotlight-card:hover .godui-spotlight-border,.godui-spotlight-card:hover .godui-spotlight-layer{opacity:1}[data-motion=off] .godui-spotlight-border,[data-motion=off] .godui-spotlight-layer{display:none}@media (prefers-reduced-motion:reduce){.godui-spotlight-border,.godui-spotlight-layer{display:none}}.palette-close{z-index:2;border:1px solid var(--line);background:var(--paper-deep);cursor:pointer;border-radius:6px;place-items:center;width:34px;height:34px;display:grid;position:absolute;top:13px;right:14px}.palette-close:hover{border-color:var(--accent);color:var(--accent)}.palette-search{padding-right:60px}.ed-scroll-progress{z-index:50;background:var(--accent);transform-origin:0;pointer-events:none;height:2px;position:fixed;top:0;left:0;right:0;transform:scaleX(0)}.ed-back-to-top{z-index:45;border:1px solid var(--line);background:var(--paper);width:44px;height:44px;color:var(--ink);cursor:pointer;border-radius:5px;place-items:center;transition:border-color .18s,color .18s;display:grid;position:fixed;bottom:24px;right:24px}.ed-back-to-top:hover{border-color:var(--accent);color:var(--accent)}.ed-back-to-top:focus-visible{outline:3px solid var(--focus);outline-offset:3px}@media (max-width:600px){.ed-back-to-top{bottom:16px;right:16px}}@media (prefers-reduced-motion:reduce){.ed-back-to-top{transition:none}}[data-motion=off] .ed-back-to-top{transition:none}.ed-cp .ed-cp-tab,.ed-header .ed-tools button{min-width:44px;min-height:44px}.palette-close{width:44px;height:44px;top:8px;right:9px}.ed-project:focus-within{background:var(--paper-deep)}.ed-header .ed-mobile-nav a[aria-current=page]{color:var(--accent);font-weight:600}@media (pointer:coarse){.ed-footer .ed-links a,.ed-main .ed-links a{min-height:44px}}@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-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-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-duration{syntax:"*";inherits:false}:root{--paper:#f6f5f1;--paper-deep:#eeede8;--ink:#242622;--muted:#61655e;--line:#d6d8ce;--accent:#4c5ec2;--accent-ink:#fff;--font-sans:"IBM Plex Sans Variable",ui-sans-serif,system-ui,-apple-system,sans-serif;--font-mono:"SFMono-Regular",Consolas,"Liberation Mono",monospace}[data-theme=dark]{--paper:#171817;--paper-deep:#1e201e;--ink:#edeee7;--muted:#a8ada2;--line:#333830;--accent:#a0aceb;--accent-ink:#15182a}.ed-footer,.ed-header-inner,.ed-main{width:min(960px,calc(100% - 64px));margin-inline:auto}.ed-main{border-inline:1px solid var(--line)}.ed-header{position:sticky;top:0;z-index:40;background:var(--paper);border-bottom:1px solid var(--line)}.ed-header-inner{gap:24px;min-height:70px;position:relative}.ed-brand,.ed-header-inner{display:flex;align-items:center}.ed-brand{font-size:23px;font-weight:650;letter-spacing:-1px;gap:10px;margin-right:auto}.ed-brand>span{color:var(--accent);font-weight:400}.ed-brand small{font:10px/1.5 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;max-width:90px}.ed-desktop-nav,.ed-tools{display:flex;align-items:center;gap:24px;font-size:13px}.ed-tools{gap:4px}.ed-tools button{display:flex;align-items:center;justify-content:center;gap:6px;min-width:42px;min-height:44px;background:none;border:0;cursor:pointer}.ed-tools kbd{font-size:10px;color:var(--muted)}.ed-tools .ed-menu-toggle{display:none}.ed-mobile-nav{position:absolute;top:100%;left:0;right:0;padding:12px;background:var(--paper);border:1px solid var(--line);display:grid}.ed-mobile-nav a{padding:14px}.ed-section{padding:44px 40px;border-bottom:1px solid var(--line);scroll-margin-top:85px}.ed-section-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:25px}.ed-section-heading h2{font-size:22px;letter-spacing:-.7px;line-height:1.3;margin:8px 0 0}.ed-section-heading>a{font-size:13px;white-space:nowrap}.ed-eyebrow{font:10px/1.6 var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.ed-observatory{height:154px;background:#0a101b;position:relative;overflow:hidden}.ed-observatory svg{position:absolute;width:100%;height:100%;inset:0}.ed-observatory>span{position:absolute;z-index:1;top:20px;left:26px;color:#a8b1c5;font:8px var(--font-mono);letter-spacing:.12em}.ed-observatory>span+span{left:auto;right:26px}.ed-star{animation:ed-twinkle 9s ease-in-out infinite alternate}@keyframes ed-twinkle{to{opacity:.35}}.ed-hero{padding-top:34px;padding-bottom:34px}.ed-hero-grid{display:grid;grid-template-columns:1fr 112px;gap:40px}.ed-hero img{border:1px solid var(--line);border-radius:12px;width:112px;height:112px;object-fit:cover;margin-top:4px}.ed-hero h1{font-size:34px;line-height:1.15;letter-spacing:-1.6px;margin:0 0 9px}.ed-hero .ed-role{color:var(--muted);font-size:13px}.ed-location{display:inline-flex;align-items:center;gap:6px}.ed-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#87af8b}.ed-statement{font-size:22px;letter-spacing:-.6px;line-height:1.4;margin:19px 0 10px;max-width:600px}.ed-hero p:not(.ed-statement){font-size:14px;color:var(--muted);max-width:620px}.ed-actions,.ed-links{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.ed-actions{margin-block:22px 18px}.ed-actions button,.ed-button{display:inline-flex;align-items:center;gap:8px;padding:10px 15px;min-height:44px;border:1px solid var(--line);background:transparent;border-radius:5px;font-size:13px;cursor:pointer}.ed-button.ed-primary{background:var(--ink);border-color:var(--ink);color:var(--paper)}.ed-links{gap:18px;font-size:12px}.ed-links a{display:inline-flex;align-items:center;gap:5px;min-height:36px}.ed-signals{display:flex;gap:18px;flex-wrap:wrap;border-top:1px dashed var(--line);margin-top:23px;padding-top:16px;font:11px var(--font-mono);color:var(--muted)}.ed-signals span:last-child{margin-left:auto}.ed-experience article{display:grid;grid-template-columns:34px 1fr;gap:17px;padding:20px 0;border-top:1px solid var(--line)}.ed-experience article:first-child{padding-top:0;border-top:0}.ed-experience article:last-child{padding-bottom:0}.ed-org-icon{width:34px;height:34px;border:1px solid var(--line);border-radius:6px;display:grid;place-items:center;font:11px var(--font-mono);color:var(--accent)}.ed-row{display:flex;align-items:center;justify-content:space-between;gap:16px}.ed-experience h3{font-size:15px;margin:0}.ed-date{color:var(--muted);font:10px var(--font-mono);white-space:nowrap}.ed-experience p{font-size:13px;line-height:1.65;color:var(--muted);margin:9px 0;max-width:650px}.ed-experience .ed-role{font-size:12px;color:var(--ink);margin:3px 0}.ed-experience small{font:10px var(--font-mono);color:var(--muted)}.ed-project-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.ed-project,.ed-project-shell{display:flex;min-width:0}.ed-project{position:relative;overflow:hidden;flex:1;flex-direction:column;border:1px solid var(--line);border-radius:7px;padding:22px;background:var(--paper);transition:border-color .18s,background .18s}.ed-project>:not(.godui-spotlight-layer):not(.godui-spotlight-border):not(.ed-project-preview){position:relative;z-index:1}.ed-project:hover{border-color:var(--muted);background:var(--paper-deep)}.ed-project.ed-flagship{border-color:color-mix(in srgb,var(--accent) 45%,var(--line))}.ed-project-icons{display:flex;gap:5px}.ed-project-icons a{display:grid;place-items:center;min-width:32px;min-height:36px}.ed-project h3{font-size:18px;letter-spacing:-.5px;line-height:1.35;margin:10px 0}.ed-project p{font-size:13px;color:var(--muted);line-height:1.7;margin:0 0 18px}.ed-tags{display:flex;flex-wrap:wrap}.ed-tags span{font:10px/1.5 var(--font-mono);padding:3px 7px;border:1px solid var(--line);border-radius:3px;color:var(--muted)}.ed-card-bottom{display:flex;align-items:end;justify-content:space-between;gap:12px;padding-top:23px;margin-top:auto;font:12px var(--font-mono)}.ed-card-bottom>span{color:var(--accent)}.ed-card-bottom small{display:block;max-width:155px;font:10px/1.5 var(--font-mono);color:var(--muted);margin-top:3px}.ed-card-actions{display:flex;align-items:center;gap:12px}.ed-card-bottom a{font:12px var(--font-sans);white-space:nowrap}.ed-open-source-intro{max-width:650px;margin:-7px 0 26px}.ed-open-source{display:grid;grid-template-columns:minmax(175px,.62fr) minmax(0,1.7fr);gap:14px;align-items:start}.ed-open-source-tabs{display:grid;gap:7px;align-content:start}.ed-open-source-tab{position:relative;display:grid;grid-template-columns:31px 1fr;gap:12px;align-items:start;width:100%;padding:14px 13px;border:1px solid var(--line);border-radius:5px;background:transparent;color:var(--ink);cursor:pointer;text-align:left;transition:background .18s,border-color .18s,color .18s,transform .18s}.ed-open-source-tab:hover{border-color:var(--muted);transform:translateX(2px)}.ed-open-source-tab:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.ed-open-source-tab[aria-selected=true]{border-color:var(--ink);background:var(--ink);color:var(--paper)}.ed-open-source-tab[aria-selected=true]:after{content:"";position:absolute;left:-1px;top:10px;bottom:10px;width:2px;background:var(--accent)}.ed-open-source-tab-index{font:11px var(--font-mono);color:var(--accent);padding-top:2px}.ed-open-source-tab[aria-selected=true] .ed-open-source-tab-index{color:var(--accent)}.ed-open-source-tab strong{display:block;font-size:13px;font-weight:600;line-height:1.35}.ed-open-source-tab small{display:block;margin-top:4px;color:var(--muted);font:9px/1.5 var(--font-mono)}.ed-open-source-tab[aria-selected=true] small{color:color-mix(in srgb,var(--paper) 66%,transparent)}.ed-open-source-tab-note{margin:5px 2px 0;color:var(--muted);font:9px/1.55 var(--font-mono)}.ed-open-source-record{min-width:0;border:1px solid var(--line);border-radius:7px;padding:23px;background:var(--paper)}.ed-open-source-record-header{display:flex;justify-content:space-between;gap:20px;align-items:start;padding-bottom:19px;border-bottom:1px solid var(--line)}.ed-open-source-record-header h3{max-width:570px;margin:8px 0 0;font-size:22px;line-height:1.25;letter-spacing:-.6px;font-weight:560}.ed-open-source-role{flex:0 0 auto;padding:5px 8px;border:1px solid var(--line);border-radius:3px;color:var(--muted);font:9px var(--font-mono);text-transform:uppercase;letter-spacing:.08em}.ed-open-source-detail{max-width:720px;margin:19px 0 0;color:var(--muted);font-size:14px;line-height:1.75}.ed-open-source-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:22px 0 0;padding:17px 0;border-top:1px dashed var(--line);border-bottom:1px dashed var(--line)}.ed-open-source-metrics>div{min-width:0;padding-right:14px;border-right:1px solid var(--line)}.ed-open-source-metrics>div:last-child{border-right:0}.ed-open-source-metrics dd{margin:0;color:var(--accent);font:500 22px var(--font-mono);letter-spacing:-.8px}.ed-open-source-metrics dt{margin-top:4px;color:var(--muted);font:9px/1.5 var(--font-mono)}.ed-open-source-highlights{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;margin-top:19px}.ed-open-source-highlight{min-width:0;border-top:1px solid var(--line);padding-top:12px}.ed-open-source-highlight summary{display:grid;grid-template-columns:1fr auto;gap:3px 10px;cursor:pointer;list-style:none}.ed-open-source-highlight summary::-webkit-details-marker{display:none}.ed-open-source-highlight summary>span{grid-column:1/-1;color:var(--accent);font:9px var(--font-mono);text-transform:uppercase;letter-spacing:.1em}.ed-open-source-highlight summary strong{font-size:13px;line-height:1.4;font-weight:560}.ed-open-source-highlight summary i{font-style:normal;color:var(--muted);font-size:15px;transition:transform .18s ease}.ed-open-source-highlight[open] summary i{transform:rotate(45deg)}.ed-open-source-highlight p{margin:11px 0 0;color:var(--muted);font-size:12px;line-height:1.7}.ed-open-source-footer{display:flex;justify-content:space-between;gap:18px;align-items:end;margin-top:21px;padding-top:16px;border-top:1px solid var(--line)}.ed-open-source-commits{min-width:0}.ed-open-source-commits>.ed-eyebrow{display:flex;align-items:center;gap:5px}.ed-open-source-commits>div{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}.ed-open-source-commits a{display:inline-flex;align-items:center;gap:6px;max-width:100%;padding:5px 7px;border:1px solid var(--line);border-radius:3px;color:var(--muted);font-size:10px}.ed-open-source-commits a:hover{color:var(--accent);border-color:var(--accent)}.ed-open-source-commits code{font:9px var(--font-mono);color:var(--accent)}.ed-open-source-commits span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ed-open-source-repo{display:inline-flex;align-items:center;gap:5px;flex:0 0 auto;min-height:36px;color:var(--ink);font-size:12px;white-space:nowrap}.ed-open-source-page-section{padding-top:42px}.ed-open-source-detailed .ed-open-source-record{padding:30px}.ed-open-source-detailed .ed-open-source-highlights{gap:17px 24px}.ed-open-source-detailed .ed-open-source-highlight p{font-size:13px}.ed-prose{font-size:15px;color:var(--muted)}.ed-prose p{margin:0 0 18px}.ed-prose a{color:var(--ink);text-decoration:underline;text-underline-offset:4px}.ed-skills{display:grid;gap:14px;margin-top:25px}.ed-skills>div{display:grid;grid-template-columns:125px 1fr;gap:15px}.ed-skills strong{font-size:12px;font-weight:500;padding-top:3px}.ed-activity{display:grid;grid-template-columns:1fr 1fr;gap:32px}.ed-activity h3{font-size:14px;margin:0 0 10px}.ed-activity p{font-size:12px;color:var(--muted);line-height:1.8}.ed-activity a{font-size:12px;display:inline-flex;gap:6px}.ed-activity-grid{display:grid;grid-template-columns:repeat(28,1fr);gap:3px;margin:16px 0}.ed-activity-grid i{aspect-ratio:1;border-radius:2px;background:var(--line)}.ed-activity-grid i[data-active=true]{background:var(--accent)}.ed-stats{display:flex;gap:25px}.ed-stats strong{display:block;font-size:23px;font-weight:500;letter-spacing:-.8px}.ed-stats span{font-size:11px;color:var(--muted)}.ed-writing-row{display:block;border-top:1px solid var(--line);padding:18px 0}.ed-writing-row:first-of-type{border-top:0}.ed-writing-row h3{font-size:15px;margin:0 0 7px;letter-spacing:-.2px}.ed-writing-row p{color:var(--muted);font-size:13px;line-height:1.6;margin:8px 0}.ed-note-meta{font:10px/1.7 var(--font-mono);color:var(--muted)}.ed-personal{display:grid;grid-template-columns:1.1fr 1fr;gap:35px}.ed-listening-stack{display:grid;gap:25px}.ed-personal h3{font-size:16px;margin:8px 0}.ed-personal p{font-size:13px;line-height:1.8;color:var(--muted)}.ed-personal a{font-size:12px}.ed-quote{margin:30px 0 0;border-left:2px solid var(--accent);padding:0 0 0 17px;font-size:14px;font-style:italic}.ed-quote figcaption{font:10px var(--font-mono);color:var(--muted);margin-top:8px}.ed-quote blockquote{margin:0}.ed-spotify{padding-left:24px;border-left:1px solid var(--line)}.ed-spotify header{display:flex;align-items:center;gap:8px}.ed-spotify a{display:inline-flex;align-items:center;gap:6px;min-height:36px}.ed-spotify strong{display:block;font-size:15px;margin-top:15px}.ed-spotify img{border-radius:3px;margin-top:14px}.ed-history{padding-left:24px;border-left:1px solid var(--line)}.ed-history-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.ed-history-header>div{display:flex;align-items:center;gap:8px}.ed-history-header button{display:grid;place-items:center;min-width:32px;min-height:32px;border:1px solid var(--line);background:transparent;color:var(--muted);cursor:pointer;border-radius:4px}.ed-history-header button:hover{color:var(--ink);border-color:var(--muted)}.ed-history-header button:disabled{cursor:wait;opacity:.65}.ed-history-list{list-style:none;padding:0;margin:14px 0 0;display:grid;gap:2px}.ed-history-list li{display:grid;grid-template-columns:44px 1fr;gap:10px;align-items:center;padding:9px 0;border-top:1px solid var(--line)}.ed-history-list li:first-child{border-top:0}.ed-history-list img{width:44px;height:44px;object-fit:cover;border-radius:3px}.ed-history-list a{display:inline-flex;align-items:center;gap:4px;font-size:12px;line-height:1.35}.ed-history-list p{margin:2px 0 0;font-size:11px;line-height:1.35}.ed-history-list time{display:block;margin-top:4px;color:var(--muted);font:9px var(--font-mono)}.ed-history-empty{margin:15px 0 0;font-size:12px;line-height:1.7;color:var(--muted)}.ed-history-note{margin:14px 0 0;color:var(--muted);font:9px/1.6 var(--font-mono)}.ed-spin{animation:ed-spin .9s linear infinite}@keyframes ed-spin{to{transform:rotate(1turn)}}.ed-contact h2{font-size:31px;letter-spacing:-1px;line-height:1.2;margin:15px 0}.ed-contact>p{font-size:14px;max-width:570px;color:var(--muted);line-height:1.8}.ed-contact .ed-email{font-size:13px}.ed-footer{display:flex;justify-content:space-between;gap:25px;padding:30px 0 45px;font-size:12px}.ed-footer p,.ed-footer small{color:var(--muted);font-size:11px}.ed-footer>div:last-child>a{display:inline-block;margin-top:8px}.ed-page-header{padding:48px 40px 35px;border-bottom:1px solid var(--line)}.ed-page-header h1{font-size:clamp(28px,4vw,42px);line-height:1.2;letter-spacing:-1.4px;margin:15px 0;max-width:770px}.ed-page-header>p{color:var(--muted);max-width:690px;font-size:15px}.ed-breadcrumb{font:11px var(--font-mono);color:var(--muted)}.ed-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}.ed-filters button{min-height:44px;padding:8px 14px;border:1px solid var(--line);border-radius:5px;background:none;cursor:pointer;font-size:12px}.ed-filters button[aria-pressed=true]{background:var(--ink);color:var(--paper)}.ed-case-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin:0}.ed-case-metrics dt{font:11px/1.6 var(--font-mono);color:var(--muted)}.ed-case-metrics dd{margin:0 0 5px;font-size:25px;letter-spacing:-.8px}.ed-architecture{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:14px;counter-reset:stage}.ed-architecture li{counter-increment:stage;min-width:0;border:1px solid var(--line);padding:14px;font-size:12px}.ed-architecture li:before{content:counter(stage,decimal-leading-zero) " →";display:block;color:var(--accent);font:10px var(--font-mono);margin-bottom:8px}.ed-evidence{margin:25px 0 0}.ed-evidence img{border:1px solid var(--line);border-radius:5px}.ed-evidence figcaption{font:11px/1.6 var(--font-mono);color:var(--muted);margin-top:10px}.ed-table-wrap{overflow:auto}.ed-table{width:100%;border-collapse:collapse;font-size:13px;text-align:left}.ed-table td,.ed-table th{border-bottom:1px solid var(--line);padding:13px 8px}.ed-table th{font-weight:500;color:var(--muted)}.ed-case-list{padding-left:20px}.ed-case-list li{margin-bottom:9px}.ed-note-body{max-width:730px}.ed-note-body p{font-size:17px;line-height:1.9;margin-bottom:24px}.ed-article-nav{display:grid;grid-template-columns:1fr 1fr;gap:25px}.ed-article-nav a{font-size:14px}.ed-article-nav span{display:block;font:10px var(--font-mono);color:var(--muted);margin-bottom:9px}.ed-main .personal-notes{padding:35px 40px;margin:0;border:0;grid-template-columns:1fr}.ed-main .personal-quote{display:none}.ed-main .personal-location{border:1px solid var(--line);padding:25px}.ed-main .project-share-actions{margin-top:15px}.ed-main .project-share-actions button{min-height:44px}.ed-now-listening{display:grid;grid-template-columns:1fr 1.25fr;gap:35px}.ed-now-listening .ed-history,.ed-now-listening .ed-spotify{padding-left:0;border-left:0}.ed-medium{margin-top:30px;padding-top:25px;border-top:1px solid var(--line)}.ed-medium-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.ed-medium-header>div{display:flex;align-items:flex-start;gap:8px}.ed-medium-profile{display:inline-flex;align-items:center;gap:4px;margin-top:4px;font:11px var(--font-mono);color:var(--muted)}.ed-medium-header button{display:grid;place-items:center;min-width:32px;min-height:32px;border:1px solid var(--line);background:transparent;color:var(--muted);cursor:pointer;border-radius:4px}.ed-medium-header button:hover{color:var(--ink);border-color:var(--muted)}.ed-medium-header button:disabled{cursor:wait;opacity:.65}.ed-medium-list{display:grid;gap:2px;margin-top:14px}.ed-medium-card{display:grid;grid-template-columns:76px 1fr auto;align-items:center;gap:13px;padding:12px 0;border-top:1px solid var(--line)}.ed-medium-card img{width:76px;height:52px;object-fit:cover;border-radius:3px;background:var(--paper-deep)}.ed-medium-card strong{display:block;font-size:13px;line-height:1.4}.ed-medium-card small{display:block;margin-top:3px;color:var(--muted);font-size:11px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.ed-medium-card time{display:block;margin-top:5px;color:var(--muted);font:9px var(--font-mono)}.ed-medium-card>svg{color:var(--muted)}.ed-medium-card:hover strong{color:var(--accent)}.ed-medium-empty{font-size:12px;line-height:1.7;color:var(--muted)}.ed-medium-empty a{color:var(--ink);text-decoration:underline;text-underline-offset:4px}.ed-medium-note{margin:14px 0 0;color:var(--muted);font:9px/1.6 var(--font-mono)}.ed-footer a:hover,.ed-header a:hover,.ed-main a:hover{color:var(--accent)}.ed-main .ed-primary:hover{color:var(--paper);opacity:.88}@media(max-width:760px){.ed-footer,.ed-header-inner,.ed-main{width:calc(100% - 32px)}.ed-page-header,.ed-section{padding:30px 24px}.ed-desktop-nav{gap:14px}.ed-brand small{display:none}.ed-header-inner{gap:14px}.ed-activity,.ed-personal{gap:24px}.ed-project{padding:18px}.ed-footer{flex-wrap:wrap}.ed-open-source{grid-template-columns:1fr}.ed-open-source-tabs{grid-template-columns:1fr 1fr}.ed-open-source-tab-note{grid-column:1/-1}.ed-open-source-detailed .ed-open-source-record{padding:23px}}@media(max-width:600px){.ed-main{width:100%;border-inline:0}.ed-header-inner{min-height:62px}.ed-desktop-nav{display:none}.ed-tools .ed-menu-toggle{display:flex}.ed-hero-grid{grid-template-columns:1fr 72px;gap:16px}.ed-hero img{width:72px;height:72px}.ed-hero h1{font-size:29px}.ed-hero .ed-role{font-size:12px}.ed-statement{font-size:21px}.ed-observatory{height:104px}.ed-observatory>span{font-size:6px;left:24px;top:15px}.ed-observatory>span+span{right:24px}.ed-activity,.ed-now-listening,.ed-personal,.ed-project-grid{grid-template-columns:1fr}.ed-project{padding:22px}.ed-signals{gap:12px;font-size:10px}.ed-signals span:last-child{margin-left:0;width:100%}.ed-experience .ed-row{align-items:start;flex-direction:column;gap:4px}.ed-experience article{gap:12px}.ed-skills>div{grid-template-columns:1fr;gap:6px}.ed-history,.ed-spotify{padding:22px 0 0;border-left:0;border-top:1px solid var(--line)}.ed-medium{margin-top:24px;padding-top:20px}.ed-medium-card{grid-template-columns:58px 1fr auto;gap:9px}.ed-medium-card img{width:58px;height:44px}.ed-medium-card small{font-size:10px}.ed-section-heading h2{font-size:20px}.ed-section-heading>a{font-size:11px}.ed-architecture{grid-template-columns:1fr 1fr}.ed-case-metrics{gap:12px}.ed-case-metrics dd{font-size:20px}.ed-case-metrics dt{font-size:10px}.ed-main .personal-notes{padding:24px}.ed-note-body p{font-size:16px}.ed-article-nav{grid-template-columns:1fr}.ed-footer{padding-inline:8px}.ed-open-source-highlights,.ed-open-source-tabs{grid-template-columns:1fr}.ed-open-source-record-header{display:block}.ed-open-source-role{display:inline-block;margin-top:13px}.ed-open-source-metrics{gap:9px}.ed-open-source-metrics dd{font-size:18px}.ed-open-source-metrics dt{font-size:8px}.ed-open-source-footer{display:block}.ed-open-source-repo{margin-top:16px}.ed-open-source-detailed .ed-open-source-record{padding:20px}}@media(prefers-reduced-motion:reduce){.ed-star{animation:none}.ed-open-source-tab,.ed-project{transition:none}.ed-open-source-tab:hover{transform:none}html{scroll-behavior:auto}}.ed-cp{min-width:0}.ed-cp-header{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:22px}.ed-cp-header h2{margin:9px 0 0;font-size:23px;letter-spacing:-.6px}.ed-cp-snapshot{color:var(--muted);font:10px var(--font-mono);white-space:nowrap}.ed-cp-tabs{display:flex;gap:4px;width:max-content;max-width:100%;margin-bottom:18px;padding:4px;border:1px solid var(--line);border-radius:6px;background:var(--paper-deep)}.ed-cp-tab{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:42px;padding:8px 14px;border:1px solid transparent;border-radius:4px;background:transparent;color:var(--muted);cursor:pointer;font-size:12px;transition:background .18s,border-color .18s,color .18s}.ed-cp-tab:hover{color:var(--ink)}.ed-cp-tab:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.ed-cp-tab[aria-selected=true]{border-color:var(--line);background:var(--paper);color:var(--ink);box-shadow:0 1px 0 color-mix(in srgb,var(--ink) 8%,transparent)}.ed-cp-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-bottom:14px}.ed-cp-metrics article{position:relative;min-width:0;border:1px solid var(--line);border-radius:6px;padding:17px;background:var(--paper)}.ed-cp-metric-icon{display:grid;place-items:center;width:28px;height:28px;margin-bottom:15px;border:1px solid var(--line);border-radius:4px;color:var(--accent)}.ed-cp-metrics strong{display:block;font:500 28px var(--font-mono);letter-spacing:-1px}.ed-cp-metrics article>span:not(.ed-cp-metric-icon){display:block;margin-top:4px;font-size:12px}.ed-cp-metrics small{display:block;margin-top:8px;color:var(--muted);font:10px/1.45 var(--font-mono)}.ed-cp-breakdown-grid,.ed-cp-panel-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.ed-cp-panel{min-width:0;border:1px solid var(--line);border-radius:6px;padding:21px;background:var(--paper)}.ed-cp-panel>header,.ed-cp-platform>header{display:flex;align-items:baseline;justify-content:space-between;gap:14px;margin-bottom:18px}.ed-cp-panel>header span{font-size:14px;font-weight:560}.ed-cp-panel>header small,.ed-cp-platform>header span{color:var(--muted);font:10px var(--font-mono)}.ed-cp-bars{display:grid;gap:13px}.ed-cp-bar-label{display:flex;justify-content:space-between;gap:12px;font-size:12px}.ed-cp-bar-label strong{font:11px var(--font-mono);color:var(--accent)}.ed-cp-bar-track{height:5px;margin-top:6px;border-radius:999px;background:var(--paper-deep);overflow:hidden}.ed-cp-bar-track span{display:block;height:100%;border-radius:inherit;background:var(--accent);opacity:.84}.ed-cp-panel-note{margin:20px 0 0;padding-top:13px;border-top:1px dashed var(--line);color:var(--muted);font-size:12px;line-height:1.65}.ed-cp-platform-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.ed-cp-platform{min-width:0;border:1px solid var(--line);border-radius:6px;padding:18px;background:var(--paper)}.ed-cp-platform>header{align-items:start;margin-bottom:21px}.ed-cp-platform>header strong{font-size:14px}.ed-cp-platform>header span{max-width:100px;text-align:right;line-height:1.4}.ed-cp-platform-rating strong{display:block;font:500 27px var(--font-mono);letter-spacing:-1px}.ed-cp-platform-rating span{display:block;margin-top:4px;color:var(--muted);font:10px var(--font-mono)}.ed-cp-platform dl{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0 0;padding-top:13px;border-top:1px solid var(--line)}.ed-cp-platform dt{color:var(--muted);font:10px var(--font-mono)}.ed-cp-platform dd{margin:4px 0 0;font-size:13px}.ed-cp-breakdown-grid{align-items:start}.ed-cp-breakdown-notes p{margin:0 0 16px;color:var(--muted);font-size:13px;line-height:1.7}.ed-cp-breakdown-callout{display:flex;gap:9px;align-items:start;margin-top:23px;padding:13px;border:1px solid color-mix(in srgb,var(--accent) 38%,var(--line));color:var(--ink);font-size:12px;line-height:1.6}.ed-cp-breakdown-callout svg{flex:0 0 auto;margin-top:2px;color:var(--accent)}.ed-cp-note{margin:15px 0 0;color:var(--muted);font:10px/1.6 var(--font-mono)}.ed-cp-compact .ed-cp-tabs{margin-bottom:18px}@media(max-width:760px){.ed-cp-metrics,.ed-cp-platform-grid{grid-template-columns:repeat(2,1fr)}.ed-cp-header{display:block}.ed-cp-snapshot{display:block;margin-top:11px}.ed-cp-panel{padding:18px}}@media(max-width:600px){.ed-cp-tabs{width:100%}.ed-cp-tab{flex:1;padding-inline:8px}.ed-cp-breakdown-grid,.ed-cp-panel-grid,.ed-cp-platform-grid{grid-template-columns:1fr}.ed-cp-metrics article{padding:15px}.ed-cp-metrics strong{font-size:24px}.ed-cp-metric-icon{margin-bottom:12px}}@media(prefers-reduced-motion:reduce){.ed-cp-tab{transition:none}}.ed-cp-signals{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:14px}.ed-cp-signals article{min-width:0;padding:15px 0;border-top:1px solid var(--line)}.ed-cp-signals strong{display:block;font:500 21px var(--font-mono);letter-spacing:-.6px}.ed-cp-signals span{display:block;margin-top:4px;font-size:12px}.ed-cp-signals small{display:block;margin-top:4px;color:var(--muted);font:10px var(--font-mono)}@media(max-width:600px){.ed-cp-signals{grid-template-columns:1fr 1fr}.ed-cp-signals article:last-child{grid-column:1/-1}}.ed-spotify .ed-spotify-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.ed-spotify-header>div{display:flex;align-items:center;gap:8px;min-width:0}.ed-spotify-header .ed-eyebrow{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ed-spotify-state{flex:0 0 auto;color:var(--muted);font:10px var(--font-mono)}.ed-spotify-track{display:grid;grid-template-columns:44px minmax(0,1fr) auto auto;gap:11px;align-items:center;margin-top:13px;padding-top:13px;border-top:1px solid var(--line)}.ed-spotify .ed-spotify-art{width:44px;height:44px;margin-top:0;border-radius:4px;object-fit:cover}.ed-spotify-copy{min-width:0}.ed-spotify-copy span,.ed-spotify-copy strong{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ed-spotify-copy strong{margin:0;font-size:13px;line-height:1.35}.ed-spotify-copy span{margin-top:3px;color:var(--muted);font-size:11px;line-height:1.35}.ed-spotify-link{display:inline-flex;align-items:center;gap:4px;min-height:34px;color:var(--muted);font-size:11px;white-space:nowrap}.ed-spotify-link:hover{color:var(--accent)}.ed-spotify-bars{display:flex;align-items:end;gap:2px;width:12px;height:14px}.ed-spotify-bars i{display:block;width:2px;height:8px;border-radius:2px;background:var(--accent);animation:ed-equalizer 1.1s ease-in-out infinite alternate}.ed-spotify-bars i:nth-child(2){height:12px;animation-delay:-.45s}.ed-spotify-bars i:nth-child(3){height:6px;animation-delay:-.75s}@keyframes ed-equalizer{to{transform:scaleY(.35);opacity:.6}}.ed-spotify-empty{margin-top:13px;padding-top:13px;border-top:1px solid var(--line)}.ed-spotify .ed-spotify-empty strong{display:block;margin:0;font-size:13px}.ed-spotify .ed-spotify-empty p{margin:5px 0 0;color:var(--muted);font-size:12px;line-height:1.6}[data-motion=off] .ed-spotify-bars i{animation:none}@media(prefers-reduced-motion:reduce){.ed-spotify-bars i{animation:none}}@media(max-width:600px){.ed-spotify-track{grid-template-columns:44px minmax(0,1fr) auto;gap:10px}.ed-spotify-bars{display:none}.ed-spotify-link span{max-width:0;overflow:hidden;opacity:0}.ed-spotify-link{width:24px;justify-content:flex-end}}.ed-spotify-art-placeholder{display:grid;place-items:center;border:1px solid var(--line);background:var(--paper-deep);color:var(--muted)}.ed-spotify-compact{padding-left:16px}.ed-spotify-compact .ed-spotify-header{display:none}.ed-spotify-compact .ed-spotify-track{grid-template-columns:38px minmax(0,1fr) auto auto;gap:10px;margin-top:0;padding-top:0;border-top:0}.ed-spotify-compact .ed-spotify-art{width:38px;height:38px}.ed-spotify-compact .ed-spotify-copy strong{font-size:12px}.ed-spotify-compact .ed-spotify-copy span{font-size:10px}.ed-spotify-compact .ed-spotify-link{min-height:30px;font-size:10px}.ed-spotify-compact .ed-spotify-empty{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:0;padding-top:0;border-top:0}.ed-spotify-compact .ed-spotify-empty strong{font-size:12px}.ed-spotify-compact .ed-spotify-empty p{display:none}@media(max-width:600px){.ed-spotify-compact{padding:16px 0 0;border-top:1px solid var(--line)}.ed-spotify-compact .ed-spotify-track{grid-template-columns:38px minmax(0,1fr) auto;gap:9px}.ed-spotify-compact .ed-spotify-link span{display:none}.ed-spotify-compact .ed-spotify-link{width:24px}.ed-spotify-compact .ed-spotify-empty{justify-content:flex-start}}.ed-skeleton{padding:12px 0;min-height:80px}.ed-skeleton i{display:block;height:12px;max-width:80%;background:var(--line);border-radius:3px;margin-bottom:12px}.ed-skeleton i:nth-of-type(2){max-width:55%}.ed-history-disclosure{margin-top:12px}.ed-history-disclosure>summary{cursor:pointer;font-size:12px;color:var(--muted);min-height:44px;display:list-item;padding:12px 0}.ed-history-disclosure .ed-history{padding-top:12px}.ed-header a[aria-current=page],.ed-main a[aria-current=page]{text-decoration:underline;text-underline-offset:6px}.ed-evidence img{height:auto;width:100%;object-fit:contain}.ed-history,.ed-medium-card>span,.ed-spotify{min-width:0}.ed-spotify-copy strong{margin-top:0}.ed-spotify-track:has(.ed-spotify-link):not(:has(.ed-spotify-bars)){grid-template-columns:44px minmax(0,1fr) auto}.ed-spotify-compact .ed-spotify-track:not(:has(.ed-spotify-bars)){grid-template-columns:38px minmax(0,1fr) auto}.ed-history-header button,.ed-medium-header button,.ed-project-icons a,.ed-spotify .ed-spotify-link{min-width:44px;min-height:44px}.ed-medium-card:not(:has(img)){grid-template-columns:1fr auto}.ed-history-list li:not(:has(img)){grid-template-columns:1fr}.ed-open-source-tab[aria-selected=true] .ed-open-source-tab-index{color:var(--paper)}@media(max-width:900px){.ed-desktop-nav{display:none}.ed-tools .ed-menu-toggle{display:flex}}@media(max-width:600px){.ed-header-inner{width:calc(100% - 32px);gap:8px}.ed-brand{gap:5px}.ed-brand small{font-size:8px;max-width:66px}.ed-tools kbd{display:none}.ed-section{padding:28px 20px}.ed-section-heading{align-items:flex-start;flex-wrap:wrap;gap:8px}.ed-footer{width:calc(100% - 40px);flex-direction:column}.ed-page-header{padding:32px 20px}.ed-page-header h1{overflow-wrap:anywhere}.ed-spotify-header .ed-eyebrow,.ed-spotify-state{font-size:9px}.ed-cp-panel>header,.ed-spotify-header{flex-wrap:wrap}.ed-main .personal-notes{padding:20px}}.ed-section-heading .ed-label-heading{font:11px/1.6 var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:0}.ed-evidence figcaption a{display:inline-block;margin-top:10px;text-decoration:underline;text-underline-offset:4px;min-height:32px}@media(max-width:400px){.ed-cp-tab{min-width:0;gap:4px;padding-inline:4px;font-size:11px}.ed-cp-tab svg{width:13px;flex-shrink:0}}.ed-cp-live-summary{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:18px;padding:24px;border:1px solid var(--line);border-radius:6px;background:var(--paper)}.ed-cp-live-summary strong{display:block;margin:5px 0 0;font:500 clamp(42px,6vw,70px)/1 var(--font-mono);letter-spacing:-.06em}.ed-cp-live-summary p{margin:8px 0 0;color:var(--muted);font-size:12px}.ed-cp-live-indicator{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;color:var(--muted);font:10px var(--font-mono)}.ed-cp-live-indicator i{width:6px;height:6px;border-radius:50%;background:var(--accent)}.ed-cp-rating-list{display:grid;gap:11px}.ed-cp-rating-list>div{display:flex;justify-content:space-between;gap:12px;padding-bottom:10px;border-bottom:1px solid var(--line);font-size:12px}.ed-cp-rating-list strong{font:500 13px var(--font-mono)}.ed-cp-platform>header a{font-size:14px;font-weight:600}.ed-cp-platform>header a:hover{color:var(--accent)}.ed-cp-platform dl{grid-template-columns:repeat(2,minmax(0,1fr))}.ed-cp-unavailable{padding:24px;border:1px solid var(--line);border-radius:6px;color:var(--muted);font-size:12px}.ed-cp-unavailable p{margin:0 0 10px}.ed-cp-unavailable a{text-decoration:underline;text-underline-offset:4px}.ed-cp-loading{min-height:205px;padding:24px;border:1px solid var(--line);border-radius:6px;background:var(--paper)}.ed-cp-loading i{display:block;height:13px;border-radius:3px;background:var(--line);opacity:.6;animation:ed-cp-pulse 1.6s ease-in-out infinite alternate}.ed-cp-loading>i{width:160px;height:50px;margin:5px 0 25px}.ed-cp-loading>div{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.ed-cp-loading>div i{height:75px}@keyframes ed-cp-pulse{to{opacity:.25}}@media(max-width:600px){.ed-cp-live-summary{align-items:flex-start;flex-direction:column;padding:19px}.ed-cp-live-summary strong{font-size:48px}.ed-cp-loading>div{grid-template-columns:1fr}.ed-cp-loading>div i{height:25px}}@media(prefers-reduced-motion:reduce){.ed-cp-loading i{animation:none}}.ed-footer{padding-bottom:88px}.ed-project-browser{margin-bottom:24px}.ed-project-browser-title{margin:0 0 18px;font-size:22px;line-height:1.3;letter-spacing:-.02em}.ed-project-search{display:flex;align-items:center;gap:12px;min-height:54px;padding:0 16px;border:1px solid var(--line);border-radius:6px;background:var(--paper-deep);color:var(--muted)}.ed-project-search:focus-within{outline:2px solid var(--focus);outline-offset:3px;border-color:var(--focus)}.ed-project-search svg{flex-shrink:0}.ed-project-search input{min-width:0;width:100%;min-height:52px;border:0;outline:0;background:transparent;color:var(--ink);font-size:16px;caret-color:var(--accent)}.ed-project-search input::placeholder{color:var(--muted);opacity:1}.ed-project-browser .ed-filters{margin:16px 0 0;gap:8px}.ed-project-browser .ed-filters button{display:inline-flex;align-items:center;gap:8px;font-size:13px}.ed-project-browser .ed-filters button>span{font-variant-numeric:tabular-nums;opacity:.75}.ed-project-browser .ed-filters button:hover{border-color:var(--muted)}.ed-project-result-line{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:52px;border-bottom:1px solid var(--line)}.ed-project-result-line p{margin:0;color:var(--muted);font-size:12px;font-variant-numeric:tabular-nums}.ed-project-result-line button{display:inline-flex;align-items:center;gap:5px;min-height:44px;padding:0;border:0;background:transparent;color:var(--ink);font-size:12px;cursor:pointer}.ed-project-result-line button:hover{color:var(--accent)}.ed-project-empty{padding:32px 0 40px;max-width:55ch}.ed-project-empty h3{margin:0 0 10px;font-size:22px;letter-spacing:-.02em}.ed-project-empty p{margin:0 0 20px;color:var(--muted);font-size:15px;line-height:1.7}.ed-project-search-skeleton{min-height:172px}@media(max-width:600px){.ed-project-browser .ed-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.ed-project-browser .ed-filters button{justify-content:center;padding-inline:8px}.ed-project-search{padding-inline:12px}}.ed-project-status{display:inline-flex;align-items:center;gap:7px;width:fit-content;color:var(--accent);font:11px/1.5 var(--font-mono);margin-top:12px}.ed-project-status:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.ed-demo-heading{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}.ed-demo-heading h2{font-size:23px;letter-spacing:-.03em;margin:0}.ed-demo-heading .ed-project-status{margin:0}.ed-demo-disclosure{margin:24px 0;border-block:1px solid var(--line)}.ed-demo-disclosure summary{cursor:pointer;padding:18px 0;font-size:14px}.ed-demo-disclosure summary span{float:right;font:11px/1.8 var(--font-mono);color:var(--muted)}.ed-demo-disclosure video{display:block;width:100%;aspect-ratio:8/5;max-height:70svh;margin-bottom:18px;background:var(--paper-deep);border-radius:5px}.ed-project-copy{display:flex;flex-direction:column;min-width:0;flex:1}.ed-project-preview-hint{display:inline-flex;align-items:center;gap:5px;color:var(--muted);font:10px/1 var(--font-mono);white-space:nowrap}.ed-project>.ed-project-preview{position:absolute;z-index:4;inset:8px;display:grid;grid-template-rows:minmax(0,1fr) auto;min-width:0;overflow:hidden;border:1px solid color-mix(in srgb,var(--accent) 30%,var(--line));border-radius:5px;background:var(--paper-deep);box-shadow:0 18px 45px rgba(0,0,0,.26);opacity:0;clip-path:inset(14% 0 0 24% round 5px);transform:translateY(10px) scale(.985);pointer-events:none;transition:opacity .16s ease-out,clip-path .34s cubic-bezier(.16,1,.3,1),transform .34s cubic-bezier(.16,1,.3,1)}.ed-project-preview-frame{display:block;position:relative;min-height:0;overflow:hidden;background:#f5f7f6}.ed-project-preview-image{object-fit:cover;object-position:left top;transform:scale(1.015);transition:transform .55s cubic-bezier(.16,1,.3,1)}.ed-project-preview-caption{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;min-height:44px;padding:9px 12px;border-top:1px solid var(--line);background:color-mix(in srgb,var(--paper-deep) 94%,transparent);color:var(--ink);font:10px/1.4 var(--font-mono)}.ed-project-preview-caption span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ed-project-preview:focus-visible{outline:2px solid var(--focus);outline-offset:-4px}@media(hover:hover) and (pointer:fine){.ed-project-has-preview:hover>.ed-project-preview,.ed-project-preview:focus-visible{opacity:1;clip-path:inset(0 round 5px);transform:none;pointer-events:auto}.ed-project-has-preview:hover .ed-project-preview-image,.ed-project-preview:focus-visible .ed-project-preview-image{transform:none}}.ed-project-empty.ui-empty,.ed-project-search .ui-search-field{--line:74 10% 83%;--ink:100 5% 14%;--ink-soft:100 4% 38%;--ink-muted:100 4% 38%;--surface:45 23% 96%;--surface-muted:48 15% 93%;--brand:230 50% 53%;--ui-font:var(--font-sans)}[data-theme=dark] .ed-project-empty.ui-empty,[data-theme=dark] .ed-project-search .ui-search-field{--line:96 5% 20%;--ink:68 17% 92%;--ink-soft:87 6% 66%;--ink-muted:87 6% 66%;--surface:120 2% 9%;--surface-muted:120 3% 12%;--brand:230 59% 77%}.ed-project-empty.ui-empty{display:block;text-align:left;max-width:none;padding:28px;background:hsl(var(--surface-muted));border-color:hsl(var(--line));color:hsl(var(--ink))}.ed-project-empty h3{width:100%}.ed-project-empty .ui-button{min-height:44px}@media(max-width:600px){.ed-project-empty.ui-empty{padding:22px}}@media(hover:none),(pointer:coarse){.ed-project-preview,.ed-project-preview-hint{display:none!important}}@media(prefers-reduced-motion:reduce){.ed-project>.ed-project-preview{clip-path:none;transform:none;transition:opacity .12s linear}.ed-project-preview-image{transform:none;transition:none;animation:none!important}}.ed-product-evidence{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:27px}.ed-product-evidence-item{min-width:0;margin:0}.ed-product-evidence-item a{position:relative;display:block;overflow:hidden;aspect-ratio:16/10;border:1px solid var(--line);border-radius:6px;background:var(--paper-deep)}.ed-product-evidence-item img{width:100%;height:100%;object-fit:cover;object-position:top;filter:saturate(.82);transition:transform .35s cubic-bezier(.16,1,.3,1),filter .2s ease}.ed-product-evidence-item a:focus-visible img,.ed-product-evidence-item a:hover img{transform:scale(1.025);filter:saturate(1)}.ed-product-evidence-item a:focus-visible{outline:2px solid var(--focus);outline-offset:3px}.ed-product-evidence-item figcaption{margin-top:9px;color:var(--muted);font:10px/1.6 var(--font-mono)}.ed-product-evidence-item figcaption span{display:block;margin-bottom:2px;color:var(--ink);font-family:var(--font-sans);font-size:12px;font-weight:560}@media(max-width:600px){.ed-product-evidence{grid-template-columns:1fr;gap:21px}}@media(prefers-reduced-motion:reduce){.ed-product-evidence-item img{transition:none}.ed-product-evidence-item a:focus-visible img,.ed-product-evidence-item a:hover img{transform:none}}html[data-motion=off] .ed-project>.ed-project-preview{clip-path:none;transform:none;transition:opacity .12s linear}html[data-motion=off] .ed-project-preview-image{transform:none;transition:none;animation:none!important}.ed-credentials{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}.ed-credential{display:grid;grid-template-columns:128px minmax(0,1fr);gap:17px;min-width:0;padding:20px 0;border-bottom:1px solid var(--line)}.ed-credential:nth-child(odd){padding-right:20px;border-right:1px solid var(--line)}.ed-credential:nth-child(2n){padding-left:20px}.ed-credential:last-child{grid-column:1/-1;padding-right:0;border-right:0}.ed-credential-preview{position:relative;display:block;align-self:start;overflow:hidden;aspect-ratio:4/3;border:1px solid var(--line);border-radius:5px;background:var(--paper-deep)}.ed-credential-preview img{width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.78) contrast(.96);transition:transform .3s cubic-bezier(.16,1,.3,1),filter .2s ease}.ed-credential-preview>span{position:absolute;right:6px;bottom:6px;display:grid;place-items:center;width:27px;height:27px;border:1px solid color-mix(in srgb,var(--paper) 35%,transparent);border-radius:4px;background:color-mix(in srgb,var(--ink) 80%,transparent);color:var(--paper);opacity:0;transform:translateY(4px);transition:opacity .18s,transform .18s}.ed-credential-preview:focus-visible img,.ed-credential-preview:hover img{transform:scale(1.035);filter:saturate(1) contrast(1)}.ed-credential-preview:focus-visible>span,.ed-credential-preview:hover>span{opacity:1;transform:none}.ed-credential-copy{min-width:0}.ed-credential-meta{display:flex;justify-content:space-between;gap:10px;color:var(--muted);font:9px/1.5 var(--font-mono);text-transform:uppercase;letter-spacing:.07em}.ed-credential-meta span{color:var(--accent)}.ed-credential h3{margin:10px 0 6px;font-size:15px;line-height:1.35;letter-spacing:-.2px}.ed-credential p{margin:0;color:var(--muted);font-size:12px;line-height:1.6}.ed-credential small{display:block;margin-top:9px;color:var(--muted);font:9px/1.5 var(--font-mono)}.ed-credential-more{margin-top:20px;border-top:1px dashed var(--line)}.ed-credential-more>summary{min-height:44px;padding:14px 0;cursor:pointer;color:var(--muted);font-size:12px}.ed-credential-more ul{margin:6px 0 0}@media(max-width:760px){.ed-credentials{grid-template-columns:1fr}.ed-credential,.ed-credential:last-child,.ed-credential:nth-child(2n),.ed-credential:nth-child(odd){grid-column:auto;padding:18px 0;border-right:0}}@media(max-width:600px){.ed-credential{grid-template-columns:92px minmax(0,1fr);gap:13px}.ed-credential h3{margin-top:8px;font-size:14px}.ed-credential p{font-size:11px}.ed-credential-meta{display:block}.ed-credential-meta time{display:block;margin-top:2px}}@media(prefers-reduced-motion:reduce){.ed-credential-preview img,.ed-credential-preview>span{transition:none}.ed-credential-preview:focus-visible img,.ed-credential-preview:hover img{transform:none}}:root{--font-display:"Bodoni Moda Variable",Didot,Georgia,serif;--font-mono:"IBM Plex Mono",ui-monospace,monospace;--page-width:1040px;--page-gutter:clamp(22px,4.5vw,56px);--section-space:clamp(40px,6vw,76px);--ease-editorial:cubic-bezier(.16,1,.3,1);--header-height:76px}html{scrollbar-color:var(--line-strong) var(--paper);scroll-padding-top:calc(var(--header-height) + 12px)}.ed-footer,.ed-header-inner,.ed-main{width:min(var(--page-width),calc(100% - 64px))}.ed-section{padding:var(--section-space) var(--page-gutter);scroll-margin-top:64px}.ed-page-header{padding:var(--section-space) var(--page-gutter) 40px}.ed-page-header>.ed-eyebrow{display:none}.ed-page-header h1{font-family:var(--font-display);font-weight:500;font-size:clamp(38px,5.4vw,64px);line-height:1.12;letter-spacing:-.025em;text-wrap:balance;max-width:22ch}.ed-page-header>p{font-size:16px;line-height:1.8;max-width:65ch}.ed-section-heading{align-items:baseline;gap:18px;margin-bottom:30px}.ed-section-heading-main{min-width:0}.ed-section-kicker{display:block;margin-bottom:9px;color:var(--accent);font:10px/1.5 var(--font-mono);letter-spacing:.13em;text-transform:uppercase}.ed-section-heading h2{margin:0;font-family:var(--font-display);font-weight:500;font-size:clamp(30px,3.6vw,42px);line-height:1.2;letter-spacing:-.02em;text-wrap:balance}.ed-section-heading>a{min-height:44px;display:inline-flex;align-items:center;gap:8px;color:var(--muted)}.ed-prose{max-width:70ch;font-size:16px;line-height:1.85}.ed-prose p:last-child{margin-bottom:0}.ed-header-inner{min-height:76px}.ed-desktop-nav{gap:20px}.ed-desktop-nav a{display:inline-flex;align-items:center;min-height:44px;color:var(--muted);text-underline-offset:8px}.ed-desktop-nav a[aria-current]{color:var(--ink)}.ed-tools button{border-radius:7px}.ed-tools button:hover{background:var(--paper-deep)}.ed-motion-toggle{color:var(--accent)}.ed-motion-status{display:none;font:10px/1.4 var(--font-mono);white-space:nowrap}html[data-motion=off] .ed-motion-toggle{color:var(--muted);padding-inline:8px}html[data-motion=off] .ed-motion-status{display:inline}.ed-mobile-nav{padding:8px;max-height:calc(100svh - 90px);overflow-y:auto;overscroll-behavior:contain;border-radius:0 0 10px 10px;box-shadow:0 16px 24px rgb(0 0 0/.12)}.ed-mobile-nav a{border-radius:5px;font-size:15px}.ed-mobile-nav a:hover,.ed-mobile-nav a[aria-current]{background:var(--paper-deep)}.ed-hero{padding-top:52px;padding-bottom:44px}.ed-hero h1{font-family:var(--font-display);font-weight:500;font-size:clamp(48px,7vw,82px);letter-spacing:-.035em;line-height:1.08;margin-bottom:18px}.ed-hero .ed-role{font-size:14px}.ed-hero-grid{align-items:center}.ed-hero .ed-statement{font-size:clamp(24px,3vw,32px);line-height:1.35;letter-spacing:-.025em;max-width:29ch;margin:28px 0 16px;text-wrap:balance}.ed-hero p:not(.ed-statement){font-size:15px;line-height:1.75}.ed-hero .ed-location{font-size:12px!important}.ed-signals{border-top:1px solid var(--line);margin-top:25px}.ed-signals+p{margin-bottom:0}.ed-actions button,.ed-button{border-radius:7px;min-height:46px;padding:11px 18px;transition:background .18s,border-color .18s,color .18s}.ed-button:hover{border-color:var(--accent);background:var(--paper-deep)}.ed-main .ed-primary:hover{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);opacity:1}.ed-links{gap:8px 22px;font-size:13px}.ed-links a{min-height:40px}.ed-page-index{position:sticky;top:76px;z-index:30;display:flex;align-items:center;gap:4px 24px;padding:8px var(--page-gutter);border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--paper) 96%,transparent);box-shadow:0 8px 20px rgb(0 0 0/.04);overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none}.ed-page-index::-webkit-scrollbar{display:none}.ed-page-index>span{position:sticky;left:0;z-index:1;flex:0 0 auto;color:var(--ink);font-size:11px;font-weight:600;margin-right:auto;background:inherit}.ed-page-index a{position:relative;display:inline-flex;align-items:center;flex:0 0 auto;min-height:40px;font-size:12px;color:var(--muted)}.ed-page-index a:after{content:"";position:absolute;right:0;bottom:3px;left:0;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .22s var(--ease-editorial)}.ed-page-index a:hover,.ed-page-index a[aria-current]{color:var(--ink)}.ed-page-index a[aria-current]:after{transform:scaleX(1)}.ed-project-grid{gap:18px}.ed-project{padding:26px;border-radius:12px}.ed-project h3{font-family:var(--font-display);font-weight:600;font-size:30px;line-height:1.2;letter-spacing:-.02em;margin:18px 0 14px}.ed-project p{font-size:14px;line-height:1.8;max-width:65ch}.ed-project .ed-eyebrow{font:11px/1.5 var(--font-sans);text-transform:none;letter-spacing:0}.ed-project-icons{flex-shrink:0}.ed-tags{gap:6px;align-items:flex-start;align-self:start}.ed-tags span{font:11px/1.5 var(--font-sans);padding:4px 8px;border-radius:4px}.ed-card-bottom{align-items:flex-end;gap:16px;padding-top:24px}.ed-card-bottom>span{font-size:20px;line-height:1.25;font-variant-numeric:tabular-nums}.ed-card-actions{gap:10px;flex-wrap:wrap;justify-content:flex-end}.ed-card-actions>a{display:inline-flex;align-items:center;min-height:40px;gap:4px}.ed-card-bottom small{font-size:11px}.ed-preview-toggle{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:6px 10px;background:none;border:1px solid var(--line);border-radius:6px;font:12px var(--font-sans);cursor:pointer;color:var(--muted)}.ed-preview-toggle:hover,.ed-preview-toggle[aria-expanded=true]{color:var(--ink);border-color:var(--accent);background:var(--paper-deep)}.ed-project-copy{min-height:280px}.ed-preview-panel{position:absolute;z-index:5;inset:0 0 58px;display:grid;grid-template-rows:minmax(0,1fr) auto;background:var(--paper);border:1px solid var(--line);border-radius:8px;overflow:hidden;animation:preview-reveal .24s var(--ease-editorial)}.ed-preview-media{position:relative;min-height:0;background:var(--paper-deep)}.ed-preview-media img{object-fit:cover;object-position:top}.ed-preview-close{position:absolute;top:8px;right:8px;display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--line);border-radius:6px;background:var(--paper);color:var(--ink);cursor:pointer}.ed-preview-caption{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:4px 8px 4px 12px;border-top:1px solid var(--line);background:var(--paper)}.ed-preview-panel .ed-preview-caption p{margin:0;font:11px/1.5 var(--font-sans);min-width:0}.ed-preview-navigation{display:flex;align-items:center;flex-shrink:0;gap:2px;font:10px var(--font-mono);color:var(--muted)}.ed-preview-navigation a,.ed-preview-navigation button{display:grid;place-items:center;min-width:44px;min-height:44px;padding:0;border:0;border-radius:4px;background:none;cursor:pointer;color:var(--ink)}.ed-preview-close:hover,.ed-preview-navigation a:hover,.ed-preview-navigation button:hover{background:var(--paper-deep);color:var(--accent)}@keyframes preview-reveal{0%{opacity:.2;clip-path:inset(8% 0 0)}to{opacity:1;clip-path:inset(0)}}.ed-experience article{padding-block:26px}.ed-experience-entry{display:grid;grid-template-columns:minmax(0,1fr) minmax(118px,22%);gap:clamp(20px,4vw,44px);align-items:center;min-width:0}.ed-experience-impact{display:flex;flex-direction:column;gap:3px;min-width:0;border-left:1px solid var(--line);padding-left:20px}.ed-experience-impact strong{color:var(--accent);font:500 clamp(23px,2.8vw,32px)/1.1 var(--font-display);font-variant-numeric:tabular-nums;white-space:nowrap}.ed-experience-impact span{color:var(--muted);font:10px/1.5 var(--font-mono);letter-spacing:.04em;text-transform:uppercase}.ed-experience h3{font-family:var(--font-display);font-weight:600;font-size:25px;line-height:1.25}.ed-experience p{font-size:14px;line-height:1.8}.ed-experience .ed-role{font-size:13px;margin-top:6px}.ed-date{font-size:11px}.ed-experience small{font:12px/1.6 var(--font-sans)}.ed-writing-row{padding:25px 0}a.ed-writing-row{transition:color .2s}a.ed-writing-row:hover h3{color:var(--accent)}.ed-writing-row h3{font-family:var(--font-display);font-weight:600;font-size:25px;letter-spacing:-.015em;line-height:1.35}.ed-writing-row p{font-size:14px;line-height:1.8;max-width:65ch}.ed-note-meta{font-size:11px}.ed-skills{gap:20px}.ed-skills strong{font-size:13px}.ed-open-source-record{border-radius:10px;padding:28px}.ed-open-source-record-header .ed-open-source-title{max-width:570px;margin:8px 0 0;font-size:22px;line-height:1.3;letter-spacing:-.025em;font-weight:560}.ed-open-source-highlight p{font-size:14px}.ed-open-source-highlight summary{min-height:44px}.ed-open-source-tab{border-radius:7px}.ed-open-source-metrics dt,.ed-open-source-tab small{font-size:11px}.ed-activity p,.ed-personal p{font-size:14px;line-height:1.8}.ed-activity h3,.ed-personal h3{font-size:18px}.ed-deferred{min-width:0;overflow-anchor:none}.ed-deferred-github{min-height:190px}.ed-deferred-medium{min-height:218px}.ed-deferred-spotify{min-height:86px}.ed-quote{margin-top:36px;border-left:1px solid var(--accent);padding:8px 0 8px 22px;font-size:19px;line-height:1.65;max-width:38ch}.ed-quote figcaption{font:12px/1.6 var(--font-sans)}.ed-case-metrics{gap:26px}.ed-case-metrics>div{min-width:0}.ed-case-metrics dd{font-size:clamp(23px,3vw,32px);line-height:1.2;letter-spacing:-.025em;overflow-wrap:anywhere}.ed-case-metrics dt{font:12px/1.7 var(--font-sans);margin-top:8px}.ed-architecture li{border-radius:6px;font-size:14px;line-height:1.7}.ed-note-body{max-width:76ch}.ed-note-body p{line-height:1.85}.ed-table-wrap{overscroll-behavior-x:contain}.ed-table td,.ed-table th{font-variant-numeric:tabular-nums}.ed-contact{background:var(--paper-deep)}.ed-contact>.ed-eyebrow{display:none}.ed-contact h2{font-family:var(--font-display);font-weight:500;font-size:clamp(38px,5.4vw,60px);line-height:1.14;letter-spacing:-.025em;margin-top:0;max-width:18ch;text-wrap:balance}.ed-contact>p{font-size:15px}.ed-footer{padding:38px var(--page-gutter) 88px}.ed-footer>div:first-child>a{font-size:17px;font-weight:600}.ed-footer p{font-size:12px;line-height:1.7}.ed-cp-live-summary,.ed-cp-metrics article,.ed-cp-panel,.ed-cp-platform{border-radius:9px}.ed-cp-live-summary strong{letter-spacing:-.035em}.ed-cp-panel-note,.ed-cp-platform dt,.ed-cp-platform>header span{font-size:12px;line-height:1.6}.ed-credential-item figcaption{line-height:1.7}@media(min-width:761px){.ed-project-grid>.ed-project-shell:has(.ed-featured){grid-column:1/-1}.ed-featured .ed-project-copy{display:grid;grid-template-columns:minmax(0,1fr) 220px;grid-template-rows:repeat(6,auto);column-gap:32px;min-height:250px;align-content:start}.ed-featured .ed-project-copy>.ed-row{grid-column:1/-1;grid-row:1}.ed-featured .ed-project-status{grid-column:1;grid-row:2}.ed-featured h3{grid-column:1;grid-row:3}.ed-featured .ed-project-copy>p{grid-column:1;grid-row:4}.ed-featured .ed-tags{grid-column:1;grid-row:5}.ed-featured .ed-card-bottom{grid-column:2;grid-row:3/6;flex-direction:column;align-items:flex-start;justify-content:space-between;margin:12px 0 0;padding-top:0;padding-left:25px;border-left:1px solid var(--line)}.ed-flagship .ed-card-bottom>span{font-size:26px}.ed-featured .ed-card-actions{justify-content:flex-start}}@media(max-width:900px){.ed-footer,.ed-header-inner,.ed-main{width:calc(100% - 40px)}.ed-page-index{gap:4px 18px}}@media(max-width:760px){.ed-project-grid{grid-template-columns:1fr}.ed-project{padding:24px}.ed-page-index>span{display:none}.ed-experience-entry{grid-template-columns:minmax(0,1fr);gap:14px}.ed-experience-impact{flex-direction:row;align-items:baseline;gap:10px;border-left:0;border-top:1px solid var(--line);padding:12px 0 0}.ed-experience-impact strong{font-size:23px}}@media(max-width:600px){:root{--header-height:64px}.ed-main{width:100%;border-inline:0}.ed-header-inner{width:calc(100% - 32px);min-height:64px}.ed-hero-grid{grid-template-columns:minmax(0,1fr) 72px;gap:16px}.ed-hero .ed-role{font-size:12px}.ed-hero h1{font-size:clamp(38px,9vw,52px)}.ed-page-header{padding-bottom:30px}.ed-page-header h1{font-size:40px}.ed-section-heading{flex-wrap:wrap;gap:4px 14px;margin-bottom:24px}.ed-section-heading>a{min-height:36px}.ed-page-index{top:64px;gap:0 20px;padding-block:6px;box-shadow:0 7px 16px rgb(0 0 0/.06)}.ed-page-index a{min-height:44px}.ed-card-bottom{align-items:flex-start;flex-direction:column;gap:12px}.ed-card-actions{width:100%;justify-content:space-between}.ed-preview-panel{inset:0 0 56px}.ed-preview-caption{flex-direction:column;align-items:stretch;gap:0}.ed-preview-caption p{padding-top:7px}.ed-preview-navigation{justify-content:flex-end}.ed-project h3{font-size:28px}.ed-case-metrics{grid-template-columns:1fr;gap:18px}.ed-case-metrics>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;border-bottom:1px solid var(--line);padding-bottom:16px}.ed-case-metrics>div:last-child{border-bottom:0;padding-bottom:0}.ed-case-metrics dd,.ed-case-metrics dt{margin:0}.ed-architecture{grid-template-columns:1fr}.ed-open-source-record{padding:21px}.ed-footer{width:100%;padding-inline:var(--page-gutter);gap:26px}.ed-demo-disclosure summary{font-size:13px}}@media(prefers-reduced-motion:reduce){.ed-preview-panel{animation:none}.ed-page-index a:after{transition:none}}[data-motion=off] .ed-preview-panel{animation:none}[data-motion=off] .ed-page-index a:after{transition:none}.ed-project:focus-within{border-color:var(--accent)}.ed-project h3 a{text-decoration-color:transparent;text-decoration-line:underline;text-underline-offset:5px;transition:text-decoration-color .18s,color .18s}.ed-project h3 a:hover{text-decoration-color:var(--accent)}.ed-writing-row .ed-row>span{transition:transform .2s var(--ease-editorial)}.ed-writing-row:hover .ed-row>span{transform:translate(3px,-3px)}.ed-writing-row:focus-visible{outline-offset:8px}.ed-mobile-nav{animation:preview-reveal .2s var(--ease-editorial)}.ed-tools button{min-width:44px}.ed-contact .ed-email{overflow-wrap:anywhere}.ed-skills .ed-tags span{transition:border-color .18s,color .18s}.ed-skills .ed-tags span:hover{border-color:var(--accent);color:var(--ink)}.ed-medium{margin-top:0;padding-top:0;border-top:0}.palette-search input{min-width:0}.command-palette{box-shadow:0 20px 64px rgb(0 0 0/.24)}.palette-results [role=option] small{font-size:11px;line-height:1.5}.ed-open-source-tab[aria-selected=true] small{color:var(--paper);opacity:.8}.ed-observatory:after{content:"";position:absolute;inset:auto 0 0;height:32px;background:linear-gradient(transparent,var(--paper));pointer-events:none}.ed-observatory-route{animation:ridge-route 30s linear infinite}.ed-ridge-mist{animation:ridge-mist 24s ease-in-out infinite alternate}.ed-observatory-beacon{animation:beacon-breathe 6s ease-in-out infinite alternate}.ed-observatory:not([data-playing=true]) *{animation-play-state:paused}@keyframes ridge-route{to{stroke-dashoffset:-110}}@keyframes ridge-mist{to{transform:translateX(60px);opacity:.45}}@keyframes beacon-breathe{to{opacity:.1}}@media(min-width:901px) and (max-width:1024px){.ed-desktop-nav{display:none}.ed-tools .ed-menu-toggle{display:flex}}@media(max-width:760px){.ed-project-copy{min-height:320px}.ed-card-bottom>span{font-size:20px}}@media(prefers-reduced-motion:reduce){.ed-mobile-nav,.ed-observatory-beacon,.ed-observatory-route,.ed-ridge-mist{animation:none}.ed-writing-row:hover .ed-row>span{transform:none}}[data-motion=off] .ed-observatory-beacon,[data-motion=off] .ed-observatory-route,[data-motion=off] .ed-ridge-mist{animation:none}[data-motion=off] .ed-writing-row:hover .ed-row>span{transform:none}.ed-page-index.ed-reading-index a:after{display:none}.ed-reading-index .ed-nav-indicator{inset:auto 0 0;height:2px;opacity:.45}.ed-section-read-track{position:absolute;inset:auto 0 5px;height:1px;background:var(--line);pointer-events:none}.ed-section-read-fill{display:block;width:100%;height:100%;background:var(--accent);transform:scaleX(0);transform-origin:left}.ed-reading-index a:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}.ed-project-notes{margin-top:20px;border-top:1px solid var(--line);grid-column:1/-1}.ed-project-notes summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;cursor:pointer;list-style:none;font-size:12px;color:var(--muted)}.ed-project-notes summary::-webkit-details-marker{display:none}.ed-project-notes summary:hover,.ed-project-notes[open] summary{color:var(--ink)}.ed-project-notes summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px}.ed-project-notes summary svg{flex:none;transition:transform .2s var(--ease-editorial)}.ed-project-notes[open] summary svg{transform:rotate(180deg)}.ed-project-notes-body{padding:4px 0 12px}.ed-project-notes-body h4{margin:18px 0 5px;font:600 12px/1.6 var(--font-sans);color:var(--ink)}.ed-project .ed-project-notes-body p{max-width:70ch;margin:0;font-size:12px;line-height:1.8}.ed-build-flow{display:flex;flex-wrap:wrap;gap:6px 16px;list-style:none;padding:0;margin:0;color:var(--accent);font:10px/1.8 var(--font-mono)}.ed-build-flow li{position:relative;max-width:100%;overflow-wrap:anywhere}.ed-build-flow li:not(:last-child):after{content:"/";position:absolute;right:-11px;color:var(--muted)}.ed-project-notes+.ed-card-bottom{padding-top:16px}@media(min-width:761px){.ed-featured .ed-project-notes{grid-row:6}.ed-featured .ed-project-notes+.ed-card-bottom{padding-top:0}}@media(prefers-reduced-motion:reduce){.ed-project-notes summary svg{transition:none}}[data-motion=off] .ed-project-notes summary svg{transition:none}.ed-main:has(.ed-now-header) .personal-notes{padding:var(--section-space) var(--page-gutter);border-top:1px solid var(--line)}.ed-main:has(.ed-now-header) .personal-location button{min-height:44px}@media(min-width:1000px){.ed-hero{display:grid;grid-template-columns:1.08fr 1fr;column-gap:40px}.ed-hero-grid{grid-column:1/-1}.ed-hero>.ed-statement{grid-column:1;grid-row:2;margin-block:32px 24px}.ed-hero>p:not(.ed-statement):not(:last-child){grid-column:2;grid-row:2;align-self:center;margin-block:32px 24px}.ed-hero>.ed-actions{grid-column:1;grid-row:3;align-self:center}.ed-hero>.ed-links{grid-column:2;grid-row:3;align-self:center}.ed-hero>.ed-signals{grid-column:1/-1;grid-row:4}.ed-hero>p:last-child{grid-column:1/-1;grid-row:5}:is(#experience,#profile,.ed-now-focus){display:grid;grid-template-columns:220px minmax(0,1fr);column-gap:40px;align-items:start}:is(#experience,#profile,.ed-now-focus)>.ed-section-heading{grid-column:1;grid-row:1/3;position:sticky;top:calc(var(--header-height) + 90px);margin-bottom:0}:is(#experience,#profile,.ed-now-focus)>:not(.ed-section-heading){grid-column:2;min-width:0}.ed-now-focus>.ed-section-heading{top:calc(var(--header-height) + 24px)}#experience .ed-experience-entry{grid-template-columns:minmax(0,1fr) minmax(160px,max-content);gap:24px}#experience .ed-experience .ed-row{flex-direction:column;align-items:flex-start;gap:6px}#profile .ed-skills>div{grid-template-columns:1fr;gap:8px}a.ed-writing-row{display:grid;grid-template-columns:minmax(0,1fr) 170px;column-gap:32px;align-items:start}a.ed-writing-row>.ed-row{grid-column:1;grid-row:1}a.ed-writing-row>p{grid-column:1;grid-row:2;margin-bottom:0}a.ed-writing-row>.ed-note-meta{grid-column:2;grid-row:1/3;justify-self:end;text-align:right;padding-top:6px}.ed-main:has(.ed-now-header) .personal-location{display:grid;grid-template-columns:minmax(0,1fr) minmax(200px,.8fr);column-gap:48px;align-items:start;border-radius:12px;padding:32px}.ed-main:has(.ed-now-header) .personal-location>svg{grid-column:1;grid-row:1}.ed-main:has(.ed-now-header) .personal-label{grid-column:1;grid-row:2}.ed-main:has(.ed-now-header) .personal-location h2{grid-column:1;grid-row:3}.ed-main:has(.ed-now-header) .personal-location>p:nth-of-type(2){grid-column:1;grid-row:4}.ed-main:has(.ed-now-header) .personal-location button{grid-column:2;grid-row:3;justify-self:start;min-height:44px;margin-top:16px}.ed-main:has(.ed-now-header) .personal-location small{grid-column:2;grid-row:4}.ed-main:has(.ed-now-header) .personal-location>p[role=status]{grid-column:1/-1;grid-row:5}}