@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-scrollbar-thumb:#0000;--tw-scrollbar-track:#0000;--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-content:""}}}@layer theme{:root,:host{--font-mono:var(--font-jetbrains-mono);--color-red-500:#fb2c36;--color-emerald-500:#00bb7f;--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-xl:36rem;--container-2xl:42rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--tracking-wide:.025em;--tracking-widest:.1em;--leading-tight:1.25;--leading-relaxed:1.625;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--radius-3xl:1.5rem;--radius-4xl:2rem;--animate-spin:spin 1s linear infinite;--blur-sm:8px;--blur-md:12px;--blur-xl:24px;--aspect-video:16 / 9;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-outfit);--default-mono-font-family:var(--font-jetbrains-mono);--color-card:var(--surface-card);--color-primary:var(--accent);--color-muted:var(--surface-subtle);--color-accent:var(--surface-accent)}@supports (color:lab(0% 0 0)){:root,:host{--color-red-500:lab(55.4814% 75.0732 48.8528);--color-emerald-500:lab(66.9756% -58.27 19.5419)}}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-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;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.\@container{container-type:inline-size}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:0}.top-0{top:0}.top-3{top:calc(var(--spacing) * 3)}.top-4{top:calc(var(--spacing) * 4)}.right-0{right:0}.right-1{right:var(--spacing)}.right-4{right:calc(var(--spacing) * 4)}.right-15{right:calc(var(--spacing) * 15)}.bottom-0{bottom:0}.bottom-1{bottom:var(--spacing)}.bottom-4{bottom:calc(var(--spacing) * 4)}.bottom-15{bottom:calc(var(--spacing) * 15)}.left-0{left:0}.left-2{left:calc(var(--spacing) * 2)}.left-3{left:calc(var(--spacing) * 3)}.left-4{left:calc(var(--spacing) * 4)}.z-10{z-index:10}.z-50{z-index:50}.z-\[100\]{z-index:100}.order-1{order:1}.order-2{order:2}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.-mx-1{margin-inline:calc(var(--spacing) * -1)}.mx-auto{margin-inline:auto}.my-1{margin-block:var(--spacing)}.my-3{margin-block:calc(var(--spacing) * 3)}.my-6{margin-block:calc(var(--spacing) * 6)}.-mt-10{margin-top:calc(var(--spacing) * -10)}.mt-1{margin-top:var(--spacing)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-auto{margin-top:auto}.mr-1{margin-right:var(--spacing)}.mr-2{margin-right:calc(var(--spacing) * 2)}.mb-1{margin-bottom:var(--spacing)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.ml-4{margin-left:calc(var(--spacing) * 4)}.ml-6{margin-left:calc(var(--spacing) * 6)}.ml-12{margin-left:calc(var(--spacing) * 12)}.ml-auto{margin-left:auto}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-3{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.contents{display:contents}.contents\!{display:contents!important}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.field-sizing-content{field-sizing:content}.aspect-square{aspect-ratio:1}.aspect-video{aspect-ratio:var(--aspect-video)}.size-2{width:calc(var(--spacing) * 2);height:calc(var(--spacing) * 2)}.size-3\.5{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.size-full{width:100%;height:100%}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-3{height:calc(var(--spacing) * 3)}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-12{height:calc(var(--spacing) * 12)}.h-14{height:calc(var(--spacing) * 14)}.h-16{height:calc(var(--spacing) * 16)}.h-24{height:calc(var(--spacing) * 24)}.h-40{height:calc(var(--spacing) * 40)}.h-\[18px\]{height:18px}.h-full{height:100%}.h-px{height:1px}.max-h-\(--radix-dropdown-menu-content-available-height\){max-height:var(--radix-dropdown-menu-content-available-height)}.max-h-\[140px\]{max-height:140px}.min-h-11{min-height:calc(var(--spacing) * 11)}.min-h-16{min-height:calc(var(--spacing) * 16)}.min-h-\[60px\]{min-height:60px}.min-h-full{min-height:100%}.w-1\.5{width:calc(var(--spacing) * 1.5)}.w-3{width:calc(var(--spacing) * 3)}.w-3\.5{width:calc(var(--spacing) * 3.5)}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-6{width:calc(var(--spacing) * 6)}.w-7{width:calc(var(--spacing) * 7)}.w-8{width:calc(var(--spacing) * 8)}.w-10{width:calc(var(--spacing) * 10)}.w-12{width:calc(var(--spacing) * 12)}.w-14{width:calc(var(--spacing) * 14)}.w-16{width:calc(var(--spacing) * 16)}.w-24{width:calc(var(--spacing) * 24)}.w-64{width:calc(var(--spacing) * 64)}.w-\[18px\]{width:18px}.w-\[240px\]{width:240px}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-xl{max-width:var(--container-xl)}.min-w-0{min-width:0}.min-w-\[8rem\]{min-width:8rem}.flex-1{flex:1}.flex-shrink,.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.origin-\(--radix-dropdown-menu-content-transform-origin\){transform-origin:var(--radix-dropdown-menu-content-transform-origin)}.scale-3d{scale:var(--tw-scale-x) var(--tw-scale-y) var(--tw-scale-z)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-spin{animation:var(--animate-spin)}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.resize{resize:both}.resize-none{resize:none}.scrollbar-thin{scrollbar-width:thin}.scrollbar-thumb-border{--tw-scrollbar-thumb:var(--ink-a10);scrollbar-color:var(--tw-scrollbar-thumb) var(--tw-scrollbar-track)}.scrollbar-track-transparent{--tw-scrollbar-track:transparent;scrollbar-color:var(--tw-scrollbar-thumb) var(--tw-scrollbar-track)}.columns-2{columns:2}.columns-3{columns:3}.columns-4{columns:4}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-12{gap:calc(var(--spacing) * 12)}:where(.space-y-0\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * .5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * .5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(var(--spacing) * var(--tw-space-y-reverse));margin-block-end:calc(var(--spacing) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-8>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 8) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 8) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-10>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 10) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 10) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-6{column-gap:calc(var(--spacing) * 6)}:where(.-space-x-1>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing) * -1) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * -1) * calc(1 - var(--tw-space-x-reverse)))}:where(.-space-x-1\.5>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing) * -1.5) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * -1.5) * calc(1 - var(--tw-space-x-reverse)))}:where(.-space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing) * -2) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * -2) * calc(1 - var(--tw-space-x-reverse)))}.gap-y-2{row-gap:calc(var(--spacing) * 2)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-tl-\[28px\]{border-top-left-radius:28px}.rounded-tr-\[28px\]{border-top-right-radius:28px}.rounded-b-xl{border-bottom-right-radius:var(--radius-xl);border-bottom-left-radius:var(--radius-xl)}.rounded-br-\[28px\]{border-bottom-right-radius:28px}.rounded-bl-\[28px\]{border-bottom-left-radius:28px}.border{border-style:var(--tw-border-style);border-width:1px}.border-4{border-style:var(--tw-border-style);border-width:4px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-l-4{border-left-style:var(--tw-border-style);border-left-width:4px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-none{--tw-border-style:none;border-style:none}.border-accent-foreground\/20{border-color:var(--ink)}@supports (color:color-mix(in lab, red, red)){.border-accent-foreground\/20{border-color:color-mix(in oklab, var(--ink) 20%, transparent)}}.border-accent-foreground\/30{border-color:var(--ink)}@supports (color:color-mix(in lab, red, red)){.border-accent-foreground\/30{border-color:color-mix(in oklab, var(--ink) 30%, transparent)}}.border-background{border-color:var(--background)}.border-border,.border-border\/50{border-color:var(--ink-a10)}@supports (color:color-mix(in lab, red, red)){.border-border\/50{border-color:color-mix(in oklab, var(--ink-a10) 50%, transparent)}}.border-input{border-color:var(--ink-a14)}.border-primary\/60{border-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.border-primary\/60{border-color:color-mix(in oklab, var(--accent) 60%, transparent)}}.border-ring\/50{border-color:var(--accent-text)}@supports (color:color-mix(in lab, red, red)){.border-ring\/50{border-color:color-mix(in oklab, var(--accent-text) 50%, transparent)}}.border-transparent{border-color:#0000}.border-white\/15{border-color:#ffffff26}@supports (color:color-mix(in lab, red, red)){.border-white\/15{border-color:color-mix(in oklab, var(--color-white) 15%, transparent)}}.bg-accent,.bg-accent\/20{background-color:var(--surface-accent)}@supports (color:color-mix(in lab, red, red)){.bg-accent\/20{background-color:color-mix(in oklab, var(--surface-accent) 20%, transparent)}}.bg-accent\/30{background-color:var(--surface-accent)}@supports (color:color-mix(in lab, red, red)){.bg-accent\/30{background-color:color-mix(in oklab, var(--surface-accent) 30%, transparent)}}.bg-accent\/50{background-color:var(--surface-accent)}@supports (color:color-mix(in lab, red, red)){.bg-accent\/50{background-color:color-mix(in oklab, var(--surface-accent) 50%, transparent)}}.bg-background,.bg-background\/60{background-color:var(--background)}@supports (color:color-mix(in lab, red, red)){.bg-background\/60{background-color:color-mix(in oklab, var(--background) 60%, transparent)}}.bg-black\/10{background-color:#0000001a}@supports (color:color-mix(in lab, red, red)){.bg-black\/10{background-color:color-mix(in oklab, var(--color-black) 10%, transparent)}}.bg-black\/40{background-color:#0006}@supports (color:color-mix(in lab, red, red)){.bg-black\/40{background-color:color-mix(in oklab, var(--color-black) 40%, transparent)}}.bg-border{background-color:var(--ink-a10)}.bg-card\/50{background-color:var(--surface-card)}@supports (color:color-mix(in lab, red, red)){.bg-card\/50{background-color:color-mix(in oklab, var(--surface-card) 50%, transparent)}}.bg-card\/60{background-color:var(--surface-card)}@supports (color:color-mix(in lab, red, red)){.bg-card\/60{background-color:color-mix(in oklab, var(--surface-card) 60%, transparent)}}.bg-card\/70{background-color:var(--surface-card)}@supports (color:color-mix(in lab, red, red)){.bg-card\/70{background-color:color-mix(in oklab, var(--surface-card) 70%, transparent)}}.bg-card\/80{background-color:var(--surface-card)}@supports (color:color-mix(in lab, red, red)){.bg-card\/80{background-color:color-mix(in oklab, var(--surface-card) 80%, transparent)}}.bg-card\/95{background-color:var(--surface-card)}@supports (color:color-mix(in lab, red, red)){.bg-card\/95{background-color:color-mix(in oklab, var(--surface-card) 95%, transparent)}}.bg-emerald-500{background-color:var(--color-emerald-500)}.bg-muted,.bg-muted\/30{background-color:var(--surface-subtle)}@supports (color:color-mix(in lab, red, red)){.bg-muted\/30{background-color:color-mix(in oklab, var(--surface-subtle) 30%, transparent)}}.bg-muted\/40{background-color:var(--surface-subtle)}@supports (color:color-mix(in lab, red, red)){.bg-muted\/40{background-color:color-mix(in oklab, var(--surface-subtle) 40%, transparent)}}.bg-popover{background-color:var(--surface-card)}.bg-primary,.bg-primary\/10{background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.bg-primary\/10{background-color:color-mix(in oklab, var(--accent) 10%, transparent)}}.bg-ring\/50{background-color:var(--accent-text)}@supports (color:color-mix(in lab, red, red)){.bg-ring\/50{background-color:color-mix(in oklab, var(--accent-text) 50%, transparent)}}.bg-secondary,.bg-secondary\/50{background-color:var(--surface)}@supports (color:color-mix(in lab, red, red)){.bg-secondary\/50{background-color:color-mix(in oklab, var(--surface) 50%, transparent)}}.bg-transparent{background-color:#0000}.bg-white\/5{background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.bg-white\/5{background-color:color-mix(in oklab, var(--color-white) 5%, transparent)}}.bg-gradient-to-br{--tw-gradient-position:to bottom right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-t{--tw-gradient-position:to top in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-background\/90{--tw-gradient-from:var(--background)}@supports (color:color-mix(in lab, red, red)){.from-background\/90{--tw-gradient-from:color-mix(in oklab, var(--background) 90%, transparent)}}.from-background\/90{--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-primary\/10{--tw-gradient-from:var(--accent)}@supports (color:color-mix(in lab, red, red)){.from-primary\/10{--tw-gradient-from:color-mix(in oklab, var(--accent) 10%, transparent)}}.from-primary\/10{--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-background\/20{--tw-gradient-via:var(--background)}@supports (color:color-mix(in lab, red, red)){.via-background\/20{--tw-gradient-via:color-mix(in oklab, var(--background) 20%, transparent)}}.via-background\/20{--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-transparent{--tw-gradient-via:transparent;--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))}.fill-current{fill:currentColor}.fill-red-500{fill:var(--color-red-500)}.object-cover{object-fit:cover}.p-0{padding:0}.p-1{padding:var(--spacing)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.px-1{padding-inline:var(--spacing)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-3\.5{padding-inline:calc(var(--spacing) * 3.5)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:var(--spacing)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-10{padding-block:calc(var(--spacing) * 10)}.py-12{padding-block:calc(var(--spacing) * 12)}.pt-1{padding-top:var(--spacing)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pt-16{padding-top:calc(var(--spacing) * 16)}.pr-2{padding-right:calc(var(--spacing) * 2)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pb-16{padding-bottom:calc(var(--spacing) * 16)}.pl-4{padding-left:calc(var(--spacing) * 4)}.pl-8{padding-left:calc(var(--spacing) * 8)}.text-center{text-align:center}.text-left{text-align:left}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[9px\]{font-size:9px}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.text-wrap{text-wrap:wrap}.break-words{overflow-wrap:break-word}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-line{white-space:pre-line}.text-foreground,.text-foreground\/80{color:var(--ink)}@supports (color:color-mix(in lab, red, red)){.text-foreground\/80{color:color-mix(in oklab, var(--ink) 80%, transparent)}}.text-foreground\/90{color:var(--ink)}@supports (color:color-mix(in lab, red, red)){.text-foreground\/90{color:color-mix(in oklab, var(--ink) 90%, transparent)}}.text-muted-foreground,.text-muted-foreground\/70{color:var(--ink-muted)}@supports (color:color-mix(in lab, red, red)){.text-muted-foreground\/70{color:color-mix(in oklab, var(--ink-muted) 70%, transparent)}}.text-popover-foreground,.text-primary-foreground{color:var(--ink)}.text-red-500{color:var(--color-red-500)}.text-ring{color:var(--accent-text)}.text-secondary-foreground{color:var(--ink-soft)}.text-white{color:var(--color-white)}.text-white\/85{color:#ffffffd9}@supports (color:color-mix(in lab, red, red)){.text-white\/85{color:color-mix(in oklab, var(--color-white) 85%, transparent)}}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-0{opacity:0}.opacity-\[0\.38\]{opacity:.38}.mix-blend-overlay{mix-blend-mode:overlay}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring,.ring-1{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-4{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-primary\/20{--tw-shadow-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.shadow-primary\/20{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--accent) 20%, transparent) var(--tw-shadow-alpha), transparent)}}.shadow-primary\/25{--tw-shadow-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.shadow-primary\/25{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--accent) 25%, transparent) var(--tw-shadow-alpha), transparent)}}.ring-background{--tw-ring-color:var(--background)}.ring-border{--tw-ring-color:var(--ink-a10)}.ring-ring\/5{--tw-ring-color:var(--accent-text)}@supports (color:color-mix(in lab, red, red)){.ring-ring\/5{--tw-ring-color:color-mix(in oklab, var(--accent-text) 5%, transparent)}}.outline-hidden{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.outline-hidden{outline-offset:2px;outline:2px solid #0000}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.grayscale{--tw-grayscale:grayscale(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.invert{--tw-invert:invert(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-blur-md{--tw-backdrop-blur:blur(var(--blur-md));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-xl{--tw-backdrop-blur:blur(var(--blur-xl));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.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!important;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function))!important;transition-duration:var(--tw-duration,var(--default-transition-duration))!important}.transition-\[color\,box-shadow\]{transition-property:color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.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))}.transition-shadow{transition-property:box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-500{--tw-duration:.5s;transition-duration:.5s}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.group-focus-within\:opacity-100:is(:where(.group):focus-within *){opacity:1}@media (hover:hover){.group-hover\:scale-110:is(:where(.group):hover *){--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x) var(--tw-scale-y)}.group-hover\:bg-primary\/15:is(:where(.group):hover *){background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.group-hover\:bg-primary\/15:is(:where(.group):hover *){background-color:color-mix(in oklab, var(--accent) 15%, transparent)}}.group-hover\:text-foreground:is(:where(.group):hover *){color:var(--ink)}.group-hover\:text-primary:is(:where(.group):hover *){color:var(--accent)}.group-hover\:text-ring:is(:where(.group):hover *){color:var(--accent-text)}.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}}.group-has-data-\[size\=lg\]\/avatar-group\:size-10:is(:where(.group\/avatar-group):has([data-size=lg]) *){width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.group-has-data-\[size\=sm\]\/avatar-group\:size-6:is(:where(.group\/avatar-group):has([data-size=sm]) *){width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.group-data-\[size\=default\]\/avatar\:size-2\.5:is(:where(.group\/avatar)[data-size=default] *){width:calc(var(--spacing) * 2.5);height:calc(var(--spacing) * 2.5)}.group-data-\[size\=lg\]\/avatar\:size-3:is(:where(.group\/avatar)[data-size=lg] *){width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.group-data-\[size\=sm\]\/avatar\:size-2:is(:where(.group\/avatar)[data-size=sm] *){width:calc(var(--spacing) * 2);height:calc(var(--spacing) * 2)}.group-data-\[size\=sm\]\/avatar\:text-xs:is(:where(.group\/avatar)[data-size=sm] *){font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.selection\:bg-primary ::selection,.selection\:bg-primary::selection{background-color:var(--accent)}.selection\:text-primary-foreground ::selection,.selection\:text-primary-foreground::selection{color:var(--ink)}.file\:inline-flex::file-selector-button{display:inline-flex}.file\:h-7::file-selector-button{height:calc(var(--spacing) * 7)}.file\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}.file\:bg-transparent::file-selector-button{background-color:#0000}.file\:text-sm::file-selector-button{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.file\:font-medium::file-selector-button{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.file\:text-foreground::file-selector-button{color:var(--ink)}.placeholder\:text-muted-foreground::placeholder,.placeholder\:text-muted-foreground\/70::placeholder{color:var(--ink-muted)}@supports (color:color-mix(in lab, red, red)){.placeholder\:text-muted-foreground\/70::placeholder{color:color-mix(in oklab, var(--ink-muted) 70%, transparent)}}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:inset-0:after{content:var(--tw-content);inset:0}.focus-within\:border-primary\/50:focus-within{border-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.focus-within\:border-primary\/50:focus-within{border-color:color-mix(in oklab, var(--accent) 50%, transparent)}}.focus-within\:border-ring\/50:focus-within{border-color:var(--accent-text)}@supports (color:color-mix(in lab, red, red)){.focus-within\:border-ring\/50:focus-within{border-color:color-mix(in oklab, var(--accent-text) 50%, transparent)}}@media (hover:hover){.hover\:border-accent-foreground\/20:hover{border-color:var(--ink)}@supports (color:color-mix(in lab, red, red)){.hover\:border-accent-foreground\/20:hover{border-color:color-mix(in oklab, var(--ink) 20%, transparent)}}.hover\:border-primary\/50:hover{border-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.hover\:border-primary\/50:hover{border-color:color-mix(in oklab, var(--accent) 50%, transparent)}}.hover\:border-ring\/40:hover{border-color:var(--accent-text)}@supports (color:color-mix(in lab, red, red)){.hover\:border-ring\/40:hover{border-color:color-mix(in oklab, var(--accent-text) 40%, transparent)}}.hover\:bg-accent:hover,.hover\:bg-accent\/10:hover{background-color:var(--surface-accent)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-accent\/10:hover{background-color:color-mix(in oklab, var(--surface-accent) 10%, transparent)}}.hover\:bg-accent\/50:hover{background-color:var(--surface-accent)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-accent\/50:hover{background-color:color-mix(in oklab, var(--surface-accent) 50%, transparent)}}.hover\:bg-accent\/80:hover{background-color:var(--surface-accent)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-accent\/80:hover{background-color:color-mix(in oklab, var(--surface-accent) 80%, transparent)}}.hover\:bg-muted:hover,.hover\:bg-muted\/60:hover{background-color:var(--surface-subtle)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-muted\/60:hover{background-color:color-mix(in oklab, var(--surface-subtle) 60%, transparent)}}.hover\:bg-primary\/90:hover{background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab, var(--accent) 90%, transparent)}}.hover\:bg-secondary:hover{background-color:var(--surface)}.hover\:text-foreground:hover{color:var(--ink)}.hover\:text-primary:hover{color:var(--accent)}.hover\:underline:hover{text-decoration-line:underline}.hover\:shadow-xl:hover{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.hover\:shadow-primary\/10:hover{--tw-shadow-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.hover\:shadow-primary\/10:hover{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--accent) 10%, transparent) var(--tw-shadow-alpha), transparent)}}}.focus\:bg-accent:focus{background-color:var(--surface-accent)}.focus\:text-accent-foreground:focus{color:var(--ink)}.focus\:opacity-100:focus{opacity:1}.focus-visible\:border-ring:focus-visible{border-color:var(--accent-text)}.focus-visible\:ring-0:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-\[3px\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-ring:focus-visible,.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:var(--accent-text)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:color-mix(in oklab, var(--accent-text) 50%, transparent)}}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus-visible\:ring-offset-background:focus-visible{--tw-ring-offset-color:var(--background)}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.aria-invalid\:border-destructive[aria-invalid=true]{border-color:var(--danger)}.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:var(--danger)}@supports (color:color-mix(in lab, red, red)){.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--danger) 20%, transparent)}}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[inset\]\:pl-8[data-inset]{padding-left:calc(var(--spacing) * 8)}.data-\[size\=lg\]\:size-10[data-size=lg]{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.data-\[size\=sm\]\:size-6[data-size=sm]{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}:is(.\*\:data-\[slot\=avatar\]\:ring-2>*)[data-slot=avatar]{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}:is(.\*\:data-\[slot\=avatar\]\:ring-background>*)[data-slot=avatar]{--tw-ring-color:var(--background)}.data-\[state\=open\]\:bg-accent[data-state=open]{background-color:var(--surface-accent)}.data-\[state\=open\]\:text-accent-foreground[data-state=open]{color:var(--ink)}.data-\[variant\=destructive\]\:text-destructive[data-variant=destructive]{color:var(--danger)}.data-\[variant\=destructive\]\:focus\:bg-destructive\/10[data-variant=destructive]:focus{background-color:var(--danger)}@supports (color:color-mix(in lab, red, red)){.data-\[variant\=destructive\]\:focus\:bg-destructive\/10[data-variant=destructive]:focus{background-color:color-mix(in oklab, var(--danger) 10%, transparent)}}.data-\[variant\=destructive\]\:focus\:text-destructive[data-variant=destructive]:focus{color:var(--danger)}@media (min-width:40rem){.sm\:right-2{right:calc(var(--spacing) * 2)}.sm\:bottom-2{bottom:calc(var(--spacing) * 2)}.sm\:mb-2{margin-bottom:calc(var(--spacing) * 2)}.sm\:mb-8{margin-bottom:calc(var(--spacing) * 8)}.sm\:ml-8{margin-left:calc(var(--spacing) * 8)}.sm\:h-4{height:calc(var(--spacing) * 4)}.sm\:h-5{height:calc(var(--spacing) * 5)}.sm\:h-32{height:calc(var(--spacing) * 32)}.sm\:w-4{width:calc(var(--spacing) * 4)}.sm\:w-5{width:calc(var(--spacing) * 5)}.sm\:w-32{width:calc(var(--spacing) * 32)}.sm\:gap-3{gap:calc(var(--spacing) * 3)}.sm\:gap-4{gap:calc(var(--spacing) * 4)}.sm\:gap-6{gap:calc(var(--spacing) * 6)}:where(.sm\:space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(var(--spacing) * var(--tw-space-y-reverse));margin-block-end:calc(var(--spacing) * calc(1 - var(--tw-space-y-reverse)))}.sm\:px-6{padding-inline:calc(var(--spacing) * 6)}.sm\:text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.sm\:text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.sm\:text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.sm\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}}@media (min-width:48rem){.md\:sticky{position:sticky}.md\:top-6{top:calc(var(--spacing) * 6)}.md\:mb-2{margin-bottom:calc(var(--spacing) * 2)}.md\:h-56{height:calc(var(--spacing) * 56)}.md\:w-\[320px\]{width:320px}.md\:w-auto{width:auto}.md\:flex-none{flex:none}.md\:grid-cols-\[minmax\(0\,3fr\)_minmax\(0\,1\.4fr\)\]{grid-template-columns:minmax(0,3fr) minmax(0,1.4fr)}.md\:flex-row{flex-direction:row}.md\:items-end{align-items:flex-end}.md\:justify-between{justify-content:space-between}.md\:self-start{align-self:flex-start}.md\:px-12{padding-inline:calc(var(--spacing) * 12)}.md\:py-14{padding-block:calc(var(--spacing) * 14)}.md\:text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.md\:text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.md\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}}@media (prefers-color-scheme:dark){.dark\:bg-input\/30{background-color:var(--ink-a14)}@supports (color:color-mix(in lab, red, red)){.dark\:bg-input\/30{background-color:color-mix(in oklab, var(--ink-a14) 30%, transparent)}}.dark\:bg-transparent{background-color:#0000}.dark\:aria-invalid\:ring-destructive\/40[aria-invalid=true]{--tw-ring-color:var(--danger)}@supports (color:color-mix(in lab, red, red)){.dark\:aria-invalid\:ring-destructive\/40[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--danger) 40%, transparent)}}.dark\:data-\[variant\=destructive\]\:focus\:bg-destructive\/20[data-variant=destructive]:focus{background-color:var(--danger)}@supports (color:color-mix(in lab, red, red)){.dark\:data-\[variant\=destructive\]\:focus\:bg-destructive\/20[data-variant=destructive]:focus{background-color:color-mix(in oklab, var(--danger) 20%, transparent)}}}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\&_svg\:not\(\[class\*\=\'text-\'\]\)\]\:text-muted-foreground svg:not([class*=text-]){color:var(--ink-muted)}.\[\&\:\:-webkit-search-cancel-button\]\:hidden::-webkit-search-cancel-button{display:none}:is(.data-\[variant\=destructive\]\:\*\:\[svg\]\:text-destructive\![data-variant=destructive]>*):is(svg){color:var(--danger)!important}.\[\&\>svg\]\:size-4>svg{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.group-has-data-\[size\=lg\]\/avatar-group\:\[\&\>svg\]\:size-5:is(:where(.group\/avatar-group):has([data-size=lg]) *)>svg{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.group-has-data-\[size\=sm\]\/avatar-group\:\[\&\>svg\]\:size-3:is(:where(.group\/avatar-group):has([data-size=sm]) *)>svg{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.group-data-\[size\=default\]\/avatar\:\[\&\>svg\]\:size-2:is(:where(.group\/avatar)[data-size=default] *)>svg,.group-data-\[size\=lg\]\/avatar\:\[\&\>svg\]\:size-2:is(:where(.group\/avatar)[data-size=lg] *)>svg{width:calc(var(--spacing) * 2);height:calc(var(--spacing) * 2)}.group-data-\[size\=sm\]\/avatar\:\[\&\>svg\]\:hidden:is(:where(.group\/avatar)[data-size=sm] *)>svg{display:none}}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--background:#050506;--experience-stage:#0a0c10;--experience-line:#30343b;--experience-quiet:#aeb7c4;--experience-paper:#f5f6f8;--experience-paper-ink:#1c2430;--experience-paper-muted:#53606e;--experience-ios-tint:#3165c5;--glass-fill:#ffffff6b;--glass-fill-strong:#ffffffa8;--glass-stroke:#ffffffb8;--glass-edge:var(--experience-paper-ink)}@supports (color:color-mix(in lab, red, red)){:root{--glass-edge:color-mix(in srgb, var(--experience-paper-ink) 10%, transparent)}}:root{--glass-specular:inset 0 1px 0 #ffffffd9;--glass-blur:blur(28px) saturate(190%);--glass-shadow:0 12px 34px var(--experience-paper-ink)}@supports (color:color-mix(in lab, red, red)){:root{--glass-shadow:0 12px 34px color-mix(in srgb, var(--experience-paper-ink) 14%, transparent)}}:root{--device-frame:#5f7ccc;--device-back:#9ab2f0;--device-black:#111214;--surface:#1e2229;--surface-muted:var(--surface);--surface-elevated:#2e3440;--surface-ink:var(--background);--surface-card:#12161f;--surface-subtle:#1a1f29;--surface-accent:#1b2638;--ink:#fff;--ink-soft:#c5cacd;--ink-muted:#9aa3b2;--ink-cool:#f8fbff;--ink-pale:#eee;--muted:var(--ink-a55);--border:var(--ink-a07);--border-strong:var(--ink-a14);--accent:#2563eb;--accent-strong:#1d4ed8;--accent-text:#8fb3ff;--accent-soft:#152a52;--accent-pale:#c4d8ff;--accent-muted:#3a5ca0;--steel:#b8cde8;--indigo:#6366f1;--violet:#7c3aed;--gold:#d4aa50;--success:#1a7a52;--success-bright:#4ade80;--danger:#ef4444;--danger-soft:#f87171;--danger-pale:#fca5a5;--black:#000;--void:#03050d;--night-neutral:#0b0b0d;--night-raised:#0f1013;--ide-surface:#0b0f1a;--night-blue-0:#020308;--night-blue-1:#080a12;--navy-500:#16234a;--navy-600:#0d2766;--navy-800:#0b1a3d;--navy-900:#050b22;--panel-deep:#0d0f12;--panel:#1a1a1c;--panel-raised:#202024;--signal-red:#ff5f57;--signal-amber:#febc2e;--signal-green:#28c840;--code-blue:#82aaff;--code-violet:#c792ea;--code-string:#d9c08f;--sky:#38bdf8;--tone-green:#22c55e;--tone-blue:#3b82f6;--tone-amber:#f59e0b;--tone-violet:#a855f7;--tone-cyan:#06b6d4;--background-a45:var(--background)}@supports (color:color-mix(in lab, red, red)){:root{--background-a45:color-mix(in srgb, var(--background) 45%, transparent)}}:root{--background-a70:var(--background)}@supports (color:color-mix(in lab, red, red)){:root{--background-a70:color-mix(in srgb, var(--background) 70%, transparent)}}:root{--background-a90:var(--background)}@supports (color:color-mix(in lab, red, red)){:root{--background-a90:color-mix(in srgb, var(--background) 90%, transparent)}}:root{--background-a95:var(--background)}@supports (color:color-mix(in lab, red, red)){:root{--background-a95:color-mix(in srgb, var(--background) 95%, transparent)}}:root{--surface-a70:var(--surface)}@supports (color:color-mix(in lab, red, red)){:root{--surface-a70:color-mix(in srgb, var(--surface) 70%, transparent)}}:root{--surface-card-a70:var(--surface-card)}@supports (color:color-mix(in lab, red, red)){:root{--surface-card-a70:color-mix(in srgb, var(--surface-card) 70%, transparent)}}:root{--surface-card-a95:var(--surface-card)}@supports (color:color-mix(in lab, red, red)){:root{--surface-card-a95:color-mix(in srgb, var(--surface-card) 95%, transparent)}}:root{--ink-a02:var(--ink)}@supports (color:color-mix(in lab, red, red)){:root{--ink-a02:color-mix(in srgb, var(--ink) 2%, transparent)}}:root{--ink-a04:var(--ink)}@supports (color:color-mix(in lab, red, red)){:root{--ink-a04:color-mix(in srgb, var(--ink) 4%, transparent)}}:root{--ink-a06:var(--ink)}@supports (color:color-mix(in lab, red, red)){:root{--ink-a06:color-mix(in srgb, var(--ink) 6%, transparent)}}:root{--ink-a07:var(--ink)}@supports (color:color-mix(in lab, red, red)){:root{--ink-a07:color-mix(in srgb, var(--ink) 7%, transparent)}}:root{--ink-a08:var(--ink)}@supports (color:color-mix(in lab, red, red)){:root{--ink-a08:color-mix(in srgb, var(--ink) 8%, transparent)}}:root{--ink-a10:var(--ink)}@supports (color:color-mix(in lab, red, red)){:root{--ink-a10:color-mix(in srgb, var(--ink) 10%, transparent)}}:root{--ink-a12:var(--ink)}@supports (color:color-mix(in lab, red, red)){:root{--ink-a12:color-mix(in srgb, var(--ink) 12%, transparent)}}:root{--ink-a14:var(--ink)}@supports (color:color-mix(in lab, red, red)){:root{--ink-a14:color-mix(in srgb, var(--ink) 14%, transparent)}}:root{--ink-a16:var(--ink)}@supports (color:color-mix(in lab, red, red)){:root{--ink-a16:color-mix(in srgb, var(--ink) 16%, transparent)}}:root{--ink-a20:var(--ink)}@supports (color:color-mix(in lab, red, red)){:root{--ink-a20:color-mix(in srgb, var(--ink) 20%, transparent)}}:root{--ink-a30:var(--ink)}@supports (color:color-mix(in lab, red, red)){:root{--ink-a30:color-mix(in srgb, var(--ink) 30%, transparent)}}:root{--ink-a40:var(--ink)}@supports (color:color-mix(in lab, red, red)){:root{--ink-a40:color-mix(in srgb, var(--ink) 40%, transparent)}}:root{--ink-a50:var(--ink)}@supports (color:color-mix(in lab, red, red)){:root{--ink-a50:color-mix(in srgb, var(--ink) 50%, transparent)}}:root{--ink-a55:var(--ink)}@supports (color:color-mix(in lab, red, red)){:root{--ink-a55:color-mix(in srgb, var(--ink) 55%, transparent)}}:root{--ink-a60:var(--ink)}@supports (color:color-mix(in lab, red, red)){:root{--ink-a60:color-mix(in srgb, var(--ink) 60%, transparent)}}:root{--ink-a70:var(--ink)}@supports (color:color-mix(in lab, red, red)){:root{--ink-a70:color-mix(in srgb, var(--ink) 70%, transparent)}}:root{--ink-a80:var(--ink)}@supports (color:color-mix(in lab, red, red)){:root{--ink-a80:color-mix(in srgb, var(--ink) 80%, transparent)}}:root{--ink-a90:var(--ink)}@supports (color:color-mix(in lab, red, red)){:root{--ink-a90:color-mix(in srgb, var(--ink) 90%, transparent)}}:root{--ink-cool-a08:var(--ink-cool)}@supports (color:color-mix(in lab, red, red)){:root{--ink-cool-a08:color-mix(in srgb, var(--ink-cool) 8%, transparent)}}:root{--ink-cool-a30:var(--ink-cool)}@supports (color:color-mix(in lab, red, red)){:root{--ink-cool-a30:color-mix(in srgb, var(--ink-cool) 30%, transparent)}}:root{--ink-cool-a95:var(--ink-cool)}@supports (color:color-mix(in lab, red, red)){:root{--ink-cool-a95:color-mix(in srgb, var(--ink-cool) 95%, transparent)}}:root{--accent-a08:var(--accent)}@supports (color:color-mix(in lab, red, red)){:root{--accent-a08:color-mix(in srgb, var(--accent) 8%, transparent)}}:root{--accent-a12:var(--accent)}@supports (color:color-mix(in lab, red, red)){:root{--accent-a12:color-mix(in srgb, var(--accent) 12%, transparent)}}:root{--accent-a14:var(--accent)}@supports (color:color-mix(in lab, red, red)){:root{--accent-a14:color-mix(in srgb, var(--accent) 14%, transparent)}}:root{--accent-a16:var(--accent)}@supports (color:color-mix(in lab, red, red)){:root{--accent-a16:color-mix(in srgb, var(--accent) 16%, transparent)}}:root{--accent-a20:var(--accent)}@supports (color:color-mix(in lab, red, red)){:root{--accent-a20:color-mix(in srgb, var(--accent) 20%, transparent)}}:root{--accent-a30:var(--accent)}@supports (color:color-mix(in lab, red, red)){:root{--accent-a30:color-mix(in srgb, var(--accent) 30%, transparent)}}:root{--accent-a40:var(--accent)}@supports (color:color-mix(in lab, red, red)){:root{--accent-a40:color-mix(in srgb, var(--accent) 40%, transparent)}}:root{--accent-a50:var(--accent)}@supports (color:color-mix(in lab, red, red)){:root{--accent-a50:color-mix(in srgb, var(--accent) 50%, transparent)}}:root{--accent-a55:var(--accent)}@supports (color:color-mix(in lab, red, red)){:root{--accent-a55:color-mix(in srgb, var(--accent) 55%, transparent)}}:root{--accent-text-a06:var(--accent-text)}@supports (color:color-mix(in lab, red, red)){:root{--accent-text-a06:color-mix(in srgb, var(--accent-text) 6%, transparent)}}:root{--accent-text-a08:var(--accent-text)}@supports (color:color-mix(in lab, red, red)){:root{--accent-text-a08:color-mix(in srgb, var(--accent-text) 8%, transparent)}}:root{--accent-text-a10:var(--accent-text)}@supports (color:color-mix(in lab, red, red)){:root{--accent-text-a10:color-mix(in srgb, var(--accent-text) 10%, transparent)}}:root{--accent-text-a12:var(--accent-text)}@supports (color:color-mix(in lab, red, red)){:root{--accent-text-a12:color-mix(in srgb, var(--accent-text) 12%, transparent)}}:root{--accent-text-a14:var(--accent-text)}@supports (color:color-mix(in lab, red, red)){:root{--accent-text-a14:color-mix(in srgb, var(--accent-text) 14%, transparent)}}:root{--accent-text-a16:var(--accent-text)}@supports (color:color-mix(in lab, red, red)){:root{--accent-text-a16:color-mix(in srgb, var(--accent-text) 16%, transparent)}}:root{--accent-text-a20:var(--accent-text)}@supports (color:color-mix(in lab, red, red)){:root{--accent-text-a20:color-mix(in srgb, var(--accent-text) 20%, transparent)}}:root{--accent-text-a30:var(--accent-text)}@supports (color:color-mix(in lab, red, red)){:root{--accent-text-a30:color-mix(in srgb, var(--accent-text) 30%, transparent)}}:root{--accent-text-a40:var(--accent-text)}@supports (color:color-mix(in lab, red, red)){:root{--accent-text-a40:color-mix(in srgb, var(--accent-text) 40%, transparent)}}:root{--accent-text-a50:var(--accent-text)}@supports (color:color-mix(in lab, red, red)){:root{--accent-text-a50:color-mix(in srgb, var(--accent-text) 50%, transparent)}}:root{--accent-text-a55:var(--accent-text)}@supports (color:color-mix(in lab, red, red)){:root{--accent-text-a55:color-mix(in srgb, var(--accent-text) 55%, transparent)}}:root{--accent-text-a60:var(--accent-text)}@supports (color:color-mix(in lab, red, red)){:root{--accent-text-a60:color-mix(in srgb, var(--accent-text) 60%, transparent)}}:root{--accent-text-a70:var(--accent-text)}@supports (color:color-mix(in lab, red, red)){:root{--accent-text-a70:color-mix(in srgb, var(--accent-text) 70%, transparent)}}:root{--accent-text-a80:var(--accent-text)}@supports (color:color-mix(in lab, red, red)){:root{--accent-text-a80:color-mix(in srgb, var(--accent-text) 80%, transparent)}}:root{--accent-text-a90:var(--accent-text)}@supports (color:color-mix(in lab, red, red)){:root{--accent-text-a90:color-mix(in srgb, var(--accent-text) 90%, transparent)}}:root{--accent-soft-a50:var(--accent-soft)}@supports (color:color-mix(in lab, red, red)){:root{--accent-soft-a50:color-mix(in srgb, var(--accent-soft) 50%, transparent)}}:root{--accent-muted-a70:var(--accent-muted)}@supports (color:color-mix(in lab, red, red)){:root{--accent-muted-a70:color-mix(in srgb, var(--accent-muted) 70%, transparent)}}:root{--steel-a40:var(--steel)}@supports (color:color-mix(in lab, red, red)){:root{--steel-a40:color-mix(in srgb, var(--steel) 40%, transparent)}}:root{--steel-a90:var(--steel)}@supports (color:color-mix(in lab, red, red)){:root{--steel-a90:color-mix(in srgb, var(--steel) 90%, transparent)}}:root{--indigo-a16:var(--indigo)}@supports (color:color-mix(in lab, red, red)){:root{--indigo-a16:color-mix(in srgb, var(--indigo) 16%, transparent)}}:root{--violet-a20:var(--violet)}@supports (color:color-mix(in lab, red, red)){:root{--violet-a20:color-mix(in srgb, var(--violet) 20%, transparent)}}:root{--violet-a50:var(--violet)}@supports (color:color-mix(in lab, red, red)){:root{--violet-a50:color-mix(in srgb, var(--violet) 50%, transparent)}}:root{--gold-a08:var(--gold)}@supports (color:color-mix(in lab, red, red)){:root{--gold-a08:color-mix(in srgb, var(--gold) 8%, transparent)}}:root{--gold-a30:var(--gold)}@supports (color:color-mix(in lab, red, red)){:root{--gold-a30:color-mix(in srgb, var(--gold) 30%, transparent)}}:root{--gold-a55:var(--gold)}@supports (color:color-mix(in lab, red, red)){:root{--gold-a55:color-mix(in srgb, var(--gold) 55%, transparent)}}:root{--gold-a80:var(--gold)}@supports (color:color-mix(in lab, red, red)){:root{--gold-a80:color-mix(in srgb, var(--gold) 80%, transparent)}}:root{--success-bright-a06:var(--success-bright)}@supports (color:color-mix(in lab, red, red)){:root{--success-bright-a06:color-mix(in srgb, var(--success-bright) 6%, transparent)}}:root{--success-bright-a16:var(--success-bright)}@supports (color:color-mix(in lab, red, red)){:root{--success-bright-a16:color-mix(in srgb, var(--success-bright) 16%, transparent)}}:root{--success-bright-a20:var(--success-bright)}@supports (color:color-mix(in lab, red, red)){:root{--success-bright-a20:color-mix(in srgb, var(--success-bright) 20%, transparent)}}:root{--success-bright-a30:var(--success-bright)}@supports (color:color-mix(in lab, red, red)){:root{--success-bright-a30:color-mix(in srgb, var(--success-bright) 30%, transparent)}}:root{--danger-soft-a70:var(--danger-soft)}@supports (color:color-mix(in lab, red, red)){:root{--danger-soft-a70:color-mix(in srgb, var(--danger-soft) 70%, transparent)}}:root{--black-a30:var(--black)}@supports (color:color-mix(in lab, red, red)){:root{--black-a30:color-mix(in srgb, var(--black) 30%, transparent)}}:root{--black-a40:var(--black)}@supports (color:color-mix(in lab, red, red)){:root{--black-a40:color-mix(in srgb, var(--black) 40%, transparent)}}:root{--black-a60:var(--black)}@supports (color:color-mix(in lab, red, red)){:root{--black-a60:color-mix(in srgb, var(--black) 60%, transparent)}}:root{--black-a80:var(--black)}@supports (color:color-mix(in lab, red, red)){:root{--black-a80:color-mix(in srgb, var(--black) 80%, transparent)}}:root{--black-a90:var(--black)}@supports (color:color-mix(in lab, red, red)){:root{--black-a90:color-mix(in srgb, var(--black) 90%, transparent)}}:root{--black-a95:var(--black)}@supports (color:color-mix(in lab, red, red)){:root{--black-a95:color-mix(in srgb, var(--black) 95%, transparent)}}:root{--void-a16:var(--void)}@supports (color:color-mix(in lab, red, red)){:root{--void-a16:color-mix(in srgb, var(--void) 16%, transparent)}}:root{--void-a20:var(--void)}@supports (color:color-mix(in lab, red, red)){:root{--void-a20:color-mix(in srgb, var(--void) 20%, transparent)}}:root{--void-a30:var(--void)}@supports (color:color-mix(in lab, red, red)){:root{--void-a30:color-mix(in srgb, var(--void) 30%, transparent)}}:root{--void-a40:var(--void)}@supports (color:color-mix(in lab, red, red)){:root{--void-a40:color-mix(in srgb, var(--void) 40%, transparent)}}:root{--void-a50:var(--void)}@supports (color:color-mix(in lab, red, red)){:root{--void-a50:color-mix(in srgb, var(--void) 50%, transparent)}}:root{--void-a55:var(--void)}@supports (color:color-mix(in lab, red, red)){:root{--void-a55:color-mix(in srgb, var(--void) 55%, transparent)}}:root{--void-a60:var(--void)}@supports (color:color-mix(in lab, red, red)){:root{--void-a60:color-mix(in srgb, var(--void) 60%, transparent)}}:root{--void-a70:var(--void)}@supports (color:color-mix(in lab, red, red)){:root{--void-a70:color-mix(in srgb, var(--void) 70%, transparent)}}:root{--void-a80:var(--void)}@supports (color:color-mix(in lab, red, red)){:root{--void-a80:color-mix(in srgb, var(--void) 80%, transparent)}}:root{--void-a95:var(--void)}@supports (color:color-mix(in lab, red, red)){:root{--void-a95:color-mix(in srgb, var(--void) 95%, transparent)}}:root{--panel-deep-a60:var(--panel-deep)}@supports (color:color-mix(in lab, red, red)){:root{--panel-deep-a60:color-mix(in srgb, var(--panel-deep) 60%, transparent)}}:root{--panel-deep-a70:var(--panel-deep)}@supports (color:color-mix(in lab, red, red)){:root{--panel-deep-a70:color-mix(in srgb, var(--panel-deep) 70%, transparent)}}:root{--panel-a90:var(--panel)}@supports (color:color-mix(in lab, red, red)){:root{--panel-a90:color-mix(in srgb, var(--panel) 90%, transparent)}}:root{--panel-raised-a90:var(--panel-raised)}@supports (color:color-mix(in lab, red, red)){:root{--panel-raised-a90:color-mix(in srgb, var(--panel-raised) 90%, transparent)}}:root{--scroll-depth:0px;--content-max:1600px;--gutter:clamp(16px, 4vw, 96px);--gutter-rail:max(var(--gutter), var(--space-26));--measure:68ch;--measure-wide:88ch;--measure-narrow:48ch;--col-min:280px;--width-form:520px;--space-section:clamp(64px, 10vw, 128px);--bp-sm:480px;--bp-md:720px;--bp-lg:1024px;--bp-xl:1440px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:28px;--space-8:32px;--space-9:36px;--space-10:40px;--space-11:44px;--space-12:48px;--space-14:56px;--space-16:64px;--space-18:72px;--space-20:80px;--space-22:88px;--space-24:96px;--space-26:104px;--space-28:112px;--space-30:120px;--space-31:124px;--space-32:128px;--space-35:140px;--space-40:160px;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-2xl:16px;--radius-card:20px;--radius-3xl:24px;--radius-sheet:28px;--radius-4xl:32px;--radius-pill:999px;--font-editorial:var(--font-dm-serif), Georgia, "Times New Roman", serif;--font-body:var(--font-outfit), Arial, sans-serif;--font-mono-ui:var(--font-jetbrains-mono), ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--text-2xs:.625rem;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-stat:40px;--text-fluid-1:clamp(16px, 1.6vw, 19px);--text-fluid-2:clamp(18px, 1.8vw, 21px);--text-fluid-3:clamp(20px, 2.2vw, 26px);--text-fluid-4:clamp(24px, 2.6vw, 32px);--text-fluid-5:clamp(28px, 3.4vw, 40px);--text-fluid-impact:clamp(32px, 3.4vw, 42px);--text-fluid-prose-h3:clamp(1.4rem, 2.4vw, 1.75rem);--text-fluid-6:clamp(44px, 4.4vw, 64px);--text-fluid-7:clamp(56px, 9vw, 104px);--text-fluid-hero:clamp(34px, 4.2vw, 54px);--text-fluid-hero-mobile:clamp(34px, 9vw, 40px);--text-fluid-heading-mobile:clamp(24px, 6.8vw, 32px);--text-fluid-loader:clamp(1.75rem, 4.3vw, 4.25rem);--text-fluid-loader-mobile:clamp(1.75rem, 10.5vw, 3rem);--type-page-title:clamp(40px, 5vw, 64px);--type-section-title:clamp(26px, 3vw, 40px);--type-lead:clamp(22px, 2.4vw, 30px);--card-surface:radial-gradient(120% 90% at 0% 0%, var(--accent-text-a06), transparent 50%), linear-gradient(180deg, var(--night-raised) 0%, var(--night-neutral) 100%);--card-border:var(--ink-a07);--card-shadow:inset 0 1px 0 var(--ink-a06), 0 24px 48px -28px var(--black-a90)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--background);min-width:320px;color:var(--ink);font-family:var(--font-body);text-rendering:optimizelegibility;overflow-x:hidden}body:before{z-index:2;pointer-events:none;content:"";background:radial-gradient(circle at 50% 20%, var(--accent-a14), transparent 36%), linear-gradient(180deg, var(--background-a45), var(--background-a95));position:fixed;inset:0}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);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}main{z-index:3;position:relative}main,.site-footer{width:min(var(--content-max), calc(100% - var(--gutter) * 2));margin-inline:auto}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.portfolio-content-shell{z-index:3;min-height:100dvh;position:relative}.portfolio-content-shell.is-waiting{opacity:0;visibility:hidden;filter:none;transform:translateY(18px)}.portfolio-content-shell.is-revealed{opacity:1;visibility:visible;filter:none;transform:none}.hero-copy h1,.hero-copy p,.hero-actions{opacity:0}.portfolio-content-shell.is-revealed .hero-copy h1,.portfolio-content-shell.is-revealed .hero-copy p,.portfolio-content-shell.is-revealed .hero-actions,.portfolio-content-shell.is-revealed .portrait-image{opacity:1;animation-timing-function:cubic-bezier(.16,1,.3,1);animation-fill-mode:both}.portfolio-content-shell.is-revealed .hero-copy h1{animation-name:heroTextIntroReveal;animation-duration:.72s;animation-delay:.18s}.portfolio-content-shell.is-revealed .hero-copy p{animation-name:heroTextIntroReveal;animation-duration:.68s;animation-delay:.42s}.portfolio-content-shell.is-revealed .hero-actions{animation-name:heroControlsIntroReveal;animation-duration:.64s;animation-delay:.65s}.portfolio-content-shell.is-revealed .portrait-image{animation-name:portraitReveal;animation-duration:.82s;animation-delay:.42s}.rocket-intro{z-index:60;pointer-events:none;background:radial-gradient(circle at 50% 48%, var(--accent-text-a20), transparent 24%), radial-gradient(circle at 50% 52%, var(--gold-a08), transparent 34%), linear-gradient(180deg, var(--void-a20), var(--void-a50));place-items:center;display:grid;position:fixed;inset:0;overflow:hidden}.intro-star-drift{transform-origin:50%;position:absolute;inset:0;overflow:hidden}.intro-star-drift:before{content:"";background:radial-gradient(circle, var(--ink-cool-a08), var(--accent-text-a08) 22%, transparent 64%);filter:blur(26px);opacity:.86;border-radius:50%;position:absolute;inset:24%}.intro-star{border-radius:var(--radius-pill);background:radial-gradient(circle, var(--ink-cool-a95), var(--accent-text-a40) 58%, transparent 72%);box-shadow:0 0 12px var(--ink-cool-a30), 0 0 22px var(--accent-text-a20);position:absolute}.intro-loader-copy{z-index:1;box-sizing:border-box;width:min(92vw,760px);padding:0 clamp(var(--space-3), 3vw, var(--space-7));color:var(--ink-cool-a95);font-family:var(--font-dm-serif), Georgia, serif;font-size:var(--text-fluid-loader);text-align:center;filter:drop-shadow(0 20px 70px var(--void-a70)) drop-shadow(0 0 36px var(--accent-text-a12));margin:0 auto;line-height:1.04;position:relative}.intro-loader-copy span{display:inline-block}.intro-loader-copy .intro-typewriter{white-space:normal;flex-wrap:wrap;justify-content:center;width:100%;display:inline-flex}.intro-loader-copy .intro-type-word{white-space:nowrap;display:inline-flex}.intro-liquid-loop{margin:clamp(var(--space-5), 3vw, var(--space-8)) auto 0;justify-content:center;width:min(220px,44vw);display:flex;position:relative}.intro-liquid-loop-track{border-radius:var(--radius-pill);background:var(--ink-cool-a08);width:100%;height:6px;box-shadow:inset 0 0 0 1px var(--ink-cool-a08);position:relative;overflow:hidden}.intro-liquid-blob{border-radius:var(--radius-pill);filter:blur(6px);position:absolute;inset:-60% -10%}.intro-liquid-blob-a{background:radial-gradient(closest-side, var(--accent-text-a90), transparent 72%)}.intro-liquid-blob-b{background:radial-gradient(closest-side, var(--gold-a55), transparent 70%)}.universe-background{z-index:0;background:radial-gradient(ellipse 90% 70% at 52% 18%, var(--navy-600) 0%, var(--navy-900) 38%, var(--black) 100%);width:100vw;height:100dvh;display:block;position:fixed;inset:0}.universe-trail{z-index:2;pointer-events:none;mix-blend-mode:screen;width:100vw;height:100dvh;display:block;position:fixed;inset:0}.universe-dust{z-index:1;pointer-events:none;opacity:.35;background-image:radial-gradient(circle at 12% 18%, var(--ink-a90) 0 1px, transparent 1.8px), radial-gradient(circle at 42% 8%, var(--accent-text-a80) 0 1px, transparent 1.7px), radial-gradient(circle at 76% 32%, var(--gold-a80) 0 1px, transparent 1.8px), radial-gradient(circle at 88% 64%, var(--ink-a70) 0 1px, transparent 1.7px), radial-gradient(circle at 22% 78%, var(--accent-text-a70) 0 1px, transparent 1.7px), radial-gradient(circle at 63% 72%, var(--ink-a50) 0 1px, transparent 1.5px), radial-gradient(circle at 8% 54%, var(--accent-text-a50) 0 1px, transparent 1.5px), radial-gradient(circle at 52% 44%, var(--ink-a40) 0 1px, transparent 1.4px), radial-gradient(circle at 96% 18%, var(--accent-text-a30) 0 1px, transparent 1.4px), radial-gradient(circle at 34% 92%, var(--gold-a30) 0 1px, transparent 1.4px);background-position:calc(var(--scroll-depth) * -.06) calc(var(--scroll-depth) * .18), calc(120px + var(--scroll-depth) * .09) calc(80px + var(--scroll-depth) * .38), calc(260px + var(--scroll-depth) * -.14) calc(30px + var(--scroll-depth) * .62), calc(50px + var(--scroll-depth) * .18) calc(180px + var(--scroll-depth) * .86), calc(340px + var(--scroll-depth) * -.24) calc(150px + var(--scroll-depth) * 1.12), calc(210px + var(--scroll-depth) * .28) calc(40px + var(--scroll-depth) * 1.32), calc(480px + var(--scroll-depth) * -.34) calc(220px + var(--scroll-depth) * 1.48), calc(140px + var(--scroll-depth) * .42) calc(260px + var(--scroll-depth) * 1.74), calc(600px + var(--scroll-depth) * -.46) calc(90px + var(--scroll-depth) * 1.96), calc(720px + var(--scroll-depth) * .52) calc(310px + var(--scroll-depth) * 2.18);background-size:420px 280px,520px 360px,680px 460px,760px 520px,900px 620px,1040px 700px,1180px 760px,1320px 820px,1480px 900px,1620px 960px;position:fixed;inset:0}.site-footer{z-index:3;align-items:start;gap:var(--space-8) var(--space-16);padding:var(--space-12) 0 var(--space-10);border-top:1px solid var(--border);color:var(--ink-a55);font-family:var(--font-mono-ui), serif;font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;grid-template-columns:minmax(0,1fr) auto auto;display:grid;position:relative}.footer-brand{gap:var(--space-2);flex-direction:column;min-width:0;display:flex}.footer-name{color:var(--ink);font-weight:600}.footer-line{color:var(--ink-a55);line-height:1.6}.footer-links{flex-direction:column;align-items:flex-start;gap:0;display:flex}.footer-links a{min-height:44px;color:var(--ink-a55);font-size:var(--text-xs);align-items:center;font-weight:600;text-decoration:none;transition:color .18s;display:inline-flex}.footer-links a:hover,.footer-links a:focus-visible{color:var(--ink)}@media (max-width:719px){.site-footer{padding-block:var(--space-10) var(--space-8);grid-template-columns:minmax(0,1fr)}}.button{isolation:isolate;justify-content:center;align-items:center;gap:var(--space-2);min-height:44px;padding:0 var(--space-6);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:650;transition:transform .18s,background .18s,border-color .18s,color .18s;display:inline-flex;position:relative;overflow:hidden}.button:before{content:"";z-index:-1;border-radius:inherit;transform-origin:0;background:var(--accent);pointer-events:none;transition:transform .42s cubic-bezier(.65,0,.35,1);position:absolute;inset:0;transform:scaleX(0)}.button:hover:before,.button:focus-visible:before{transform:scaleX(1)}.button-secondary:hover,.button-secondary:focus-visible{border-color:var(--accent);color:var(--ink)}.button-primary:hover,.button-primary:focus-visible{color:var(--ink)}@media (prefers-reduced-motion:reduce){.button:before{transition:none}}.button:hover{transform:translateY(-1px)}.button-primary{background:var(--ink);color:var(--background)}.button-primary:hover{background:var(--ink)}.button-secondary{border:.5px solid var(--border-strong);color:var(--ink)}.button-ghost{color:var(--muted);background:0 0}.button-ghost:before{background:var(--ink-a08)}.button-ghost:hover,.button-ghost:focus-visible,.button-ghost[aria-pressed=true]{color:var(--ink)}.button-sm{gap:var(--space-2);min-height:32px;padding:0 var(--space-4);border-radius:var(--radius-sm);font-size:var(--text-xs)}.button-square{border-radius:var(--radius-sm);width:28px;min-height:28px;padding:0}.button-round{width:var(--space-11);border-radius:var(--radius-pill);padding:0}.button:disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.button-icon{flex:none;width:16px;height:16px}.typewriter-caret{vertical-align:-.12em;background:currentColor;width:.08em;height:1em;margin-left:.04em;animation:1s step-end infinite typewriter-caret-blink;display:inline-block}@keyframes typewriter-caret-blink{50%{opacity:0}}@media (prefers-reduced-motion:reduce){.typewriter-caret{animation:none}}.avatar{border-radius:50%;flex-shrink:0;place-items:center;font-weight:700;display:grid}.avatar[data-size=sm]{width:var(--space-8);height:var(--space-8);font-size:var(--text-xs)}.avatar[data-size=md]{width:var(--space-10);height:var(--space-10);font-size:var(--text-xs)}.avatar[data-size=lg]{width:var(--space-11);height:var(--space-11);font-size:var(--text-sm)}.avatar[data-tone=accent]{background:var(--accent);color:var(--ink);letter-spacing:.02em}.avatar[data-tone=soft]{border:1px solid var(--ink-a14);background:linear-gradient(140deg, var(--accent-text-a40), var(--ink-a06));color:var(--ink);font-weight:600}.icon-badge{color:var(--accent-text);flex:none;place-items:center;display:inline-grid}.icon-badge[data-shape=rounded]{border-radius:var(--radius-lg)}.icon-badge[data-shape=circle]{border-radius:50%}.icon-badge[data-size=sm]{width:var(--space-9);height:var(--space-9)}.icon-badge[data-size=md]{width:var(--space-10);height:var(--space-10)}.icon-badge[data-size=lg]{width:var(--space-12);height:var(--space-12)}.icon-badge[data-size=lg][data-shape=rounded]{border-radius:var(--radius-2xl)}.icon-badge[data-tone=accent]{border:1px solid var(--accent-text-a20);background:var(--accent-a14)}.icon-badge[data-tone=neutral]{border:1px solid var(--ink-a16);background:var(--ink-a06)}.window-bar{align-items:center;gap:var(--space-2);border-bottom:1px solid var(--ink-a06);background:var(--ink-a04);flex-shrink:0;display:flex}.window-bar>span{background:var(--signal-red);border-radius:50%}.window-bar>span:nth-child(2){background:var(--signal-amber)}.window-bar>span:nth-child(3){background:var(--signal-green)}.window-bar em{color:var(--ink-a55);white-space:nowrap;text-overflow:ellipsis;margin-left:auto;font-style:normal;overflow:hidden}.window-bar[data-size=sm]{padding:var(--space-2) var(--space-3)}.window-bar[data-size=sm]>span{width:9px;height:9px}.window-bar[data-size=sm] em{font-size:var(--text-2xs)}.window-bar[data-size=md]{padding:var(--space-3) var(--space-4)}.window-bar[data-size=md]>span{width:11px;height:11px}.window-bar[data-size=md] em{font-size:var(--text-xs)}.ordinal[data-variant=outline]{color:#0000;font-family:var(--font-editorial);font-size:var(--text-fluid-6);-webkit-text-stroke:1px var(--accent-text-a50);line-height:.9;transition:color .5s}.ordinal[data-variant=mono]{color:var(--ink-a55);font-family:var(--font-mono);font-size:var(--text-xs)}.hero-section{gap:clamp(var(--space-14), 7vw, var(--space-26));min-height:600px;padding:clamp(var(--space-28), 13vw, var(--space-40)) 0 clamp(var(--space-22), 9vw, var(--space-31));grid-template-columns:minmax(0,.92fr) minmax(260px,360px);align-items:center;display:grid}.hero-copy{max-width:var(--measure-wide);min-width:0}.hero-copy h1,.section-heading h2{font-family:var(--font-editorial);letter-spacing:0}.hero-copy h1{font-size:var(--text-fluid-hero);margin:0;font-weight:500;line-height:1.06}.hero-copy p{max-width:var(--measure-narrow);margin:var(--space-6) 0 0;color:var(--ink-a55);font-size:var(--text-fluid-1);line-height:1.7}.hero-actions{gap:var(--space-3);margin-top:var(--space-7);flex-wrap:wrap;display:flex}.hero-portrait{--portrait-scale:1;aspect-ratio:1;width:min(100%,350px);min-height:auto;box-shadow:none;background:0 0;border:0;place-items:center;margin:0;padding:0;display:grid;position:relative;overflow:visible}.hero-portrait.motion-card{box-shadow:none}.hero-terminal{z-index:4;border:1px solid var(--ink-a10);border-radius:var(--radius-lg);background:var(--background-a90);-webkit-backdrop-filter:blur(18px)saturate(150%);backdrop-filter:blur(18px)saturate(150%);width:clamp(220px,21vw,280px);box-shadow:inset 0 1px 0 var(--ink-a06), 0 28px 60px -20px var(--black-a90), 0 0 0 1px var(--accent-a08);font-family:var(--font-mono);animation:6s ease-in-out infinite heroTerminalFloat;position:absolute;top:-18%;right:-30%;overflow:hidden}.hero-terminal-body{padding:var(--space-3) var(--space-4) var(--space-4);font-size:var(--text-xs);line-height:1.6;display:block}.hero-terminal-prompt{margin-bottom:var(--space-2);color:var(--accent);display:block}.hero-terminal-body q{color:var(--ink-a80);quotes:none}.hero-terminal-cursor{width:7px;height:13px;margin-left:var(--space-1);vertical-align:-2px;background:var(--accent);animation:1.1s step-end infinite heroTerminalBlink;display:inline-block}@keyframes heroTerminalFloat{0%,to{transform:translate(0)}50%{transform:translateY(-8px)}}@keyframes heroTerminalBlink{50%{opacity:0}}@media (max-width:1023px){.hero-terminal{width:min(220px,74%);top:-16%;right:-6%}.hero-terminal-body{font-size:var(--text-xs)}}@media (prefers-reduced-motion:reduce){.hero-terminal,.hero-terminal-cursor{animation:none}}.hero-portrait:before{pointer-events:none;content:"";background:radial-gradient(ellipse, var(--void-a70), transparent 72%);filter:blur(18px);border-radius:50%;height:42%;position:absolute;inset:auto 8% 0}.hero-orbit-icons{z-index:2;pointer-events:none;transform-origin:50%;position:absolute;inset:-16%}.hero-orbit-icon{--orbit-size:clamp(21px, 2.35vw, 28px);--orbit-entry-delay:calc(.52s + (var(--orbit-index) * 54ms));--float-x:0px;--float-y:0px;width:var(--orbit-size);height:var(--orbit-size);opacity:0;transform-origin:50%;place-items:center;display:grid;position:absolute;transform:translate(-50%,-50%)scale(.72)}.hero-orbit-icon img{object-fit:contain;opacity:.78;width:100%;height:100%;filter:saturate(.96) drop-shadow(0 12px 18px var(--void-a30)) drop-shadow(0 0 10px var(--accent-text-a14))}.portfolio-content-shell.is-revealed .hero-orbit-icon{animation:orbitIconReveal .72s cubic-bezier(.16, 1, .3, 1) var(--orbit-entry-delay) both, orbitIconFloat 5.8s ease-in-out calc(var(--orbit-entry-delay) + .72s) infinite}.orbit-icon-ts{--float-x:3px;--float-y:-4px;top:13%;left:60%}.orbit-icon-swift{--float-x:-5px;--float-y:2px;top:39%;left:88%}.orbit-icon-aws{--float-x:-5px;--float-y:-3px;top:79%;left:66%}.orbit-icon-docker{--float-x:3px;--float-y:-3px;top:79%;left:34%}.orbit-icon-figma{--float-x:4px;--float-y:3px;top:39%;left:12%}.orbit-icon-python{--float-x:-2px;--float-y:4px;top:13%;left:40%}.orbit-icon-kotlin{--float-x:-4px;--float-y:4px;top:24%;left:76%}.orbit-icon-java{--float-x:-3px;--float-y:-2px;top:59%;left:86%}.orbit-icon-android{--float-x:3px;--float-y:-4px;top:86%;left:50%}.orbit-icon-apple{--float-x:3px;--float-y:2px;top:59%;left:14%}.portrait-image{z-index:4;object-fit:contain;opacity:1;width:106%;height:auto;filter:drop-shadow(0 28px 74px var(--void-a60)) drop-shadow(0 0 34px var(--accent-a12));transform:translate3d(0, 11%, 0) scale(calc(var(--portrait-scale) * .96));transition:filter .36s,transform .42s cubic-bezier(.22,1,.36,1);position:relative}.hero-portrait:hover,.hero-portrait:focus-within{--portrait-scale:1.012}.portrait-assembly{z-index:5;pointer-events:none;opacity:0;width:100vw;height:100vh;display:block;position:fixed;inset:0}.portrait-assembly[data-stage=running]{opacity:1}.portrait-assembly[data-stage=done]{opacity:0;transition:opacity .26s}.portfolio-content-shell .hero-portrait[data-assembly] .portrait-image{transform:translate3d(0, 7%, 0) scale(var(--portrait-scale));animation:none}.portfolio-content-shell .hero-portrait[data-assembly=pending] .portrait-image,.portfolio-content-shell .hero-portrait[data-assembly=running] .portrait-image{transition:none}@media (min-width:720px){.hero-portrait[data-assembly=pending] .portrait-image,.hero-portrait[data-assembly=running] .portrait-image{opacity:0}.portfolio-content-shell.is-revealed .hero-portrait[data-assembly=done] .portrait-image{opacity:1}}.hero-portrait:hover .portrait-image,.hero-portrait:focus-within .portrait-image{filter:drop-shadow(0 30px 78px var(--void-a60)) drop-shadow(0 0 44px var(--accent-a20))}@keyframes heroTextIntroReveal{0%{opacity:0;filter:blur(10px);transform:translateY(22px)}to{opacity:1;filter:blur();transform:translate(0)}}@keyframes heroControlsIntroReveal{0%{opacity:0;filter:blur(8px);transform:translateY(18px)scale(.98)}to{opacity:1;filter:blur();transform:translate(0)scale(1)}}@keyframes orbitIconReveal{0%{opacity:0;filter:blur(9px);transform:translate(-50%,-50%)scale(.72)}to{opacity:1;filter:blur();transform:translate(-50%,-50%)scale(1)}}@keyframes orbitIconFloat{0%,to{transform:translate(-50%,-50%)scale(1)}50%{transform:translate3d(calc(-50% + var(--float-x)), calc(-50% + var(--float-y)), 0) scale(1.025)}}@keyframes portraitReveal{0%{opacity:0;filter:blur(10px) drop-shadow(0 18px 54px var(--void-a40)) drop-shadow(0 0 18px var(--accent-a08));transform:translateY(16%)scale(.92)}to{opacity:1;transform:translate3d(0, 7%, 0) scale(var(--portrait-scale));filter:blur(0) drop-shadow(0 28px 74px var(--void-a60)) drop-shadow(0 0 34px var(--accent-a12))}}main[data-choreo] .motion-card{--motion-light:1}.motion-card{--motion-y:0px;--motion-scale:1;--motion-opacity:1;--motion-rotate-x:0deg;--motion-rotate-y:0deg;--motion-z:0px;--motion-blur:0px;--motion-light:0;--motion-active:0;opacity:var(--motion-opacity);transform:perspective(1100px) translate3d(0, var(--motion-y), var(--motion-z)) rotateX(var(--motion-rotate-x)) rotateY(var(--motion-rotate-y)) scale(var(--motion-scale));transform-origin:top;transform-style:preserve-3d;will-change:transform, opacity;filter:blur(var(--motion-blur)) saturate(calc(.78 + (var(--motion-light) * .22)));box-shadow:0 28px 90px var(--void), 0 0 82px var(--accent);transition:border-color .22s,box-shadow .22s,filter .22s}@supports (color:color-mix(in lab, red, red)){.motion-card{box-shadow:0 28px 90px color-mix(in srgb, var(--void) calc((.2 + var(--motion-active) * .18) * 100%), transparent), 0 0 82px color-mix(in srgb, var(--accent) calc(var(--motion-active) * 18%), transparent)}}.about-intro-lead{margin:0 0 var(--space-7);font-family:var(--font-editorial);font-size:var(--type-lead);letter-spacing:-.01em;font-weight:500;line-height:1.2}.about-intro-body{gap:var(--space-5);max-width:66ch;display:grid}.about-intro-body p{color:var(--ink-a70);font-size:var(--text-fluid-1);margin:0;line-height:1.7}.about-intro-body p:first-child{color:var(--ink-a90)}.about-intro-now{max-width:60ch;margin:var(--space-9) 0 0;padding-left:var(--space-5);border-left:2px solid var(--accent);color:var(--ink);font-size:var(--text-fluid-2);font-weight:500;line-height:1.55}.about-story-intro{gap:var(--space-4);text-align:center;max-width:68ch;margin:0 auto;display:grid}.about-story-intro p{color:var(--ink-a70);font-size:var(--text-lg);margin:0;line-height:1.75}.about-story-intro p:first-child{color:var(--ink-a90);font-family:var(--font-editorial);font-size:var(--text-fluid-3);font-style:italic}.about-story-timeline{max-width:var(--measure-wide);margin:var(--space-18) auto 0;--story-progress:0;padding:0;list-style:none;position:relative}.about-story-timeline:before,.about-story-timeline:after{content:"";width:2px;position:absolute;top:12px;bottom:0;left:5px}.about-story-timeline:before{background:var(--accent-text-a20)}.about-story-timeline:after{background:var(--accent);transform-origin:top;transform:scaleY(var(--story-progress))}.about-story-chapter{padding:0 0 var(--space-16) var(--space-8);position:relative}.about-story-chapter:last-child{padding-bottom:0}.about-story-chapter:before{content:"";border:2px solid var(--accent-text-a40);background:var(--background);border-radius:50%;width:12px;height:12px;transition:background-color .3s,border-color .3s,box-shadow .3s;position:absolute;top:6px;left:0}.about-story-chapter[data-active]:before{border-color:var(--accent);background:var(--accent);box-shadow:0 0 0 6px var(--accent-a20)}.about-story-meta{align-items:baseline;gap:var(--space-4);margin-bottom:var(--space-5);display:flex}.about-story-chapter[data-active] .ordinal{color:var(--accent-text-a16)}.about-story-period{color:var(--accent-text);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.12em}.about-story-chapter h3{font-family:var(--font-editorial);font-size:var(--text-fluid-4);margin:0;font-weight:500;line-height:1.15}.about-story-chapter>p{max-width:60ch;margin:var(--space-4) 0 0;color:var(--ink-a70);font-size:var(--text-base);line-height:1.75}.about-story-aside{gap:var(--space-4);margin-top:var(--space-6);padding-left:var(--space-5);border-left:1px solid var(--accent-text-a30);display:grid}.about-story-lesson{color:var(--ink-a90);font-family:var(--font-editorial);font-size:var(--text-fluid-2);margin:0;line-height:1.45}.about-story-question{color:var(--accent-pale);font-family:var(--font-editorial);font-size:var(--text-fluid-2);margin:0;font-style:italic;line-height:1.45}.about-story-question:before{content:"“"}.about-story-question:after{content:"”"}.about-story-tags{margin-top:var(--space-6)}.about-principle{border:1px solid var(--border-strong);border-radius:var(--radius-card);background:linear-gradient(160deg, var(--ink-a06), var(--ink-a02));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:border-color .25s}.about-principle:hover{border-color:var(--accent-text-a40)}.about-principles-list{gap:var(--space-4);margin:var(--space-12) 0 0;grid-template-columns:minmax(0,1fr);padding:0;list-style:none;display:grid}@media (min-width:720px){.about-principles-list{grid-template-columns:repeat(2,minmax(0,1fr))}.about-principle:last-child{grid-column:1/-1}}.about-principle{padding:var(--space-7)}.about-principle:last-child{background:radial-gradient(circle at 100% 0%, var(--accent-a16), transparent 60%), linear-gradient(160deg, var(--ink-a06), var(--ink-a02))}.about-principle-head{margin-bottom:var(--space-5);justify-content:space-between;align-items:center;display:flex}.about-principle h3{font-size:var(--text-xl);margin:0;font-weight:600;line-height:1.3}.about-principle p{margin:var(--space-3) 0 0;color:var(--ink-a60);font-size:var(--text-base);line-height:1.7}.about-next{padding:clamp(var(--space-8), 5vw, var(--space-14));border:.5px solid var(--accent-text-a20);border-radius:var(--radius-sheet);background:radial-gradient(circle at 0% 0%, var(--accent-a20), transparent 55%), radial-gradient(circle at 100% 100%, var(--indigo-a16), transparent 50%), var(--night-blue-1);position:relative;overflow:hidden}.about-next-body{gap:var(--space-4);max-width:62ch;margin-top:var(--space-6);display:grid}.about-next-body p{color:var(--ink-a70);font-size:var(--text-lg);margin:0;line-height:1.7}.about-next-roles-label{margin:var(--space-8) 0 var(--space-3);color:var(--ink-a55);font-size:var(--text-sm)}.about-next-note{max-width:60ch;margin:var(--space-4) 0 0;color:var(--ink-a55);font-size:var(--text-base);line-height:1.6}.about-next-cta{margin-top:var(--space-8)}.subpage-hero{margin-bottom:var(--space-14)}.subpage-banner{min-height:clamp(240px,32vh,320px);padding:clamp(var(--space-5), 3vw, var(--space-8)) 0;isolation:isolate;align-items:flex-end;display:flex;position:relative}.subpage-banner-scene{z-index:-2;width:100%;height:100%;-webkit-mask-image:linear-gradient(90deg, transparent 0%, var(--black) 45%, var(--black) 88%, transparent 100%), linear-gradient(0deg, transparent 0%, var(--black) 22%, var(--black) 85%, transparent 100%);-webkit-mask-composite:source-in;-webkit-mask-image:linear-gradient(90deg, transparent 0%, var(--black) 45%, var(--black) 88%, transparent 100%), linear-gradient(0deg, transparent 0%, var(--black) 22%, var(--black) 85%, transparent 100%);-webkit-mask-image:linear-gradient(90deg, transparent 0%, var(--black) 45%, var(--black) 88%, transparent 100%), linear-gradient(0deg, transparent 0%, var(--black) 22%, var(--black) 85%, transparent 100%);-webkit-mask-image:linear-gradient(90deg, transparent 0%, var(--black) 45%, var(--black) 88%, transparent 100%), linear-gradient(0deg, transparent 0%, var(--black) 22%, var(--black) 85%, transparent 100%);mask-image:linear-gradient(90deg, transparent 0%, var(--black) 45%, var(--black) 88%, transparent 100%), linear-gradient(0deg, transparent 0%, var(--black) 22%, var(--black) 85%, transparent 100%);-webkit-mask-composite:source-in;-webkit-mask-composite:source-in;position:absolute;inset:0;-webkit-mask-composite:source-in;mask-composite:intersect}.subpage-banner-body{max-width:var(--measure-narrow)}.subpage-hero h1{font-size:var(--type-page-title);letter-spacing:-.02em;margin:0;font-weight:600;line-height:1.08}.subpage-hero p{max-width:var(--measure);margin:var(--space-4) 0 0;color:var(--muted);font-size:var(--text-base);line-height:1.65}.subpage-hero .subpage-hero-meta{margin-top:var(--space-3);font-size:var(--text-sm)}@media (max-width:1023px){.subpage-hero{margin-bottom:var(--space-12)}.subpage-banner{min-height:340px;padding-top:var(--space-20)}.subpage-banner-scene{-webkit-mask-image:linear-gradient(0deg, transparent 30%, var(--black) 60%, var(--black) 90%, transparent 100%);-webkit-mask-image:linear-gradient(0deg, transparent 30%, var(--black) 60%, var(--black) 90%, transparent 100%);-webkit-mask-image:linear-gradient(0deg, transparent 30%, var(--black) 60%, var(--black) 90%, transparent 100%);-webkit-mask-image:linear-gradient(0deg, transparent 30%, var(--black) 60%, var(--black) 90%, transparent 100%);mask-image:linear-gradient(0deg, transparent 30%, var(--black) 60%, var(--black) 90%, transparent 100%)}}.subpage-banner[data-plain]{min-height:0;padding-top:var(--space-24)}.section-heading-wide{max-width:var(--measure-wide);margin-inline:auto;margin-bottom:var(--space-7);text-align:center}.section>.page-container>.section-heading:before{content:counter(section, decimal-leading-zero);margin-bottom:var(--space-3);color:var(--ink-muted);font-family:var(--font-mono-ui), serif;font-size:var(--text-xs);letter-spacing:.14em;font-weight:600;display:block}.eyebrow{z-index:3;margin-bottom:var(--space-4);color:var(--accent-text);font-family:var(--font-mono-ui), serif;font-size:var(--text-sm);letter-spacing:.14em;text-transform:uppercase;font-weight:600;display:block;position:relative}.section-heading h2{font-size:var(--type-section-title);margin:0;font-weight:500;line-height:1.05}:where(.tag-list){gap:var(--space-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.tag{min-height:26px;padding:0 var(--space-3);border:.5px solid var(--accent-muted-a70);border-radius:var(--radius-pill);background:var(--accent-soft);color:var(--accent-text);font-family:var(--font-mono-ui);font-size:var(--text-2xs);letter-spacing:.04em;white-space:nowrap;align-items:center;font-weight:700;display:inline-flex}.tag[data-size=lg]{min-height:36px;padding:0 var(--space-4);font-size:var(--text-xs)}.tag[data-variant=neutral]{border-color:var(--ink-a14);background:var(--ink-a06);color:var(--ink-a70)}.experience-grid{gap:var(--space-4);grid-template-columns:minmax(0,1fr);display:grid}@media (min-width:720px){.experience-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.marquee-stack{gap:var(--space-5);display:grid}.marquee-row{gap:var(--space-3);display:grid}.marquee-row-label{color:var(--muted);font-family:var(--font-mono-ui);font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase;font-weight:700}.marquee-viewport{padding:var(--space-2) 0;position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 8% 92%,#0000);mask-image:linear-gradient(90deg,#0000,#000 8% 92%,#0000)}.marquee-track{gap:var(--space-4);width:max-content;animation:marqueeScroll var(--marquee-duration,20s) linear infinite;display:flex}.marquee-track-reverse{animation-direction:reverse}.marquee-viewport:hover .marquee-track{animation-play-state:paused}.marquee-icon{border:.5px solid var(--accent-muted-a70);border-radius:var(--radius-md);background:var(--accent-soft);width:44px;height:44px;color:var(--accent-text);flex:none;justify-content:center;align-items:center;display:inline-flex}.marquee-icon svg{width:20px;height:20px}.marquee-icon-mask{width:20px;height:20px;-webkit-mask-image:var(--icon-src);-webkit-mask-image:var(--icon-src);-webkit-mask-image:var(--icon-src);-webkit-mask-image:var(--icon-src);mask-image:var(--icon-src);background-color:currentColor;display:block;-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.cm-viewport{padding:var(--space-4) 0}.cm-track{align-items:center;gap:var(--space-5)}.cm-item{min-width:120px;height:64px;padding:0 var(--space-5);flex:none;justify-content:center;align-items:center;display:inline-flex}.cm-logo{object-fit:contain;filter:brightness(0)invert();opacity:.7}.cm-logo[data-tone=invert]{filter:invert()grayscale()brightness(1.4);mix-blend-mode:screen}@keyframes marqueeScroll{to{transform:translate(-50%)}}@media (prefers-reduced-motion:reduce){.marquee-track{animation:none}}.experience-card{border:.5px solid var(--border);background:var(--surface-card-a70);border-radius:var(--radius-lg);padding:var(--space-5) var(--space-6);padding:var(--space-6);border:1px solid var(--ink-a10);background:linear-gradient(160deg, var(--ink-a06), var(--panel-deep-a60));-webkit-backdrop-filter:blur(18px)saturate(130%);backdrop-filter:blur(18px)saturate(130%);min-width:0;box-shadow:inset 0 1px 0 var(--ink-a08);transition:border-color .22s}.experience-card:hover{border-color:var(--accent-text-a30)}.experience-card h3{font-family:var(--font-dm-serif), Georgia, serif;font-size:var(--text-fluid-1);margin:0;line-height:1.15}.experience-card p{margin:var(--space-3) 0 0;color:var(--muted);font-size:var(--text-sm);line-height:1.65}.section-link{align-items:center;gap:var(--space-3);margin-top:var(--space-6);color:var(--ink);min-height:44px;font-weight:700;text-decoration:none;display:inline-flex}.experience-card-header{gap:var(--space-4);justify-content:space-between;align-items:flex-start;display:flex}.experience-card-identity{gap:var(--space-3);align-items:center;min-width:0;display:flex}.experience-card-identity>div:last-child{min-width:0}.company-logo{border:.5px solid var(--accent-muted-a70);border-radius:var(--radius-md);background:var(--accent-soft);width:44px;height:44px;color:var(--accent-text);box-shadow:inset 0 1px 0 var(--ink-a08);flex:none;justify-content:center;align-items:center;display:inline-flex}.company-logo svg{width:20px;height:20px}.company-logo-mask{width:20px;height:20px;-webkit-mask-image:var(--icon-src);-webkit-mask-image:var(--icon-src);-webkit-mask-image:var(--icon-src);-webkit-mask-image:var(--icon-src);mask-image:var(--icon-src);background-color:currentColor;display:block;-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.experience-card-header p{margin-top:var(--space-2);color:var(--ink-soft)}.experience-outcome{color:var(--ink)!important}.experience-card>span{margin-top:var(--space-5);color:var(--muted);font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;display:inline-flex}.service-section{gap:var(--space-16);padding:var(--space-11);background:var(--surface);color:var(--ink);border:.5px solid var(--border);border-radius:var(--radius-lg);grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:start;display:grid}.service-copy .section-heading-body{max-width:var(--measure);margin:var(--space-6) 0 0;color:var(--ink-a70);line-height:1.75}.service-copy .eyebrow{color:var(--steel)}.service-list{gap:var(--space-4);margin:0;padding:0;list-style:none;display:grid}.service-list li{gap:var(--space-3);padding-bottom:var(--space-4);border-bottom:.5px solid var(--ink-a12);color:var(--ink-a80);font-size:var(--text-base);grid-template-columns:8px minmax(0,1fr);align-items:baseline;line-height:1.6;display:grid}.status-dot{background:var(--steel-a90);width:6px;height:6px;box-shadow:0 0 8px var(--steel-a40), 0 0 18px var(--accent-a20);border-radius:50%;flex:none;animation:2.8s ease-in-out infinite starPulse}@keyframes starPulse{0%,to{opacity:.46;transform:scale(.82)}45%{opacity:.95;transform:scale(1)}68%{opacity:.62;transform:scale(.88)}}.service-list .status-dot{animation-delay:.42s}@media (max-width:1023px){.hero-section,.service-section{grid-template-columns:1fr}.hero-section{gap:var(--space-11);padding:var(--space-22) 0 var(--space-18)}.hero-portrait{width:min(360px,92%);margin:var(--space-5) auto 0}.service-section{gap:var(--space-9);padding:var(--space-9)}}@media (max-width:719px){.intro-loader-copy{width:min(86vw,360px);font-size:var(--text-fluid-loader-mobile);text-wrap:balance;line-height:1.06}.intro-typewriter{white-space:normal;flex-wrap:wrap}.hero-section{min-height:auto;padding:var(--space-20) 0 var(--space-16);display:block}.hero-copy,.hero-copy p{width:100%;max-width:100%}.hero-copy p,.service-copy .section-heading-body{max-width:32ch}.hero-copy h1{overflow-wrap:break-word;word-break:normal;max-width:12.4ch;font-size:var(--text-fluid-hero-mobile);line-height:1.08}.section-heading h2{overflow-wrap:anywhere;max-width:100%;font-size:var(--text-fluid-heading-mobile)}.hero-copy p{margin-top:var(--space-5);font-size:var(--text-base);line-height:1.62}.hero-actions,.button:not(.button-square,.button-round){width:100%}.hero-portrait{width:min(92%,292px);margin:var(--space-11) auto 0}.portrait-image{width:104%}.service-section{padding:var(--space-5);border-radius:var(--radius-md)}.hero-orbit-icons{inset:-12%}.hero-orbit-icon{--orbit-size:24px}.orbit-icon-ts{top:12%;left:61%}.orbit-icon-swift{top:41%;left:90%}.orbit-icon-figma{top:41%;left:10%}.orbit-icon-python{top:12%;left:39%}.orbit-icon-aws,.orbit-icon-docker,.orbit-icon-java,.orbit-icon-android,.orbit-icon-apple,.orbit-icon-kotlin{display:none}}.xp-timeline-list{--xp-line-x:7px;gap:var(--space-5);max-width:var(--measure-wide);margin:var(--space-10) 0 0;padding:0 0 0 var(--space-9);list-style:none;display:grid;position:relative}.xp-timeline-line{top:14px;bottom:14px;left:var(--xp-line-x);background:var(--ink-a12);width:1px;position:absolute}.xp-timeline-line-fill{transform-origin:top;background:var(--ink-a70);height:100%;display:block}.xp-item{position:relative}.xp-dot{top:18px;left:calc(var(--xp-line-x) - 36px - 7px);background:var(--ink-pale);width:15px;height:15px;box-shadow:0 0 0 4px var(--background-a95);border-radius:50%;position:absolute}@media (min-width:1024px){.xp-timeline-list{--xp-gutter:40px;max-width:none;margin:var(--space-12) 0 0;gap:var(--space-7);padding:0}.xp-timeline-line{left:50%;transform:translate(-50%)}.xp-item{width:calc(50% - var(--xp-gutter))}.xp-item[data-side=left]{justify-self:start}.xp-item[data-side=right]{justify-self:end}.xp-item[data-side=left] .xp-dot{left:auto;right:calc(-1 * var(--xp-gutter) - 7.5px)}.xp-item[data-side=right] .xp-dot{left:calc(-1 * var(--xp-gutter) - 7.5px)}}.xp-card{border:1px solid var(--ink-a10);border-radius:var(--radius-lg);background:var(--panel-a90);transition:border-color .2s,background-color .2s;overflow:hidden}.xp-card:hover,.xp-card[data-expanded=true]{border-color:var(--ink-a20);background:var(--panel-raised-a90)}.xp-group{padding:var(--space-5) var(--space-5) var(--space-5);border:1px solid var(--ink-a10);border-radius:var(--radius-lg);background:var(--panel-a90)}.xp-group-title{color:var(--ink);font-size:var(--text-xl);margin:0;font-weight:700;line-height:1.25}.xp-group-roles{gap:var(--space-3);margin:var(--space-5) 0 0;padding:0 0 0 var(--space-6);list-style:none;display:grid;position:relative}.xp-group-role{position:relative}.xp-group-role:before{background:var(--ink-a14);content:"";width:16px;height:1px;position:absolute;top:24px;left:-16px}.xp-group-role:after{background:var(--ink-a14);content:"";width:1px;height:calc(100% + 12px);position:absolute;top:-12px;left:-16px}.xp-group-role:first-child:after{height:100%;top:0}.xp-group-role:last-child:after{height:36px}.xp-card[data-nested=true]{background:var(--ink-a04)}.xp-card[data-nested=true]:hover,.xp-card[data-nested=true][data-expanded=true]{background:var(--ink-a06)}.xp-card[data-nested=true] .xp-card-title{font-size:var(--text-base)}.xp-card-trigger{gap:var(--space-2);width:100%;padding:var(--space-5) var(--space-5);color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;display:grid}.xp-card-trigger:focus-visible{outline:2px solid var(--accent-text);outline-offset:-2px;border-radius:var(--radius-lg)}.xp-card-head{justify-content:space-between;align-items:flex-start;gap:var(--space-5);display:flex}.xp-card-text{gap:var(--space-2);min-width:0;display:grid}.qp-section [data-tone=green]{--qp-color:var(--tone-green)}.qp-section [data-tone=blue]{--qp-color:var(--tone-blue)}.qp-section [data-tone=amber]{--qp-color:var(--tone-amber)}.qp-section [data-tone=violet]{--qp-color:var(--tone-violet)}.qp-section [data-tone=cyan]{--qp-color:var(--tone-cyan)}.qp-section .tok-keyword{color:var(--code-violet)}.qp-section .tok-type{color:var(--code-blue)}.qp-section .tok-ident{color:var(--ink-pale)}.qp-section .tok-punct{color:var(--ink-a50)}.qp-section .tok-string{color:var(--code-string)}.qp-section .tok-prop{color:var(--qp-color)}.qp-section .tok-comment{color:var(--ink-a30);font-style:italic}.landing-screen.landing-screen-scene{padding-block:clamp(var(--space-10), 7vh, var(--space-20));align-items:center}.landing-screen-scene>.qp-section{width:100%;margin-bottom:0}.pfs-stage{border:1px solid var(--ink-a10);border-radius:clamp(var(--radius-2xl), 2vw, var(--radius-3xl));background:var(--night-blue-1);width:min(100%,960px);height:min(560px,72svh);margin-inline:auto;position:relative;overflow:hidden}.pfs-host,.pfs-gl,.pfs-css,.pfs-flat{pointer-events:none;position:absolute;inset:0}.pfs-gl{width:100%;height:100%}.pfs-screen-host{overflow:hidden}.pfs-code-panel{z-index:1;border:1px solid var(--accent-text-a20);border-radius:var(--radius-lg);background:var(--night-blue-1);width:min(45%,440px);height:62%;box-shadow:0 18px 48px var(--black-a40);pointer-events:none;position:absolute;top:12%;left:clamp(20px,3vw,36px);overflow:hidden}@media (max-width:719px){.pfs-host{transform:translate(-5%,-28%)}.pfs-code-panel{border-radius:var(--radius-lg);width:auto;height:47%;top:40%;left:12px;right:12px}}.pfs-flat{padding:clamp(var(--space-24), 16vh, var(--space-40)) clamp(var(--space-4), 6vw, var(--space-24)) clamp(var(--space-24), 14vh, var(--space-35))}.pfs-flat .pfs-screen{border-radius:var(--radius-lg)}.pfs-heading{z-index:2;padding-inline:var(--space-4);text-align:center;justify-content:center;display:flex;position:absolute;top:clamp(12px,4vh,40px);left:0;right:0}.pfs-actions{z-index:2;justify-content:center;align-items:center;gap:var(--space-3);padding-inline:var(--space-4);flex-wrap:wrap;display:flex;position:absolute;bottom:clamp(20px,6vh,56px);left:0;right:0}.pfs-actions .qp-actions{margin-top:0}@media (min-width:1024px){.pfs-actions{padding-inline:clamp(var(--space-6), 4vw, var(--space-12));justify-content:flex-start}}@media (max-width:479px){.pfs-actions{gap:var(--space-2);padding-inline:var(--space-3);bottom:14px}.pfs-actions .qp-actions{gap:var(--space-2);flex-wrap:nowrap}}.pfs-screen{background:var(--night-blue-0);width:100%;height:100%;position:relative;overflow:hidden}.pfs-screen-glow,.pfs-wallpaper,.pfs-window{position:absolute;inset:0}.pfs-screen-glow{background:radial-gradient(60% 60% at 50% 50%, var(--accent-text-a40), transparent 72%)}.pfs-wallpaper{background:radial-gradient(90% 90% at 75% 15%, var(--navy-500), var(--night-blue-1) 58%, var(--void))}.pfs-ide{border-radius:var(--radius-md);background:var(--ide-surface);height:100%;box-shadow:inset 0 0 0 1px var(--ink-a07);color:var(--ink-a90);font-family:var(--font-mono-ui), ui-monospace, monospace;flex-direction:column;line-height:1.85;display:flex;position:relative;overflow:hidden}.pfs-ide-bar{border-bottom:1px solid var(--ink-a06);letter-spacing:.12em;text-transform:uppercase;flex:none;align-items:center;gap:1em;height:2.4em;padding-inline:1em;font-size:.72em;display:flex}.pfs-ide-dots{gap:.5em;display:flex}.pfs-ide-dots i{background:var(--ink-a16);border-radius:50%;width:.85em;height:.85em}.pfs-ide-file{color:var(--ink-a50)}.pfs-ide-code{padding:1.4em 1.6em 1em .6em}.pfs-line{visibility:hidden;display:flex;position:relative}.pfs-line[data-shown]{visibility:visible}.pfs-gutter{width:2.2em;color:var(--ink-a20);text-align:right;flex:none;margin-right:1.2em}.pfs-text{white-space:pre-wrap;overflow-wrap:anywhere;min-width:0}.pfs-pulse{background:var(--qp-color);border-radius:.4em;position:absolute;inset:0 -.4em 0 2.6em}@supports (color:color-mix(in lab, red, red)){.pfs-pulse{background:color-mix(in srgb, var(--qp-color) 14%, transparent)}}.pfs-pulse{box-shadow:inset 0 0 0 1px var(--qp-color), 0 0 1.4em var(--qp-color)}@supports (color:color-mix(in lab, red, red)){.pfs-pulse{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--qp-color) 45%, transparent), 0 0 1.4em color-mix(in srgb, var(--qp-color) 30%, transparent)}}.pfs-pulse{pointer-events:none}.pfs-caret{background:var(--accent-text);vertical-align:text-bottom;width:.55em;height:1.1em;margin-left:1px;animation:1s step-end infinite pfs-caret;display:inline-block}@keyframes pfs-caret{50%{opacity:0}}.pfs-term{border-top:1px solid var(--ink-a07);min-height:4.2em;color:var(--ink-a60);margin-top:1.2em;margin-left:3.4em;padding-top:.7em;font-size:.9em}.pfs-term:empty{border-color:#0000}.pfs-prompt{color:var(--code-blue)}.pfs-term-ok{color:var(--success-bright)}.pfs-sweep{background:linear-gradient(90deg, transparent 30%, var(--accent-text-a14) 50%, transparent 70%);pointer-events:none;position:absolute;inset:0}@media (prefers-reduced-motion:reduce){.pfs-caret{animation:none}}.qp-actions{justify-content:center;gap:var(--space-3);margin-top:var(--space-8);flex-wrap:wrap;display:flex}.cb-grid{gap:clamp(var(--space-7), 4vw, var(--space-12));display:grid}@media (min-width:1024px){.cb-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start}}.cb-info{gap:var(--space-6);display:grid}.cb-info .section-heading h2{color:var(--ink);font-size:var(--text-fluid-5);letter-spacing:-.02em}.cb-info .section-heading-body{max-width:46ch;margin:var(--space-3) 0 0;line-height:1.65}.cb-channels{border-top:1px solid var(--ink-a08);margin:0;padding:0;list-style:none}.cb-channels li{border-bottom:1px solid var(--ink-a08)}.cb-channel{align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-1);color:inherit;grid-template-columns:36px 112px minmax(0,1fr) 16px;text-decoration:none;transition:padding .32s cubic-bezier(.16,1,.3,1);display:grid}a.cb-channel:hover,a.cb-channel:focus-visible{padding-left:var(--space-3);outline:none}a.cb-channel:focus-visible .cb-card-value{text-underline-offset:4px;text-decoration:underline}.cb-icon{transition:background-color .22s}a.cb-channel:hover .cb-icon{background:var(--accent-a30)}.cb-card-label{color:var(--ink-a55);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase}.cb-card-value{min-width:0;color:var(--ink);font-size:var(--text-base);overflow-wrap:anywhere;font-weight:500}.cb-card-arrow{color:var(--ink-a55);transition:color .2s,transform .3s cubic-bezier(.16,1,.3,1)}a.cb-channel:hover .cb-card-arrow,a.cb-channel:focus-visible .cb-card-arrow{color:var(--ink);transform:translate(2px,-2px)}@media (max-width:479px){.cb-channel{grid-template-rows:auto auto;grid-template-columns:36px minmax(0,1fr) 16px;row-gap:2px}.cb-icon{grid-row:span 2}.cb-card-label{grid-column:2}.cb-card-value{grid-area:2/2}.cb-card-arrow{grid-area:1/3/span 2}}.cb-availability{gap:var(--space-4);display:grid}.cb-availability-title{align-items:center;gap:var(--space-3);color:var(--ink-a70);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;display:inline-flex}.cb-pulse{background:var(--success-bright);border-radius:50%;width:8px;height:8px;position:relative}.cb-pulse:after{background:var(--success-bright);content:"";border-radius:50%;animation:1.8s ease-out infinite cb-pulse;position:absolute;inset:0}@keyframes cb-pulse{to{opacity:0;transform:scale(2.8)}}@media (prefers-reduced-motion:reduce){.cb-pulse:after{animation:none}}.cb-availability ul{gap:var(--space-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.cb-availability li{padding:var(--space-2) var(--space-4);border:1px solid var(--success-bright-a20);border-radius:var(--radius-pill);background:var(--success-bright-a06);color:var(--ink-a80);font-size:var(--text-sm)}.ct-terminal{border:1px solid var(--ink-a10);border-radius:var(--radius-2xl);background:var(--background-a90);-webkit-backdrop-filter:blur(18px)saturate(150%);backdrop-filter:blur(18px)saturate(150%);height:clamp(460px,62vh,560px);box-shadow:inset 0 1px 0 var(--ink-a06), 0 32px 70px -28px var(--black-a95), 0 0 0 1px var(--accent-a08);font-family:var(--font-mono);cursor:text;flex-direction:column;display:flex;overflow:hidden}.ct-body{padding:var(--space-5) var(--space-5) var(--space-6);font-size:var(--text-sm);overscroll-behavior:contain;flex:1;line-height:1.7;overflow-y:auto}.ct-log{gap:2px;display:grid}.ct-line{white-space:pre-wrap;overflow-wrap:anywhere}.ct-system{color:var(--ink-a55)}.ct-system:before{content:"› ";color:var(--signal-green)}.ct-prompt{margin-top:var(--space-3);color:var(--accent-text);font-weight:600}.ct-prompt:before{content:"? ";color:var(--signal-amber)}.ct-answer{color:var(--ink-a90)}.ct-answer:before{content:"❯ ";color:var(--accent)}.ct-error{color:var(--danger-pale)}.ct-error:before{content:"✗ "}.ct-hint{color:var(--ink-a55);font-size:var(--text-xs)}.ct-art{margin:var(--space-4) 0 var(--space-2);overflow-x:auto}.ascii-banner{width:min(100%,460px);height:auto;filter:drop-shadow(0 0 8px var(--success-bright-a30));display:block;overflow:visible}.ascii-banner-stop-accent{stop-color:var(--accent)}.ascii-banner-stop-soft{stop-color:var(--accent-text)}.ascii-banner-stop-ink{stop-color:var(--ink)}.ascii-banner-stop-success{stop-color:var(--success-bright)}.ascii-shadow{fill:var(--accent-a50)}.ascii-banner[data-animated=true] .ascii-cell{opacity:0;transform-box:fill-box;transform-origin:50%;animation:.42s cubic-bezier(.16,1,.3,1) forwards asciiCellIn;animation-delay:var(--cell-delay)}@keyframes asciiCellIn{0%{opacity:0;transform:translateY(-60%)scale(.4)}to{opacity:1;transform:none}}.ct-success{color:var(--ink-a80)}.ct-options{justify-items:start;gap:var(--space-1);margin-top:var(--space-2);display:grid}.ct-option{min-height:44px;padding:var(--space-2) 0;color:var(--ink-a80);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;transition:color .16s}.ct-option span{color:var(--accent-text)}.ct-option:hover,.ct-option:focus-visible{color:var(--ink)}.ct-prompt-row{align-items:flex-start;gap:var(--space-3);margin-top:var(--space-3);display:flex}.ct-caret{color:var(--accent);line-height:1.7}.ct-input{min-width:0;min-height:44px;padding:var(--space-3) 0;color:var(--ink);font:inherit;caret-color:var(--success-bright);resize:none;background:0 0;border:0;outline:none;flex:1;line-height:1.7}@media (max-width:719px){.ct-input{font-size:var(--text-base)}}.ct-restart{margin-top:var(--space-4);min-height:44px;padding:var(--space-2) 0;color:var(--accent-text);font:inherit;cursor:pointer;background:0 0;border:0}.ct-restart:hover,.ct-restart:focus-visible{text-decoration:underline}@media (prefers-reduced-motion:reduce){.cb-pulse:after{animation:none}}.cs-card{justify-items:center;gap:var(--space-2);padding:clamp(var(--space-9), 6vw, var(--space-16)) clamp(var(--space-5), 5vw, var(--space-14));border:1px solid var(--ink-a10);border-radius:var(--radius-4xl);background:linear-gradient(150deg, var(--accent-a20), var(--surface-card-a95) 45%, var(--violet-a20));text-align:center;display:grid;position:relative;overflow:hidden}.cs-orb{aspect-ratio:1;filter:blur(60px);opacity:.45;pointer-events:none;border-radius:50%;width:340px;animation:12s ease-in-out infinite alternate cs-float;position:absolute}.cs-orb-a{background:var(--accent-a55);top:-160px;left:-100px}.cs-orb-b{background:var(--violet-a50);animation-delay:-6s;bottom:-180px;right:-120px}@keyframes cs-float{to{transform:translate(40px,30px)scale(1.12)}}.cs-badge{margin-bottom:var(--space-2);position:relative}.cs-heading{margin-bottom:var(--space-5);position:relative}.cs-form,.cs-success{justify-items:center;gap:var(--space-4);width:100%;max-width:var(--width-form);display:grid;position:relative}.cs-intents{gap:var(--space-1);padding:var(--space-1);border:1px solid var(--ink-a10);border-radius:var(--radius-pill);background:var(--black-a30);display:inline-flex}.choice-chip{min-height:var(--space-11);padding:var(--space-2) var(--space-4);border-radius:var(--radius-pill);color:var(--ink-a60);font:inherit;font-size:var(--text-sm);cursor:pointer;background:0 0;border:0;transition:color .2s;position:relative}.choice-chip[data-active=true]{color:var(--ink)}.choice-chip-bg{border-radius:inherit;background:var(--ink-a12);position:absolute;inset:0}.choice-chip-content{align-items:center;gap:var(--space-2);display:inline-flex;position:relative}.cs-field{gap:var(--space-2);width:100%;padding:var(--space-2);border:1px solid var(--ink-a14);border-radius:var(--radius-2xl);background:var(--black-a40);transition:border-color .2s,box-shadow .2s;display:flex}.cs-field:focus-within{border-color:var(--accent-text-a60);box-shadow:0 0 0 4px var(--accent-a20)}.cs-field[data-invalid=true]{border-color:var(--danger-soft-a70)}.cs-input{min-width:0;padding:0 var(--space-4);color:var(--ink);font:inherit;font-size:var(--text-base);background:0 0;border:0;outline:none;flex:1}.cs-input::placeholder{color:var(--ink-a55)}.cs-form .cs-field>.button{flex-shrink:0;width:auto}.cs-note{color:var(--ink-a55);font-size:var(--text-sm);margin:0}.cs-note[data-error=true]{color:var(--danger-pale)}.cs-success strong{color:var(--ink);font-size:var(--text-2xl)}.cs-success p{max-width:44ch;color:var(--ink-a70);margin:0;line-height:1.6}.cs-success-icon{background:var(--success-bright-a16);width:52px;height:52px;color:var(--success-bright);border-radius:50%;place-items:center;display:grid}@media (max-width:479px){.cs-field{border-radius:var(--radius-card);flex-direction:column}.cs-input{padding:var(--space-3) var(--space-4)}.cs-form .cs-field>.button{width:100%}}@media (prefers-reduced-motion:reduce){.cs-orb{animation:none}}.aq-deck{width:100%;max-width:var(--measure-wide);padding-bottom:var(--space-9);perspective:1400px;margin-inline:auto;display:grid}.aq-deck-card{align-content:center;gap:var(--space-7);padding:clamp(var(--space-7), 5vw, var(--space-14));border:1px solid var(--ink-a10);border-radius:var(--radius-sheet);background:radial-gradient(70% 60% at 100% 0%, var(--accent-text-a10), transparent 70%), var(--panel);box-shadow:0 30px 60px -30px var(--black-a90);transform-origin:50% 100%;outline:none;grid-area:1/1;margin:0;display:grid;overflow:hidden}.aq-deck-card[data-front=true]{cursor:pointer}.aq-deck-card[data-front=true]:focus-visible{border-color:var(--ink-a40)}.aq-quote{padding-left:clamp(0px, 4vw, var(--space-11));color:var(--ink);font-family:var(--font-body);font-size:var(--text-fluid-3);letter-spacing:-.005em;transform-origin:0;margin:0;font-weight:300;line-height:1.5;position:relative}.aq-quote[data-size=medium]{font-size:var(--text-fluid-2)}.aq-quote[data-size=long]{font-size:var(--text-fluid-1);line-height:1.6}.aq-key{color:var(--accent-text);font-weight:600}.aq-mark{color:var(--ink-a55);font-family:var(--font-editorial), serif;font-size:3.4em;line-height:1;position:absolute;top:-.35em;left:-.1em}.aq-author{align-items:center;gap:var(--space-4);padding-left:clamp(0px, 4vw, var(--space-11));display:flex}.aq-author-text{gap:2px;min-width:0;display:grid}.aq-name{color:var(--ink);font-size:var(--text-base);font-weight:600}.aq-headline{color:var(--ink-a60);font-size:var(--text-sm)}.aq-meta{color:var(--ink-a55);font-size:var(--text-xs)}.xp-card-logo-box{flex-shrink:0;justify-content:flex-end;align-items:center;width:104px;height:36px;display:flex;position:relative}.xp-logo-filters{width:0;height:0;position:absolute;overflow:hidden}.xp-card-logo{object-fit:contain;border-radius:var(--radius-sm);filter:url(#xp-logo-tint);opacity:.9;transition:opacity .2s,filter .3s,background-color .25s,box-shadow .25s}.xp-card-logo[data-tone=invert]{filter:invert()grayscale()brightness(1.4)url(#xp-logo-tint-lum);mix-blend-mode:screen}.xp-card[data-expanded=true] .xp-card-logo{opacity:1}.xp-card:hover .xp-card-logo,.xp-card:focus-within .xp-card-logo,.xp-group:hover .xp-card-logo{background-color:var(--ink-cool);box-shadow:0 0 0 7px var(--ink-cool);filter:none;opacity:1}.xp-card:hover .xp-card-logo[data-tone=invert],.xp-card:focus-within .xp-card-logo[data-tone=invert],.xp-group:hover .xp-card-logo[data-tone=invert]{mix-blend-mode:normal}.xp-card-meta{color:var(--ink-a55);font-size:var(--text-xs)}.xp-card-title{color:var(--ink);font-size:var(--text-lg);font-weight:700;line-height:1.3}.xp-card-summary{-webkit-line-clamp:2;color:var(--ink-a55);font-size:var(--text-sm);-webkit-box-orient:vertical;line-height:1.55;display:-webkit-box;overflow:hidden}.xp-card-toggle{align-items:center;gap:var(--space-2);margin-top:var(--space-2);color:var(--accent-text);font-size:var(--text-xs);font-weight:600;display:inline-flex}.xp-card-chevron{border-bottom:1.5px solid;border-right:1.5px solid;width:6px;height:6px;transition:transform .2s;transform:translateY(-2px)rotate(45deg)}.xp-card[data-expanded=true] .xp-card-chevron{transform:translateY(1px)rotate(-135deg)}.xp-card-panel{overflow:hidden}.xp-card-panel-inner{padding:var(--space-1) var(--space-5) var(--space-5);border-top:1px solid var(--ink-a08);container-type:inline-size}.xp-metrics{gap:var(--space-2);margin:var(--space-4) 0 0;grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.xp-metrics div{gap:var(--space-1);padding:var(--space-3) var(--space-3);border:1px solid var(--ink-a08);border-radius:var(--radius-md);flex-direction:column-reverse;display:flex}.xp-metrics dd{font-size:var(--text-2xl);margin:0;font-weight:700;line-height:1}.xp-metrics dt{color:var(--ink-a55);font-size:var(--text-xs)}.xp-highlights{gap:var(--space-2);margin:var(--space-4) 0 0;padding:0;list-style:none;display:grid}.xp-highlights li{padding-left:var(--space-4);color:var(--ink-soft);font-size:var(--text-sm);line-height:1.6;position:relative}.xp-highlights li:before{background:var(--ink-a50);content:"";width:6px;height:1px;position:absolute;top:.75em;left:0}.xp-core{margin-top:var(--space-4)}@container (min-width:480px){.xp-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}}.experience-card,.xp-card,.xp-group,.cs-card,.aq-deck-card{border-color:var(--card-border);background:var(--card-surface);box-shadow:var(--card-shadow)}@media (min-width:1024px){.mobile-nav{display:none}}.language-switcher{padding:var(--space-1);border:1px solid var(--ink-a10);border-radius:var(--radius-pill);background:var(--background-a70);-webkit-backdrop-filter:blur(16px)saturate(160%);backdrop-filter:blur(16px)saturate(160%);gap:2px;transition:opacity .2s;display:flex}.language-switcher[data-pending]{opacity:.6}.language-switcher-option{min-width:36px;height:28px;padding:0 var(--space-3);border-radius:var(--radius-pill);color:var(--muted);font-family:var(--font-jetbrains-mono), monospace;font-size:var(--text-xs);letter-spacing:.08em;cursor:pointer;transition:color .2s,background-color .2s}.language-switcher-option:hover{color:var(--ink)}.language-switcher-option[aria-pressed=true]{background:var(--ink-a10);color:var(--ink);cursor:default}.language-switcher-option:focus-visible{outline:2px solid var(--accent-text);outline-offset:1px}.language-switcher-corner{z-index:49;position:fixed;top:24px;right:24px}.language-switcher-menu{align-self:center}.language-switcher-menu .language-switcher-option{min-width:var(--space-11);height:var(--space-11)}@media (max-width:1023px){.language-switcher-corner{display:none}}.notch-anchor{top:calc(env(safe-area-inset-top,0px) + 12px);z-index:50;pointer-events:none;justify-content:center;display:flex;position:fixed;left:0;right:0}.notch{border:1px solid var(--ink-a10);background:var(--background-a95);-webkit-backdrop-filter:blur(24px)saturate(160%);backdrop-filter:blur(24px)saturate(160%);box-shadow:inset 0 1px 0 var(--ink-a06), 0 24px 48px -20px var(--black-a95);color:var(--ink);pointer-events:auto;touch-action:none;position:relative;overflow:hidden}.notch.is-expanded{touch-action:auto}.notch-pill{align-items:center;gap:var(--space-3);width:100%;height:100%;padding:0 var(--space-4) 0 var(--space-2);border-radius:inherit;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;display:flex}.notch-pill:focus-visible,.notch-close:focus-visible,.notch-brand:focus-visible,.notch-tile:focus-visible,.notch-cta:focus-visible{outline:2px solid var(--accent-text);outline-offset:-2px}.notch-title{font-size:var(--text-sm);text-align:left;text-overflow:ellipsis;white-space:nowrap;flex:1;font-weight:600;overflow:hidden}.notch-glyph{color:var(--ink-a55);flex-shrink:0}.notch-panel{gap:var(--space-3);padding:var(--space-4);flex-direction:column;display:flex}.notch-close{width:var(--space-11);height:var(--space-11);background:var(--ink-a06);color:var(--ink-a70);border-radius:50%;place-items:center;transition:background-color .16s,color .16s;display:grid;position:absolute;top:12px;right:12px}.notch-close:hover{background:var(--ink-a12);color:var(--ink)}.notch-brand{align-items:center;gap:var(--space-3);margin-right:var(--space-12);border-radius:var(--radius-2xl);padding:2px;display:flex}.notch-brand-name{font-size:var(--text-base);font-weight:700;display:block}.notch-brand-role{color:var(--ink-a55);font-size:var(--text-xs);display:block}.notch-grid{gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.notch-tile{gap:var(--space-3);min-height:72px;padding:var(--space-3);border:1px solid var(--ink-a06);border-radius:var(--radius-2xl);background:var(--ink-a04);color:var(--ink-a60);font-size:var(--text-sm);flex-direction:column;font-weight:600;transition:background-color .16s,color .16s,border-color .16s;display:flex}.notch-tile span{color:var(--ink)}.notch-tile:hover,.notch-tile:active{background:var(--ink-a08)}.notch-tile[aria-current=page]{border-color:var(--accent-a50);background:var(--accent-a20);color:var(--accent-text)}.notch-cta{min-height:48px;padding:0 var(--space-4);border-radius:var(--radius-pill);background:var(--accent);color:var(--ink);font-size:var(--text-sm);justify-content:space-between;align-items:center;font-weight:700;transition:background-color .16s;display:flex}.notch-cta:hover,.notch-cta:active{background:var(--accent-strong)}.side-rail{display:none}@media (min-width:1024px){main,.site-footer{width:min(var(--content-max), calc(100% - var(--gutter-rail) * 2))}.side-rail{z-index:30;align-items:center;gap:var(--space-2);padding:var(--space-2);border:1px solid var(--ink-a10);border-radius:var(--radius-pill);background:var(--background-a95);-webkit-backdrop-filter:blur(24px)saturate(160%);backdrop-filter:blur(24px)saturate(160%);box-shadow:inset 0 1px 0 var(--ink-a06), 0 24px 48px -24px var(--black-a90);flex-direction:column;display:flex;position:fixed;top:50%;left:20px;transform:translateY(-50%)}}.side-rail-slot{flex-shrink:0;place-items:center;width:40px;height:40px;display:grid}.side-rail-icon{place-items:center;display:grid}.side-rail-item{width:100%;height:100%;color:var(--ink-a55);border-radius:50%;place-items:center;transition:color .18s,background-color .18s;display:grid;position:relative}.side-rail-item:hover,.side-rail-item:focus-visible{background:var(--ink-a07);color:var(--ink)}.side-rail-item[aria-current=page]{background:var(--accent-a20);color:var(--accent-text)}.side-rail-cta{background:var(--accent);color:var(--ink)}.side-rail-cta:hover,.side-rail-cta:focus-visible{background:var(--accent-strong);color:var(--ink)}.side-rail-item:after{padding:var(--space-2) var(--space-3);border:1px solid var(--ink-a10);border-radius:var(--radius-md);background:var(--night-neutral);color:var(--ink);content:attr(data-label);font-size:var(--text-xs);white-space:nowrap;opacity:0;pointer-events:none;font-weight:600;transition:opacity .16s,transform .16s;position:absolute;top:50%;left:calc(100% + 14px);transform:translate(-4px,-50%)}.side-rail-item:hover:after,.side-rail-item:focus-visible:after{opacity:1;transform:translateY(-50%)}.side-rail-divider{background:var(--ink-a10);width:20px;height:1px;margin:2px 0}.section-heading-body{max-width:56ch;margin:var(--space-4) auto 0;color:var(--ink-a60);font-size:var(--text-base);line-height:1.7}.ach-track{gap:var(--space-5);padding:var(--space-2) 2px var(--space-5);overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;grid-auto-columns:clamp(250px,26vw,300px);grid-auto-flow:column;margin:0;scroll-padding-inline:2px;list-style:none;display:grid;overflow-x:auto}.ach-track::-webkit-scrollbar{display:none}.ach-slide{scroll-snap-align:start}.ach-slide .ach-card{clip-path:inset(var(--clip-y,0%) var(--clip-r,0px) var(--clip-y,0%) var(--clip-l,0px) round 18px)}.ach-slide .ach-media,.ach-slide .ach-content,.ach-slide .ach-stats{translate:var(--shift,0px) 0}.ach-slide .ach-content,.ach-slide .ach-stats{opacity:var(--fade,1)}.ach-controls{align-items:center;gap:var(--space-3);margin-top:var(--space-3);display:flex}.ach-card{--ach-strip:96px;aspect-ratio:4/5;border:1px solid var(--ink-a08);border-radius:var(--radius-card);background:radial-gradient(circle at 30% 20%, var(--accent-a40), transparent 60%), var(--night-blue-1);box-shadow:0 24px 50px -30px var(--black-a90);isolation:isolate;outline:none;transition:transform .42s cubic-bezier(.16,1,.3,1),border-color .3s,box-shadow .42s;position:relative;overflow:hidden}.ach-track:not([data-scrolling]) .ach-card:hover,.ach-card:focus-visible{border-color:var(--accent-text-a30);box-shadow:0 34px 60px -30px var(--accent-a50);transform:translateY(-4px)}.ach-media{z-index:-2;place-items:start center;padding-top:14%;display:grid;position:absolute;inset:0}.ach-glow-tint{background:radial-gradient(circle at 35% 22%, var(--tint-a), transparent 55%), radial-gradient(circle at 70% 40%, var(--tint-b), transparent 55%);position:absolute;inset:0}.ach-media .ach-glow{object-fit:cover;opacity:.55;filter:blur(48px)saturate(160%);transform:scale(1.4)}.ach-icon{border-radius:var(--radius-sheet);width:112px;height:112px;box-shadow:0 0 0 1px var(--ink-a14), 0 22px 40px -14px var(--black-a80);place-items:center;transition:transform .7s cubic-bezier(.16,1,.3,1);display:grid;position:relative;overflow:hidden}.ach-icon img{object-fit:cover;width:100%;height:100%}.ach-track:not([data-scrolling]) .ach-card:hover .ach-icon,.ach-card:focus-visible .ach-icon{transform:translateY(-14px)scale(.92)}.ach-monogram{background:linear-gradient(145deg, var(--accent), var(--navy-800));color:var(--ink);font-family:var(--font-editorial);font-size:var(--text-stat);letter-spacing:-.02em;font-weight:500}.ach-card:after{z-index:-1;content:"";pointer-events:none;background:linear-gradient(to top, var(--void-a95) 0%, var(--void-a80) 32%, var(--void-a16) 62%, transparent 80%);position:absolute;inset:0}.ach-content{padding:var(--space-6);transition:transform .52s cubic-bezier(.16,1,.3,1);position:absolute;bottom:0;left:0;right:0}.ach-content h3{color:var(--ink);font-size:var(--text-2xl);letter-spacing:-.01em;margin:0;font-weight:700;line-height:1.15}.ach-company{margin-top:var(--space-1);color:var(--ink-a60);font-size:var(--text-sm);display:block}.ach-content p{margin:var(--space-3) 0 0;color:var(--ink-a55);font-size:var(--text-sm);-webkit-line-clamp:3;-webkit-box-orient:vertical;max-height:5em;line-height:1.55;transition:opacity .3s,max-height .52s cubic-bezier(.16,1,.3,1),margin .52s cubic-bezier(.16,1,.3,1);display:-webkit-box;overflow:hidden}.ach-track:not([data-scrolling]) .ach-card:hover .ach-content,.ach-card:focus-visible .ach-content{transform:translateY(calc(var(--ach-strip) * -1))}.ach-track:not([data-scrolling]) .ach-card:hover .ach-content p,.ach-card:focus-visible .ach-content p{opacity:0;max-height:0;margin-top:0}.ach-stats{height:var(--ach-strip);border-top:1px solid var(--ink-a08);background:var(--surface-card-a70);-webkit-backdrop-filter:blur(18px)saturate(140%);backdrop-filter:blur(18px)saturate(140%);visibility:hidden;grid-template-columns:repeat(3,1fr);margin:0;transition:transform .52s cubic-bezier(.16,1,.3,1),visibility 0s linear .52s;display:grid;position:absolute;bottom:0;left:0;right:0;transform:translateY(100%)}.ach-track:not([data-scrolling]) .ach-card:hover .ach-stats,.ach-card:focus-visible .ach-stats{visibility:visible;transition:transform .52s cubic-bezier(.16,1,.3,1),visibility;transform:translateY(0)}.ach-stats>div{align-content:center;justify-items:center;gap:var(--space-1);min-width:0;padding:0 var(--space-2);text-align:center;display:grid}.ach-stats>div+div{border-left:1px solid var(--ink-a07)}.ach-stats svg{color:var(--ink-a70)}.ach-stats dt{color:var(--ink-a50);font-size:var(--text-xs)}.ach-stats dd{max-width:100%;color:var(--ink);font-size:var(--text-sm);white-space:nowrap;text-overflow:ellipsis;margin:0;font-weight:700;overflow:hidden}@media (max-width:719px){.ach-track{grid-auto-columns:min(300px,100vw - 96px)}.ach-card{--ach-strip:104px}.ach-stats dd{font-size:var(--text-xs);overflow-wrap:anywhere;white-space:normal;text-overflow:clip;line-height:1.15;overflow:visible}}.ach-hint{color:var(--ink-a55);font-size:var(--text-xs);margin:0 auto 0 0}@media (hover:none){.ach-content{transform:translateY(calc(var(--ach-strip) * -1))}.ach-content p{display:none}.ach-stats{visibility:visible;transform:translateY(0)}.ach-hint{display:none}}@media (prefers-reduced-motion:reduce){.ach-card,.ach-icon,.ach-content p,.ach-content,.ach-stats{transition:none}}.blog-profile-section{margin-bottom:var(--space-14)}.blog-profile>[role=img]{border-radius:0 0 var(--radius-3xl) var(--radius-3xl)}@media (max-width:1023px){.blog-profile>[role=img]{border-radius:0 0 var(--radius-3xl) var(--radius-3xl);width:100vw;margin-inline:calc(50% - 50vw)}}.notion-prose h3{color:var(--ink);font-family:var(--font-editorial);font-size:var(--text-fluid-prose-h3);margin:2.2em 0 .7em;scroll-margin-top:96px;font-weight:400;line-height:1.2}.notion-prose h3:first-child{margin-top:0}.notion-prose p{margin:0 0 1.1em}.notion-prose strong{color:var(--ink)}.notion-prose a{color:var(--accent-text);text-underline-offset:3px;text-decoration:underline}.notion-prose ul,.notion-prose ol{margin:.4em 0 1.1em;padding-left:1.4em}.notion-prose ul{list-style:outside}.notion-prose ol{list-style:decimal}.notion-prose li+li{margin-top:.4em}.notion-prose li::marker{color:var(--accent-text)}.notion-prose h4{color:var(--ink);font-size:var(--text-base);margin:1.8em 0 .5em;font-weight:600}.notion-prose :not(pre)>code{border:1px solid var(--ink-a08);border-radius:var(--radius-md);background:var(--ink-a06);color:var(--ink);font-family:var(--font-mono);overflow-wrap:anywhere;padding:.12em .4em;font-size:.86em}.notion-prose pre{padding:var(--space-4) var(--space-5);border:1px solid var(--ink-a08);border-radius:var(--radius-2xl);background:var(--background-a90);color:var(--ink-a90);font-family:var(--font-mono);font-size:var(--text-sm);tab-size:4;margin:.6em 0 1.4em;line-height:1.65;overflow-x:auto}.notion-prose table{border-collapse:collapse;width:100%;font-size:var(--text-sm);margin:.6em 0 1.4em}.notion-prose th,.notion-prose td{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--ink-a08);text-align:left}.notion-prose th{color:var(--ink-a50);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase;font-weight:500}.notion-prose td:first-child{color:var(--ink);font-family:var(--font-mono);font-size:var(--text-sm)}.notion-callout-body p:not(:first-child),.notion-toggle-body p{margin:.4em 0 0}.notion-toggle-body ul{margin:0}.blog-reactions{min-height:2rem}.blog-dialog-overlay{z-index:100;padding:clamp(var(--space-3), 4vh, var(--space-12)) clamp(var(--space-2), 3vw, var(--space-8));background:var(--void-a70);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);overscroll-behavior:contain;place-items:start center;display:grid;position:fixed;inset:0;overflow-y:auto}.blog-dialog{border:1px solid var(--ink-a10);border-radius:var(--radius-sheet);background:var(--surface-card-a95);width:min(1040px,100%);box-shadow:0 40px 120px var(--black-a60);position:relative;overflow:hidden}.blog-dialog-close{z-index:2;border:1px solid var(--ink-a14);border-radius:var(--radius-pill);width:40px;height:40px;color:var(--ink);background:var(--panel-deep-a70);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);place-items:center;transition:background .16s,transform .16s;display:grid;position:absolute;top:16px;right:16px}.blog-dialog-close:hover{background:var(--accent-a55);transform:rotate(90deg)}.blog-dialog-close:focus-visible{outline:2px solid var(--accent-text);outline-offset:2px}.blog-cover-player{border-bottom:1px solid var(--ink-a10)}.skip-link{z-index:1000;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--ink-cool);color:var(--background);font-weight:600;transition:transform .15s;position:fixed;top:12px;left:12px;transform:translateY(-160%)}.skip-link:focus-visible{outline:2px solid var(--sky);outline-offset:2px;transform:translateY(0)}main#main-content{counter-reset:section}main#main-content:focus{outline:none}:where(.page-container){width:100%;margin-inline:auto}.page-container[data-width=measure]{max-width:var(--measure-wide)}.page-container[data-width=wide]{width:100vw;margin-inline:calc(50% - 50vw)}:where(.section){margin-bottom:var(--space-section)}.section:has(.section-heading){counter-increment:section}.section:has(.section-heading)>.page-container{padding-top:var(--space-8);border-top:1px solid var(--border)}.landing-screen{min-height:calc(var(--screen-h,100svh) - var(--header-h,0px));padding-block:clamp(var(--space-6), 6vh, var(--space-18));flex-direction:column;justify-content:center;display:flex}.landing-screen>*{margin-bottom:0}.landing-screen .hero-section{min-height:0;padding-block:clamp(var(--space-4), 4vh, var(--space-12))}.legal-frame{margin-inline:0;margin-bottom:var(--space-section)}.legal-article section{margin-top:var(--space-10)}.legal-article h2{font-size:var(--text-xl);color:var(--ink);font-weight:600}.legal-article p,.legal-article li{margin-top:var(--space-3);font-size:var(--text-base);color:var(--ink-a80);line-height:1.7}.legal-article p{max-width:var(--measure)}.legal-article ul{padding-left:var(--space-5);list-style:outside}.xp-resume-card{align-items:center;gap:var(--space-5);max-width:var(--measure-wide);margin:var(--space-14) auto 0;padding:var(--space-6) var(--space-7);border:1px solid var(--border-strong);border-radius:var(--radius-card);background:radial-gradient(circle at 0% 0%, var(--accent-a20), transparent 55%), linear-gradient(160deg, var(--ink-a06), var(--ink-a02));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex}.xp-resume-copy{flex:1;min-width:0}.xp-resume-copy h3{margin:var(--space-2) 0 var(--space-1);font-size:var(--text-xl);font-weight:600}.xp-resume-copy p{color:var(--muted);font-size:var(--text-sm);margin:0;line-height:1.6}.xp-resume-card .button{gap:var(--space-2);flex:none}@media (max-width:719px){.xp-resume-card{padding:var(--space-6);flex-direction:column;align-items:flex-start}}.impact-total{align-items:center;gap:var(--space-2);margin:var(--space-2) 0 var(--space-9);text-align:center;flex-direction:column;display:flex}.impact-total strong{font-family:var(--font-editorial);font-size:var(--text-fluid-7);background:linear-gradient(180deg, var(--ink) 30%, var(--accent-text));color:#0000;font-variant-numeric:tabular-nums;-webkit-background-clip:text;background-clip:text;font-weight:400;line-height:1}.impact-total span{color:var(--muted);font-size:var(--text-base);letter-spacing:.04em}.impact-grid{grid-template-columns:repeat(auto-fit, minmax(min(100%, var(--col-min)), 1fr));gap:var(--space-4);margin:0;padding:0;list-style:none;display:grid}.impact-card{gap:var(--space-4);padding:var(--space-6);border:1px solid var(--border-strong);border-radius:var(--radius-card);background:linear-gradient(160deg, var(--ink-a06), var(--ink-a02));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);flex-direction:column;transition:border-color .25s,transform .25s;display:flex}.impact-card:hover{border-color:var(--accent-text-a40);transform:translateY(-2px)}.impact-card-head{align-items:center;gap:var(--space-3);min-width:0;display:flex}.impact-card-icon{border-radius:var(--radius-lg);background:var(--ink);flex:none;width:44px;height:44px;overflow:hidden}.impact-card-icon img{object-fit:cover;width:100%;height:100%;display:block}.impact-card h3{font-size:var(--text-base);margin:0;font-weight:600}.impact-card-head p{color:var(--muted);font-size:var(--text-sm);margin:2px 0 0}.impact-card-value{align-items:baseline;gap:var(--space-2);font-size:var(--text-fluid-impact);font-variant-numeric:tabular-nums;margin:0;font-weight:600;line-height:1;display:flex}.impact-card-value span:last-child{color:var(--muted);font-size:var(--text-sm);font-weight:500}.impact-card-role{padding-top:var(--space-3);border-top:1px solid var(--border);color:var(--ink-soft);font-size:var(--text-sm);margin:0}.impact-source{margin:var(--space-5) auto 0;max-width:70ch;color:var(--muted);font-size:var(--text-xs);text-align:center}.personal-grid{grid-template-columns:repeat(auto-fit, minmax(min(100%, var(--col-min)), 1fr));gap:var(--space-5);display:grid}@media (max-width:719px){.experience-card-header{flex-direction:column;align-items:flex-start}}@media (prefers-reduced-motion:no-preference){main[data-choreo]:not([data-choreo-ready])>section:not(.subpage-hero){opacity:0;animation:0s linear 4s forwards choreo-failsafe}.subpage-banner-body h1{animation:1s cubic-bezier(.16,1,.3,1) .22s both choreo-wipe}.subpage-banner-body p{animation:.9s cubic-bezier(.16,1,.3,1) .56s both choreo-focus}}@keyframes choreo-failsafe{to{opacity:1}}@keyframes choreo-wipe{0%{clip-path:inset(-.3em 100% -.3em 0)}to{clip-path:inset(-.3em 0)}}@keyframes choreo-focus{0%{opacity:0;filter:blur(12px)}to{opacity:1;filter:blur()}}.experience-gateway,.experience-shell,.web-overview{width:100%;max-width:none;min-height:100dvh;margin:0}.experience-gateway{background:var(--experience-stage);flex-direction:column;display:flex;overflow:hidden}.gateway-atmosphere{pointer-events:none;background:linear-gradient(125deg, var(--background), var(--experience-stage) 58%, var(--surface-card));position:absolute;inset:0}.gateway-topbar,.web-topbar{z-index:5;justify-content:space-between;align-items:center;gap:var(--space-6);width:100%;padding:var(--space-5) var(--gutter);display:flex;position:relative}.gateway-brand{align-items:center;gap:var(--space-3);white-space:nowrap;font-weight:600;display:inline-flex}.gateway-monogram{border:1px solid var(--ink-a30);border-radius:var(--radius-md);width:36px;height:36px;font-family:var(--font-mono-ui);font-size:var(--text-xs);letter-spacing:-.08em;place-items:center;display:grid}.gateway-quicklinks,.web-topbar nav{align-items:center;gap:var(--space-7);font-size:var(--text-sm);color:var(--experience-quiet);display:flex}.gateway-quicklinks a,.web-topbar nav a{align-items:center;min-height:44px;display:inline-flex}.gateway-quicklinks a:hover,.web-topbar nav a:hover{color:var(--ink)}.gateway-grid{align-items:center;gap:clamp(var(--space-8), 7vw, var(--space-32));width:min(1440px, calc(100% - var(--gutter) * 2));padding-block:var(--space-16);flex:1;grid-template-columns:minmax(0,1fr) minmax(340px,440px);margin:auto;display:grid;position:relative}@media (prefers-reduced-motion:no-preference){.gateway-grid{animation:1.3s cubic-bezier(.16,1,.3,1) both gateway-approach}}@keyframes gateway-approach{0%{opacity:.88;transform:perspective(900px)translateZ(-25px)}to{opacity:1;transform:perspective(900px)translateZ(0)}}.experience-eyebrow,.app-kicker{color:var(--accent-text);font-family:var(--font-mono-ui);font-size:var(--text-xs);letter-spacing:.11em;text-transform:uppercase;margin:0}.gateway-intro h1{max-width:12ch;margin:var(--space-6) 0;font-family:var(--font-editorial);letter-spacing:-.055em;font-size:clamp(3.4rem,6vw,7rem);font-weight:400;line-height:.98}.gateway-lead{max-width:48ch;color:var(--ink-soft);font-size:clamp(var(--text-lg), 2vw, var(--text-2xl));line-height:1.45}.gateway-credentials{gap:var(--space-2);margin-top:var(--space-10);flex-wrap:wrap;display:flex}.gateway-credentials span{padding:var(--space-2) var(--space-3);border:1px solid var(--experience-line);border-radius:var(--radius-pill);color:var(--experience-quiet);font-size:var(--text-xs)}.platform-dialog{padding:var(--space-10);border:1px solid var(--ink-a16);border-radius:var(--radius-3xl);background:var(--surface-card);box-shadow:0 28px 80px var(--black-a40);position:relative}.platform-dialog[data-leaving]{opacity:0;filter:blur(12px);pointer-events:none;transition:opacity .36s,filter .36s,transform .36s;transform:translateZ(35px)scale(1.07)}.platform-dialog-mark{color:var(--ink-muted);font-family:var(--font-mono-ui);font-size:var(--text-xs)}.platform-dialog h2{margin:var(--space-8) 0 var(--space-2);font-size:var(--text-2xl);letter-spacing:-.035em;font-weight:600}.platform-dialog-subtitle{color:var(--ink);font-size:var(--text-lg);margin:0}.platform-dialog-hint{margin:var(--space-3) 0 var(--space-8);color:var(--experience-quiet);line-height:1.5}.platform-actions{gap:var(--space-3);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.platform-option{text-align:center;min-height:76px;padding:var(--space-5);border:1px solid var(--ink-a20);border-radius:var(--radius-2xl);font-size:var(--text-lg);justify-content:center;align-items:center;font-weight:600;transition:transform .2s,background .2s;display:flex;position:relative}.platform-option:hover{transform:translateY(-3px)}.platform-option-android{border-color:var(--accent);background:var(--accent)}.platform-option-ios:hover{background:var(--ink-a08)}.platform-web-link,.platform-resume{margin-top:var(--space-6);color:var(--ink-soft);font-size:var(--text-sm);text-underline-offset:5px;text-decoration:underline;display:inline-block}.platform-resume{margin:0 0 var(--space-4);color:var(--accent-text);display:block}.platform-gate{width:min(var(--content-max), calc(100% - var(--gutter) * 2));min-height:70dvh;padding-block:var(--space-16);place-items:center;margin:0 auto;display:grid;position:relative}.platform-gate .platform-dialog{z-index:1;width:min(560px,100%)}.platform-option-web{color:var(--ink-soft);cursor:pointer;background:0 0;border-color:#0000}.platform-option-web:hover{background:var(--ink-a08)}@media (max-width:479px){.platform-actions{grid-template-columns:1fr}}.gateway-footer{justify-content:space-between;gap:var(--space-4);padding:var(--space-5) var(--gutter);border-top:1px solid var(--experience-line);color:var(--ink-muted);font-family:var(--font-mono-ui);font-size:var(--text-xs);display:flex;position:relative}.web-overview{padding:0 var(--gutter) var(--space-24);background:var(--experience-stage)}.web-topbar{border-bottom:1px solid var(--experience-line);padding-inline:0}.web-intro{padding:clamp(var(--space-16), 8vw, var(--space-32)) 0 var(--space-20)}.web-intro h1{max-width:14ch;margin:var(--space-4) 0;font-family:var(--font-editorial);letter-spacing:-.055em;font-size:clamp(3.2rem,7vw,7.5rem);font-weight:400;line-height:.95}.web-intro h1 span{margin-top:var(--space-4);color:var(--ink-muted);font-family:var(--font-body);font-size:clamp(var(--text-lg), 2vw, var(--text-3xl));letter-spacing:0;font-weight:400;display:block}.web-intro>p:not(.experience-eyebrow){max-width:60ch;color:var(--ink-soft);font-size:var(--text-xl);line-height:1.5}.web-intro .web-hint{color:var(--ink-muted)!important;font-size:var(--text-base)!important}.web-primary-actions{gap:var(--space-3);margin-top:var(--space-8);flex-wrap:wrap;display:flex}.web-primary-actions a,.web-footer-cta a{padding:var(--space-3) var(--space-5);border:1px solid var(--ink-a20);border-radius:var(--radius-pill);text-align:center;justify-content:center;align-items:center;display:inline-flex}.web-primary-actions a:first-child{background:var(--accent);border-color:var(--accent)}.web-section{gap:var(--space-10);padding:var(--space-8) 0 var(--space-20);border-top:1px solid var(--experience-line);grid-template-columns:minmax(160px,.36fr) minmax(0,1fr);display:grid}.web-section h2{margin:var(--space-3) 0;font-family:var(--font-editorial);font-size:clamp(var(--text-2xl), 3vw, 3rem);font-weight:400}.web-record-list{border-top:1px solid var(--experience-line)}.web-record{align-items:center;gap:var(--space-6);min-height:88px;padding:var(--space-4) 0;border-bottom:1px solid var(--experience-line);color:var(--experience-quiet);font-size:var(--text-sm);grid-template-columns:minmax(130px,.4fr) minmax(0,1fr) 20px;display:grid}.web-record:hover{color:var(--ink)}.web-record-title{color:var(--ink);font-size:var(--text-lg);font-weight:600}.web-record-detail summary{cursor:pointer;list-style:none}.web-record-detail summary::-webkit-details-marker{display:none}.web-record-detail[open] .web-record span:last-child{transform:rotate(45deg)}.web-record-content{max-width:72ch;padding:var(--space-3) var(--space-6) var(--space-6) 0;color:var(--ink-soft);line-height:1.55}.web-record-content p{margin:0 0 var(--space-3)}.web-record-content a{color:var(--accent-text);text-underline-offset:3px;text-decoration:underline}.web-footer-cta{justify-content:space-between;align-items:center;gap:var(--space-6);padding:var(--space-12) 0;border-top:1px solid var(--experience-line);display:flex}.web-footer-cta nav{gap:var(--space-2);flex-wrap:wrap;display:flex}.web-footer-cta nav a{white-space:nowrap}.page-platform-links{justify-content:center;align-items:center;gap:var(--space-4);padding:var(--space-6) var(--gutter);border-top:1px solid var(--border);color:var(--ink-muted);font-size:var(--text-sm);flex-wrap:wrap;display:flex}.page-platform-links a{color:var(--accent-text)}.experience-shell{overflow:hidden}.experience-stage{width:100%;min-height:100dvh;padding:var(--space-8) var(--gutter);place-items:center;margin:0;display:grid;position:relative}.experience-back{z-index:10;min-height:76px;padding-inline:var(--gutter);color:var(--experience-quiet);font-size:var(--text-sm);align-items:center;display:inline-flex;position:absolute;top:0;left:0}.experience-back:hover{color:var(--ink)}.device-stage{perspective:1100px;grid-template-columns:minmax(0,1fr);place-items:center;width:100%;min-height:min(760px,83dvh);display:grid;position:relative}.device-scene-canvas{pointer-events:none;width:100%;height:106%;position:absolute;inset:-3% 0}.device-dom{z-index:2;aspect-ratio:77.8/160.9;height:min(740px,79dvh);transform-style:preserve-3d;position:relative}.device-body{border:3px solid var(--experience-quiet);background:var(--background);width:100%;height:100%;box-shadow:0 15px 55px var(--black-a60), inset 0 0 0 1px var(--ink-a20);border-radius:49px;padding:7px;position:relative}.device-stage-has-webgl .device-body{box-shadow:none;background:0 0;border-color:#0000}.device-stage-has-webgl .device-buttons{display:none}.device-stage-has-webgl .device-dom{width:var(--device-w);height:var(--device-h);aspect-ratio:auto}.device-stage-has-webgl .device-body{padding:calc(var(--device-w) * .0216);border-radius:var(--device-r);border:0}.device-stage-has-webgl .device-display{border-radius:calc(var(--device-r) * .82)}.phase-transition .device-stage-scene .device-dom{visibility:hidden;pointer-events:none}.device-buttons:before,.device-buttons:after{z-index:-1;background:var(--experience-quiet);content:"";border-radius:3px;width:4px;position:absolute}.device-buttons:before{height:11%;top:22%;left:-7px}.device-buttons:after{height:12%;top:18%;right:-7px}.device-display{background:var(--background);border-radius:39px;width:100%;height:100%;position:relative;overflow:hidden}.device-camera{z-index:8;border-radius:var(--radius-pill);background:var(--background);pointer-events:none;width:31%;height:25px;position:absolute;top:10px;left:50%;transform:translate(-50%)}.device-power{z-index:10;background:var(--background);position:absolute;inset:0}.device-launcher{width:100%;height:100%;padding:var(--space-4);background:linear-gradient(155deg, var(--navy-800), var(--surface-card) 52%, var(--background));color:var(--ink);flex-direction:column;display:flex}.device-splash{justify-content:center;align-items:center;gap:var(--space-3);background:var(--experience-paper);height:100%;color:var(--experience-paper-ink);flex-direction:column;display:flex}.device-splash-logo{width:72px;height:72px}.device-splash strong{font-size:var(--text-lg)}.device-splash small{color:var(--experience-paper-muted)}.portfolio-app{--app-bg:var(--experience-paper);--app-ink:var(--experience-paper-ink);--app-muted:var(--experience-paper-muted);--app-accent:var(--experience-ios-tint);--app-soft:var(--ink);background:var(--app-bg);width:100%;height:100%;color:var(--app-ink);flex-direction:column;font-size:13px;display:flex}.portfolio-app button,.portfolio-app input,.portfolio-app textarea,.portfolio-app select{font:inherit}.portfolio-app button{cursor:pointer}.portfolio-app :focus-visible{outline:2px solid var(--app-accent);outline-offset:2px}.app-status{padding:13px var(--space-7) 2px;justify-content:space-between;font-size:10px;font-weight:700;display:flex}.app-scroll{overscroll-behavior:contain;scrollbar-width:thin;flex:1;min-height:0;overflow-y:auto}.app-page h1{margin:var(--space-3) 0;letter-spacing:-.045em;font-size:27px;font-weight:750;line-height:1.1}.app-page h2{letter-spacing:-.025em;font-size:18px}.app-kicker{color:var(--app-accent);font-size:10px}.app-lead,.app-post-summary{color:var(--app-muted);font-size:13px;line-height:1.5}.app-tags span{padding:5px var(--space-2);border-radius:var(--radius-pill);background:var(--app-ink)}@supports (color:color-mix(in lab, red, red)){.app-tags span{background:color-mix(in srgb, var(--app-ink) 7%, transparent)}}.app-tags span{font-size:10px}.app-source-link{color:var(--app-accent);background:0 0;border:0;padding:0;font-size:11px}.app-list{border-top:1px solid var(--app-ink)}@supports (color:color-mix(in lab, red, red)){.app-list{border-top:1px solid color-mix(in srgb, var(--app-ink) 13%, transparent)}}.app-list-row{width:100%;padding:var(--space-4) var(--space-6) var(--space-4) 0;border:0;border-bottom:1px solid var(--app-ink);flex-direction:column;gap:4px;display:flex;position:relative}@supports (color:color-mix(in lab, red, red)){.app-list-row{border-bottom:1px solid color-mix(in srgb, var(--app-ink) 13%, transparent)}}.app-list-row{color:var(--app-ink);text-align:left;background:0 0}.app-list-row strong{font-size:15px}.app-list-row>span:not(.app-row-arrow):not(.app-row-meta){color:var(--app-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:11px;line-height:1.4;display:-webkit-box;overflow:hidden}.app-row-meta{color:var(--app-accent);font-size:10px}.app-row-arrow{color:var(--app-accent);position:absolute;top:50%;right:0}.app-metrics{gap:var(--space-2);margin-block:var(--space-6);grid-template-columns:repeat(2,1fr);display:grid}.app-metrics div{padding:var(--space-3);border-radius:var(--radius-lg);background:var(--app-ink);flex-direction:column;display:flex}@supports (color:color-mix(in lab, red, red)){.app-metrics div{background:color-mix(in srgb, var(--app-ink) 7%, transparent)}}.app-metrics strong{font-size:20px}.app-metrics span{color:var(--app-muted);font-size:10px}.app-detail-list{gap:var(--space-2);margin-block:var(--space-6);display:grid}.app-detail-list p{padding-block:var(--space-2);border-bottom:1px solid var(--app-ink);margin:0}@supports (color:color-mix(in lab, red, red)){.app-detail-list p{border-bottom:1px solid color-mix(in srgb, var(--app-ink) 10%, transparent)}}.app-detail-list p{line-height:1.5}.app-tags{gap:var(--space-2);flex-wrap:wrap;display:flex}.app-bottom{background:var(--app-bg);flex:none}@supports (color:color-mix(in lab, red, red)){.app-bottom{background:color-mix(in srgb, var(--app-bg) 96%, transparent)}}.platform-ios .app-bottom{background:var(--glass-fill);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);box-shadow:inset 0 1px 0 var(--glass-stroke), 0 -6px 24px var(--experience-paper-ink)}@supports (color:color-mix(in lab, red, red)){.platform-ios .app-bottom{box-shadow:inset 0 1px 0 var(--glass-stroke), 0 -6px 24px color-mix(in srgb, var(--experience-paper-ink) 6%, transparent)}}.app-tags span,.app-metrics div,.app-decision,.app-prompt-list button,.app-ask input,.app-comment-input textarea,.app-comment-menu button,.app-context-actions{background:var(--glass-fill);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);box-shadow:var(--glass-specular), inset 0 0 0 1px var(--glass-stroke)}.platform-ios .app-tabs{border-top:0}.sf-icon{width:1.4em;height:1.4em;-webkit-mask:var(--icon) center / contain no-repeat;-webkit-mask:var(--icon) center / contain no-repeat;-webkit-mask:var(--icon) center / contain no-repeat;-webkit-mask:var(--icon) center / contain no-repeat;mask:var(--icon) center / contain no-repeat;background:currentColor;display:block}.sf-icon[data-icon=house\.fill]{--icon:url(/app_icons/iOS/house.fill.svg)}.sf-icon[data-icon="signpost.right.fill"]{--icon:url(/app_icons/iOS/signpost.right.fill.svg)}.sf-icon[data-icon="desktopcomputer.and.macbook"]{--icon:url(/app_icons/iOS/desktopcomputer.and.macbook.svg)}.sf-icon[data-icon=medal\.fill]{--icon:url(/app_icons/iOS/medal.fill.svg)}.sf-icon[data-icon="person.crop.circle.fill"]{--icon:url(/app_icons/iOS/person.crop.circle.fill.svg)}.sf-icon[data-icon=envelope\.fill]{--icon:url(/app_icons/iOS/envelope.fill.svg)}.sf-icon[data-icon=magnifyingglass]{--icon:url(/app_icons/iOS/magnifyingglass.svg)}.sf-icon[data-icon="person.crop.circle"]{--icon:url(/app_icons/iOS/person.crop.circle.svg)}.sf-icon[data-icon=chevron\.left]{--icon:url(/app_icons/iOS/chevron.left.svg)}.sf-icon[data-icon=chevron\.right]{--icon:url(/app_icons/iOS/chevron.right.svg)}.sf-icon[data-icon="square.and.arrow.up"]{--icon:url(/app_icons/iOS/square.and.arrow.up.svg)}.portfolio-app{--pt:1px;position:relative}.app-record-title{color:var(--tint,var(--app-ink))}.app-tabs .sf-icon{width:calc(25 * var(--pt));height:calc(25 * var(--pt))}.app-row-arrow.sf-icon,.experience-back .sf-icon{width:.9em;height:.9em}.experience-back .sf-icon{margin-right:2px}.platform-ios .portfolio-app{--pt:var(--device-pt,.8px);font-size:calc(17 * var(--pt));font-family:-apple-system, BlinkMacSystemFont, "SF Pro Text", var(--font-body)}.platform-ios .device-stage:not(.device-stage-has-webgl) .device-body{background:var(--device-frame);box-shadow:0 15px 55px var(--black-a60);border:0}.platform-ios .device-camera{border-radius:var(--radius-pill);background:var(--background);width:32%;height:3.4%;top:1.4%}.app-page{padding:calc(20 * var(--pt)) calc(16 * var(--pt)) calc(40 * var(--pt))}.app-page h1{font-size:calc(34 * var(--pt));letter-spacing:calc(-.4 * var(--pt));font-weight:700;line-height:1.1}.app-page h2{font-size:calc(22 * var(--pt));letter-spacing:calc(-.3 * var(--pt));font-weight:700}.app-lead{font-size:calc(17 * var(--pt));line-height:1.35}.app-kicker{font-size:calc(13 * var(--pt));font-weight:600}.app-list{border-radius:calc(12 * var(--pt));background:var(--glass-fill);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);box-shadow:var(--glass-specular), inset 0 0 0 1px var(--glass-stroke), var(--glass-shadow);border-top:0;overflow:hidden}.app-list-row{min-height:calc(44 * var(--pt));padding:calc(11 * var(--pt)) calc(40 * var(--pt)) calc(11 * var(--pt)) calc(16 * var(--pt))}.app-list-row:last-child{border-bottom:0}.app-list-row strong{font-size:calc(17 * var(--pt));font-weight:600}.app-list-row>span:not(.app-row-arrow):not(.app-row-meta){font-size:calc(15 * var(--pt))}.app-row-meta{font-size:calc(13 * var(--pt))}.app-row-arrow{right:calc(16 * var(--pt));width:calc(14 * var(--pt));height:calc(14 * var(--pt));transform:translateY(-50%)}.platform-ios .app-bottom{-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none;background:0 0}.platform-ios .app-tabs{margin:0 calc(16 * var(--pt)) calc(10 * var(--pt));padding:calc(5 * var(--pt));background:var(--glass-fill);min-height:0;-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);box-shadow:var(--glass-specular), inset 0 0 0 1px var(--glass-stroke), var(--glass-shadow);border-radius:999px}.platform-ios .app-tabs button{height:calc(49 * var(--pt));border-radius:999px}.platform-ios .app-tabs button[aria-current=page]{background:var(--glass-fill-strong);box-shadow:inset 0 1px 0 var(--glass-stroke)}.platform-ios .app-tabs button small{font-size:calc(10 * var(--pt))}.platform-ios .portfolio-app>.ios-status,.platform-ios .portfolio-app>.app-scroll,.platform-ios .portfolio-app>.app-bottom{z-index:1;position:relative}.app-doodles{z-index:0;pointer-events:none;position:absolute;inset:0;overflow:hidden}.app-doodle{left:var(--x);top:var(--y);fill:none;stroke:var(--accent-text);stroke-width:1.3px;stroke-linecap:round;stroke-linejoin:round;opacity:.22;transform:rotate(var(--rot));position:absolute;overflow:visible}@media (prefers-reduced-motion:no-preference){.app-doodle{animation:app-doodle-drift var(--dur) ease-in-out var(--delay) infinite alternate}}@keyframes app-doodle-drift{0%{transform:translate3d(0, 0, 0) rotate(var(--rot))}to{transform:translate3d(calc(var(--drift) * .4), calc(var(--drift) * -1), 0) rotate(calc(var(--rot) + 10deg))}}.record-list{gap:calc(12 * var(--pt));padding:calc(4 * var(--pt)) calc(16 * var(--pt)) calc(16 * var(--pt));display:grid}.record-card{gap:calc(12 * var(--pt));width:100%;padding:calc(14 * var(--pt));border-radius:calc(24 * var(--pt));background:var(--glass-fill);color:var(--app-ink);text-align:left;-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);box-shadow:inset 0 1px 0 var(--ink), inset 0 0 0 1px var(--glass-stroke), 0 10px 28px var(--black-a40);border:0;grid-template-columns:minmax(0,1fr);display:grid}@supports (color:color-mix(in lab, red, red)){.record-card{box-shadow:inset 0 1px 0 color-mix(in srgb, var(--ink) 30%, transparent), inset 0 0 0 1px var(--glass-stroke), 0 10px 28px var(--black-a40)}}.record-card{transition:transform .2s}.record-card:active{transform:scale(.985)}.record-list.is-timeline{gap:0}.record-timeline-item{grid-template-columns:calc(54 * var(--pt)) calc(16 * var(--pt)) minmax(0, 1fr);align-items:center;display:grid}.record-timeline-dates{padding-block:calc(14 * var(--pt));font-size:calc(11 * var(--pt));color:var(--app-muted);font-variant-numeric:tabular-nums;text-align:right;padding-right:calc(4 * var(--pt));flex-direction:column;justify-content:space-between;align-self:stretch;line-height:1.25;display:flex}.record-timeline-rail{align-self:stretch;position:relative}.record-timeline-rail:before{background:var(--app-ink);width:2px;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}@supports (color:color-mix(in lab, red, red)){.record-timeline-rail:before{background:color-mix(in srgb, var(--app-ink) 22%, transparent)}}.record-timeline-rail:before{content:""}.record-timeline-rail:after{width:calc(10 * var(--pt));height:calc(10 * var(--pt));background:var(--tint);box-shadow:0 0 0 calc(3 * var(--pt)) var(--background);content:"";border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.record-timeline-item .record-card{min-width:0;margin-block:calc(6 * var(--pt))}.record-card-head{justify-content:space-between;align-items:center;gap:calc(12 * var(--pt));min-width:0;display:flex}.record-logo{align-items:center;min-width:0;display:inline-flex}.record-logo img{opacity:1;filter:none;mix-blend-mode:normal}.record-logo img[data-tone=invert]{mix-blend-mode:screen}.record-logo[data-ink=dark] img{filter:invert()hue-rotate(180deg)}.record-mark{width:calc(44 * var(--pt));height:calc(44 * var(--pt));border-radius:calc(12 * var(--pt));background:var(--glass-fill-strong);color:var(--app-ink);font-size:calc(15 * var(--pt));box-shadow:inset 0 1px 0 var(--ink);place-items:center;font-weight:700;display:grid}@supports (color:color-mix(in lab, red, red)){.record-mark{box-shadow:inset 0 1px 0 color-mix(in srgb, var(--ink) 30%, transparent)}}.record-mark[data-size=hero]{width:calc(72 * var(--pt));height:calc(72 * var(--pt));border-radius:calc(20 * var(--pt));font-size:calc(24 * var(--pt))}.record-body{gap:var(--space-6);display:grid}.record-head{gap:var(--space-2);display:grid}.record-head .record-logo,.record-head .record-mark{justify-self:start}.record-body .app-metrics,.record-body .app-detail-list{margin-block:0}.record-section{gap:var(--space-3);display:grid}.record-section>h2{font-size:var(--text-lg);margin:0}.record-role{gap:var(--space-1);display:grid}.record-role+.record-role{margin-top:var(--space-4)}.record-role h3{font-size:calc(18 * var(--pt));letter-spacing:calc(-.2 * var(--pt));margin:0;font-weight:650}.record-card-text{gap:calc(3 * var(--pt));min-width:0;display:grid}.record-card-title{color:var(--tint);font-size:calc(17 * var(--pt));letter-spacing:calc(-.2 * var(--pt));font-weight:650;line-height:1.2}.record-card-summary{color:var(--app-muted);font-size:calc(13 * var(--pt));-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.35;display:-webkit-box;overflow:hidden}.record-card{padding-right:calc(40 * var(--pt));position:relative}.record-card .sf-icon{top:50%;right:calc(16 * var(--pt));width:calc(12 * var(--pt));height:calc(12 * var(--pt));color:var(--app-muted);position:absolute;transform:translateY(-50%)}.record-sheet-layer{z-index:30;flex-direction:column;justify-content:flex-end;display:flex;position:absolute;inset:0}.record-sheet-scrim{background:var(--black-a40);border:0;width:100%;height:100%;position:absolute;inset:0}.record-sheet{border-radius:var(--radius-sheet) var(--radius-sheet) 0 0;background:var(--surface-card);flex-direction:column;flex:none;height:72%;display:flex;position:relative}@supports (color:color-mix(in lab, red, red)){.record-sheet{background:color-mix(in srgb, var(--surface-card) 58%, transparent)}}.record-sheet{color:var(--app-ink);-webkit-backdrop-filter:blur(34px)saturate(200%);backdrop-filter:blur(34px)saturate(200%);box-shadow:inset 0 1px 0 var(--ink), inset 0 0 0 1px var(--glass-stroke), 0 -18px 50px var(--black-a40)}@supports (color:color-mix(in lab, red, red)){.record-sheet{box-shadow:inset 0 1px 0 color-mix(in srgb, var(--ink) 32%, transparent), inset 0 0 0 1px var(--glass-stroke), 0 -18px 50px var(--black-a40)}}.record-sheet{transition:height .45s cubic-bezier(.16,1,.3,1)}.record-sheet.is-expanded{height:92%}.record-sheet-grabber{cursor:grab;touch-action:none;background:0 0;border:0;place-items:center;width:100%;min-height:28px;padding:0;display:grid}.record-sheet-grabber span{background:var(--ink);border-radius:3px;width:40px;height:5px}@supports (color:color-mix(in lab, red, red)){.record-sheet-grabber span{background:color-mix(in srgb, var(--ink) 35%, transparent)}}.record-sheet-head{padding:0 calc(16 * var(--pt)) calc(4 * var(--pt));justify-content:flex-end;display:flex}.record-sheet-close{background:var(--glass-fill-strong);width:36px;height:36px;color:var(--app-ink);border:0;border-radius:50%;place-items:center;padding:0;display:grid}.record-sheet-body{overscroll-behavior:contain;min-height:0;padding:0 calc(20 * var(--pt)) calc(36 * var(--pt));padding-top:calc(8 * var(--pt));flex:1;overflow-y:auto}.record-sheet-body .record-head{text-align:center;justify-items:center}.record-sheet-body .record-head .record-logo,.record-sheet-body .record-head .record-mark{justify-self:center}.record-sheet-body .record-head .record-logo{margin-bottom:var(--space-2)}.record-sheet .app-metrics div{background:var(--glass-fill)}.record-sheet .app-tags span{background:var(--accent-text)}@supports (color:color-mix(in lab, red, red)){.record-sheet .app-tags span{background:color-mix(in srgb, var(--accent-text) 16%, transparent)}}.record-sheet .app-tags span{color:var(--accent-text)}@media (max-width:719px){.portfolio-app{--pt:1px}}.platform-ios{--experience-paper:var(--background);--experience-paper-ink:var(--ink);--experience-paper-muted:var(--ink-muted);--experience-ios-tint:var(--accent-text);--glass-fill:var(--surface-accent)}@supports (color:color-mix(in lab, red, red)){.platform-ios{--glass-fill:color-mix(in srgb, var(--surface-accent) 45%, transparent)}}.platform-ios{--glass-fill-strong:var(--surface-accent)}@supports (color:color-mix(in lab, red, red)){.platform-ios{--glass-fill-strong:color-mix(in srgb, var(--surface-accent) 72%, transparent)}}.platform-ios{--glass-stroke:var(--accent-text)}@supports (color:color-mix(in lab, red, red)){.platform-ios{--glass-stroke:color-mix(in srgb, var(--accent-text) 22%, transparent)}}.platform-ios{--glass-edge:var(--ink)}@supports (color:color-mix(in lab, red, red)){.platform-ios{--glass-edge:color-mix(in srgb, var(--ink) 10%, transparent)}}.platform-ios{--glass-specular:inset 0 1px 0 var(--ink)}@supports (color:color-mix(in lab, red, red)){.platform-ios{--glass-specular:inset 0 1px 0 color-mix(in srgb, var(--ink) 16%, transparent)}}.platform-ios{--glass-shadow:0 12px 34px var(--background)}@supports (color:color-mix(in lab, red, red)){.platform-ios{--glass-shadow:0 12px 34px color-mix(in srgb, var(--background) 70%, transparent)}}.ios-home{--pt:var(--device-pt,.8px);color:var(--ink);background:0 0;padding:0;position:relative;overflow:hidden}.ios-home-wallpaper{object-fit:cover}.ios-home>:not(.ios-home-wallpaper){position:relative}.ios-status{height:calc(59 * var(--pt));font-size:calc(17 * var(--pt));color:inherit;flex:none;grid-template-columns:1fr 32% 1fr;align-items:center;font-weight:590;display:grid}.ios-status-time{grid-column:1;justify-self:center}.ios-status-levels{justify-content:center;align-items:center;gap:calc(7 * var(--pt));grid-column:3;display:flex}.ios-status-cellular{width:calc(19.2 * var(--pt));height:calc(12.226 * var(--pt))}.ios-status-wifi{width:calc(17.142 * var(--pt));height:calc(12.328 * var(--pt))}.ios-status-battery{width:calc(27.328 * var(--pt));height:calc(13 * var(--pt))}.ios-home-grid{grid-template-columns:repeat(4, calc(72 * var(--pt)));justify-content:space-between;row-gap:calc(17.33 * var(--pt));padding:calc(28.67 * var(--pt)) calc(26 * var(--pt)) 0;display:grid}.ios-home-app{align-items:center;gap:calc(5 * var(--pt));width:calc(72 * var(--pt));color:var(--ink);font:inherit;background:0 0;border:0;flex-direction:column;padding:0;display:flex}.ios-home-app small{max-width:100%;font-size:calc(12 * var(--pt));color:var(--ink);text-overflow:ellipsis;text-shadow:0 2px 25px var(--black-a90);white-space:nowrap;font-weight:510;line-height:normal;overflow:hidden}.ios-home-icon{width:calc(64 * var(--pt));height:calc(64 * var(--pt))}.ios-search{margin:auto auto calc(12 * var(--pt));padding:calc(7 * var(--pt)) calc(12 * var(--pt));background:var(--glass-fill);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);font-size:calc(11.5 * var(--pt));color:var(--ink);border-radius:100px;font-weight:590}.ios-dock{margin:0 calc(17 * var(--pt)) calc(17 * var(--pt));padding:calc(20 * var(--pt)) calc(19 * var(--pt)) calc(19 * var(--pt));border-radius:calc(38 * var(--pt));background:var(--glass-fill);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);box-shadow:var(--glass-specular), inset 0 0 0 1px var(--glass-stroke), var(--glass-shadow);justify-content:space-between;align-items:center;display:flex}.ios-dock-icon{width:calc(64 * var(--pt));height:calc(64 * var(--pt))}.app-photo-home{flex-direction:column;height:100%;min-height:0;display:flex}.app-photo-frame{min-height:0;margin:calc(8 * var(--pt)) calc(24 * var(--pt)) 0;flex:1;position:relative}.app-photo{object-fit:contain;object-position:center}.app-photo-caption{margin:calc(12 * var(--pt));padding:calc(16 * var(--pt));border-radius:calc(24 * var(--pt));background:var(--glass-fill-strong);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);box-shadow:var(--glass-specular), inset 0 0 0 1px var(--glass-stroke)}.app-photo-caption h1{margin:calc(4 * var(--pt)) 0 0;font-size:calc(34 * var(--pt));color:var(--ink);font-weight:700;line-height:1.05}.app-photo-summary{margin:calc(8 * var(--pt)) 0 0;font-size:calc(15 * var(--pt));color:var(--app-muted);line-height:1.35}.app-perspective-note{margin:var(--space-4);padding:var(--space-3);border-left:3px solid var(--app-accent);background:var(--app-ink)}@supports (color:color-mix(in lab, red, red)){.app-perspective-note{background:color-mix(in srgb, var(--app-ink) 5%, transparent)}}.app-perspective-note{font-size:11px}.app-perspective-note p{margin-bottom:0;line-height:1.4}.app-tabs{min-height:57px;padding-bottom:var(--space-2);border-top:1px solid var(--app-ink);grid-template-columns:repeat(5,1fr);display:grid}@supports (color:color-mix(in lab, red, red)){.app-tabs{border-top:1px solid color-mix(in srgb, var(--app-ink) 12%, transparent)}}.app-tabs button{padding:var(--space-1) 0;color:var(--app-muted);background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:1px;display:flex}.app-tabs button[aria-current=page]{color:var(--app-accent);font-weight:700}.app-tabs button span{font-size:21px;line-height:1}.app-tabs button small{font-size:9px}.app-ask input,.app-comment-input textarea{width:100%;padding:var(--space-3);border:1px solid var(--app-ink)}@supports (color:color-mix(in lab, red, red)){.app-ask input,.app-comment-input textarea{border:1px solid color-mix(in srgb, var(--app-ink) 20%, transparent)}}.app-ask input,.app-comment-input textarea{border-radius:var(--radius-lg);background:var(--app-ink)}@supports (color:color-mix(in lab, red, red)){.app-ask input,.app-comment-input textarea{background:color-mix(in srgb, var(--app-ink) 4%, transparent)}}.app-ask input,.app-comment-input textarea{color:var(--app-ink);font-size:12px}.app-filter-row{gap:var(--space-2);margin:var(--space-3) 0 var(--space-5);padding-bottom:var(--space-2);display:flex;overflow-x:auto}.app-filter-row button,.app-post-actions button{min-height:44px;padding:var(--space-1) var(--space-3);border:1px solid var(--app-ink);flex:none}@supports (color:color-mix(in lab, red, red)){.app-filter-row button,.app-post-actions button{border:1px solid color-mix(in srgb, var(--app-ink) 17%, transparent)}}.app-filter-row button,.app-post-actions button{border-radius:var(--radius-pill);color:var(--app-ink);background:0 0;font-size:11px}.app-filter-row button[aria-pressed=true],.app-post-actions button[aria-pressed=true]{border-color:var(--app-accent);background:var(--app-accent);color:var(--app-bg)}.app-post h2{font-size:24px;line-height:1.15}.app-post-actions{gap:var(--space-2);margin:var(--space-5) 0;display:flex;overflow-x:auto}.app-post-body p{line-height:1.65}.app-source-link{margin:var(--space-4) 0;text-underline-offset:3px;text-decoration:underline;display:inline-block}.app-comments{margin-top:var(--space-8);padding-top:var(--space-5);border-top:1px solid var(--app-ink)}@supports (color:color-mix(in lab, red, red)){.app-comments{border-top:1px solid color-mix(in srgb, var(--app-ink) 15%, transparent)}}.app-comments h3{margin:0;font-size:18px}.app-comments h3 span{color:var(--app-muted)}.app-demo-note,.app-empty-note{color:var(--app-muted);font-size:11px;line-height:1.5}.app-comments ul{padding:0;list-style:none}.app-comment{padding:var(--space-3) 0;border-bottom:1px solid var(--app-ink);position:relative}@supports (color:color-mix(in lab, red, red)){.app-comment{border-bottom:1px solid color-mix(in srgb, var(--app-ink) 12%, transparent)}}.app-comment>div:first-child{justify-content:space-between;display:flex}.app-comment time{color:var(--app-muted);font-size:10px}.app-comment p{overflow-wrap:anywhere;line-height:1.5}.app-comment-menu button,.app-submit-row button,.app-feedback button,.app-why{min-height:44px;color:var(--app-accent);background:0 0;border:0;font-size:11px}.app-comment-menu{position:relative}.app-context-actions{z-index:5;min-width:110px;padding:var(--space-1);border-radius:var(--radius-lg);background:var(--app-bg);box-shadow:0 5px 22px var(--black-a30);flex-direction:column;display:flex;position:absolute;bottom:30px;right:0}.app-context-actions button{text-align:left}.app-comment-input textarea{resize:vertical;min-height:85px}.app-submit-row{justify-content:flex-end;gap:var(--space-2);display:flex}.app-submit-row button:last-child{min-height:44px;padding:0 var(--space-4);border-radius:var(--radius-pill);background:var(--app-accent);color:var(--app-bg)}.app-submit-row button:disabled{opacity:.55}.app-feedback{min-height:28px;color:var(--app-muted);justify-content:space-between;align-items:center;font-size:11px;display:flex}.app-decision{padding:var(--space-3);border-radius:var(--radius-lg);background:var(--app-ink)}@supports (color:color-mix(in lab, red, red)){.app-decision{background:color-mix(in srgb, var(--app-ink) 7%, transparent)}}.app-decision{line-height:1.4}.app-public-comments{margin-top:var(--space-8);padding-top:var(--space-4);border-top:1px solid var(--app-ink)}@supports (color:color-mix(in lab, red, red)){.app-public-comments{border-top:1px solid color-mix(in srgb, var(--app-ink) 15%, transparent)}}.app-public-comments h4{margin:0;font-size:14px}.app-public-comments>p{color:var(--app-muted);font-size:11px}.app-empty{padding:var(--space-8) var(--space-3);color:var(--app-muted);text-align:center}.app-empty button{color:var(--app-accent)}.app-about-links{gap:var(--space-2);margin-top:var(--space-8);display:grid}.app-about-links a{min-height:44px;padding:var(--space-3);border-bottom:1px solid var(--app-ink)}@supports (color:color-mix(in lab, red, red)){.app-about-links a{border-bottom:1px solid color-mix(in srgb, var(--app-ink) 15%, transparent)}}.app-about-links a{color:var(--app-accent)}.nav-back{width:calc(44 * var(--pt));height:calc(44 * var(--pt));margin-bottom:calc(12 * var(--pt));background:var(--glass-fill-strong);color:var(--app-ink);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);box-shadow:var(--glass-specular), inset 0 0 0 1px var(--glass-stroke);border:0;border-radius:50%;place-items:center;padding:0;display:grid}.app-post-actions button{background:var(--glass-fill);color:var(--app-ink);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);box-shadow:var(--glass-specular), inset 0 0 0 1px var(--glass-stroke);border:0}.app-post-actions button[aria-pressed=true]{background:var(--accent-text);color:var(--background)}.app-about-links a{margin-bottom:calc(10 * var(--pt));padding:calc(14 * var(--pt)) calc(16 * var(--pt));border-radius:calc(20 * var(--pt));background:var(--glass-fill);color:var(--app-ink);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);box-shadow:var(--glass-specular), inset 0 0 0 1px var(--glass-stroke);border:0;justify-content:space-between;align-items:center;display:flex}.app-scroll{padding-bottom:calc(96 * var(--pt))}.search-row{align-items:center;gap:calc(12 * var(--pt));margin:calc(14 * var(--pt)) 0;display:flex}.search-field{align-items:center;gap:calc(8 * var(--pt));min-width:0;min-height:calc(40 * var(--pt));padding:0 calc(12 * var(--pt));background:var(--glass-fill);color:var(--app-muted);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);box-shadow:var(--glass-specular), inset 0 0 0 1px var(--glass-stroke);border-radius:999px;flex:1;display:flex}.search-field:focus-within{color:var(--app-ink);box-shadow:var(--glass-specular), inset 0 0 0 1px var(--accent-text)}@supports (color:color-mix(in lab, red, red)){.search-field:focus-within{box-shadow:var(--glass-specular), inset 0 0 0 1px color-mix(in srgb, var(--accent-text) 45%, transparent)}}.search-field .sf-icon{width:calc(16 * var(--pt));height:calc(16 * var(--pt));flex:none}.search-field input{min-width:0;height:calc(40 * var(--pt));color:var(--app-ink);font:inherit;font-size:calc(17 * var(--pt));background:0 0;border:0;outline:none;flex:1;padding:0}.search-field input::placeholder{color:var(--app-muted)}.search-cancel{min-height:44px;color:var(--accent-text);font-size:calc(17 * var(--pt));white-space:nowrap;background:0 0;border:0;padding:0}.app-post-body.notion-prose{font-size:calc(16 * var(--pt));line-height:1.55}.app-post-body.notion-prose h3{font-size:calc(22 * var(--pt))}.app-post-body.notion-prose pre{border-radius:calc(16 * var(--pt));background:var(--glass-fill);color:var(--app-ink);font-size:calc(13 * var(--pt));-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);box-shadow:var(--glass-specular), inset 0 0 0 1px var(--glass-stroke);border:0}.app-post-body.notion-prose table{display:block;overflow-x:auto}.app-post-body.notion-prose th,.app-post-body.notion-prose td{font-size:calc(13 * var(--pt))}.app-post-body.notion-prose ul,.app-post-body.notion-prose ol{padding-left:calc(20 * var(--pt))}.app-prompt-list button{justify-content:space-between;align-items:center;gap:var(--space-3);text-align:left;display:flex}.app-contact-cards{gap:var(--space-2);margin-block:var(--space-5);display:grid}.app-contact-card{gap:var(--space-1) var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);background:var(--surface-card);color:var(--ink);grid-template-columns:minmax(0,1fr) auto;align-items:center;text-decoration:none;display:grid}.app-contact-label{color:var(--ink-muted);font-size:var(--text-xs)}.app-contact-value{overflow-wrap:anywhere;font-size:var(--text-sm);grid-column:1}.app-contact-card .sf-icon{color:var(--ink-muted);grid-area:1/2/span 2}.app-contact-list{gap:var(--space-2);margin:var(--space-3) 0 var(--space-6);padding:0;list-style:none;display:grid}.app-contact-list li{padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);background:var(--surface-card);color:var(--ink-soft);font-size:var(--text-sm)}.app-contact-cta{min-height:52px;padding:0 var(--space-4);border-radius:var(--radius-pill);background:var(--accent-text);color:var(--background);justify-content:space-between;align-items:center;font-weight:600;text-decoration:none;display:flex}.app-contact-card,.app-contact-list li{background:var(--glass-fill);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);box-shadow:var(--glass-specular), inset 0 0 0 1px var(--glass-stroke);border-radius:calc(20 * var(--pt))}.app-contact-card{color:var(--app-ink)}.app-contact-cta{border-radius:999px}.app-prompt-list{gap:var(--space-2);margin-block:var(--space-5);display:grid}.app-prompt-list button{padding:var(--space-3);border-radius:var(--radius-lg);color:var(--app-ink);text-align:left;background:0 0;border:0;line-height:1.3}.app-ask form{gap:var(--space-2);display:grid}.app-ask form button,.app-answer button{border-radius:var(--radius-pill);background:var(--app-accent);min-height:38px;color:var(--app-bg);border:0}.app-answer{margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--app-ink)}@supports (color:color-mix(in lab, red, red)){.app-answer{border-top:1px solid color-mix(in srgb, var(--app-ink) 15%, transparent)}}.app-answer p{line-height:1.5}.app-answer button{padding-inline:var(--space-4)}@media (max-width:1023px){.gateway-grid{gap:var(--space-8);grid-template-columns:1fr minmax(300px,390px)}.gateway-intro h1{font-size:clamp(3rem,5vw,5rem)}.platform-chooser-section{gap:var(--space-8);grid-template-columns:1fr 1fr}}@media (max-width:719px){.gateway-topbar{padding:var(--space-3) var(--space-4)}.gateway-quicklinks a:first-child{display:none}.gateway-quicklinks{gap:var(--space-3);font-size:var(--text-xs)}.gateway-grid{align-items:stretch;gap:var(--space-8);width:100%;padding:var(--space-12) var(--space-4);flex-direction:column;display:flex}.gateway-intro h1{max-width:13ch;font-size:clamp(2.9rem,13vw,4.4rem)}.gateway-lead{font-size:var(--text-base)}.gateway-credentials{margin-top:var(--space-5)}.platform-dialog{padding:var(--space-6)}.platform-option{min-height:64px;padding:var(--space-4)}.gateway-footer{padding-inline:var(--space-4)}.platform-chooser-section{width:calc(100% - var(--space-8));padding-block:var(--space-12);display:block}.platform-chooser-section .platform-dialog{margin-top:var(--space-8)}.web-overview{padding-inline:var(--space-4)}.web-topbar nav{gap:var(--space-3);font-size:var(--text-xs)}.web-topbar nav a:nth-child(2){display:none}.web-intro{padding-block:var(--space-16)}.web-intro h1{font-size:clamp(3rem,12vw,5rem)}.web-intro>p:not(.experience-eyebrow){font-size:var(--text-base)}.web-section{padding-bottom:var(--space-12);display:block}.web-record{gap:var(--space-1);grid-template-columns:1fr 20px}.web-record span:nth-child(2){grid-column:1}.web-record span:last-child{grid-area:1/2}.web-footer-cta{flex-wrap:wrap}.experience-stage{min-height:100dvh;padding:0;display:block}.device-stage{width:100%;min-height:100dvh}.device-dom{aspect-ratio:auto;width:100%;height:100dvh}.device-body{box-shadow:none;border:0;border-radius:0;padding:0}.device-display{border-radius:0}.device-camera,.device-buttons{display:none}.app-status{padding-top:calc(var(--space-3) + env(safe-area-inset-top))}.app-tabs{padding-bottom:env(safe-area-inset-bottom)}.portfolio-app{font-size:14px}.app-page{padding-inline:var(--space-5)}.app-page h1{font-size:32px}.app-list-row strong{font-size:17px}.app-list-row>span:not(.app-row-arrow):not(.app-row-meta){font-size:13px}}.platform-android .device-dom{aspect-ratio:2.8/6}.platform-android .device-display{container-type:inline-size}.platform-android .device-body{border-color:var(--ink-muted)}.platform-android .device-stage:not(.device-stage-has-webgl) .device-body{border-radius:40px}.platform-android .device-stage:not(.device-stage-has-webgl) .device-display{border-radius:31px}.platform-android .device-camera{border:2px solid var(--surface-elevated);width:12px;height:12px;top:11px}.platform-android .device-launcher{gap:var(--space-4);padding:var(--space-2) var(--space-3) var(--space-4);background:linear-gradient(170deg, var(--accent-soft), var(--navy-800) 50%, var(--background))}.platform-android .device-splash{background:var(--background);color:var(--ink)}.platform-android{--glass-fill:var(--surface-card);--glass-fill-strong:var(--surface-elevated);--glass-stroke:transparent;--glass-specular:inset 0 0 0 0 transparent;--glass-shadow:0 1px 3px var(--black-a30);--glass-blur:blur(0px)}.platform-android .sf-icon[data-icon=house\.fill]{--icon:url(/app_icons/Android/material/home.svg)}.platform-android .sf-icon[data-icon="signpost.right.fill"]{--icon:url(/app_icons/Android/material/work.svg)}.platform-android .sf-icon[data-icon="desktopcomputer.and.macbook"]{--icon:url(/app_icons/Android/material/desktop_windows.svg)}.platform-android .sf-icon[data-icon=medal\.fill]{--icon:url(/app_icons/Android/material/article.svg)}.platform-android .sf-icon[data-icon=envelope\.fill]{--icon:url(/app_icons/Android/material/mail.svg)}.platform-android .sf-icon[data-icon=magnifyingglass]{--icon:url(/app_icons/Android/material/search.svg)}.platform-android .sf-icon[data-icon=chevron\.right]{--icon:url(/app_icons/Android/material/chevron_right.svg)}.platform-android .sf-icon[data-icon=chevron\.left]{--icon:url(/app_icons/Android/material/arrow_back.svg)}.platform-android .sf-icon[data-icon="person.crop.circle"]{--icon:url(/app_icons/Android/material/account_circle.svg)}.platform-android .sf-icon[data-icon="square.and.arrow.up"]{--icon:url(/app_icons/Android/material/share.svg)}.platform-android .sf-icon[data-icon=signal_cellular_alt]{--icon:url(/app_icons/Android/material/signal_cellular_alt.svg)}.platform-android .sf-icon[data-icon=wifi]{--icon:url(/app_icons/Android/material/wifi.svg)}.platform-android .sf-icon[data-icon=battery_full]{--icon:url(/app_icons/Android/material/battery_full.svg)}.platform-android .android-status{padding-inline:var(--space-6)}.platform-android .android-status-icons{align-items:center;gap:var(--space-2);display:flex}.platform-android .android-status-icons .sf-icon{width:14px;height:14px}.platform-android .android-home-grid{gap:var(--space-4) var(--space-2);padding-top:var(--space-4);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.platform-android .android-app{align-items:center;gap:var(--space-1);color:var(--ink);cursor:pointer;font:inherit;background:0 0;border:0;flex-direction:column;padding:0;display:flex}.platform-android .android-app small{color:var(--ink-soft);text-align:center;font-size:10px}.platform-android .android-app-tile{border-radius:var(--radius-3xl);background:var(--ink);place-items:center;width:48px;height:48px;display:grid;overflow:hidden}.platform-android .android-app-brand{background:var(--accent-soft)}.platform-android .android-app-image{object-fit:cover;width:100%;height:100%}.platform-android .android-app-glyph{background:var(--tint);width:28px;height:28px;-webkit-mask:var(--glyph) center / contain no-repeat;-webkit-mask:var(--glyph) center / contain no-repeat;-webkit-mask:var(--glyph) center / contain no-repeat;-webkit-mask:var(--glyph) center / contain no-repeat;mask:var(--glyph) center / contain no-repeat;display:block}.platform-android .android-search{align-items:center;gap:var(--space-3);height:48px;padding:0 var(--space-4);border-radius:var(--radius-pill);background:var(--ink);color:var(--background);margin-top:auto;font-size:13px;display:flex}.platform-android .android-search-logo{width:18px;height:18px}.platform-android .android-dock{padding:var(--space-3) var(--space-2);border-radius:var(--radius-3xl);background:var(--ink-a12);justify-content:space-evenly;display:flex}.platform-android .portfolio-app{--app-bg:var(--background);--app-ink:var(--ink);--app-muted:var(--ink-muted);--app-accent:var(--accent-text);--app-soft:var(--surface-accent);--md-sys-color-primary:var(--accent-text);--md-sys-color-on-primary:var(--background);--md-sys-color-primary-container:var(--accent-soft);--md-sys-color-on-primary-container:var(--accent-pale);--md-sys-color-secondary:var(--ink-soft);--md-sys-color-on-secondary:var(--background);--md-sys-color-secondary-container:var(--surface-accent);--md-sys-color-on-secondary-container:var(--ink);--md-sys-color-surface:var(--background);--md-sys-color-surface-container-lowest:var(--background);--md-sys-color-surface-container-low:var(--surface-subtle);--md-sys-color-surface-container:var(--surface-card);--md-sys-color-surface-container-high:var(--surface-accent);--md-sys-color-surface-container-highest:var(--surface-elevated);--md-sys-color-on-surface:var(--ink);--md-sys-color-on-surface-variant:var(--ink-muted);--md-sys-color-outline:var(--ink-a30);--md-sys-color-outline-variant:var(--ink-a12);--md-sys-color-surface-tint:var(--accent-text);--md-sys-color-error:var(--danger);--md-ref-typeface-plain:var(--font-body);--md-ref-typeface-brand:var(--font-editorial);background:var(--app-bg);color:var(--app-ink)}.platform-android .app-page h1{letter-spacing:-.03em;font-size:28px}.platform-android .app-tags span{border-radius:var(--radius-md);background:var(--accent-soft);color:var(--accent-pale)}.platform-android .app-bottom{background:var(--surface-card)}.platform-android .device-stage:not(.device-stage-has-webgl) .device-body{background:var(--device-black);box-shadow:0 15px 55px var(--black-a60);border:0}.platform-android md-navigation-bar{--md-navigation-bar-container-color:var(--surface-card);--md-navigation-bar-container-height:80px;--md-navigation-bar-active-indicator-color:var(--accent-soft);--md-navigation-bar-active-indicator-width:64px;--md-navigation-bar-active-indicator-height:32px;--md-navigation-bar-active-icon-color:var(--accent-pale);--md-navigation-bar-active-label-text-color:var(--ink);--md-navigation-bar-inactive-icon-color:var(--ink-muted);--md-navigation-bar-inactive-label-text-color:var(--ink-muted);--md-navigation-bar-icon-size:24px;box-sizing:border-box;width:100%;padding-inline:var(--space-2);display:block}@container (max-width:340px){.platform-android md-navigation-bar{--md-navigation-bar-label-text-size:var(--text-2xs);--md-navigation-bar-active-indicator-width:52px}}.platform-android md-navigation-tab .sf-icon{width:24px;height:24px}.platform-android .sf-icon[slot=active-icon][data-icon=house\.fill]{--icon:url(/app_icons/Android/material/home-fill.svg)}.platform-android .sf-icon[slot=active-icon][data-icon="signpost.right.fill"]{--icon:url(/app_icons/Android/material/work-fill.svg)}.platform-android .sf-icon[slot=active-icon][data-icon="desktopcomputer.and.macbook"]{--icon:url(/app_icons/Android/material/desktop_windows-fill.svg)}.platform-android .sf-icon[slot=active-icon][data-icon=medal\.fill]{--icon:url(/app_icons/Android/material/article-fill.svg)}.platform-android .sf-icon[slot=active-icon][data-icon=envelope\.fill]{--icon:url(/app_icons/Android/material/mail-fill.svg)}.platform-android .record-sheet{background:var(--surface-elevated);-webkit-backdrop-filter:none;backdrop-filter:none}.platform-android .record-card,.platform-android .app-photo-caption,.platform-android .app-contact-card,.platform-android .app-contact-list li,.platform-android .app-list{border-radius:var(--radius-lg);background:var(--surface-card);box-shadow:0 1px 3px var(--black-a30);-webkit-backdrop-filter:none;backdrop-filter:none}.platform-android .record-mark{background:var(--surface-elevated);box-shadow:none}.platform-android .portfolio-app *{-webkit-backdrop-filter:none;backdrop-filter:none}.platform-android .portfolio-app{isolation:isolate}.platform-android .app-doodles{z-index:-1}.platform-android .app-post-body .notion-toggle,.platform-android .app-post-body aside{background:var(--surface-card)}.platform-android .notion-prose :not(pre)>code{background:var(--surface-elevated)}.platform-android .search-field,.platform-android .search-field:focus-within{background:var(--surface-card);box-shadow:none;border-radius:28px}.platform-android .app-comment-input textarea,.platform-android .app-ask input{border:1px solid var(--ink-a30);border-radius:var(--radius-sm);box-shadow:none;background:0 0}.platform-android .app-post-actions button{border:1px solid var(--ink-a30);box-shadow:none;background:0 0}.platform-android .app-post-actions button[aria-pressed=true]{background:var(--accent-soft);color:var(--accent-pale);border-color:#0000}.platform-android .app-about-links a,.platform-android .app-prompt-list button{border-radius:var(--radius-lg);background:var(--surface-card);box-shadow:none;border:0}.platform-android .nav-back,.platform-android .record-sheet-close{box-shadow:none;background:0 0}.platform-android .app-post-body.notion-prose pre{border-radius:var(--radius-lg);background:var(--surface-card);box-shadow:none;border:0}.platform-android .app-context-actions{border-radius:var(--radius-sm);background:var(--surface-elevated);box-shadow:0 2px 6px var(--black-a30)}.platform-android .app-metrics div,.platform-android .app-decision,.platform-android .app-comment-menu button{box-shadow:none}.platform-android .app-contact-card{border-radius:var(--radius-2xl);background:var(--surface-card)}@media (max-width:719px){.platform-android .device-dom{aspect-ratio:auto;width:100%;height:100dvh}.platform-android .device-display{border-radius:0}}.tap-hint{top:var(--tap-hint-y,38%);z-index:20;align-items:center;gap:var(--space-2);color:var(--accent-pale);font-family:var(--font-mono-ui);font-size:var(--text-2xs);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;pointer-events:none;animation:.4s both tap-hint-in;display:flex;position:absolute;transform:translateY(-50%)}.tap-hint-android{--tap-hint-dir:-10px;margin-left:var(--space-3);left:100%}.tap-hint-ios{--tap-hint-dir:10px;--tap-hint-y:65%;margin-right:var(--space-3);flex-direction:row-reverse;right:100%}.tap-hint-arrows{display:inline-flex}.tap-hint-arrows .sf-icon{opacity:0;width:18px;height:18px;animation:2.4s ease-in-out infinite tap-hint-glide}@keyframes tap-hint-in{0%{opacity:0}to{opacity:1}}@keyframes tap-hint-glide{0%{opacity:0;transform:translate(0)}25%{opacity:1;transform:translate(0)}75%{opacity:1;transform:translateX(var(--tap-hint-dir))}to{opacity:0;transform:translateX(var(--tap-hint-dir))}}@media (prefers-reduced-motion:reduce){.tap-hint,.tap-hint-arrows .sf-icon{animation:none}.tap-hint-arrows .sf-icon{opacity:1}}@media (max-width:719px){.tap-hint{display:none}}.cursor-orbit{z-index:6;opacity:0;pointer-events:none;width:0;height:0;transition:opacity .3s;position:absolute;top:0;left:0}.platform-option:hover>.cursor-orbit{opacity:1}.cursor-orbit-idle{z-index:0;opacity:1}.platform-gate:has(.platform-option:hover)>.cursor-orbit-idle{opacity:0}.cursor-orbit-item{width:22px;height:22px;position:absolute;top:-11px;left:-11px}.cursor-orbit-item img{width:100%;height:100%}@media (hover:none){.platform-option>.cursor-orbit{display:none}}@media (prefers-reduced-motion:reduce){.cursor-orbit:not(.cursor-orbit-idle){display:none}}.analytics-consent{z-index:100;right:max(var(--space-4), env(safe-area-inset-right));bottom:max(var(--space-4), env(safe-area-inset-bottom));width:min(var(--width-form), calc(100vw - var(--space-8)));padding:var(--space-4);border:1px solid var(--border-strong);border-radius:var(--radius-2xl);background:var(--surface-card);color:var(--ink);font-size:var(--text-sm);position:fixed}.analytics-consent p{margin:0 0 var(--space-3)}.analytics-consent div{justify-content:flex-end;gap:var(--space-2);flex-wrap:wrap;display:flex}@media (max-width:479px){.analytics-consent .button{width:100%}}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@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-scrollbar-thumb{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-scrollbar-track{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@keyframes spin{to{transform:rotate(360deg)}}
