/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight: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-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}}}@layer theme{:host,:root{--font-sans:"SF Pro Display","SF Pro Text",-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,ui-sans-serif,system-ui,sans-serif;--color-red-400:oklch(70.4% .191 22.216);--color-yellow-300:oklch(90.5% .182 98.111);--color-green-400:oklch(79.2% .209 151.711);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--container-3xl:48rem;--container-4xl:56rem;--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-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--text-5xl:3rem;--text-5xl--line-height:1;--text-7xl:4.5rem;--text-7xl--line-height:1;--font-weight-medium:500;--font-weight-semibold:600;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:"SF Pro Display","SF Pro Text",-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,ui-sans-serif,system-ui,sans-serif;--default-mono-font-family:"SF Mono","Cascadia Code","Roboto Mono",ui-monospace,monospace}}@layer base{*,::backdrop,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden}.absolute,.sr-only{position:absolute}.relative{position:relative}.static{position:static}.inset-0{inset:calc(var(--spacing) * 0)}.z-10{z-index:10}.z-20{z-index:20}.mx-auto{margin-inline:auto}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mt-10{margin-top:calc(var(--spacing) * 10)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-12{margin-bottom:calc(var(--spacing) * 12)}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.aspect-square{aspect-ratio:1}.size-3{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.size-12{width:calc(var(--spacing) * 12);height:calc(var(--spacing) * 12)}.h-1{height:calc(var(--spacing) * 1)}.h-2{height:calc(var(--spacing) * 2)}.h-22{height:calc(var(--spacing) * 22)}.h-full{height:100%}.min-h-0{min-height:calc(var(--spacing) * 0)}.min-h-44{min-height:calc(var(--spacing) * 44)}.min-h-\[340px\]{min-height:340px}.min-h-\[360px\]{min-height:360px}.min-h-\[inherit\]{min-height:inherit}.min-h-full{min-height:100%}.min-h-screen{min-height:100vh}.w-10{width:calc(var(--spacing) * 10)}.w-full{width:100%}.max-w-3xl{max-width:var(--container-3xl)}.max-w-4xl{max-width:var(--container-4xl)}.max-w-\[720px\]{max-width:720px}.max-w-\[1280px\]{max-width:1280px}.max-w-\[1480px\]{max-width:1480px}.max-w-lg{max-width:var(--container-lg)}.max-w-md{max-width:var(--container-md)}.max-w-sm{max-width:var(--container-sm)}.resize{resize:both}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-\[48px_1fr\]{grid-template-columns:48px 1fr}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.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}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-8{gap:calc(var(--spacing) * 8)}: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)))}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.rounded-full{border-radius:3.40282e+38px}.border{border-style:var(--tw-border-style);border-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-\[var\(--artifact-accent\)\]\/60{border-color:var(--artifact-accent)}@supports (color:color-mix(in lab,red,red)){.border-\[var\(--artifact-accent\)\]\/60{border-color:color-mix(in oklab,var(--artifact-accent) 60%,transparent)}}.border-white\/10{border-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.border-white\/10{border-color:color-mix(in oklab,var(--color-white) 10%,transparent)}}.border-white\/12{border-color:#ffffff1f}@supports (color:color-mix(in lab,red,red)){.border-white\/12{border-color:color-mix(in oklab,var(--color-white) 12%,transparent)}}.bg-\[var\(--artifact-accent\)\],.bg-\[var\(--artifact-accent\)\]\/10{background-color:var(--artifact-accent)}@supports (color:color-mix(in lab,red,red)){.bg-\[var\(--artifact-accent\)\]\/10{background-color:color-mix(in oklab,var(--artifact-accent) 10%,transparent)}}.bg-background{background-color:#050505}.bg-black\/20{background-color:#0003}@supports (color:color-mix(in lab,red,red)){.bg-black\/20{background-color:color-mix(in oklab,var(--color-black) 20%,transparent)}}.bg-black\/45{background-color:#00000073}@supports (color:color-mix(in lab,red,red)){.bg-black\/45{background-color:color-mix(in oklab,var(--color-black) 45%,transparent)}}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab,red,red)){.bg-black\/50{background-color:color-mix(in oklab,var(--color-black) 50%,transparent)}}.bg-black\/70{background-color:#000000b3}@supports (color:color-mix(in lab,red,red)){.bg-black\/70{background-color:color-mix(in oklab,var(--color-black) 70%,transparent)}}.bg-green-400{background-color:var(--color-green-400)}.bg-red-400{background-color:var(--color-red-400)}.bg-white\/10{background-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.bg-white\/10{background-color:color-mix(in oklab,var(--color-white) 10%,transparent)}}.bg-white\/\[0\.02\]{background-color:#ffffff05}@supports (color:color-mix(in lab,red,red)){.bg-white\/\[0\.02\]{background-color:color-mix(in oklab,var(--color-white) 2%,transparent)}}.bg-white\/\[0\.03\]{background-color:#ffffff08}@supports (color:color-mix(in lab,red,red)){.bg-white\/\[0\.03\]{background-color:color-mix(in oklab,var(--color-white) 3%,transparent)}}.bg-yellow-300{background-color:var(--color-yellow-300)}.p-0{padding:calc(var(--spacing) * 0)}.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-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.pt-8{padding-top:calc(var(--spacing) * 8)}.pt-10{padding-top:calc(var(--spacing) * 10)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pb-20{padding-bottom:calc(var(--spacing) * 20)}.pb-24{padding-bottom:calc(var(--spacing) * 24)}.text-center{text-align:center}.font-mono{font-family:SF Mono,Cascadia Code,Roboto Mono,ui-monospace,monospace}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--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-\[1\.35rem\]{font-size:1.35rem}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.leading-6{--tw-leading:calc(var(--spacing) * 6);line-height:calc(var(--spacing) * 6)}.leading-7{--tw-leading:calc(var(--spacing) * 7);line-height:calc(var(--spacing) * 7)}.leading-8{--tw-leading:calc(var(--spacing) * 8);line-height:calc(var(--spacing) * 8)}.leading-\[0\.94\]{--tw-leading:.94;line-height:.94}.leading-\[48px\]{--tw-leading:48px;line-height:48px}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.text-\[var\(--active-accent\)\]{color:var(--active-accent)}.text-\[var\(--artifact-accent\)\]{color:var(--artifact-accent)}.text-foreground{color:#f4f0ea}.text-white{color:var(--color-white)}.text-white\/35{color:#ffffff59}@supports (color:color-mix(in lab,red,red)){.text-white\/35{color:color-mix(in oklab,var(--color-white) 35%,transparent)}}.text-white\/42{color:#ffffff6b}@supports (color:color-mix(in lab,red,red)){.text-white\/42{color:color-mix(in oklab,var(--color-white) 42%,transparent)}}.text-white\/54{color:#ffffff8a}@supports (color:color-mix(in lab,red,red)){.text-white\/54{color:color-mix(in oklab,var(--color-white) 54%,transparent)}}.text-white\/56{color:#ffffff8f}@supports (color:color-mix(in lab,red,red)){.text-white\/56{color:color-mix(in oklab,var(--color-white) 56%,transparent)}}.text-white\/70{color:#ffffffb3}@supports (color:color-mix(in lab,red,red)){.text-white\/70{color:color-mix(in oklab,var(--color-white) 70%,transparent)}}.uppercase{text-transform:uppercase}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.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-black\/40{--tw-shadow-color:#0006}@supports (color:color-mix(in lab,red,red)){.shadow-black\/40{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,var(--color-black) 40%,transparent) var(--tw-shadow-alpha),transparent)}}.blur-\[7px\]{--tw-blur:blur(7px)}.blur-\[7px\],.saturate-50{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,)}.saturate-50{--tw-saturate:saturate(50%)}.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))}@media (min-width:40rem){.sm\:px-8{padding-inline:calc(var(--spacing) * 8)}}@media (min-width:48rem){.md\:min-h-\[460px\]{min-height:460px}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:p-7{padding:calc(var(--spacing) * 7)}.md\:text-7xl{font-size:var(--text-7xl);line-height:var(--tw-leading,var(--text-7xl--line-height))}}@media (min-width:64rem){.lg\:sticky{position:sticky}.lg\:top-8{top:calc(var(--spacing) * 8)}.lg\:h-\[calc\(100vh-64px\)\]{height:calc(100vh - 64px)}.lg\:grid-cols-\[0\.42fr_1fr\]{grid-template-columns:.42fr 1fr}.lg\:px-10{padding-inline:calc(var(--spacing) * 10)}}}:root{--background:#050505;--cursor-pixel-arrow:url(/cursor.svg) 2 2;--cursor-pixel-default:var(--cursor-pixel-arrow),default;--cursor-pixel-pointer:var(--cursor-pixel-arrow),pointer;--foreground:#f4f0ea;--muted:#9a968f}*{box-sizing:border-box}html{scroll-behavior:smooth}body,html{min-height:100%;overflow:hidden auto}body{background:var(--background);color:var(--foreground);text-rendering:geometricprecision;font-family:SF Pro Display,SF Pro Text,-apple-system,BlinkMacSystemFont,Helvetica Neue,Arial,ui-sans-serif,system-ui,sans-serif;font-size:16px}input,textarea{cursor:text}@media (pointer:fine){body{cursor:var(--cursor-pixel-default)}[role=button],a,button,summary{cursor:var(--cursor-pixel-pointer)}}.grass-stage{cursor:none;--field-pad:clamp(.85rem,3vw,2.4rem);isolation:isolate;height:100svh;min-height:100svh;padding:var(--field-pad) var(--field-pad) 0;background:linear-gradient(90deg,#094e1138 0 8px,#0000 8px 40px) 0 0/40px 40px,linear-gradient(0deg,#1e8c1c29 0 8px,#0000 8px 40px) 12px 16px/48px 48px,#147c15;justify-content:center;align-items:flex-end;width:100%;max-width:100vw;display:flex;position:relative;overflow:hidden}.grass-stage:before{content:"";opacity:.45;z-index:0;background:linear-gradient(135deg,#0744103d 0 8px,#0000 8px 56px) 0 0/56px 56px,linear-gradient(45deg,#19781833 0 8px,#0000 8px 64px) 18px 10px/64px 64px}.grass-canvas,.grass-stage:before{pointer-events:none;position:fixed;inset:0}.grass-canvas{z-index:1;width:100%;height:100svh;display:block}.portfolio-box{color:#14201d;max-width:min(1500px,calc(100vw - (var(--field-pad) * 2)));width:min(1500px,calc(100vw - (var(--field-pad) * 2)));height:min(900px,calc(100vh - (var(--field-pad) * 1.35)));height:min(900px,calc(100svh - (var(--field-pad) * 1.35)));max-height:min(900px,calc(100vh - (var(--field-pad) * 1.35)));max-height:min(900px,calc(100svh - (var(--field-pad) * 1.35)));transform-origin:bottom;z-index:2;background:#f4efe4;border:6px solid #101a17;border-radius:6px 6px 0 0;grid-template-rows:auto minmax(0,1fr);margin:0 auto;transition:filter .36s steps(8),opacity .36s steps(8),transform .36s steps(8);animation:portfolio-window-open .72s cubic-bezier(.2,.82,.18,1) .18s backwards;display:grid;position:relative;overflow:hidden;box-shadow:10px 10px #101a17,0 30px 90px #0e2e182e,inset 0 1px #ffffff9e}.portfolio-box,.portfolio-box *{cursor:auto}.portfolio-box [role=button],.portfolio-box a,.portfolio-box button,.portfolio-box summary{cursor:pointer}.portfolio-box input,.portfolio-box textarea{cursor:text}.portfolio-box:before{content:none}.portfolio-window-bar{z-index:4;background:#eee6d8;border-bottom:4px solid #101a17;grid-template-columns:1fr auto 1fr;align-items:center;height:34px;padding:0 .72rem;display:grid;position:relative}.portfolio-window-controls{align-items:center;gap:.42rem;display:flex}.window-control{background:#f4efe4;border:2px solid #101a17;border-radius:0;place-items:center;width:17px;height:17px;padding:0;transition:background-color .14s steps(2),box-shadow .14s steps(2),transform .14s steps(2);display:inline-grid;position:relative;box-shadow:2px 2px #101a17}.window-control:after,.window-control:before{content:"";background:#101a17;position:absolute}.window-control-minimize:before{width:8px;height:2px}.window-control-close:after,.window-control-close:before{width:10px;height:2px}.window-control-close:before{transform:rotate(45deg)}.window-control-close:after{transform:rotate(-45deg)}.window-control:focus-visible,.window-control:hover{background:#87d8ff;outline:none;transform:translate(1px,1px);box-shadow:1px 1px #101a17}.window-control-close:focus-visible,.window-control-close:hover{background:#ff6a8f}.portfolio-window-title{color:#101a178a;text-align:right;grid-column:3;justify-self:end;font-size:12px;line-height:1}.portfolio-content{overscroll-behavior:contain;scrollbar-gutter:stable;background:#f4efe4;min-height:0;animation:portfolio-content-wake .42s ease-out .76s both;position:relative;overflow:hidden auto}@keyframes portfolio-window-open{0%{clip-path:inset(48% 45%);opacity:0;transform:translateY(26px)scale(.96)}42%{clip-path:inset(0 45%);opacity:1;transform:translateY(14px)scale(.98)}to{clip-path:inset(0);opacity:1;transform:translateY(0)scale(1)}}@keyframes portfolio-window-close{0%{clip-path:inset(0);opacity:1;transform:translateY(0)scale(1)}58%{clip-path:inset(0 45%);opacity:1;transform:translateY(14px)scale(.98)}to{clip-path:inset(48% 45%);opacity:0;transform:translateY(26px)scale(.96)}}@keyframes portfolio-content-wake{0%{opacity:0}to{opacity:1}}.portfolio-shell{z-index:2;gap:clamp(1.7rem,3.2vh,2.35rem);width:100%;max-width:1320px;height:auto;min-height:100%;margin:0 auto;padding:clamp(1.85rem,3.6vh,3rem) 1.75rem clamp(1.5rem,2.8vh,2.35rem);display:grid;position:relative;overflow:visible}.grass-stage.is-first-person .portfolio-box{pointer-events:none;animation:portfolio-window-close .52s cubic-bezier(.2,.82,.18,1) both}.snake-toast{--snake-toast-max-width:min(360px,calc(100vw - 2rem));--snake-toast-half-width:min(180px,calc(50vw - 1rem));color:#101a17;max-width:var(--snake-toast-max-width);text-align:center;left:50%;top:max(1rem,calc(var(--field-pad) * .72));z-index:5;background-color:#fffaf0;border:3px solid #101a17;align-items:center;gap:.48rem;padding:.62rem .78rem;font-size:14px;line-height:1.3;display:inline-flex;position:fixed;transform:translate(-50%);box-shadow:4px 4px #101a17}.snake-toast.is-near-snake{left:clamp(calc(var(--snake-toast-half-width) + 1rem),var(--snake-toast-x),calc(100vw - var(--snake-toast-half-width) - 1rem));top:min(max(var(--snake-toast-y),4rem),calc(100vh - 5rem));width:max-content;transform:translate(-50%,-130%)}.snake-toast-icon{color:#101a17;text-transform:uppercase;background:#87d8ff;border:2px solid #101a17;flex:none;place-items:center;width:28px;height:24px;font-size:11px;line-height:1;display:inline-grid;box-shadow:2px 2px #101a17}.snake-toast:after{content:"";background:#fffaf0;border-bottom:3px solid #101a17;border-right:3px solid #101a17;width:12px;height:12px;position:absolute;bottom:-9px;left:50%;transform:translate(-50%)rotate(45deg)}.first-person-hud{color:#e8f7ff;opacity:0;pointer-events:none;z-index:4;transition:opacity .26s steps(6);position:fixed;inset:0}.grass-stage.is-first-person .first-person-hud{opacity:1}.first-person-hud:before{content:"";background:linear-gradient(#0a1c363d 0 2px,#0000 2px 8px),radial-gradient(circle,#0000 0 18%,#02081447 70%);position:absolute;inset:0}.first-person-copy{color:#101a17;text-align:center;min-width:min(420px,100vw - 2rem);text-shadow:none;background:#fffaf0;border:3px solid #101a17;gap:.18rem;padding:.7rem .95rem;display:grid;position:absolute;bottom:1.25rem;left:50%;transform:translate(-50%);box-shadow:5px 5px #101a17}.first-person-copy small,.first-person-copy span{color:#101a179e;font-size:12px}.first-person-copy strong{color:#101a17;font-size:18px}.first-person-score{color:#101a17;background:#fffaf0;border:3px solid #101a17;align-items:center;gap:.55rem;padding:.52rem .72rem;display:inline-flex;position:absolute;bottom:1.25rem;right:1.25rem;box-shadow:5px 5px #101a17}.first-person-score span{color:#101a179e;font-size:12px}.first-person-score strong{color:#101a17;font-size:18px;line-height:1}.intro-block{max-width:660px}.soft-avatar{aspect-ratio:1;box-shadow:none;image-rendering:auto;object-fit:cover;object-position:center 32%;border:3px solid #101a17;border-radius:4px;width:3.5rem;height:3.5rem;transition:transform .18s;display:block}.soft-avatar:hover{transform:scale(1.12)}.profile-heading{color:#101a17;letter-spacing:-.01em;flex-wrap:wrap;align-items:center;gap:.38rem;font-size:18px;font-weight:650;line-height:1.45;display:inline-flex}.profile-heading-icon{flex:none;transform:rotate(-10deg)}.profile-subtitle{color:#101a17a3;margin-top:.15rem;font-size:16px;line-height:1.55}.profile-links{flex-wrap:wrap;gap:.85rem;margin-top:clamp(1.25rem,2.4vh,1.8rem);display:flex}.profile-link{color:#101a17a8;align-items:center;gap:.38rem;padding:.1rem .2rem;font-size:16px;line-height:1.2;text-decoration-line:none;transition:background-color .16s,box-shadow .16s,color .16s,transform .16s;display:inline-flex}.contact-link-button,.profile-link-button{appearance:none;cursor:pointer;font:inherit;background:0 0;border:0}.back-link,.contact-link{color:#f4f0ea8f;text-underline-offset:.22rem;align-items:center;gap:.38rem;font-size:16px;line-height:1.2;text-decoration-line:underline;text-decoration-color:#f4f0ea47;transition:color .16s,text-decoration-color .16s,transform .16s;display:inline-flex}.profile-link:focus-visible,.profile-link:hover{color:#101a17;background:#244a4a14;outline:none;transform:translate(-1px,-1px);box-shadow:3px 3px #244a4a1f}.back-link:focus-visible,.back-link:hover,.contact-link:focus-visible,.contact-link:hover{color:#fff;outline:none;text-decoration-color:currentColor;transform:translateY(-1px)}.mini-hero{color:#101a17db;font-family:var(--font-sans);letter-spacing:0;text-wrap:balance;max-width:800px;margin-top:clamp(1.7rem,3.2vh,2.55rem);font-size:18px;font-weight:400;line-height:1.62}.mini-word{color:var(--word-color);font-style:normal;font-weight:560;transition:color .16s;display:inline-block;position:relative}.mini-word-icon{color:var(--word-color);opacity:.64;transition:opacity .16s,transform .16s;position:absolute;top:-.34rem;right:-.35rem;transform:rotate(-8deg)scale(.82)}.mini-hero:has(.mini-word:focus-visible),.mini-hero:has(.mini-word:focus-visible) .mini-word,.mini-hero:has(.mini-word:hover),.mini-hero:has(.mini-word:hover) .mini-word{color:#101a1740}.mini-hero:has(.mini-word:focus-visible) .mini-word:focus-visible,.mini-hero:has(.mini-word:hover) .mini-word:hover{color:var(--word-color);outline:none}.mini-word:focus-visible .mini-word-icon,.mini-word:hover .mini-word-icon{opacity:1;transform:rotate(-8deg)scale(1.35)}.mini-word-note{color:#fffaf0;font-family:var(--font-sans);opacity:0;pointer-events:none;text-wrap:pretty;z-index:20;border:3px solid #101a17;border-radius:0;align-items:center;gap:.38rem;width:max-content;max-width:min(20rem,100vw - 3rem);padding:.68rem .78rem;font-size:13px;font-style:normal;font-weight:400;line-height:1.35;transition:opacity .16s,transform .16s;display:inline-flex;bottom:calc(100% + 1.45rem);left:0;transform:translateY(.25rem)rotate(-1deg);box-shadow:5px 5px #101a17}.mini-word-note,.mini-word-note:after{background:var(--word-color);position:absolute}.mini-word-note:after{content:"";border-bottom:3px solid #101a17;border-right:3px solid #101a17;width:12px;height:12px;bottom:-9px;left:1.1rem;transform:rotate(45deg)}.mini-word:focus-visible .mini-word-note,.mini-word:hover .mini-word-note{opacity:1;transform:translateY(0)rotate(-1deg)}.portfolio-box .mini-hero,.portfolio-box .mini-hero .mini-word{font-family:var(--font-sans);font-size:18px;font-style:normal;line-height:1.55}.work-list-section{font-family:var(--font-sans);max-width:100%}.section-heading{color:#101a17;letter-spacing:-.01em;margin-bottom:.9rem;font-size:18px;font-weight:650;line-height:1.4}.work-layout{gap:1.35rem}.work-layout,.work-list{min-height:0;display:grid}.work-list{gap:1.25rem;overflow:visible}.work-company-group{grid-template-columns:minmax(0,1fr);gap:.52rem;padding-left:0;display:grid;position:relative}.work-company-group:before{content:none}.work-company-heading{color:#101a1780;text-transform:none;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.5rem;padding:0;font-size:11px;line-height:1.2;display:grid}.work-company-logo{box-shadow:none;height:34px;image-rendering:pixelated;object-fit:cover;transform:rotate(var(--logo-rotation));transform-origin:50%;border:2px solid #101a17;border-radius:3px;width:34px;display:block}.work-company-logo.is-shell{object-fit:contain;background:#fffaf0;padding:5px}.work-company-copy{gap:.1rem;min-width:0;display:grid}.work-company-name{color:#101a17d6;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:14px;font-weight:650;line-height:1.15;overflow:hidden}.work-company-meta{color:#101a176b;white-space:normal;font-size:11.5px;line-height:1.25;display:block}.work-company-projects{gap:.04rem;display:grid}.work-row{appearance:none;color:inherit;font:inherit;text-align:left;background-color:#0000;border:3px solid #0000;border-radius:0;grid-template-columns:1fr auto;gap:.8rem;margin-left:0;padding:.3rem .46rem;text-decoration:none;transition:background-color .22s,border-color .22s,box-shadow .22s,color .22s;display:grid;position:relative;box-shadow:1px 1px #0000}.work-row,.work-row *{cursor:pointer}.work-row-button{background:0 0;width:100%}.work-row:before{content:none;opacity:0;pointer-events:none;transition:opacity .16s;position:absolute;inset:-2px}.work-row:focus-visible,.work-row:hover,.work-row[data-active]{background-color:#fffaf0;border-color:#101a17;outline:none;box-shadow:1px 1px #101a17}.work-row:focus-visible:before,.work-row:hover:before,.work-row[data-active]:before{opacity:1}.work-row:focus-visible .work-row-title,.work-row:hover .work-row-title,.work-row[data-active] .work-row-title{color:#101a17f0}.work-row-main{min-width:0;display:grid}.work-row-title{color:#101a17e6;letter-spacing:-.01em;font-size:16px;font-weight:560;line-height:1.35;transition:color .16s}.work-row-meta{color:#101a177a;margin-top:.12rem;font-size:13px;line-height:1.38}.work-row-status{color:#101a1775;white-space:nowrap;justify-self:end;gap:.22rem;padding-top:.1rem;font-size:12px}.locked-access-toast,.work-row-status{align-items:center;line-height:1.35;display:inline-flex}.locked-access-toast{color:#101a17;font-family:var(--font-sans);pointer-events:none;z-index:5;background:#fffaf0;border:3px solid #101a17;gap:.45rem;width:max-content;max-width:min(360px,100% - 2rem);padding:.65rem .72rem;font-size:13px;font-weight:400;position:fixed;bottom:1.2rem;left:50%;transform:translate(-50%);box-shadow:5px 5px #101a17}.locked-access-toast strong{font-weight:650}.work-preview{display:none}.work-preview-artifact{will-change:opacity,transform;grid-area:preview;justify-content:center;align-self:start;width:100%;min-height:0;display:flex}.work-preview-artifact .artifact{width:100%;max-width:100%;height:auto}.work-preview-artifact .artifact--locked-tall{--locked-media-height:min(var(--artifact-window-height,620px),calc(100svh - 8rem));width:min(100%,calc(var(--locked-media-height) * var(--locked-media-ratio)))}.portfolio-footer{color:#101a177a;justify-content:space-between;align-items:center;gap:.9rem;margin-top:clamp(.35rem,1.2vh,.9rem);padding-top:clamp(1rem,2vh,1.4rem);font-size:14px;line-height:1.35;display:flex}.portfolio-footer-location,.portfolio-footer-made{align-items:center;gap:.28rem;margin:0;display:inline-flex}.portfolio-footer-made span{color:#d23a58;font-size:13px;line-height:1;display:inline-block;transform:translateY(-.02rem)}.portfolio-footer-location{text-align:right;white-space:nowrap;justify-content:flex-end}.flip-clock{perspective:320px;place-items:center end;min-width:4.8rem;display:inline-grid}.flip-clock-value{font-variant-numeric:tabular-nums;transform-origin:50%;will-change:opacity,transform;display:inline-block}.media-frame{aspect-ratio:var(--media-aspect);image-rendering:auto;background:#101a1714;border-radius:10px;width:100%;line-height:0;position:relative;overflow:hidden}.media-frame.is-loaded{background:0 0}.media-frame-media{border-radius:inherit;image-rendering:auto;opacity:0;object-fit:contain;z-index:1;width:100%;height:100%;transition:opacity .42s cubic-bezier(.22,1,.36,1);display:block;position:relative}.media-frame.is-loaded .media-frame-media{opacity:1}.trading-video-preview video{background:0 0;transform:translateZ(0)}.media-image--contain{object-fit:contain}.media-frame--scroll-window{aspect-ratio:auto;height:var(--artifact-window-height,620px);overscroll-behavior:contain;overflow:hidden auto}.media-scroll-image{object-fit:fill;width:100%;height:auto;min-height:100%;display:block}.media-frame--alert{max-width:min(100%,640px);margin-inline:auto}.media-frame--locked-tall{width:100%}.fluna-scroll-preview{aspect-ratio:auto;height:var(--artifact-window-height,620px)}.fluna-scroll-image{backface-visibility:hidden;image-rendering:auto;will-change:transform;width:100%;height:auto;display:block;transform:translate(0)}.work-preview-artifact:not([aria-hidden=true]) .fluna-scroll-image{animation:fluna-site-scroll 54s linear 1.1s infinite alternate}.fluna-app-preview{padding:0}.fluna-app-image{transform:translateZ(0)}@keyframes fluna-site-scroll{0%,5%{transform:translate(0)}95%,to{transform:translate3d(0,calc(-100% + var(--artifact-window-height,620px)),0)}}.media-skeleton{border-radius:inherit;opacity:1;z-index:2;background:#101a1714;transition:opacity .42s cubic-bezier(.22,1,.36,1);position:absolute;inset:0;overflow:hidden}.media-frame.is-loaded .media-skeleton{opacity:0;pointer-events:none}.media-skeleton:before{content:"";display:none}.media-skeleton:after{content:"";background:#101a17;width:8px;height:8px;animation:pixel-dot-loader .84s steps(3) infinite;position:absolute;top:50%;left:50%;transform:translate(-22px,-4px);box-shadow:18px 0 #101a176b,36px 0 #101a1738}@keyframes pixel-dot-loader{0%{box-shadow:18px 0 #101a176b,36px 0 #101a1738}33%{box-shadow:18px 0 #101a17,36px 0 #101a176b}66%,to{box-shadow:18px 0 #101a176b,36px 0 #101a17}}.about-simple{max-width:680px;margin:0 auto;padding:5rem 1.5rem}.quiet-pill{color:#f4f0eab8;background:#ffffff0b;border:1px solid #ffffff17;border-radius:999px;align-items:center;gap:.32rem;padding:.42rem .68rem;font-size:14px;display:inline-flex}.artifact{box-shadow:none;isolation:isolate;image-rendering:auto;background:0 0;border:0;border-radius:10px}.artifact>div{border-radius:inherit}::selection{color:#fffaf0;background:#101a17}a,button{-webkit-tap-highlight-color:transparent}@media (min-width:980px){.portfolio-shell{max-width:1400px;padding-top:clamp(2rem,4vh,3.1rem)}.work-layout{grid-template-columns:minmax(340px,.7fr) minmax(700px,1.3fr);align-items:start;gap:1.65rem}.work-preview{grid-template-areas:"preview";width:100%;min-height:340px;display:grid;position:sticky;top:3rem}}@media (max-width:640px){.grass-stage{--field-pad:.85rem}.portfolio-box{height:calc(100svh - var(--field-pad));border-radius:4px 4px 0 0;max-height:none}.portfolio-shell{gap:2rem;padding:2rem 1.15rem}.profile-links{gap:.7rem .9rem}.mini-word-note{display:none}.work-company-group{grid-template-columns:1fr;gap:.58rem}.work-company-heading{grid-template-columns:auto minmax(0,1fr);align-items:center}.work-row{grid-template-columns:1fr;margin-left:0}.work-row-status{justify-self:start;padding-top:0}.portfolio-footer{justify-content:stretch;align-items:flex-start;gap:.38rem;display:grid}.portfolio-footer-location{text-align:left;white-space:normal;justify-content:flex-start}}@media (prefers-reduced-motion:reduce){.portfolio-box,.portfolio-content{animation:none}*,:after,:before{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.back-link:hover,.contact-link:hover,.profile-link:hover,.soft-avatar:hover,.work-row:focus-visible,.work-row:hover{transform:none}}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{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-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}