@font-face{font-family:GeistSans;src:url(/_next/static/media/0b78ff376f6b9734-s.p.woff2) format("woff2");font-display:swap;font-weight:100 900}@font-face{font-family:GeistSans Fallback;src:local("Arial");ascent-override:94.56%;descent-override:27.76%;line-gap-override:0.00%;size-adjust:106.28%}.__className_8adcd2{font-family:GeistSans,GeistSans Fallback}.__variable_8adcd2{--font-geist-sans:"GeistSans","GeistSans Fallback"}@font-face{font-family:GeistMono;src:url(/_next/static/media/723e11e5093b8e80.p.woff2) format("woff2");font-display:swap;font-weight:100 900}.__className_46451f{font-family:GeistMono,ui-monospace,SFMono-Regular,Roboto Mono,Menlo,Monaco,Liberation Mono,DejaVu Sans Mono,Courier New,monospace}.__variable_46451f{--font-geist-mono:"GeistMono",ui-monospace,SFMono-Regular,Roboto Mono,Menlo,Monaco,Liberation Mono,DejaVu Sans Mono,Courier New,monospace}

/*! tailwindcss v4.3.3 | 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-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-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:forwards;--tw-animation-iteration-count:1;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0}}}@layer theme{:host,:root{--color-red-300:oklch(80.8% .114 19.571);--color-red-500:oklch(63.7% .237 25.331);--color-orange-300:oklch(83.7% .128 66.29);--color-orange-400:oklch(75% .183 55.934);--color-amber-300:oklch(87.9% .169 91.605);--color-amber-500:oklch(76.9% .188 70.08);--color-yellow-300:oklch(90.5% .182 98.111);--color-yellow-400:oklch(85.2% .199 91.936);--color-lime-300:oklch(89.7% .196 126.665);--color-lime-500:oklch(76.8% .233 130.85);--color-green-500:oklch(72.3% .219 149.579);--color-emerald-300:oklch(84.5% .143 164.978);--color-emerald-500:oklch(69.6% .17 162.48);--color-teal-500:oklch(70.4% .14 182.503);--color-cyan-300:oklch(86.5% .127 207.078);--color-cyan-400:oklch(78.9% .154 211.53);--color-cyan-500:oklch(71.5% .143 215.221);--color-sky-300:oklch(82.8% .111 230.318);--color-sky-400:oklch(74.6% .16 232.661);--color-blue-300:oklch(80.9% .105 251.813);--color-blue-500:oklch(62.3% .214 259.815);--color-indigo-500:oklch(58.5% .233 277.117);--color-violet-500:oklch(60.6% .25 292.717);--color-fuchsia-500:oklch(66.7% .295 322.15);--color-rose-300:oklch(81% .117 11.638);--color-rose-500:oklch(64.5% .246 16.439);--color-slate-300:oklch(86.9% .022 252.894);--color-zinc-300:oklch(87.1% .006 286.286);--color-neutral-500:oklch(55.6% 0 none);--color-stone-500:oklch(55.3% .013 58.071);--default-font-family:var(--font-geist-sans),sans-serif;--default-mono-font-family:var(--font-geist-mono),monospace}}@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,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;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:where(:not(iframe)){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}*{border-color:var(--border);outline-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){*{outline-color:color-mix(in oklab,var(--ring) 50%,transparent)}}body{background-color:var(--background);color:var(--foreground);font-feature-settings:"kern" 1,"liga" 1;text-rendering:geometricprecision}html{scroll-behavior:smooth}}@layer components;@layer utilities{.visible{visibility:visible}.static{position:static}.hidden{display:none}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.from-amber-500\/25{--tw-gradient-from:#f99c0040}@supports (color:color-mix(in lab,red,red)){.from-amber-500\/25{--tw-gradient-from:color-mix(in oklab,var(--color-amber-500) 25%,transparent)}}.from-amber-500\/25{--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))}.from-blue-500\/25{--tw-gradient-from:#3080ff40}@supports (color:color-mix(in lab,red,red)){.from-blue-500\/25{--tw-gradient-from:color-mix(in oklab,var(--color-blue-500) 25%,transparent)}}.from-blue-500\/25{--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))}.from-cyan-400\/25{--tw-gradient-from:#00d2ef40}@supports (color:color-mix(in lab,red,red)){.from-cyan-400\/25{--tw-gradient-from:color-mix(in oklab,var(--color-cyan-400) 25%,transparent)}}.from-cyan-400\/25{--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))}.from-cyan-500\/25{--tw-gradient-from:#00b7d740}@supports (color:color-mix(in lab,red,red)){.from-cyan-500\/25{--tw-gradient-from:color-mix(in oklab,var(--color-cyan-500) 25%,transparent)}}.from-cyan-500\/25{--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))}.from-emerald-500\/25{--tw-gradient-from:#00bb7f40}@supports (color:color-mix(in lab,red,red)){.from-emerald-500\/25{--tw-gradient-from:color-mix(in oklab,var(--color-emerald-500) 25%,transparent)}}.from-emerald-500\/25{--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))}.from-fuchsia-500\/25{--tw-gradient-from:#e12afb40}@supports (color:color-mix(in lab,red,red)){.from-fuchsia-500\/25{--tw-gradient-from:color-mix(in oklab,var(--color-fuchsia-500) 25%,transparent)}}.from-fuchsia-500\/25{--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))}.from-green-500\/25{--tw-gradient-from:#00c75840}@supports (color:color-mix(in lab,red,red)){.from-green-500\/25{--tw-gradient-from:color-mix(in oklab,var(--color-green-500) 25%,transparent)}}.from-green-500\/25{--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))}.from-indigo-500\/25{--tw-gradient-from:#625fff40}@supports (color:color-mix(in lab,red,red)){.from-indigo-500\/25{--tw-gradient-from:color-mix(in oklab,var(--color-indigo-500) 25%,transparent)}}.from-indigo-500\/25{--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))}.from-lime-500\/25{--tw-gradient-from:#80cd0040}@supports (color:color-mix(in lab,red,red)){.from-lime-500\/25{--tw-gradient-from:color-mix(in oklab,var(--color-lime-500) 25%,transparent)}}.from-lime-500\/25{--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))}.from-neutral-500\/25{--tw-gradient-from:#73737340}@supports (color:color-mix(in lab,red,red)){.from-neutral-500\/25{--tw-gradient-from:color-mix(in oklab,var(--color-neutral-500) 25%,transparent)}}.from-neutral-500\/25{--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))}.from-orange-400\/25{--tw-gradient-from:#ff8b1a40}@supports (color:color-mix(in lab,red,red)){.from-orange-400\/25{--tw-gradient-from:color-mix(in oklab,var(--color-orange-400) 25%,transparent)}}.from-orange-400\/25{--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))}.from-red-500\/25{--tw-gradient-from:#fb2c3640}@supports (color:color-mix(in lab,red,red)){.from-red-500\/25{--tw-gradient-from:color-mix(in oklab,var(--color-red-500) 25%,transparent)}}.from-red-500\/25{--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))}.from-rose-500\/30{--tw-gradient-from:#ff23574d}@supports (color:color-mix(in lab,red,red)){.from-rose-500\/30{--tw-gradient-from:color-mix(in oklab,var(--color-rose-500) 30%,transparent)}}.from-rose-500\/30{--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))}.from-sky-400\/25{--tw-gradient-from:#00bcfe40}@supports (color:color-mix(in lab,red,red)){.from-sky-400\/25{--tw-gradient-from:color-mix(in oklab,var(--color-sky-400) 25%,transparent)}}.from-sky-400\/25{--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))}.from-stone-500\/25{--tw-gradient-from:#79716b40}@supports (color:color-mix(in lab,red,red)){.from-stone-500\/25{--tw-gradient-from:color-mix(in oklab,var(--color-stone-500) 25%,transparent)}}.from-stone-500\/25{--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))}.from-teal-500\/25{--tw-gradient-from:#00baa740}@supports (color:color-mix(in lab,red,red)){.from-teal-500\/25{--tw-gradient-from:color-mix(in oklab,var(--color-teal-500) 25%,transparent)}}.from-teal-500\/25{--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))}.from-violet-500\/25{--tw-gradient-from:#8d54ff40}@supports (color:color-mix(in lab,red,red)){.from-violet-500\/25{--tw-gradient-from:color-mix(in oklab,var(--color-violet-500) 25%,transparent)}}.from-violet-500\/25{--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))}.from-yellow-400\/30{--tw-gradient-from:#fac8004d}@supports (color:color-mix(in lab,red,red)){.from-yellow-400\/30{--tw-gradient-from:color-mix(in oklab,var(--color-yellow-400) 30%,transparent)}}.from-yellow-400\/30{--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-amber-300\/10{--tw-gradient-via:#ffd2361a}@supports (color:color-mix(in lab,red,red)){.via-amber-300\/10{--tw-gradient-via:color-mix(in oklab,var(--color-amber-300) 10%,transparent)}}.via-amber-300\/10{--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)}.via-blue-300\/10{--tw-gradient-via:#90c5ff1a}@supports (color:color-mix(in lab,red,red)){.via-blue-300\/10{--tw-gradient-via:color-mix(in oklab,var(--color-blue-300) 10%,transparent)}}.via-blue-300\/10{--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)}.via-cyan-300\/10{--tw-gradient-via:#53eafd1a}@supports (color:color-mix(in lab,red,red)){.via-cyan-300\/10{--tw-gradient-via:color-mix(in oklab,var(--color-cyan-300) 10%,transparent)}}.via-cyan-300\/10{--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)}.via-emerald-300\/10{--tw-gradient-via:#5ee9b51a}@supports (color:color-mix(in lab,red,red)){.via-emerald-300\/10{--tw-gradient-via:color-mix(in oklab,var(--color-emerald-300) 10%,transparent)}}.via-emerald-300\/10{--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)}.via-lime-300\/10{--tw-gradient-via:#bbf4511a}@supports (color:color-mix(in lab,red,red)){.via-lime-300\/10{--tw-gradient-via:color-mix(in oklab,var(--color-lime-300) 10%,transparent)}}.via-lime-300\/10{--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)}.via-orange-300\/10{--tw-gradient-via:#ffb96d1a}@supports (color:color-mix(in lab,red,red)){.via-orange-300\/10{--tw-gradient-via:color-mix(in oklab,var(--color-orange-300) 10%,transparent)}}.via-orange-300\/10{--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)}.via-red-300\/10{--tw-gradient-via:#ffa3a31a}@supports (color:color-mix(in lab,red,red)){.via-red-300\/10{--tw-gradient-via:color-mix(in oklab,var(--color-red-300) 10%,transparent)}}.via-red-300\/10{--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)}.via-rose-300\/10{--tw-gradient-via:#ffa2ae1a}@supports (color:color-mix(in lab,red,red)){.via-rose-300\/10{--tw-gradient-via:color-mix(in oklab,var(--color-rose-300) 10%,transparent)}}.via-rose-300\/10{--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)}.via-sky-300\/10{--tw-gradient-via:#77d4ff1a}@supports (color:color-mix(in lab,red,red)){.via-sky-300\/10{--tw-gradient-via:color-mix(in oklab,var(--color-sky-300) 10%,transparent)}}.via-sky-300\/10{--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)}.via-slate-300\/10{--tw-gradient-via:#cad5e21a}@supports (color:color-mix(in lab,red,red)){.via-slate-300\/10{--tw-gradient-via:color-mix(in oklab,var(--color-slate-300) 10%,transparent)}}.via-slate-300\/10{--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)}.via-yellow-300\/10{--tw-gradient-via:#ffe02a1a}@supports (color:color-mix(in lab,red,red)){.via-yellow-300\/10{--tw-gradient-via:color-mix(in oklab,var(--color-yellow-300) 10%,transparent)}}.via-yellow-300\/10{--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)}.via-zinc-300\/10{--tw-gradient-via:#d4d4d81a}@supports (color:color-mix(in lab,red,red)){.via-zinc-300\/10{--tw-gradient-via:color-mix(in oklab,var(--color-zinc-300) 10%,transparent)}}.via-zinc-300\/10{--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-transparent{--tw-gradient-to:transparent;--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))}.font-sans{font-family:var(--font-geist-sans),sans-serif}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.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,)}.paused{animation-play-state:paused}.project-rail{scrollbar-width:thin;scrollbar-color:var(--foreground) transparent}@supports (color:color-mix(in lab,red,red)){.project-rail{scrollbar-color:color-mix(in oklab,var(--foreground) 28%,transparent) transparent}}.project-rail::-webkit-scrollbar{width:6px}.project-rail::-webkit-scrollbar-track{background:0 0}.project-rail::-webkit-scrollbar-thumb{background:var(--foreground)}@supports (color:color-mix(in lab,red,red)){.project-rail::-webkit-scrollbar-thumb{background:color-mix(in oklab,var(--foreground) 20%,transparent)}}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:forwards}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}:root{--background:oklch(99% .003 264);--foreground:oklch(16% .02 264);--card:oklch(98% .004 264);--card-foreground:oklch(16% .02 264);--popover:oklch(98% .004 264);--popover-foreground:oklch(16% .02 264);--primary:oklch(16% .02 264);--primary-foreground:oklch(99% .003 264);--secondary:oklch(94% .008 264);--secondary-foreground:oklch(20% .02 264);--muted:oklch(94% .008 264);--muted-foreground:oklch(48% .02 264);--accent:oklch(58% .22 264);--accent-foreground:oklch(99% .01 264);--destructive:oklch(57.7% .245 27.325);--destructive-foreground:oklch(57.7% .245 27.325);--border:oklch(88% .008 264);--input:oklch(88% .008 264);--ring:oklch(58% .22 264);--gold:oklch(58% .22 264);--award-accent:#4b5eff;--award-mint:#4b5eff;--award-ink:#0b0b12;--chart-1:oklch(64.6% .222 41.116);--chart-2:oklch(60% .118 184.704);--chart-3:oklch(39.8% .07 227.392);--chart-4:oklch(82.8% .189 84.429);--chart-5:oklch(76.9% .188 70.08);--radius:.125rem;--sidebar:oklch(98.5% 0 0);--sidebar-foreground:oklch(14.5% 0 0);--sidebar-primary:oklch(20.5% 0 0);--sidebar-primary-foreground:oklch(98.5% 0 0);--sidebar-accent:oklch(97% 0 0);--sidebar-accent-foreground:oklch(20.5% 0 0);--sidebar-border:oklch(92.2% 0 0);--sidebar-ring:oklch(70.8% 0 0)}.dark{--background:oklch(0% 0 0);--foreground:oklch(97% 0 0);--card:oklch(7% .004 264);--card-foreground:oklch(97% 0 0);--popover:oklch(7% .004 264);--popover-foreground:oklch(97% 0 0);--primary:oklch(97% 0 0);--primary-foreground:oklch(7% .004 264);--secondary:oklch(16% .006 264);--secondary-foreground:oklch(97% 0 0);--muted:oklch(16% .006 264);--muted-foreground:oklch(68% .006 264);--accent:oklch(72% .19 264);--accent-foreground:oklch(7% .004 264);--destructive:oklch(39.6% .141 25.723);--destructive-foreground:oklch(63.7% .237 25.331);--border:oklch(22% .008 264);--input:oklch(22% .008 264);--ring:oklch(72% .19 264);--award-accent:#6e8bff;--award-mint:#6e8bff;--award-ink:#f2f4ff;--chart-1:oklch(48.8% .243 264.376);--chart-2:oklch(69.6% .17 162.48);--chart-3:oklch(76.9% .188 70.08);--chart-4:oklch(62.7% .265 303.9);--chart-5:oklch(64.5% .246 16.439);--sidebar:oklch(20.5% 0 0);--sidebar-foreground:oklch(98.5% 0 0);--sidebar-primary:oklch(48.8% .243 264.376);--sidebar-primary-foreground:oklch(98.5% 0 0);--sidebar-accent:oklch(26.9% 0 0);--sidebar-accent-foreground:oklch(98.5% 0 0);--sidebar-border:oklch(26.9% 0 0);--sidebar-ring:oklch(43.9% 0 0)}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.animate-pulse{animation:none!important}}:root{--background:#f7f6f2;--foreground:#24251f;--muted-foreground:#66685f;--border:#dcded4;--surface:#eceee6;--accent-ink:#bc3e1d;--accent-solid:#e86a3d;--font-sans:var(--font-geist-sans),sans-serif}.dark{--background:#090909;--foreground:#ededed;--muted-foreground:#a3a3a3;--border:#2b2b2b;--surface:#151515;--accent-ink:#d4d4d4;--accent-solid:#e5e5e5}html{scroll-padding-top:105px}body{margin:0}a,button{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{text-decoration:none}a,button,summary{touch-action:manipulation}:focus-visible{outline:2px solid var(--accent-ink);outline-offset:5px}::selection{color:#191e17;background:#e86a3d}.shell{width:calc(100% - 112px);max-width:1320px;margin-inline:auto}.eyebrow{font-family:var(--font-geist-mono),monospace;letter-spacing:.11em;text-transform:uppercase;color:var(--muted-foreground);font-size:10px;font-weight:400;line-height:1.7}.orange{color:var(--accent-ink)}.text-link{justify-content:center;align-items:center;gap:12px;min-height:44px;font-size:12px;font-weight:550;display:inline-flex}.project-link svg,.repo svg,.text-link svg{transition:transform .2s}.project-link:hover svg,.repo:hover svg,.text-link:hover svg{transform:translate(2px,-2px)}.text-link:hover{color:var(--accent-ink)}.skip-link{z-index:100;background:var(--foreground);color:var(--background);padding:14px 24px;position:fixed;top:12px;left:12px;transform:translateY(-150%)}.skip-link:focus{transform:none}.site-header{z-index:40;background:var(--background);border-bottom:1px solid var(--border);position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;height:84px;display:flex}.wordmark{letter-spacing:-.085em;font-size:37px;font-weight:800;line-height:1}.wordmark span{vertical-align:top;margin-top:4px;margin-left:6px;font-size:12px;font-weight:400;display:inline-block}.header-inner nav{gap:38px;padding-left:120px;display:flex}.header-inner nav a{min-height:44px;color:var(--muted-foreground);align-items:center;font-size:12px;display:flex;position:relative}.header-inner nav a:hover,.header-inner nav a[aria-current]{color:var(--foreground)}.nav-dot{background:var(--accent-ink);opacity:0;border-radius:50%;width:4px;height:4px;position:absolute;bottom:0;left:calc(50% - 2px)}[aria-current] .nav-dot{opacity:1}.header-actions{align-items:center;gap:18px;display:flex}.theme-toggle{border-radius:50%;place-items:center;width:44px;height:44px;display:grid}.theme-toggle:hover{background:var(--surface)}.dark .moon-icon,.sun-icon{display:none}.dark .sun-icon{display:block}.header-contact{border:1px solid var(--border);border-radius:30px;align-items:center;gap:25px;height:44px;padding:0 21px;font-size:12px;transition:background .18s;display:flex}.header-contact:hover{background:var(--surface)}.hero{padding-top:34px}.hero-topline{justify-content:space-between;display:flex}.hero-layout{grid-template-columns:minmax(0,1fr) 275px;align-items:center;gap:64px;padding-top:68px;padding-bottom:64px;display:grid}.intro-name{align-items:center;gap:10px;margin-bottom:28px;font-size:13px;display:flex}.status-dot{background:#658453;border-radius:50%;flex-shrink:0;width:6px;height:6px;box-shadow:0 0 0 4px #65845312}h1{letter-spacing:-.075em;font-size:clamp(52px,6.7vw,96px);font-weight:500;line-height:1.04}.serif-word{letter-spacing:-.07em;font-family:Georgia,Times New Roman,serif;font-style:italic;font-weight:400}h1 .serif-word{color:var(--accent-ink)}.hero-copy{animation:rise-in .65s both}.hero-bottom{justify-content:space-between;align-items:center;gap:30px;max-width:555px;margin-top:36px;display:flex}.hero-bottom p{max-width:360px;color:var(--muted-foreground);font-size:15px;line-height:1.8}.round-link{border:1px solid var(--border);border-radius:50%;flex-shrink:0;place-items:center;width:54px;height:54px;transition:background .2s,transform .2s;display:grid}.round-link:hover{background:var(--surface);transform:translateY(3px)}.identity-card{background:var(--surface);padding:18px;transition:transform .35s;transform:rotate(3deg)}.identity-card:hover{transform:rotate(0)}.identity-top{justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px;display:flex}.identity-top .eyebrow{max-width:130px;font-size:8px}.asterisk{color:var(--accent-ink);font-size:37px;line-height:1}.portrait{aspect-ratio:1.1;width:100%;position:relative;overflow:hidden}.portrait img{object-fit:cover;filter:grayscale();transition:filter .4s}.identity-card:hover .portrait img{filter:grayscale(0)}.identity-caption{justify-content:space-between;align-items:center;padding-block:18px 15px;display:flex}.identity-caption strong{font-size:13px;font-weight:550;display:block}.identity-caption span{color:var(--muted-foreground);margin-top:4px;font-size:10px;display:block}.identity-location{border-top:1px solid var(--border);color:var(--muted-foreground);align-items:center;gap:7px;padding-top:13px;font-size:8px;display:flex}.identity-location>span:last-child{margin-left:auto}.identity-location .status-dot{width:4px;height:4px}.hero-foot{border-top:1px solid var(--border);justify-content:space-between;align-items:center;padding-block:17px;display:flex}.hero-foot .orange{margin-inline:14px}.brand-strip{border-block:1px solid var(--border)}.brand-inner{align-items:center;gap:80px;padding-block:29px;display:flex}.brand-inner>div{flex-wrap:wrap;flex:1;justify-content:space-between;gap:25px;display:flex}.brand-inner>div span{letter-spacing:-.06em;color:var(--muted-foreground);font-size:23px;font-weight:600}.brand-inner>div span:nth-child(2){letter-spacing:.05em;text-transform:uppercase;font-family:Georgia,serif;font-weight:400}.brand-inner>div span:nth-child(4){font-family:Georgia,serif;font-style:italic}.section{padding-block:90px}.section-heading h2{letter-spacing:-.055em;margin-top:15px;font-size:clamp(31px,3.4vw,46px);font-weight:500;line-height:1.12}.gallery-toolbar{justify-content:space-between;align-items:center;gap:20px;margin-top:23px;margin-bottom:30px;display:flex}.gallery-toolbar>p{color:var(--muted-foreground);font-size:13px}.project-filters{gap:3px;display:flex}.project-filters button{min-height:44px;color:var(--muted-foreground);border-radius:30px;padding:0 16px;font-size:12px;transition:background .18s,color .18s}.project-filters button[aria-pressed=true]{background:var(--foreground);color:var(--background)}.project-filters sup{margin-left:6px;font-size:8px}.project-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;display:grid}.project-card{min-width:0;animation:rise-in .35s both}.project-visual{background:#ddd9ec;justify-content:center;align-items:center;height:390px;display:flex;position:relative;overflow:hidden}.project-tone-1 .project-visual{background:#dce7d7}.project-tone-2 .project-visual{background:#f1dfb9}.project-index{font:9px var(--font-geist-mono),monospace;text-transform:uppercase;letter-spacing:.08em;color:#424337;position:absolute;top:18px;left:20px}.project-image{aspect-ratio:460/995;border-radius:18px;outline:5px solid #ffffff70;height:290px;transition:transform .45s cubic-bezier(.2,.7,.2,1);position:relative;overflow:hidden;transform:rotate(-6deg);box-shadow:0 18px 26px #27222a26}.project-tone-1 .project-image{transform:rotate(5deg)}.project-tone-2 .project-image{transform:rotate(-4deg)}.project-card:hover .project-image{transform:rotate(0)translateY(-5px)}.project-image img{object-fit:contain}.web-visual .project-image{aspect-ratio:16/11;background:#fff;border-radius:4px;width:90%;height:auto}.visual-caption{text-align:center;letter-spacing:.05em;color:#424337;width:100%;font-size:9px;position:absolute;bottom:16px}.project-info{padding-top:20px}.project-title{justify-content:space-between;align-items:center;gap:10px;display:flex}.project-title h3{letter-spacing:-.04em;font-size:23px;font-weight:500}.project-title .eyebrow{font-size:8px}.project-link{border:1px solid var(--border);border-radius:50%;place-items:center;min-width:44px;min-height:44px;display:grid}.project-info>p{color:var(--muted-foreground);margin-top:9px;font-size:12px}.tags{flex-wrap:wrap;gap:6px;margin-top:18px;display:flex}.tags span{color:var(--muted-foreground);border:1px solid var(--border);border-radius:4px;padding:4px 7px;font-size:9px}.gallery-footer{border-top:1px solid var(--border);justify-content:space-between;align-items:center;margin-top:35px;padding-top:17px;display:flex}.experience-section{background:var(--surface)}.experience-layout{grid-template-columns:1fr 1.8fr;gap:80px;display:grid}.experience-intro>p{color:var(--muted-foreground);max-width:280px;margin-top:24px;font-size:13px;line-height:1.9}.experience-stat{margin-block:35px 20px}.experience-stat strong{letter-spacing:-.06em;margin-bottom:6px;font-size:30px;font-weight:450;display:block}.experience-stat strong span{color:var(--accent-ink);margin-inline:8px}.job{border-top:1px solid var(--border)}.job:last-child{border-bottom:1px solid var(--border)}.job summary{cursor:pointer;align-items:center;gap:14px;padding-block:25px;list-style:none;display:flex}summary::-webkit-details-marker{display:none}.job-number{font:9px var(--font-geist-mono),monospace;color:var(--muted-foreground);align-self:flex-start;margin-top:7px}.job-title{flex:1}.job-title>strong{letter-spacing:-.04em;align-items:center;gap:12px;font-size:22px;font-weight:500;display:flex}.job-title>span{margin-top:6px;font-size:10px;display:block}.job-date,.job-title>span{color:var(--muted-foreground)}.job-date{font:8px var(--font-geist-mono),monospace}.details-plus{flex-shrink:0;transition:transform .2s}details[open]>summary .details-plus{transform:rotate(45deg)}.job-content{padding:0 25px 26px;animation:rise-in .2s}.job-products{margin-bottom:12px;font-size:11px;font-weight:500;line-height:1.8}.job-content ul{padding-left:14px;list-style:outside}.job-content li{color:var(--muted-foreground);margin-top:7px;font-size:11px;line-height:1.9}.heading-with-link{justify-content:space-between;align-items:end;gap:20px;margin-bottom:34px;display:flex}.repo-grid{border-top:1px solid var(--border);border-left:1px solid var(--border);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.repo{border-right:1px solid var(--border);border-bottom:1px solid var(--border);padding:30px;transition:background .2s}.repo:hover{background:var(--surface)}.repo-top{justify-content:space-between;align-items:center;margin-bottom:35px;display:flex}.repo h3{letter-spacing:-.035em;overflow-wrap:anywhere;font-size:22px;font-weight:500}.repo p{max-width:390px;color:var(--muted-foreground);margin-top:12px;font-size:12px;line-height:1.8}.recognition{padding-top:0}.award-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;margin-top:40px;display:grid}.award-grid article{border-top:1px solid var(--border);padding-top:26px}.award-grid .eyebrow{margin-top:24px;font-size:8px}.award-grid h3{letter-spacing:-.03em;margin-top:10px;font-size:19px;font-weight:500;line-height:1.4}.award-grid article>p:last-child{color:var(--muted-foreground);margin-top:12px;font-size:12px;line-height:1.8}.education{border-block:1px solid var(--border);margin-top:45px}.education summary{cursor:pointer;align-items:center;gap:20px;padding-block:22px;font-size:13px;list-style:none;display:flex}.education summary .eyebrow{margin-left:auto}.credential{border-top:1px solid var(--border);justify-content:space-between;gap:20px;padding-block:17px;font-size:11px;display:flex}.credential strong{font-weight:500}.credential span{color:var(--muted-foreground);text-align:right}#thoughts,.journal-entry{border-top:1px solid var(--border)}.journal-entry{align-items:center;gap:25px;padding-block:28px;display:flex}.journal-entry h3{letter-spacing:-.03em;flex:1;font-size:21px;font-weight:450}.journal-entry:hover h3{color:var(--accent-ink)}.journal-entry>svg{flex-shrink:0}.journal-fallback{background:var(--surface);align-items:center;gap:35px;min-height:170px;padding:30px;display:flex}.journal-mark{letter-spacing:-.08em;color:var(--accent-ink);font:italic 66px Georgia,serif}.journal-fallback h3{letter-spacing:-.04em;font-size:21px;font-weight:500}.journal-fallback p{color:var(--muted-foreground);margin-top:9px;font-size:12px;line-height:1.8}.journal-fallback .round-link{margin-left:auto}.contact{color:#242a20;--muted-foreground:#535d4c;--border:#bcc5b1;--surface:#d1dbc5;--accent-ink:#a8361b;background:#dfe6d5;padding-top:45px}.dark .contact{color:#ededed;--muted-foreground:#a3a3a3;--border:#2b2b2b;--surface:#191919;--accent-ink:#d4d4d4;background:#111}.contact-top{justify-content:space-between;display:flex}.contact-title{letter-spacing:-.075em;padding-block:48px 38px;font-size:clamp(55px,8.5vw,116px);line-height:1.03;display:block;position:relative}.contact-title>svg{stroke-width:1px;width:90px;height:90px;transition:transform .25s;position:absolute;top:65px;right:0}.contact-title:hover>svg{transform:translate(5px,-5px)}.contact-bottom{justify-content:space-between;align-items:center;gap:30px;padding-bottom:50px;display:flex}.contact-bottom>div{align-items:center;gap:15px;display:flex;position:relative}.email-link{letter-spacing:-.03em;border-bottom:1px solid;padding-block:8px;font-size:17px}.copy-button{border:1px solid var(--border);border-radius:50%;place-items:center;width:44px;height:44px;display:grid}.copy-button:hover{background:var(--surface)}.copy-status{font-size:11px;position:absolute;top:100%}.contact-bottom>p{color:var(--muted-foreground);font-size:11px;line-height:1.8}footer{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:20px;padding-block:27px;display:flex}footer>span{color:var(--muted-foreground);font-size:10px}footer>div{display:flex}footer>div a{place-items:center;width:44px;height:44px;display:grid}footer>div a:hover{color:var(--accent-ink)}@keyframes rise-in{0%{opacity:1;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (min-width:1500px){.hero-layout{padding-block:85px}}@media (max-width:1050px){.shell{width:calc(100% - 64px)}.hero-layout{grid-template-columns:minmax(0,1fr) 230px;gap:30px;padding-block:55px}h1{font-size:clamp(50px,6.9vw,75px)}.header-inner nav{padding-left:50px}.project-visual{height:345px}.project-image{height:245px}.experience-layout{grid-template-columns:1fr 1.6fr;gap:35px}.job-date{display:none}.job-title>span{font-size:11px}.brand-inner{gap:45px}}@media (max-width:700px){.shell{width:calc(100% - 40px)}.header-inner{height:70px}.wordmark{font-size:31px}.header-inner nav{gap:20px;padding:0}.header-actions{gap:0}.edition,.header-contact{display:none}.hero-topline .eyebrow{font-size:8px}.hero-layout{grid-template-columns:1fr;gap:32px;padding-top:36px;padding-bottom:35px}.intro-name{margin-bottom:22px;font-size:12px}h1{font-size:clamp(45px,10vw,70px)}.hero-bottom{gap:15px;max-width:none;margin-top:22px}.hero-bottom p{max-width:330px;font-size:13px}.round-link{width:46px;height:46px}.identity-card{grid-template-columns:65px 1fr;gap:0 15px;padding:15px;display:grid;transform:none}.identity-top{display:none}.portrait{aspect-ratio:1;border-radius:50%;grid-row:span 2;align-self:center}.identity-caption{padding:3px 0 9px}.identity-location{padding-top:9px;font-size:9px}.hero-foot{flex-wrap:wrap;gap:15px}.hero-foot .eyebrow{font-size:8px}.hero-foot .orange{margin-inline:6px}.brand-inner{gap:20px;padding-block:22px}.brand-inner>p{flex-shrink:0;font-size:8px}.brand-inner>div{justify-content:start;gap:12px 22px}.brand-inner>div span{font-size:17px}.section{padding-block:58px}.section-heading h2{font-size:33px}.gallery-toolbar{flex-direction:column;align-items:start;gap:16px;margin-top:18px}.gallery-toolbar>p{font-size:12px}.project-filters button{padding-inline:19px}.project-grid{grid-template-columns:1fr;gap:33px}.project-visual{height:400px}.project-image{height:305px}.project-info>p{font-size:13px}.tags span{font-size:10px}.gallery-footer .eyebrow{font-size:8px}.experience-layout{grid-template-columns:1fr;gap:30px}.experience-intro>p{max-width:380px}.experience-stat{margin-block:20px 10px}.job-date{max-width:80px;font-size:8px;display:block}.job-title>strong{font-size:21px}.job-title>span{font-size:10px;line-height:1.6}.job summary{gap:10px}.job-content li{font-size:12px}.heading-with-link{flex-wrap:wrap;gap:15px}.repo-grid{grid-template-columns:1fr}.repo{padding:25px}.repo h3{font-size:21px}.repo-top{margin-bottom:25px}.recognition{padding-top:0}.award-grid{grid-template-columns:1fr;gap:25px}.award-grid .eyebrow{margin-top:14px}.education summary{gap:10px;font-size:12px}.education summary .eyebrow{font-size:8px}.credential{flex-direction:column;gap:7px}.credential span{text-align:left}.journal-fallback{gap:18px;padding:22px}.journal-mark{display:none}.journal-fallback h3{font-size:19px}.journal-entry{gap:15px}.journal-entry h3{font-size:18px}.journal-entry>.eyebrow:nth-last-child(2){display:none}.contact{padding-top:30px}.contact-top .eyebrow{font-size:8px}.contact-top>span{display:none}.contact-title{padding-block:34px;font-size:clamp(48px,10vw,70px)}.contact-title>svg{width:40px;height:40px;top:auto;bottom:35px}.contact-bottom{flex-direction:column;align-items:start;gap:22px;padding-bottom:30px}.email-link{font-size:16px}footer{flex-wrap:wrap;gap:12px}footer>span{margin-left:auto}footer>div{margin-left:-12px}footer>.text-link{margin-left:auto}}@media (prefers-reduced-motion:reduce){.hero-copy,.job-content,.project-card{animation:none}.identity-card,.project-card:hover .project-image,.project-image,.round-link:hover{transform:none}}.language-toggle{border:1px solid var(--border);min-height:44px;font-family:var(--font-geist-mono),monospace;color:var(--muted-foreground);border-radius:24px;align-items:center;gap:6px;padding-inline:10px;font-size:10px;display:inline-flex}.language-toggle:hover{background:var(--surface)}.language-active{color:var(--foreground);font-weight:700}.language-divider{opacity:.6}html[lang=tr] .contact-title{font-size:clamp(48px,7.8vw,106px)}@media (max-width:1050px){.header-inner nav{padding-left:0}.header-actions{gap:8px}}@media (max-width:560px){html{scroll-padding-top:135px}.header-inner{flex-wrap:wrap;height:auto;min-height:104px;padding-top:10px}.header-inner nav{order:3;justify-content:center;gap:35px;width:100%}.header-inner nav a{min-height:44px}.header-actions{margin-left:auto}html[lang=tr] .contact-title{font-size:clamp(39px,9.2vw,50px)}html[lang=tr] .contact-title>svg{width:28px;height:28px;bottom:8px}}.lab-project-heading{border-top:1px solid var(--border);align-items:center;gap:20px;padding-top:28px;display:flex}.lab-project-number{font-family:var(--font-geist-mono),monospace;color:var(--muted-foreground);font-size:14px}.lab-project-heading h3{letter-spacing:-.04em;margin-top:8px;font-size:clamp(24px,4vw,38px);line-height:1.2}.lab-project-tag{color:var(--accent-ink);margin-left:auto;font-size:11px}.gcs-timeline{color:var(--gcs-muted);align-items:center;gap:16px;padding:14px 18px;font-size:11px;display:flex}.gcs-timeline input{min-width:0;height:24px;accent-color:var(--gcs-accent);cursor:pointer;flex:1}.gcs-timeline>span{text-align:right;min-width:4ch}.gcs-rate{color:var(--gcs-muted);align-items:center;gap:8px;font-size:11px;display:flex}.gcs-rate select{background:var(--gcs-panel);color:var(--gcs-text);border:1px solid var(--gcs-border);border-radius:5px;padding:8px}@media (max-width:520px){.lab-project-heading{flex-wrap:wrap;gap:12px}.lab-project-tag{width:100%;margin-left:28px}.gcs-timeline{flex-wrap:wrap;gap:8px}.gcs-timeline label{width:100%}}.lab-lede{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:30px;margin-block:24px 26px;display:flex}.lab-lede>p{color:var(--muted-foreground);max-width:620px;font-size:13px;line-height:1.85}.lab-lede-meta{flex-direction:column;align-items:flex-end;gap:10px;display:flex}.lab-hint{color:var(--foreground);text-align:right;font-size:12px;font-weight:550}.lab-badge{letter-spacing:.04em;color:var(--accent-ink);border:1px solid var(--accent-ink);white-space:nowrap;border-radius:20px;padding:5px 12px;font-size:10px;display:inline-block}.lab-skills{color:var(--muted-foreground);max-width:620px;margin-top:18px;font-size:12px;line-height:1.8}.gcs-placeholder-body{background:repeating-linear-gradient(90deg,transparent 0 27px,var(--gcs-grid) 27px 28px),repeating-linear-gradient(0deg,transparent 0 27px,var(--gcs-grid) 27px 28px);height:760px}.gcs{--gcs-bg:#0a1117;--gcs-panel:#0e171f;--gcs-border:#1b2b36;--gcs-grid:#16242e;--gcs-text:#dbe8ef;--gcs-muted:#7d97a6;--gcs-accent:#4ade80;--gcs-accent-soft:#4ade8026;--gcs-amber:#fbbf24;--gcs-red:#f87171;--gcs-scan:#4ade8080;--gcs-route:#31505f;--gcs-route-marker:#3f6274;--gcs-fence:#2b4756;--gcs-fence-fill:#12212b80;background:var(--gcs-bg);border:1px solid var(--gcs-border);color:var(--gcs-text);font-family:var(--font-geist-mono),monospace;border-radius:12px;overflow:hidden}.gcs-titlebar{border-bottom:1px solid var(--gcs-border);background:#0c141b;flex-wrap:wrap;align-items:center;gap:14px;padding:13px 18px;display:flex}.gcs-app{letter-spacing:.16em;text-transform:uppercase;color:var(--gcs-text);align-items:center;gap:8px;font-size:11px;display:inline-flex}.gcs-meta{letter-spacing:.1em;color:var(--gcs-muted);font-size:10px}.gcs-link{letter-spacing:.08em;color:var(--gcs-accent);align-items:center;gap:8px;margin-left:auto;font-size:10px;display:inline-flex}.gcs-link-moderate{color:var(--gcs-amber)}.gcs-link-lost,.gcs-link-weak{color:var(--gcs-red)}.gcs-link-dot,.gcs-state-dot{background:currentColor;border-radius:50%;width:7px;height:7px}.gcs-toolbar{flex-wrap:wrap;align-items:center;gap:10px;padding:14px 18px;display:flex}.gcs-button{border:1px solid var(--gcs-border);min-height:40px;color:var(--gcs-text);letter-spacing:.08em;text-transform:uppercase;background:#101c25;border-radius:6px;align-items:center;gap:8px;padding:0 15px;font-family:inherit;font-size:11px;transition:border-color .16s;display:inline-flex}.gcs-button-primary,.gcs-button:hover{border-color:var(--gcs-accent)}.gcs-button-primary{background:var(--gcs-accent);color:#06120b;font-weight:600}.gcs-button-primary:hover{background:#6ee79b}.gcs :focus-visible{outline:2px solid var(--gcs-accent);outline-offset:3px}.gcs-state{letter-spacing:.1em;text-transform:uppercase;color:var(--gcs-muted);align-items:center;gap:8px;font-size:10px;display:inline-flex}.gcs-state-live{color:var(--gcs-accent)}.gcs-clock{letter-spacing:.1em;color:var(--gcs-amber);margin-left:auto;font-size:12px}.gcs-progress{background:var(--gcs-grid);height:2px}.gcs-progress>span{background:var(--gcs-accent);height:100%;transition:width .26s linear;display:block}.gcs-layout{background:var(--gcs-border);border-block:1px solid var(--gcs-border);grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:1px;display:grid}.gcs-map-panel,.gcs-side{background:var(--gcs-panel);min-width:0;padding:16px 18px}.gcs-panel-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:12px;display:flex}.gcs-label{letter-spacing:.16em;text-transform:uppercase;color:var(--gcs-muted);font-size:9px}.gcs-coords{color:var(--gcs-accent);font-size:10px}.gcs-map{border:1px solid var(--gcs-border);background:#08111a;border-radius:8px;width:100%;height:auto;display:block}.gcs-map-legend{letter-spacing:.08em;text-transform:uppercase;color:var(--gcs-muted);flex-wrap:wrap;gap:18px;margin-top:12px;font-size:9px;display:flex}.gcs-map-legend span:before{content:"";vertical-align:middle;width:14px;height:2px;margin-right:7px;display:inline-block}.gcs-legend-trail:before{background:var(--gcs-accent)}.gcs-legend-route:before{background:var(--gcs-route)}.gcs-legend-fence:before{background:var(--gcs-fence)}.gcs-instruments{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.gcs-tile{border:1px solid var(--gcs-border);background:#0c151d;border-radius:8px;flex-direction:column;gap:8px;padding:12px;display:flex}.gcs-tile strong{letter-spacing:-.02em;color:var(--gcs-text);font-variant-numeric:tabular-nums;align-items:baseline;gap:4px;font-size:24px;font-weight:500;display:flex}.gcs-tile strong small{color:var(--gcs-muted);font-size:10px}.gcs-tile-compass{position:relative}.gcs-compass{border:1px solid var(--gcs-border);border-radius:50%;width:34px;height:34px;position:absolute;top:10px;right:10px}.gcs-compass-needle{background:var(--gcs-accent);transform-origin:50% 100%;width:2px;height:13px;margin-left:-1px;transition:transform .3s;position:absolute;top:4px;left:50%}.gcs-bar{background:var(--gcs-grid);border-radius:2px;height:4px;display:block;overflow:hidden}.gcs-bar>span{background:var(--gcs-accent);height:100%;transition:width .26s linear;display:block}.gcs-bar>span.gcs-bar-low{background:var(--gcs-amber)}.gcs-sensors{border-top:1px solid var(--gcs-border);margin-top:16px;padding-top:14px}.gcs-sensors dl{flex-direction:column;gap:8px;margin-top:10px;display:flex}.gcs-sensors dl>div{justify-content:space-between;gap:12px;font-size:11px;display:flex}.gcs-sensors dt{color:var(--gcs-muted)}.gcs-sensors dd{color:var(--gcs-text);font-variant-numeric:tabular-nums;margin:0}.gcs-phases{border-bottom:1px solid var(--gcs-border);padding:16px 18px}.gcs-phases ol{gap:6px;margin-top:12px;padding:0;list-style:none;display:flex;overflow-x:auto}.gcs-phases li{border-top:2px solid var(--gcs-grid);letter-spacing:.06em;text-transform:uppercase;min-width:92px;color:var(--gcs-muted);flex:1;padding-top:8px;font-size:10px}.gcs-phases .gcs-phase-done{border-top-color:var(--gcs-route-marker);color:#9fb6c2}.gcs-phases .gcs-phase-active{border-top-color:var(--gcs-accent);color:var(--gcs-accent)}.gcs-bottom{background:var(--gcs-border);grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:1px;display:grid}.gcs-alerts,.gcs-chart-panel{background:var(--gcs-panel);min-width:0;padding:16px 18px}.gcs-chart-legend{letter-spacing:.06em;text-transform:uppercase;gap:14px;font-size:9px;display:flex}.gcs-legend-altitude{color:var(--gcs-accent)}.gcs-legend-speed{color:var(--gcs-amber)}.gcs-summary{color:var(--gcs-muted);margin-top:14px;font-size:11px;line-height:1.8}.gcs-alerts ul{flex-direction:column;gap:9px;max-height:230px;margin-top:12px;padding:0;list-style:none;display:flex;overflow-y:auto}.gcs-alert{border-left:2px solid var(--gcs-route-marker);background:#0c151d;grid-template-columns:auto auto;gap:4px 10px;padding:8px 10px;font-size:10px;display:grid}.gcs-alert-level{letter-spacing:.1em;text-transform:uppercase;color:var(--gcs-muted)}.gcs-alert-time{color:var(--gcs-muted);text-align:right}.gcs-alert-message{color:var(--gcs-text);grid-column:1/-1;font-size:11px;line-height:1.7}.gcs-alert-warning{border-left-color:var(--gcs-amber)}.gcs-alert-warning .gcs-alert-level{color:var(--gcs-amber)}.gcs-alert-critical{border-left-color:var(--gcs-red)}.gcs-alert-critical .gcs-alert-level{color:var(--gcs-red)}.gcs-alert-info{border-left-color:var(--gcs-accent)}.gcs-alert-info .gcs-alert-level{color:var(--gcs-accent)}.gcs-alerts-empty{color:var(--gcs-muted);margin-top:12px;font-size:11px;line-height:1.7}@media (max-width:1050px){.gcs-bottom,.gcs-layout{grid-template-columns:1fr}}@media (max-width:700px){.lab-lede-meta{align-items:flex-start}.lab-hint{text-align:left}.gcs-placeholder-body{height:900px}.gcs-clock{margin-left:0}.gcs-instruments{grid-template-columns:1fr}.gcs-tile strong{font-size:21px}.gcs-alerts,.gcs-chart-panel,.gcs-map-panel,.gcs-phases,.gcs-side,.gcs-toolbar{padding-inline:13px}}@media (prefers-reduced-motion:reduce){.gcs-bar>span,.gcs-compass-needle,.gcs-progress>span{transition:none}}.lab-intro{text-align:center;max-width:660px;margin:0 auto 42px}.lab-intro h2{letter-spacing:-.055em;text-wrap:balance;margin:18px 0;font-size:clamp(36px,5.5vw,64px);line-height:1.08}.lab-intro-description{max-width:520px;color:var(--muted-foreground);text-wrap:pretty;margin:0 auto 22px;font-size:15px;line-height:1.8}.lab-intro .lab-project-tag{align-items:center;gap:8px;width:auto;margin:0;display:inline-flex}.lab-project-tag>span{background:currentColor;border-radius:50%;width:6px;height:6px}.lab-stage{background:radial-gradient(at 20% 0,#f1f4da 0,#0000 60%),radial-gradient(at 100% 100%,#acc8bf 0,#0000 65%),#d9e4dd;border:1px solid #c7d7cf;border-radius:24px;padding:clamp(14px,4vw,48px)}.lab-window{background:#101b22;border:1px solid #ffffff45;border-radius:12px;overflow:hidden;box-shadow:0 32px 60px -20px #152d3d65,0 8px 18px -6px #152d3d40}.lab-window-bar{color:#b3c2ca;background:#19252d;border-bottom:1px solid #ffffff0d;justify-content:space-between;align-items:center;gap:14px;min-height:42px;padding:10px 16px;font-size:10px;display:flex}.lab-window-dots{gap:6px;display:flex}.lab-window-dots i{background:#58646b;border-radius:50%;width:8px;height:8px;display:block}.lab-window-dots i:first-child{background:#db8e80}.lab-window-dots i:nth-child(2){background:#d5b672}.lab-window-dots i:nth-child(3){background:#86b79b}.lab-window-mode{color:#a2b3bc;font-size:9px}.lab-window .gcs{--gcs-accent:#8bd5b5;--gcs-accent-soft:#8bd5b51c;--gcs-panel:#111d25;--gcs-bg:#0f1921;--gcs-border:#25343d;--gcs-muted:#99adb9;border:0;border-radius:0;font-family:inherit}.lab-window .gcs-titlebar{background:var(--gcs-bg);padding-block:16px}.lab-window .gcs-app{letter-spacing:.07em}.lab-window .gcs-tile{background:#ffffff03;border-radius:8px}.lab-window .gcs-clock,.lab-window .gcs-coords,.lab-window .gcs-sensors dd,.lab-window .gcs-tile strong{font-family:var(--font-geist-mono),monospace;font-variant-numeric:tabular-nums}.lab-window .gcs-button{border-radius:6px;min-height:36px}.lab-caption{color:var(--muted-foreground);flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:22px;font-size:11px;line-height:1.8;display:flex}.lab-caption>span{white-space:nowrap}.dark .lab-stage{background:radial-gradient(at 10% 0,#303030,#0000 60%),#171717;border-color:#333}@media (max-width:600px){.lab-intro{margin-bottom:28px}.lab-stage{border-radius:16px;padding:10px}.lab-window-bar{padding-inline:10px}.lab-window .gcs-meta,.lab-window-mode{display:none}.lab-caption{text-align:center;justify-content:center}}.aircraft-inspector{border:1px solid var(--gcs-border);background:radial-gradient(at 50% 35%,#8bd5b512,#0000 70%);border-radius:10px;margin-bottom:22px;padding:14px}.aircraft-model{cursor:grab;touch-action:pan-y;width:100%;max-height:230px;display:block}.aircraft-model:active{cursor:grabbing}.aircraft-controls{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.aircraft-controls .gcs-button{min-width:40px;min-height:40px}.aircraft-controls [aria-pressed=true]{color:var(--gcs-accent);border-color:var(--gcs-accent);background:var(--gcs-accent-soft)}.aircraft-hint{text-align:center;color:var(--gcs-muted);margin-top:10px;font-size:10px;line-height:1.7}.project-visual{perspective:900px}.phone-visual .project-image{background:#20272c;border:6px solid #20272c;border-radius:24px;outline:1px solid #718087;box-shadow:5px 6px #11191e,12px 24px 34px #17232c35}.phone-visual .project-image:after{content:"";pointer-events:none;background:#ffffffb3;border-radius:4px;width:30%;height:3px;position:absolute;bottom:5px;left:35%}@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.project-card:hover .project-image{transform:rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) translateY(-5px)}}@media (pointer:coarse),(prefers-reduced-motion:reduce){.project-card .project-image,.project-card:hover .project-image{transition:none;transform:none}.aircraft-model{cursor:default}}.mission-scenarios{border-bottom:1px solid var(--gcs-border);flex-wrap:wrap;align-items:center;gap:8px;padding:18px;display:flex}.mission-scenarios>span{margin-right:8px}.mission-scenarios [aria-pressed=true],.mission-tools [aria-pressed=true]{border-color:var(--gcs-accent);color:var(--gcs-accent);background:var(--gcs-accent-soft)}.mission-notice{color:var(--gcs-muted);border-bottom:1px solid var(--gcs-border);padding:12px 18px;font-size:12px;line-height:1.7}.mission-notice-warning{color:var(--gcs-amber);background:#fbbf240a}.mission-tools{border-top:1px solid var(--gcs-border)}.mission-tools h3{letter-spacing:-.03em;margin:10px 0;font-size:clamp(20px,3vw,28px);font-weight:500;line-height:1.3}.mission-tools p{color:var(--gcs-muted);max-width:680px;font-size:12px;line-height:1.9}.mission-analysis,.mission-architecture,.mission-export,.mission-story{border-bottom:1px solid var(--gcs-border);padding:clamp(18px,3vw,30px)}.mission-story{background:linear-gradient(120deg,#8bd5b509,#0000)}.mission-story-steps{grid-template-columns:repeat(3,1fr);gap:8px;margin:22px 0;display:grid}.mission-story-steps button{justify-content:flex-start;min-height:48px}.mission-story-steps span{opacity:.5;margin-right:10px}.mission-story-copy{border-left:2px solid var(--gcs-accent);min-height:110px;padding-left:18px}.mission-story-copy strong{font-size:15px;font-weight:500}.mission-story-copy p{margin-top:10px}.mission-questions{flex-wrap:wrap;gap:8px;margin:18px 0;display:flex}.mission-tools .gcs-button{white-space:normal;text-align:left;min-height:40px;line-height:1.5}.mission-answer{border:1px solid var(--gcs-border);border-radius:8px;margin-bottom:12px;padding:16px;font-size:13px;line-height:1.8}.mission-architecture summary{cursor:pointer;padding:6px 0;font-size:13px}.mission-layer-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:22px;display:grid}.mission-layer-grid h4{margin:10px 0}.mission-layer-grid code{color:var(--gcs-accent);margin-top:12px;font-size:11px;display:block}.mission-export{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.mission-export>span{width:100%;color:var(--gcs-accent);font-size:11px}@media (max-width:600px){.mission-layer-grid,.mission-story-steps{grid-template-columns:1fr}.mission-story-copy{min-height:0}}.lab-page-nav{justify-content:space-between;gap:20px;margin-bottom:48px;font-size:13px;display:flex}.lab-intro h1{letter-spacing:-.05em;margin:18px 0;font-size:clamp(32px,5vw,52px);line-height:1.1}.lab-disclosure>summary{cursor:pointer;color:var(--gcs-muted);border-top:1px solid var(--gcs-border);padding:18px;font-size:12px}.lab-disclosure[open]>summary{color:var(--gcs-accent)}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px}.project-featured{grid-column:1/-1;grid-template-columns:1.25fr 1fr;align-items:center;gap:36px;display:grid}.project-featured .project-visual{height:440px}.project-featured .project-image{height:340px}.project-featured .project-info{padding:16px 0}.project-featured .web-visual .project-image{height:auto}.project-info>p{font-size:14px;line-height:1.8}.project-info .project-contribution{margin-top:16px;font-size:13px}.project-contribution strong{color:var(--foreground);font-weight:500}.project-info .tags{gap:8px;margin-top:18px}.project-info .tags span{padding:5px 8px;font-size:11px}.project-inspect{min-height:44px;margin-top:24px}.project-store{white-space:nowrap;min-height:44px;font-size:12px}.project-index,.visual-caption{font-size:11px}.project-viewer{border:1px solid var(--border);background:var(--background);width:min(1040px,96vw);max-height:94dvh;color:var(--foreground);border-radius:16px;margin:auto;padding:0;position:fixed;inset:0;overflow:auto}.project-viewer::backdrop{background:#101820bf}.viewer-content{padding:24px}.viewer-content footer,.viewer-content header{justify-content:space-between;align-items:center;gap:16px;display:flex}.viewer-content h2{letter-spacing:-.04em;margin-top:6px;font-size:24px}.viewer-image{background:var(--surface);touch-action:pan-y pinch-zoom;border-radius:8px;height:min(60dvh,680px);margin:24px 0;position:relative}.viewer-image img{object-fit:contain}.viewer-content>p{color:var(--muted-foreground);max-width:700px;font-size:14px;line-height:1.8}.viewer-content footer{flex-wrap:wrap;margin-top:20px}.viewer-content button,.viewer-content footer a{min-height:44px}@media (max-width:700px){.project-featured,.project-grid{grid-template-columns:1fr;gap:28px}.project-featured .project-visual,.project-visual{height:420px}.project-card .project-image{height:330px;transform:none}.project-card .web-visual .project-image{height:auto}.project-featured .project-info{padding:0}.viewer-content{padding:16px}.viewer-image{height:55dvh}}.portfolio-centered .shell,.site-header .shell{width:calc(100% - 48px);max-width:880px}.personal-intro{padding-block:76px 52px}.personal-avatar{object-fit:cover;border-radius:50%;width:132px;height:132px;margin-bottom:20px;display:block}.personal-location{color:var(--muted-foreground);margin-bottom:10px;font-size:12px}.personal-intro h1{letter-spacing:-.045em;font-size:clamp(30px,5vw,44px);font-weight:550;line-height:1.16}.personal-role{color:var(--foreground);margin-top:10px;font-size:17px}.personal-description{max-width:570px;color:var(--muted-foreground);text-wrap:pretty;margin-top:22px;font-size:16px;line-height:1.85}.personal-links{flex-wrap:wrap;gap:24px;margin-top:24px;display:flex}.personal-links a{min-height:44px;font-size:13px}.portfolio-centered .section{padding-block:48px}.portfolio-centered .section-heading h2{letter-spacing:-.035em;font-size:clamp(25px,4vw,32px);line-height:1.2}.portfolio-centered .brand-strip{background:0 0;border:0}.portfolio-centered .brand-inner{border-block:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:24px;padding-block:24px}.portfolio-centered .brand-inner>div{flex-wrap:wrap;gap:24px}.portfolio-centered .brand-inner>div span{font-size:19px}.portfolio-centered .experience-section{background:0 0}.portfolio-centered .experience-layout{grid-template-columns:1fr;gap:28px}.portfolio-centered .experience-intro>p{max-width:580px;margin-top:16px}.portfolio-centered .experience-stat{display:none}.portfolio-centered .experience-intro>a{margin-top:16px;display:inline-flex}.portfolio-centered .contact{border-top:1px solid var(--border);background:0 0;margin-top:24px;padding-top:40px}.portfolio-centered .contact-title{font-size:clamp(34px,6vw,62px);line-height:1.15}.portfolio-centered .contact-title>svg{width:32px;height:32px}.portfolio-centered .contact-bottom{flex-wrap:wrap;gap:24px}.portfolio-centered .project-featured{gap:28px}@media (max-width:700px){.portfolio-centered .shell,.site-header .shell{width:calc(100% - 36px)}.personal-intro{padding-block:44px 32px}.personal-links{gap:18px}.portfolio-centered .section{padding-block:36px}.portfolio-centered .brand-inner{align-items:flex-start}.portfolio-centered .contact-title>svg{width:24px;height:24px}}.dark .project-card .project-visual{background:#1b1b1b}.dark .project-tone-1 .project-visual{background:#202020}.dark .project-tone-2 .project-visual{background:#252525}.dark .project-index,.dark .visual-caption{color:#b5b5b5}.dark .lab-window{background:#111;border-color:#3a3a3a;box-shadow:0 24px 60px -20px #0009}.dark .lab-window-bar{color:#ccc;background:#202020}.dark .lab-window-mode{color:#aaa}.dark .lab-window .gcs{--gcs-bg:#111;--gcs-panel:#171717;--gcs-border:#303030;--gcs-grid:#262626;--gcs-text:#ededed;--gcs-muted:#aaa;--gcs-accent:#d4d4d4;--gcs-accent-soft:#ffffff12;--gcs-scan:#ffffff70;--gcs-route:#777;--gcs-route-marker:#999;--gcs-fence:#555;--gcs-fence-fill:#ffffff05}.dark .aircraft-inspector,.dark .mission-story{background:#ffffff03}.dark .gcs-button-primary{color:#111}.personal-intro{grid-template-columns:minmax(0,1fr) 272px;align-items:center;gap:40px;display:grid}.personal-copy{min-width:0}.proof-row{flex-wrap:wrap;gap:8px 20px;margin-top:22px;padding:0;list-style:none;display:flex}.proof-row li{color:var(--foreground);align-items:center;gap:7px;font-size:12px;display:inline-flex}.proof-row svg{flex-shrink:0}.skill-tags{margin-top:18px}.skill-tags span{padding:5px 9px;font-size:11px}.download-resume{align-items:center;display:inline-flex;position:relative}.download-resume .copy-status{white-space:nowrap;font-size:10px;position:absolute;top:100%;left:0}.hero-telemetry{color:var(--foreground);border:1px solid var(--border);background:var(--surface);font-family:var(--font-geist-mono),monospace;border-radius:14px;padding:16px;transition:transform .3s cubic-bezier(.2,.7,.2,1),border-color .3s,box-shadow .3s;display:block}.hero-telemetry:hover{border-color:var(--accent-ink);transform:translateY(-3px);box-shadow:0 18px 40px -24px #0006}.hero-telemetry footer,.hero-telemetry header{justify-content:space-between;align-items:center;gap:10px;display:flex}.hero-telemetry header .eyebrow{align-items:center;gap:7px;font-size:9px;display:inline-flex}.telemetry-dot{background:var(--muted-foreground);border-radius:50%;width:6px;height:6px}.telemetry-dot.is-live{background:var(--accent-solid);box-shadow:0 0 0 0 var(--accent-solid);animation:telemetry-ping 1.6s ease-out infinite}@keyframes telemetry-ping{0%{box-shadow:0 0 0 0 color-mix(in oklab,var(--accent-solid) 55%,transparent)}to{box-shadow:0 0 0 7px #0000}}.telemetry-map{background:var(--background);border-radius:8px;width:100%;margin:12px 0 10px;display:block}.telemetry-route{fill:none;stroke:var(--muted-foreground);stroke-width:.9px;stroke-dasharray:2.5 3;opacity:.55}.telemetry-trail{fill:none;stroke:var(--accent-ink);stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round}.telemetry-wp{fill:var(--muted-foreground)}.telemetry-aircraft{fill:var(--accent-ink)}.telemetry-pulse{fill:var(--accent-solid);opacity:.18}.telemetry-stats{grid-template-columns:repeat(3,1fr);gap:8px;margin:0;display:grid}.telemetry-stats dt{letter-spacing:.1em;text-transform:uppercase;color:var(--muted-foreground);font-size:8px}.telemetry-stats dd{letter-spacing:-.03em;font-variant-numeric:tabular-nums;margin:2px 0 0;font-size:17px;font-weight:500}.telemetry-stats small{color:var(--muted-foreground);font-size:9px;font-weight:400}.telemetry-spark{width:100%;height:34px;margin:12px 0 10px;display:block}.telemetry-spark polyline{fill:none;stroke:var(--muted-foreground);stroke-width:1px;opacity:.6;vector-effect:non-scaling-stroke}.telemetry-spark line{stroke:var(--accent-ink);stroke-width:1px;vector-effect:non-scaling-stroke}.hero-telemetry footer .eyebrow{color:var(--foreground);font-size:9px}.telemetry-open{color:var(--accent-ink);align-items:center;gap:4px;font-size:11px;display:inline-flex}.dark .hero-telemetry{background:#111}.dark .telemetry-map{background:#0b0b0b}.job-content .job-products{flex-wrap:wrap;gap:6px;margin:0 0 14px;padding:0;list-style:none;display:flex}.job-products li{color:var(--foreground);border:1px solid var(--border);background:var(--background);border-radius:4px;padding:4px 8px;font-size:10px;font-weight:500}.job-products li.is-key{color:var(--accent-ink);border-color:var(--accent-ink)}.project-card .project-image img{transition:transform .6s cubic-bezier(.2,.7,.2,1)}.project-card:hover .project-image img{transform:scale(1.035)}.project-card:hover .project-image{box-shadow:0 26px 36px #27222a33}[data-reveal]{transition:opacity .65s,transform .65s cubic-bezier(.2,.7,.2,1)}html[data-reveal=ready] [data-reveal]:not(.is-visible){opacity:0;transform:translateY(14px)}@media (max-width:700px){.personal-intro{grid-template-columns:1fr;gap:28px}.hero-telemetry{max-width:360px}.proof-row{gap:8px 16px}.proof-row li{font-size:11px}.portfolio-centered .brand-inner>div{scrollbar-width:none;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;gap:22px;padding-bottom:4px;overflow-x:auto}.portfolio-centered .brand-inner>div::-webkit-scrollbar{display:none}.portfolio-centered .brand-inner>div span{white-space:nowrap}.portfolio-centered .contact-title{letter-spacing:-.05em;font-size:clamp(30px,9vw,44px)}}@media (prefers-reduced-motion:reduce){.telemetry-dot.is-live{animation:none}.hero-telemetry,.project-card .project-image img,[data-reveal]{transition:none}html[data-reveal=ready] [data-reveal]:not(.is-visible){opacity:1;transform:none}}@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-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}