@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-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-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-ease:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-400:oklch(70.4% .191 22.216);--color-amber-400:oklch(82.8% .189 84.429);--color-amber-500:oklch(76.9% .188 70.08);--color-green-400:oklch(79.2% .209 151.711);--color-blue-400:oklch(70.7% .165 254.624);--color-slate-300:oklch(86.9% .022 252.894);--color-slate-400:oklch(70.4% .04 256.788);--color-slate-500:oklch(55.4% .046 257.417);--color-slate-600:oklch(44.6% .043 257.281);--color-slate-700:oklch(37.2% .044 257.287);--color-slate-900:oklch(20.8% .042 265.755);--color-slate-950:oklch(12.9% .042 264.695);--color-white:#fff;--spacing:.25rem;--container-lg:32rem;--container-xl:36rem;--container-4xl:56rem;--container-6xl:72rem;--container-7xl:80rem;--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: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-3xl:1.875rem;--text-3xl--line-height: 1.2 ;--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--text-5xl:3rem;--text-5xl--line-height:1;--font-weight-light:300;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--tracking-wider:.05em;--tracking-widest:.1em;--leading-tight:1.25;--leading-snug:1.375;--leading-relaxed:1.625;--radius-lg:.5rem;--radius-3xl:1.5rem;--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--blur-md:12px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-accent:#6366f1;--color-highlight:#0ea5e9;--animate-pulse-slow:pulse 4s cubic-bezier(.4, 0, .6, 1) infinite}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}:root{color-scheme:dark;--bg:#020617;--bg-card:#0f172aa6;--bg-card-solid:#0f172a;--bg-section:#0f172a66;--bg-nav:#020617d9;--bg-overlay:#020617f7;--bg-input:#0f172a80;--bg-surface:#1e293b80;--text:#e2e8f0;--text-muted:#94a3b8;--text-dim:#64748b;--text-dimmer:#475569;--border:#ffffff0f;--border-hover:#6366f166;--accent:#6366f1;--accent-blue:#3b82f6;--neon:#0ea5e9;--neon-glow:#0ea5e940;--scrollbar-track:#0f172a;--scrollbar-thumb:#334155;--scrollbar-thumb-hover:#475569;--footer-bg:#020617fa;--footer-border:#ffffff0d}[data-theme=light]{color-scheme:light;--bg:#f8fafc;--bg-card:#ffffffd9;--bg-card-solid:#fff;--bg-section:#f1f5f9cc;--bg-nav:#f8fafceb;--bg-overlay:#f8fafcfa;--bg-input:#f1f5f9cc;--bg-surface:#e2e8f0cc;--text:#1e293b;--text-muted:#475569;--text-dim:#64748b;--text-dimmer:#94a3b8;--border:#00000012;--border-hover:#6366f166;--accent:#4f46e5;--accent-blue:#2563eb;--neon:#0284c7;--neon-glow:#0284c733;--scrollbar-track:#e2e8f0;--scrollbar-thumb:#94a3b8;--scrollbar-thumb-hover:#64748b;--footer-bg:#f1f5f9fa;--footer-border:#00000012}body{background-color:var(--bg);color:var(--text);background-image:radial-gradient(at 0 0,#6366f126,#0000 60%),radial-gradient(at 100% 100%,#0ea5e926,#0000 60%);background-attachment:fixed;font-family:Inter,sans-serif;transition:background-color .3s,color .3s}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:9999;background:var(--accent);color:#fff;border-radius:0 0 .375rem .375rem;padding:.5rem 1rem;font-size:.875rem;font-weight:600;text-decoration:none;transition:top .15s;position:absolute;top:-100%;left:1rem}.skip-link:focus-visible{outline-offset:2px;outline:2px solid #fff;top:0}h1,h2,h3,h4,h5,h6{text-wrap:balance}[data-theme=light] body{background-image:radial-gradient(at 0 0,#6366f114,#0000 60%),radial-gradient(at 100% 100%,#0ea5e914,#0000 60%)}html{scroll-behavior:smooth}button,[role=button],a{touch-action:manipulation}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:var(--scrollbar-track);border-radius:5px}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:5px}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.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}.inset-0{inset:0}.top-0{top:0}.top-1\/4{top:25%}.top-2{top:calc(var(--spacing) * 2)}.right-0{right:0}.right-1\/4{right:25%}.right-3{right:calc(var(--spacing) * 3)}.bottom-1\/4{bottom:25%}.bottom-3{bottom:calc(var(--spacing) * 3)}.left-0{left:0}.left-1\/4{left:25%}.left-3{left:calc(var(--spacing) * 3)}.z-10{z-index:10}.z-30{z-index:30}.z-50{z-index:50}.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-auto{margin-inline:auto}.my-8{margin-block:calc(var(--spacing) * 8)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.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-12{margin-top:calc(var(--spacing) * 12)}.mb-0{margin-bottom:0}.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-10{margin-bottom:calc(var(--spacing) * 10)}.mb-12{margin-bottom:calc(var(--spacing) * 12)}.mb-14{margin-bottom:calc(var(--spacing) * 14)}.mb-16{margin-bottom:calc(var(--spacing) * 16)}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-10{height:calc(var(--spacing) * 10)}.h-16{height:calc(var(--spacing) * 16)}.h-72{height:calc(var(--spacing) * 72)}.h-96{height:calc(var(--spacing) * 96)}.h-full{height:100%}.min-h-screen{min-height:100vh}.w-1\.5{width:calc(var(--spacing) * 1.5)}.w-3\.5{width:calc(var(--spacing) * 3.5)}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-10{width:calc(var(--spacing) * 10)}.w-72{width:calc(var(--spacing) * 72)}.w-96{width:calc(var(--spacing) * 96)}.w-full{width:100%}.max-w-4xl{max-width:var(--container-4xl)}.max-w-6xl{max-width:var(--container-6xl)}.max-w-7xl{max-width:var(--container-7xl)}.max-w-\[220px\]{max-width:220px}.max-w-lg{max-width:var(--container-lg)}.max-w-xl{max-width:var(--container-xl)}.flex-1{flex:1}.flex-shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-pulse-slow{animation:var(--animate-pulse-slow)}.resize{resize:both}.resize-none{resize:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.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-5{gap:calc(var(--spacing) * 5)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-8{gap:calc(var(--spacing) * 8)}.gap-12{gap:calc(var(--spacing) * 12)}: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)))}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.rounded-3xl{border-radius:var(--radius-3xl)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-slate-700\/60{border-color:#31415899}@supports (color:color-mix(in lab,red,red)){.border-slate-700\/60{border-color:color-mix(in oklab,var(--color-slate-700) 60%,transparent)}}.border-white\/5{border-color:#ffffff0d}@supports (color:color-mix(in lab,red,red)){.border-white\/5{border-color:color-mix(in oklab,var(--color-white) 5%,transparent)}}.bg-accent\/10{background-color:#6366f11a}@supports (color:color-mix(in lab,red,red)){.bg-accent\/10{background-color:color-mix(in oklab,var(--color-accent) 10%,transparent)}}.bg-slate-900\/30{background-color:#0f172b4d}@supports (color:color-mix(in lab,red,red)){.bg-slate-900\/30{background-color:color-mix(in oklab,var(--color-slate-900) 30%,transparent)}}.bg-slate-900\/60{background-color:#0f172b99}@supports (color:color-mix(in lab,red,red)){.bg-slate-900\/60{background-color:color-mix(in oklab,var(--color-slate-900) 60%,transparent)}}.bg-slate-950\/85{background-color:#020618d9}@supports (color:color-mix(in lab,red,red)){.bg-slate-950\/85{background-color:color-mix(in oklab,var(--color-slate-950) 85%,transparent)}}.object-cover{object-fit:cover}.p-3{padding:calc(var(--spacing) * 3)}.p-5{padding:calc(var(--spacing) * 5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-14{padding-block:calc(var(--spacing) * 14)}.py-20{padding-block:calc(var(--spacing) * 20)}.py-24{padding-block:calc(var(--spacing) * 24)}.py-32{padding-block:calc(var(--spacing) * 32)}.pt-2{padding-top:calc(var(--spacing) * 2)}.text-center{text-align:center}.font-mono{font-family:var(--font-mono)}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--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-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.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-light{--tw-font-weight:var(--font-weight-light);font-weight:var(--font-weight-light)}.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)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.text-accent{color:var(--color-accent)}.text-amber-500\/70{color:#f99c00b3}@supports (color:color-mix(in lab,red,red)){.text-amber-500\/70{color:color-mix(in oklab,var(--color-amber-500) 70%,transparent)}}.text-blue-400\/80{color:#54a2ffcc}@supports (color:color-mix(in lab,red,red)){.text-blue-400\/80{color:color-mix(in oklab,var(--color-blue-400) 80%,transparent)}}.text-green-400{color:var(--color-green-400)}.text-red-400{color:var(--color-red-400)}.text-slate-300{color:var(--color-slate-300)}.text-slate-400{color:var(--color-slate-400)}.text-slate-500{color:var(--color-slate-500)}.text-slate-600{color:var(--color-slate-600)}.text-slate-700{color:var(--color-slate-700)}.text-white{color:var(--color-white)}.uppercase{text-transform:uppercase}.italic{font-style:italic}.opacity-20{opacity:.2}.opacity-50{opacity:.5}.opacity-\[0\.15\]{opacity:.15}.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)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.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-filter{-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-\[background-color\,width\]{transition-property:background-color,width;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[transform\,opacity\]{transition-property:transform,opacity;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))}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-700{--tw-duration:.7s;transition-duration:.7s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}@media(hover:hover){.group-hover\:text-accent:is(:where(.group):hover *){color:var(--color-accent)}.group-hover\:text-amber-400:is(:where(.group):hover *){color:var(--color-amber-400)}.group-hover\:text-blue-400:is(:where(.group):hover *){color:var(--color-blue-400)}}.placeholder\:text-slate-600::placeholder{color:var(--color-slate-600)}@media(hover:hover){.hover\:text-accent:hover{color:var(--color-accent)}.hover\:text-amber-400:hover{color:var(--color-amber-400)}.hover\:text-highlight:hover{color:var(--color-highlight)}}.focus\:outline-hidden:focus{--tw-outline-style:none;outline-style:none}@media(forced-colors:active){.focus\:outline-hidden:focus{outline-offset:2px;outline:2px solid #0000}}.focus-visible\:border-accent:focus-visible{border-color:var(--color-accent)}.focus-visible\:ring-1:focus-visible{--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)}.focus-visible\:ring-accent\/50:focus-visible{--tw-ring-color:#6366f180}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-accent\/50:focus-visible{--tw-ring-color:color-mix(in oklab, var(--color-accent) 50%, transparent)}}@media(min-width:40rem){.sm\:inline-flex{display:inline-flex}.sm\:h-96{height:calc(var(--spacing) * 96)}.sm\:w-96{width:calc(var(--spacing) * 96)}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:px-6{padding-inline:calc(var(--spacing) * 6)}.sm\:text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}}@media(min-width:48rem){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:64rem){.lg\:order-1{order:1}.lg\:order-2{order:2}.lg\:flex{display:flex}.lg\:h-\[450px\]{height:450px}.lg\:min-h-0{min-height:0}.lg\:w-\[450px\]{width:450px}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:justify-end{justify-content:flex-end}.lg\:gap-16{gap:calc(var(--spacing) * 16)}.lg\:px-8{padding-inline:calc(var(--spacing) * 8)}.lg\:py-0{padding-block:0}.lg\:py-32{padding-block:calc(var(--spacing) * 32)}.lg\:text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}}.gradient-text{-webkit-text-fill-color:transparent;color:#0000;background:linear-gradient(135deg,#6366f1,#0ea5e9,#a855f7) 0 0/200%;-webkit-background-clip:text;background-clip:text;animation:5s linear infinite gradient-shift}[data-theme=light] .gradient-text{background:linear-gradient(135deg,#4f46e5,#0284c7,#7c3aed) 0 0/200%;-webkit-background-clip:text;background-clip:text;animation:5s linear infinite gradient-shift}.section-title{-webkit-text-fill-color:transparent;color:#0000;background:linear-gradient(135deg,#e2e8f0,#94a3b8);-webkit-background-clip:text;background-clip:text}[data-theme=light] .section-title{background:linear-gradient(135deg,#1e293b,#475569);-webkit-background-clip:text;background-clip:text}.text-highlight{color:var(--neon)}.btn-primary{color:#fff;background:linear-gradient(135deg,#6366f1,#0ea5e9);border-radius:.5rem;padding:.875rem 2rem;font-weight:600;transition:box-shadow .3s,transform .3s;display:inline-block;position:relative}.btn-primary:focus-visible{outline-offset:3px;outline:2px solid #fff;box-shadow:0 0 0 4px #6366f166}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 0 30px #6366f180}.btn-secondary{color:var(--text);border:1.5px solid #6366f166;border-radius:.5rem;padding:.875rem 2rem;font-weight:600;transition:border-color .3s,background .3s,transform .3s;display:inline-block}.btn-secondary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn-secondary:hover{background:#6366f11f;border-color:#6366f1;transform:translateY(-2px)}.card,.card.cert-in-progress{background:var(--bg-card);-webkit-backdrop-filter:blur(8px);border:1px solid var(--border);border-radius:.75rem;padding:1.5rem;transition:border-color .3s,box-shadow .3s,transform .3s;box-shadow:0 8px 32px #00000040}.card:hover{border-color:var(--border-hover);box-shadow:0 8px 40px #6366f11f}[data-theme=light] .card,[data-theme=light] .card.cert-in-progress{box-shadow:0 4px 24px #00000014}.glass-nav{background:var(--bg-nav);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--border);transition:background .3s,border-color .3s}.nav-link{color:var(--text-muted);letter-spacing:.01em;padding-bottom:4px;font-size:.9rem;font-weight:500;transition:color .25s;position:relative}.nav-link:after{content:"";background:linear-gradient(90deg,#6366f1,#0ea5e9);border-radius:1px;width:0;height:2px;transition:width .3s;position:absolute;bottom:0;left:0}.nav-link:hover{color:var(--text)}.nav-link:hover:after{width:100%}@media(scripting:enabled){.reveal{opacity:0;transition:opacity .6s,transform .6s;transform:translateY(24px)}.reveal.visible{opacity:1;transform:translateY(0)}@media(prefers-reduced-motion:reduce){.reveal{opacity:0;transition:opacity .3s;transform:none}}}.tag{color:#a5b4fc;letter-spacing:.03em;background:#6366f11a;border:1px solid #6366f140;border-radius:9999px;padding:.25rem .75rem;font-size:.7rem;font-weight:500;display:inline-block}[data-theme=light] .tag{color:#4338ca;background:#4338ca14;border-color:#4338ca40}.gradient-divider{background:linear-gradient(90deg,#0000,#6366f180,#0ea5e980,#0000);border:none;height:1px}.text-body{color:var(--text)}.text-muted{color:var(--text-muted)}.text-dimmed{color:var(--text-dim)}}@keyframes gradient-shift{0%{background-position:0%}to{background-position:200%}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}@keyframes spin-slow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}body.page-hidden *{animation-play-state:paused!important}@media(prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-play-state:paused!important}}@media(max-width:1023px){.py-24,.py-20{padding-top:3rem;padding-bottom:3rem}.hero-badge-icon,.pf-badge,.pf-counter{display:none!important}}@media(min-width:640px)and (max-width:767px){header .container .gap-3{gap:30vw!important}}@media(min-width:1024px)and (max-width:1279px){.nav-link{padding-bottom:0}header .container .gap-6{gap:1rem!important}}#overlay-menu .overlay-inner{padding:1rem 6vw 3rem}[data-theme=light] #hero-canvas-wrapper{filter:brightness(24)}[data-theme=light] #about{background-color:#fcfcfc}[data-theme=light] #projects{background-color:#dbdfee}[data-theme=light] .text-slate-300{color:#505066}[data-theme=light] .text-white{color:#6a6a6a}[data-theme=light] .cert-in-progress{box-shadow:0 8px 32px #00000040;background:var(--bg-card)!important}[data-theme=light] .text-backdrop h1{color:var(--bg-input)}[data-theme=light] p.text-base.text-slate-400.text-backdrop{color:var(--bg-nav)}.print-only{display:none}@page{size:letter;margin:.55in .6in}@media print{.web-only{display:none!important}.print-only{display:block!important}body{color:#1a1a1a!important;background:#fff!important}*{-webkit-print-color-adjust:exact;print-color-adjust:exact;box-shadow:none!important;text-shadow:none!important;transition:none!important;animation:none!important}astro-dev-toolbar{display:none!important}}@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-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-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-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-ease{syntax:"*";inherits:false}@keyframes pulse{50%{opacity:.5}}.cta-btn[data-astro-cid-3ef6ksr2]{align-items:center;padding:.45rem 1rem;border-radius:.5rem;font-size:.78rem;font-weight:600;letter-spacing:-.02em;border:1px solid rgba(99,102,241,.4);color:#6366f1;white-space:nowrap;transition:background .2s ease,border-color .2s ease}.cta-btn[data-astro-cid-3ef6ksr2]:hover{background:#6366f11a;border-color:#6366f1}.cta-btn[data-astro-cid-3ef6ksr2]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.switch[data-astro-cid-3ef6ksr2]{position:relative;display:inline-block;width:64px;height:34px;flex-shrink:0;cursor:pointer;transition:filter .5s ease-in-out,transform .5s ease-in-out;transform:scale(.75);filter:saturate(1.25) brightness(1.33)}.switch[data-astro-cid-3ef6ksr2]:hover,.switch[data-astro-cid-3ef6ksr2]:focus-within{filter:saturate(1.5) brightness(1.5)}.switch[data-astro-cid-3ef6ksr2]:focus-within .slider[data-astro-cid-3ef6ksr2]{outline:2px solid var(--accent);outline-offset:2px}.switch[data-astro-cid-3ef6ksr2] input[data-astro-cid-3ef6ksr2]{opacity:0;width:0;height:0}.slider[data-astro-cid-3ef6ksr2]{position:absolute;cursor:pointer;inset:0;background-color:var(--bg-surface);transition:.4s;border-radius:30px}.slider[data-astro-cid-3ef6ksr2]:before{position:absolute;content:"";height:26px;width:26px;left:4px;bottom:4px;background-color:var(--text-muted);transition:.4s;border-radius:50%}.switch[data-astro-cid-3ef6ksr2] .sun[data-astro-cid-3ef6ksr2] svg[data-astro-cid-3ef6ksr2]{position:absolute;top:6px;left:36px;z-index:1;width:24px;height:24px;animation:sw-rotate 30s linear infinite;will-change:transform}.switch[data-astro-cid-3ef6ksr2] .moon[data-astro-cid-3ef6ksr2] svg[data-astro-cid-3ef6ksr2]{fill:var(--text-muted);position:absolute;top:5px;left:5px;z-index:1;width:24px;height:24px;animation:sw-tilt 5s linear infinite;will-change:transform}@keyframes sw-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes sw-tilt{0%{transform:rotate(0)}25%{transform:rotate(-10deg)}75%{transform:rotate(10deg)}to{transform:rotate(0)}}.switch[data-astro-cid-3ef6ksr2] .sun[data-astro-cid-3ef6ksr2]{display:block}.switch[data-astro-cid-3ef6ksr2] .moon[data-astro-cid-3ef6ksr2]{display:none}.switch[data-astro-cid-3ef6ksr2]:has(.input:checked) .sun[data-astro-cid-3ef6ksr2]{display:none}.switch[data-astro-cid-3ef6ksr2]:has(.input:checked) .moon[data-astro-cid-3ef6ksr2]{display:block}.input[data-astro-cid-3ef6ksr2]:checked+.slider[data-astro-cid-3ef6ksr2]{background-color:var(--bg-card)}.input[data-astro-cid-3ef6ksr2]:focus+.slider[data-astro-cid-3ef6ksr2]{box-shadow:0 0 1px var(--bg-card)}.input[data-astro-cid-3ef6ksr2]:checked+.slider[data-astro-cid-3ef6ksr2]:before{transform:translate(30px);background-color:var(--accent-blue)}@media(max-width:767px){.switch[data-astro-cid-3ef6ksr2]{position:absolute;right:15vw}}.hamburger-btn[data-astro-cid-3ef6ksr2]{display:flex;flex-direction:column;justify-content:center;gap:5px;width:36px;height:36px;padding:6px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:8px;cursor:pointer;transition:background .2s ease}.hamburger-btn[data-astro-cid-3ef6ksr2]:hover{background:#ffffff14}.hamburger-btn[data-astro-cid-3ef6ksr2]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.hamburger-btn[data-astro-cid-3ef6ksr2] span[data-astro-cid-3ef6ksr2]{display:block;width:100%;height:1.5px;background:var(--text-muted);border-radius:9999px;transition:transform .3s ease,opacity .3s ease,width .3s ease}.hamburger-btn[data-astro-cid-3ef6ksr2] span[data-astro-cid-3ef6ksr2]:nth-child(3){width:65%}.nav-link-sm[data-astro-cid-3ef6ksr2]{font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;color:var(--text-dim)}.nav-link-sm[data-astro-cid-3ef6ksr2]:hover{color:var(--text)}.overlay[data-astro-cid-3ef6ksr2]{position:fixed;inset:0;z-index:200;background:var(--bg-overlay);display:flex;flex-direction:column;pointer-events:none;opacity:0;transition:opacity .35s ease}.overlay[data-astro-cid-3ef6ksr2].open{opacity:1;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);pointer-events:all}.overlay-glow[data-astro-cid-3ef6ksr2]{position:absolute;top:-10%;right:-5%;width:500px;height:500px;border-radius:50%;background:radial-gradient(circle,rgba(99,102,241,.1) 0%,transparent 70%);pointer-events:none}.overlay-close[data-astro-cid-3ef6ksr2]{position:absolute;top:1.25rem;right:1.5rem;width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#ffffff0a;border:1px solid var(--border);color:var(--text-dim);cursor:pointer;transition:color .2s ease,background .2s ease;z-index:10}.overlay-close[data-astro-cid-3ef6ksr2] svg[data-astro-cid-3ef6ksr2]{width:20px;height:20px}.overlay-close[data-astro-cid-3ef6ksr2]:hover{color:var(--text);background:#ffffff14}.overlay-close[data-astro-cid-3ef6ksr2]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.overlay-inner[data-astro-cid-3ef6ksr2]{display:flex;flex-direction:column;justify-content:center;flex:1;padding:5rem 6vw 3rem;max-width:860px;position:relative;z-index:2}.overlay-eyebrow[data-astro-cid-3ef6ksr2]{font-size:.7rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--text-dim);margin-bottom:2.5rem}.overlay-nav[data-astro-cid-3ef6ksr2]{display:flex;flex-direction:column;gap:0}.overlay-link[data-astro-cid-3ef6ksr2]{display:flex;align-items:center;gap:1.5rem;padding:1.1rem 0;border-bottom:1px solid var(--border);text-decoration:none;color:var(--text-muted);position:relative;overflow:hidden;opacity:0;transform:translateY(18px);transition:opacity .45s ease calc(var(--i) * .07s),transform .45s cubic-bezier(.22,1,.36,1) calc(var(--i) * .07s),color .2s ease}.overlay[data-astro-cid-3ef6ksr2].open .overlay-link[data-astro-cid-3ef6ksr2]{opacity:1;transform:translateY(0)}.overlay-link[data-astro-cid-3ef6ksr2]:hover{color:var(--text)}.overlay-link[data-astro-cid-3ef6ksr2]:before{content:"";position:absolute;inset:0;background:#6366f10d;opacity:0;transition:opacity .25s ease}.overlay-link[data-astro-cid-3ef6ksr2]:hover:before{opacity:1}.overlay-num[data-astro-cid-3ef6ksr2]{font-size:.72rem;font-weight:600;letter-spacing:.08em;color:var(--text-dimmer);min-width:2rem;transition:color .2s ease}.overlay-link[data-astro-cid-3ef6ksr2]:hover .overlay-num[data-astro-cid-3ef6ksr2]{color:#6366f1b3}.overlay-link-body[data-astro-cid-3ef6ksr2]{display:flex;flex-direction:column;gap:.2rem;flex:1}.overlay-link-label[data-astro-cid-3ef6ksr2]{font-size:clamp(1.6rem,4vw,2.8rem);font-weight:800;line-height:1;letter-spacing:-.03em;color:var(--text);transition:color .25s ease}.overlay-link[data-astro-cid-3ef6ksr2]:hover .overlay-link-label[data-astro-cid-3ef6ksr2]{color:var(--accent)}.overlay-link-desc[data-astro-cid-3ef6ksr2]{font-size:.8rem;color:var(--text-dim);letter-spacing:.01em;transition:color .2s ease}.overlay-link[data-astro-cid-3ef6ksr2]:hover .overlay-link-desc[data-astro-cid-3ef6ksr2]{color:var(--text-muted)}.overlay-arrow[data-astro-cid-3ef6ksr2]{width:1.5rem;height:1.5rem;color:var(--text-dimmer);flex-shrink:0;transition:color .2s ease,transform .3s cubic-bezier(.34,1.56,.64,1)}.overlay-link[data-astro-cid-3ef6ksr2]:hover .overlay-arrow[data-astro-cid-3ef6ksr2]{color:#a5b4fc;transform:translate(4px,-4px)}.overlay-bottom[data-astro-cid-3ef6ksr2]{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1.5rem;padding-top:2rem;border-top:1px solid var(--border);margin-top:1rem}.overlay-bottom-label[data-astro-cid-3ef6ksr2]{font-size:.62rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--text-dimmer);width:100%;margin-bottom:.1rem}.overlay-quick-link[data-astro-cid-3ef6ksr2]{display:inline-flex;align-items:center;gap:.3rem;font-size:.78rem;font-weight:500;letter-spacing:.04em;color:var(--text-dim);transition:color .2s ease}.overlay-quick-link[data-astro-cid-3ef6ksr2]:hover{color:var(--accent)}.overlay-ext-icon[data-astro-cid-3ef6ksr2]{width:11px;height:11px;opacity:.6}.dm-wrapper[data-astro-cid-3ef6ksr2]{display:none}@media(min-width:1024px){.dm-wrapper[data-astro-cid-3ef6ksr2]{display:grid;grid-template-rows:1fr;opacity:1;border-top:1px solid var(--border);transition:grid-template-rows .55s cubic-bezier(.4,0,.2,1),opacity .4s ease,border-top-color .4s ease}header[data-astro-cid-3ef6ksr2].scrolled .dm-wrapper[data-astro-cid-3ef6ksr2]{grid-template-rows:0fr;opacity:0;border-top-color:transparent}}.desktop-mega[data-astro-cid-3ef6ksr2]{min-height:0;overflow:hidden;display:flex;margin:0 -1rem}.dm-item[data-astro-cid-3ef6ksr2]{flex:1;display:flex;align-items:center;gap:.6rem;padding:.65rem 1rem;border-right:1px solid var(--border);text-decoration:none;color:var(--text-dim);position:relative;overflow:hidden;transition:color .2s ease,background .25s ease,transform .45s cubic-bezier(.4,0,.2,1) calc((var(--i)) * .04s),opacity .35s ease calc((var(--i)) * .04s)}header[data-astro-cid-3ef6ksr2].scrolled .dm-item[data-astro-cid-3ef6ksr2]{transform:translateY(-10px);opacity:0}.dm-item[data-astro-cid-3ef6ksr2]:last-child{border-right:none}.dm-item[data-astro-cid-3ef6ksr2]:before{content:"";position:absolute;inset:0;background:#6366f10d;opacity:0;transition:opacity .25s ease}.dm-item[data-astro-cid-3ef6ksr2]:hover:before{opacity:1}.dm-item[data-astro-cid-3ef6ksr2]:after{content:"";position:absolute;bottom:0;left:0;width:0;height:1px;background:linear-gradient(90deg,#6366f1,#0ea5e9);transition:width .35s cubic-bezier(.22,1,.36,1)}.dm-item[data-astro-cid-3ef6ksr2]:hover:after{width:100%}.dm-num[data-astro-cid-3ef6ksr2]{font-size:.62rem;font-weight:700;letter-spacing:.1em;color:var(--text-dimmer);min-width:1.5rem;transition:color .2s ease;align-self:flex-start;padding-top:2px}.dm-item[data-astro-cid-3ef6ksr2]:hover .dm-num[data-astro-cid-3ef6ksr2]{color:#6366f199}.dm-body[data-astro-cid-3ef6ksr2]{display:flex;flex-direction:column;gap:.15rem;flex:1;min-width:0}.dm-label[data-astro-cid-3ef6ksr2]{font-size:.92rem;font-weight:700;letter-spacing:-.02em;line-height:1;white-space:nowrap;color:var(--text-muted);transition:color .2s ease}.dm-item[data-astro-cid-3ef6ksr2]:hover .dm-label[data-astro-cid-3ef6ksr2]{color:var(--accent)}.dm-desc[data-astro-cid-3ef6ksr2]{font-size:.65rem;color:var(--text-dimmer);line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .2s ease}.dm-item[data-astro-cid-3ef6ksr2]:hover .dm-desc[data-astro-cid-3ef6ksr2]{color:var(--text-dim)}.dm-arrow[data-astro-cid-3ef6ksr2]{width:.85rem;height:.85rem;color:var(--text-dimmer);flex-shrink:0;align-self:flex-start;margin-top:2px;transition:color .2s ease,transform .3s cubic-bezier(.34,1.56,.64,1)}.dm-item[data-astro-cid-3ef6ksr2]:hover .dm-arrow[data-astro-cid-3ef6ksr2]{color:#a5b4fc;transform:translate(3px,-3px)}#overlay-menu[data-astro-cid-3ef6ksr2] .overlay-inner[data-astro-cid-3ef6ksr2]{padding:1rem 6vw 3rem}.nav-link[data-astro-cid-3ef6ksr2].active{color:var(--text)}.nav-link[data-astro-cid-3ef6ksr2].active:after{width:100%}@media(min-width:640px)and (max-width:767px){header[data-astro-cid-3ef6ksr2] .container[data-astro-cid-3ef6ksr2] .gap-3[data-astro-cid-3ef6ksr2]{gap:30vw!important}}@media(min-width:1024px)and (max-width:1279px){.nav-link[data-astro-cid-3ef6ksr2]{padding-bottom:0}header[data-astro-cid-3ef6ksr2] .container[data-astro-cid-3ef6ksr2] .gap-6[data-astro-cid-3ef6ksr2]{gap:1rem!important}}.hero-social-link[data-astro-cid-bbe6dxrz]{color:#64748b;display:inline-flex;align-items:center;border-radius:.125rem;transition:color .2s ease,transform .2s ease}.hero-social-link[data-astro-cid-bbe6dxrz]:hover{color:#fff;transform:translateY(-4px)}.hero-social-link[data-astro-cid-bbe6dxrz]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}[data-astro-cid-bbe6dxrz][data-theme=light] .hero-social-link[data-astro-cid-bbe6dxrz]{color:#475569}[data-astro-cid-bbe6dxrz][data-theme=light] .hero-social-link[data-astro-cid-bbe6dxrz]:hover{color:#1e293b}.spotlight-bg[data-astro-cid-bbe6dxrz]{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none}.spotlight[data-astro-cid-bbe6dxrz]{position:absolute;border-radius:50%;pointer-events:none}.spotlight-1[data-astro-cid-bbe6dxrz]{width:90vw;height:90vw;max-width:900px;max-height:900px;background:radial-gradient(circle,rgba(99,102,241,.09) 0%,transparent 65%);filter:blur(24px);animation:drift-1 22s ease-in-out infinite alternate}.spotlight-2[data-astro-cid-bbe6dxrz]{width:70vw;height:70vw;max-width:700px;max-height:700px;background:radial-gradient(circle,rgba(14,165,233,.07) 0%,transparent 65%);filter:blur(36px);animation:drift-2 28s ease-in-out infinite alternate}.spotlight-3[data-astro-cid-bbe6dxrz]{width:40vw;height:40vw;max-width:400px;max-height:400px;background:radial-gradient(circle,rgba(139,92,246,.08) 0%,transparent 60%);filter:blur(12px);animation:drift-3 18s ease-in-out infinite alternate}@keyframes drift-1{0%{transform:translate(-20%,-10%);opacity:.5}25%{transform:translate(40%,10%);opacity:1}50%{transform:translate(60%,50%);opacity:.6}75%{transform:translate(10%,70%);opacity:.9}to{transform:translate(-10%,40%);opacity:.4}}@keyframes drift-2{0%{transform:translate(80%,60%);opacity:.6}33%{transform:translate(10%,80%);opacity:1}66%{transform:translate(-10%,20%);opacity:.5}to{transform:translate(70%,-10%);opacity:.8}}@keyframes drift-3{0%{transform:translate(50%,20%);opacity:.3}40%{transform:translate(80%,60%);opacity:.8}70%{transform:translate(20%,80%);opacity:.4}to{transform:translate(60%,10%);opacity:.9}}.hero-slide[data-astro-cid-bbe6dxrz]{cursor:pointer}.slider-nav-btn[data-astro-cid-bbe6dxrz]{position:absolute;top:50%;z-index:30;width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;background:#0f172aa6;backdrop-filter:blur(8px) saturate(1.4);-webkit-backdrop-filter:blur(8px) saturate(1.4);border:1px solid rgba(255,255,255,.13);box-shadow:0 4px 18px #00000073,0 1px #ffffff0f inset,0 0 0 1px #6366f114;color:#94a3b8;transition:background .25s ease,border-color .25s ease,box-shadow .25s ease,color .2s ease,opacity .3s ease,transform .35s cubic-bezier(.34,1.56,.64,1)}.slider-nav-btn[data-astro-cid-bbe6dxrz].pf-nav-hidden{opacity:0;pointer-events:none}.slider-nav-prev[data-astro-cid-bbe6dxrz]{left:0;transform:translateY(-50%) translate(-50%)}.slider-nav-next[data-astro-cid-bbe6dxrz]{right:0;transform:translateY(-50%) translate(50%)}@keyframes cloud-bob-l{0%,to{transform:translateY(-50%) translate(-50%) translateY(0)}50%{transform:translateY(-50%) translate(-50%) translateY(-6px)}}@keyframes cloud-bob-r{0%,to{transform:translateY(-50%) translate(50%) translateY(0)}50%{transform:translateY(-50%) translate(50%) translateY(-8px)}}.slider-nav-btn[data-astro-cid-bbe6dxrz]:hover{background:#6366f138;border-color:#6366f18c;color:#e0e7ff;box-shadow:0 6px 28px #6366f159,0 1px #ffffff1a inset,0 0 0 1px #6366f14d,0 0 20px #6366f126}.slider-nav-prev[data-astro-cid-bbe6dxrz]:hover{animation-play-state:paused;transform:translateY(-50%) translate(-50%) scale(1.12)}.slider-nav-next[data-astro-cid-bbe6dxrz]:hover{animation-play-state:paused;transform:translateY(-50%) translate(50%) scale(1.12)}.slider-nav-btn[data-astro-cid-bbe6dxrz]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.slider-dot[data-astro-cid-bbe6dxrz]:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:9999px}.slider-nav-icon[data-astro-cid-bbe6dxrz]{width:18px;height:18px;flex-shrink:0;transition:transform .3s cubic-bezier(.34,1.56,.64,1)}.slider-nav-prev[data-astro-cid-bbe6dxrz]:hover .slider-nav-icon[data-astro-cid-bbe6dxrz]{transform:translate(-2px)}.slider-nav-next[data-astro-cid-bbe6dxrz]:hover .slider-nav-icon[data-astro-cid-bbe6dxrz]{transform:translate(2px)}.text-backdrop[data-astro-cid-bbe6dxrz]{position:relative;z-index:2;background:#020617b8;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border-radius:.6rem;padding:.75rem 1rem;border-left:2px solid rgba(96,165,250,.1)}.project-frame-outer[data-astro-cid-bbe6dxrz]{position:relative;overflow:visible}.project-frame[data-astro-cid-bbe6dxrz]{--pf-border: 4px;--pf-header-h: 30px;--pf-header-border: 2px;--pf-btn-gap: 2px;--pf-header-inner: calc(var(--pf-header-h) - var(--pf-header-border) * 2);--pf-btn-size: calc(var(--pf-header-inner) - var(--pf-btn-gap) * 2);position:relative;width:100%;height:100%;overflow:visible;background-color:#12182a;outline:1.5px solid #000;box-shadow:5px 5px 18px #000000d9,inset 1px 1px #6399ff12,inset -1px -1px #00000080;transition:box-shadow .3s ease,transform .15s ease}.pf-header[data-astro-cid-bbe6dxrz]{position:absolute;box-sizing:border-box;top:var(--pf-border);left:var(--pf-border);width:calc(100% - var(--pf-border) * 2);height:var(--pf-header-h);display:flex;align-items:center;justify-content:space-between;padding:0 var(--pf-btn-gap) 0 8px;overflow:hidden;background:linear-gradient(180deg,#233052,#121c3a);border:var(--pf-header-border) solid;border-color:rgb(48,68,115) rgb(8,12,26) rgb(8,12,26) rgb(48,68,115);cursor:grab;user-select:none}.pf-header[data-astro-cid-bbe6dxrz]:active{cursor:grabbing}.pf-title[data-astro-cid-bbe6dxrz]{flex:1;min-width:0;margin:0;padding:0;font-size:calc(var(--pf-header-inner) - 8px);line-height:var(--pf-header-inner);font-weight:400;font-family:monospace;color:#8fa8c8;text-shadow:1px 1px 2px #000;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pf-btn-group[data-astro-cid-bbe6dxrz]{display:flex;align-items:center;gap:2px;flex-shrink:0}.pf-btn[data-astro-cid-bbe6dxrz]{box-sizing:border-box;width:var(--pf-btn-size);height:var(--pf-btn-size);padding:0;display:flex;align-items:center;justify-content:center;cursor:pointer;background-color:#0f162d;border:2px solid;border-color:rgb(38,55,98) rgb(8,12,26) rgb(8,12,26) rgb(38,55,98);transition:box-shadow .2s,background-color .2s}.pf-btn[data-astro-cid-bbe6dxrz]:active{border-color:rgb(8,12,26) rgb(38,55,98) rgb(38,55,98) rgb(8,12,26)}.pf-btn[data-astro-cid-bbe6dxrz]:hover{box-shadow:0 0 5px 1px var(--glow-color, #6366f1);background-color:#0a1024}.pf-btn[data-astro-cid-bbe6dxrz]:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.pf-btn-icon[data-astro-cid-bbe6dxrz]{width:.55em;height:.55em;color:#6a88b0;transition:color .2s;flex-shrink:0}.pf-btn[data-astro-cid-bbe6dxrz]:hover .pf-btn-icon[data-astro-cid-bbe6dxrz]{color:#fff}.pf-body[data-astro-cid-bbe6dxrz]{position:absolute;box-sizing:border-box;overflow:hidden;top:calc(var(--pf-header-h) + var(--pf-border) * 2);left:var(--pf-border);width:calc(100% - var(--pf-border) * 2);height:calc(100% - var(--pf-header-h) - var(--pf-border) * 3);background-color:#040610;border:2px solid;border-color:rgb(8,12,26) rgb(22,32,58) rgb(22,32,58) rgb(8,12,26)}.pf-counter[data-astro-cid-bbe6dxrz]{position:absolute;bottom:-2rem;left:-1rem;z-index:20;display:flex;align-items:center;gap:.75rem;padding:.55rem 1rem;background-color:#12182a;outline:1.5px solid #000;box-shadow:4px 4px 12px #000c,inset 1px 1px #6399ff0f}@media(max-width:1023px){.order-1[data-astro-cid-bbe6dxrz]{margin-top:-200px;margin-bottom:-200px}}@media(max-width:639px){.project-frame-sizer[data-astro-cid-bbe6dxrz]{width:min(90vw,380px)!important;height:min(67.5vw,285px)!important}}@media(min-width:640px)and (max-width:1023px){.project-frame-sizer[data-astro-cid-bbe6dxrz]{width:min(82vw,520px)!important;height:min(61.5vw,390px)!important}}@media(min-width:1600px){.project-frame-sizer[data-astro-cid-bbe6dxrz]{width:746px!important;height:560px!important;right:-45px}}.project-frame[data-astro-cid-bbe6dxrz].pf-fullscreen{position:fixed!important;top:5vh!important;left:5vw!important;width:90vw!important;height:90vh!important;z-index:9999;transform:none!important}#pf-overlay[data-astro-cid-bbe6dxrz]{display:none;position:fixed;inset:0;background:#000c;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);z-index:9998;cursor:pointer}#pf-overlay[data-astro-cid-bbe6dxrz].pf-overlay-active{display:block}.portrait-peek-wrapper[data-astro-cid-bbe6dxrz]{display:none;position:absolute;right:-25px;top:-4.5%;pointer-events:none}.portrait-peek-wrapper[data-astro-cid-bbe6dxrz]{display:block;z-index:2;right:-4rem}.portrait-peek-img[data-astro-cid-bbe6dxrz]{animation:none}.portrait-peek-img[data-astro-cid-bbe6dxrz]{display:block;width:200px;height:auto;transform:translateY(0);animation-delay:5s;pointer-events:auto;filter:drop-shadow(0px 0px 0px 0px rgba(0,0,0,0));transition:filter .5s ease-out}.portrait-peek-img[data-astro-cid-bbe6dxrz]:hover{filter:drop-shadow(0px 14px 28px rgba(0,0,0,.65)) drop-shadow(0px 10px 10px rgba(0,0,0,.4))}@media(min-width:1280px)and (max-width:1535px){.text-backdrop[data-astro-cid-bbe6dxrz]{width:125%}.portrait-peek-img[data-astro-cid-bbe6dxrz]{transform:scale(.8)}.portrait-peek-wrapper[data-astro-cid-bbe6dxrz]{right:calc(-25% - 25px)}}@media(min-width:1024px)and (max-width:1279px){.portrait-peek-img[data-astro-cid-bbe6dxrz]{top:-8.5%;right:-70px;transform:translateY(0) scale(.58);animation-delay:1s;animation:portrait-peek-mobile-horizontal 20s ease-in-out infinite}.portrait-peek-wrapper[data-astro-cid-bbe6dxrz]{z-index:1}}@media(min-width:501px)and (max-width:1023px){.portrait-peek-img[data-astro-cid-bbe6dxrz]{transform:scale(.7)}.portrait-peek-wrapper[data-astro-cid-bbe6dxrz]{top:-10%;right:-25px;transform:scaleX(-1)}}@media(min-width:440px)and (max-width:500px){.portrait-peek-wrapper[data-astro-cid-bbe6dxrz]{top:-8.5%;right:-15%;transform:scaleX(-1)}.portrait-peek-img[data-astro-cid-bbe6dxrz]{transform:scale(.5)}}@media(min-width:400px)and (max-width:439px){.portrait-peek-wrapper[data-astro-cid-bbe6dxrz]{top:-8.5%;right:-25%;transform:scaleX(-1)}.portrait-peek-img[data-astro-cid-bbe6dxrz]{transform:scale(.45)}}@media(max-width:399px){.portrait-peek-wrapper[data-astro-cid-bbe6dxrz]{display:none}}@keyframes portrait-peek-mobile{0%{transform:translate(0) rotate(0)}10%{transform:translate(145px) rotate(0)}26%{transform:translate(145px) rotate(12deg)}45%{transform:translate(155px) rotate(20deg)}58%{transform:translate(140px) rotate(20deg)}80%,to{transform:translate(0) rotate(0)}}@keyframes portrait-peek-mobile-horizontal{0%{transform:translate(0) rotate(0) scale(.58)}10%{transform:translate(100px) rotate(0) scale(.58)}26%{transform:translate(115px) rotate(12deg) scale(.58)}45%{transform:translate(134px) rotate(25deg) scale(.6)}55%{transform:translate(100px) rotate(20deg) scale(.58)}70%,to{transform:translate(0) rotate(0) scale(.58)}}@keyframes portrait-peek{0%{transform:translateY(0) rotate(0)}10%{transform:translateY(-200px) rotate(0)}15%{transform:translateY(-220px) rotate(6deg)}22%{transform:translateY(-220px) rotate(11deg)}30%{transform:translateY(-200px) translate(50px) rotate(20deg)}39%{transform:translateY(-200px) translate(50px) rotate(20deg)}43%{transform:translateY(-180px) rotate(0)}48%{transform:translateY(0) rotate(0)}55%{transform:translateY(0) rotate(0)}58%{transform:translateY(0) translate(180px) rotate(0)}63%{transform:translateY(0) translate(180px) rotate(12deg)}69%{transform:translateY(6px) translate(188px) rotate(20deg)}73%{transform:translateY(6px) translate(188px) rotate(20deg)}80%,to{transform:translateY(0) translate(0) rotate(0)}}@media(max-width:1023px){#home[data-astro-cid-bbe6dxrz] p[data-astro-cid-bbe6dxrz].text-sm.tracking-widest.text-highlight.uppercase{display:none}#home[data-astro-cid-bbe6dxrz]{padding-top:3rem}}[data-astro-cid-bbe6dxrz][data-theme=light] .gradient-text[data-astro-cid-bbe6dxrz]{background:linear-gradient(90deg,#716ae3,#4984a2,#716ae3);background-size:200% auto;-webkit-background-clip:text;background-clip:text;animation:gradient-shift 5s linear infinite}@media(max-width:1023px){.pf-counter[data-astro-cid-bbe6dxrz]{display:none!important}}.object-cover[data-astro-cid-bbe6dxrz]{object-fit:contain;transform:scale(1.25)}.skills-card[data-astro-cid-ab4ihpzs]{transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}.skills-card[data-astro-cid-ab4ihpzs]:hover{transform:translateY(-4px);box-shadow:0 18px 42px #02061752;border-color:color-mix(in srgb,var(--accent),transparent 50%)}.category-title[data-astro-cid-ab4ihpzs]{font-size:.75rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--accent);margin-bottom:1.25rem}.skill-grid[data-astro-cid-ab4ihpzs]{display:grid;grid-template-columns:repeat(auto-fill,minmax(68px,1fr));gap:1rem .6rem}.skill-item[data-astro-cid-ab4ihpzs]{display:flex;flex-direction:column;align-items:center;gap:.5rem;text-align:center;transition:transform .2s cubic-bezier(.34,1.56,.64,1)}.skill-item[data-astro-cid-ab4ihpzs]:hover{transform:translateY(-3px) scale(1.06)}.icon-tile[data-astro-cid-ab4ihpzs]{display:flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:.6rem;background:#f8fafceb;transition:background .2s ease,box-shadow .2s ease}.skill-item[data-astro-cid-ab4ihpzs]:hover .icon-tile[data-astro-cid-ab4ihpzs]{background:#fff;box-shadow:0 4px 14px #0000002e}.skill-icon[data-astro-cid-ab4ihpzs]{width:34px;height:34px;object-fit:contain}.skill-name[data-astro-cid-ab4ihpzs]{font-size:.65rem;font-weight:500;color:#64748b;line-height:1.2;transition:color .2s ease}.skill-item[data-astro-cid-ab4ihpzs]:hover .skill-name[data-astro-cid-ab4ihpzs]{color:#94a3b8}[data-theme=light] .icon-tile[data-astro-cid-ab4ihpzs]{background:#e2e8f0cc}[data-theme=light] .skill-item[data-astro-cid-ab4ihpzs]:hover .icon-tile[data-astro-cid-ab4ihpzs]{background:#cbd5e1f2;box-shadow:0 4px 14px #00000014}[data-theme=light] .skills-card[data-astro-cid-ab4ihpzs]:hover{box-shadow:0 16px 40px #00000014}[data-theme=light] .skill-name[data-astro-cid-ab4ihpzs]{color:var(--text-muted)}[data-theme=light] .skill-item[data-astro-cid-ab4ihpzs]:hover .skill-name[data-astro-cid-ab4ihpzs]{color:var(--accent)}@media(max-width:480px){.skill-grid[data-astro-cid-ab4ihpzs]{grid-template-columns:repeat(auto-fill,minmax(60px,1fr))}}.filter-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem 1rem;border-radius:9999px;font-size:.78rem;font-weight:600;letter-spacing:.04em;color:var(--text-dim);background:var(--bg-section);border:1px solid var(--border);cursor:pointer;transition:color .2s ease,background .2s ease,border-color .2s ease,transform .2s cubic-bezier(.34,1.56,.64,1)}.filter-btn:hover{color:var(--text-muted);background:var(--bg-card);border-color:var(--border-hover);transform:translateY(-1px)}.filter-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.filter-btn.filter-active{color:var(--accent);background:#6366f11a;border-color:#6366f166}.filter-count{font-size:.65rem;font-weight:700;color:var(--text-dimmer);background:var(--border);border-radius:9999px;padding:0 .35rem;min-width:1.1rem;text-align:center;transition:color .2s ease,background .2s ease}.filter-btn.filter-active .filter-count{color:var(--accent);background:#6366f126}.project-card{transition:opacity .2s ease;position:relative;cursor:pointer}.project-card:focus-visible .project-card-inner{outline:2px solid var(--accent);outline-offset:2px}.project-card.pf-hidden{display:none}.project-card.pf-enter{animation:card-enter .4s cubic-bezier(.22,1,.36,1) var(--enter-delay, 0s) both}@keyframes card-enter{0%{opacity:0;transform:translateY(18px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.float-icon-wrap{position:absolute;top:-14px;right:16px;z-index:20;width:44px;height:44px;border-radius:10px;background:var(--bg-card-solid);border:1px solid var(--border);box-shadow:0 4px 16px #0000004d;display:flex;align-items:center;justify-content:center;padding:7px;transition:transform .4s cubic-bezier(.34,1.56,.64,1),box-shadow .35s ease,border-color .35s ease}.project-card:hover .float-icon-wrap{transform:translateY(-4px) scale(1.1);border-color:var(--border-hover);box-shadow:0 8px 28px #00000059,0 0 18px #6366f126}.float-icon{width:100%;height:100%;object-fit:contain;display:block}.float-icon-mdi{filter:invert(1) brightness(.85)}.category-badge{font-size:.56rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim);background:#6366f10d;border:1px solid rgba(99,102,241,.12);opacity:.7;border-radius:9999px;padding:.25rem .75rem;position:relative;z-index:1;white-space:nowrap;transition:color .3s ease,background .3s ease,border-color .3s ease,opacity .3s ease}.project-card:hover .category-badge{color:var(--text-muted);background:#6366f11a;border-color:#6366f14d;opacity:1}.project-card.has-bg .category-badge{color:#e2e8f0a6}.card-bg-img{position:absolute;inset:0;z-index:0;overflow:hidden;border-radius:inherit}.card-bg-img:after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(155deg,#04081661,#0408169e);transition:background .55s ease}.project-card:hover .card-bg-img:after{background:linear-gradient(155deg,#04081642,#04081680)}.card-bg-img img{position:absolute;inset:-10%;width:120%;height:120%;object-fit:cover;object-position:center;filter:blur(24px) saturate(2.1) brightness(.44) grayscale(.25);transition:filter .55s ease}.project-card:hover .card-bg-img img{filter:blur(18px) saturate(2.5) brightness(.56) grayscale(.25)}.project-card-inner{position:relative;display:flex;flex-direction:column;height:100%;border-radius:1rem;border:1px solid var(--border);background:var(--bg-card);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);overflow:hidden;transition:transform .45s cubic-bezier(.25,.46,.45,.94),border-color .35s ease,box-shadow .35s ease}.project-card-inner.has-bg-img{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}.project-card:hover .project-card-inner{transform:translateY(-5px);border-color:#6366f166;box-shadow:0 20px 52px #00000061,0 0 0 1px #6366f11f,inset 0 1px #ffffff0f}.project-title{color:var(--text);transition:color .35s ease}.project-card:not(.has-bg):hover .project-title{color:var(--accent)}.project-card.has-bg .project-title{color:#e2e8f0}.project-card.has-bg:hover .project-title{color:var(--accent)}.project-card.has-bg .card-desc{color:#cbd5e1d1}.card-glow{display:none}.project-footer{overflow:hidden;border-top:1px solid var(--border);padding:.75rem 1.25rem;display:flex;align-items:center;justify-content:flex-end;background:#0000001a;gap:.75rem;transition:border-top-color .35s ease,background .35s ease}.project-card:hover .project-footer{border-top-color:#6366f138;background:#6366f10f}.project-card.has-bg .project-footer{background:#00000052;border-top-color:#ffffff1a;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.project-card.has-bg:hover .project-footer{background:#6366f138;border-top-color:#6366f159}.footer-shimmer{display:none}.card-icon{color:#6366f173;transition:color .35s ease}.project-card:hover .view-hint svg{color:#6366f1d9;transform:rotate(-8deg) scale(1.15)}.view-hint{display:inline-flex;align-items:center;gap:.4rem;font-size:.72rem;font-weight:600;color:var(--text-dimmer);margin-left:auto;position:relative;z-index:1;transition:color .3s ease,gap .35s ease;user-select:none}.view-hint-arrow{width:.8rem;height:.8rem;flex-shrink:0;transition:transform .4s cubic-bezier(.34,1.56,.64,1),opacity .3s ease;opacity:.5}.project-card:hover .view-hint{color:var(--accent);gap:.6rem}.project-card:hover .view-hint-arrow{transform:translate(3px,-3px);opacity:1}.project-card.has-bg .view-hint{color:#94a3b88c}.modal-backdrop{position:fixed;inset:0;z-index:10000;display:flex;align-items:flex-start;justify-content:center;padding:5vh 1rem 2rem;background:#020617d1;overflow-y:auto;opacity:0;pointer-events:none;transition:opacity .28s ease}.modal-backdrop[hidden]{display:none!important}.modal-backdrop.modal-open{opacity:1;pointer-events:auto;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.modal-backdrop.modal-closing{opacity:0;pointer-events:none}.modal-container{position:relative;width:100%;max-width:640px;background:var(--bg-overlay);border:1px solid var(--border);border-radius:1.25rem;box-shadow:0 32px 80px #0000008c,0 0 0 1px #6366f11a,inset 0 1px #ffffff0f;overflow:hidden;transform:translateY(28px) scale(.97);transition:transform .32s cubic-bezier(.22,1,.36,1),opacity .28s ease;opacity:0}.modal-open .modal-container{transform:translateY(0) scale(1);opacity:1}.modal-closing .modal-container{transform:translateY(16px) scale(.98);opacity:0}.modal-close{position:absolute;top:1rem;right:1rem;z-index:10;width:2.25rem;height:2.25rem;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#00000073;border:1px solid rgba(255,255,255,.12);color:#94a3b8;cursor:pointer;transition:background .2s ease,color .2s ease,transform .25s ease}.modal-close:hover{background:#6366f140;color:#fff;transform:rotate(90deg)}.modal-close:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.modal-hero{position:relative;height:220px;background-size:cover;background-position:top center;background-color:var(--bg-section);flex-shrink:0}.modal-hero-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,#00000026,#0f172ad9 80%,#0f172a)}.modal-hero-content{position:absolute;bottom:0;left:0;right:0;padding:1.5rem 1.75rem 1.25rem}.modal-cat-badge{display:inline-block;font-size:.6rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);background:#6366f11f;border:1px solid rgba(99,102,241,.25);border-radius:9999px;padding:.2rem .65rem;margin-bottom:.6rem}.modal-heading{font-size:1.35rem;font-weight:800;line-height:1.25;color:var(--text);margin:0 0 .3rem}.modal-company{font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);opacity:.75;margin:0}.modal-body{padding:1.5rem 1.75rem 1.75rem}.modal-description{font-size:.925rem;line-height:1.65;color:var(--text-muted);margin-bottom:1.25rem}.modal-tags{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1.75rem}.modal-cta-wrap{border-top:1px solid var(--border);padding-top:1.5rem;text-align:center}.modal-cta-link{display:inline-flex;align-items:center;gap:.6rem;font-size:1.1rem;font-weight:800;color:var(--accent);text-decoration:none;transition:gap .3s cubic-bezier(.34,1.56,.64,1),filter .25s ease}.modal-cta-link:hover{gap:1rem;filter:brightness(1.15)}.modal-cta-arrow{width:1.1rem;height:1.1rem;flex-shrink:0;color:#38bdf8;transition:transform .4s cubic-bezier(.34,1.56,.64,1);-webkit-text-fill-color:initial}.modal-cta-link:hover .modal-cta-arrow{transform:translate(4px,-4px)}.modal-no-link{font-size:.85rem;font-style:italic;color:var(--text-dim)}.modal-cta-wrap a{display:inline-flex;color:var(--text);text-decoration:none;font-size:1.5em;position:relative;padding:.3em;margin-top:.2em}.modal-cta-wrap a:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:.25rem}.modal-cta-wrap a:after{display:block;content:" ";width:100%;height:.2em;background-color:var(--bg-overlay);position:absolute;right:0;left:0;bottom:-.2em;opacity:1;transition:height .2s cubic-bezier(.81,.1,.68,.96),bottom .2s cubic-bezier(.81,.1,.68,.96);pointer-events:none;mix-blend-mode:difference;border-radius:.1em}.modal-cta-wrap a:hover:after{bottom:0;height:100%}.modal-cta-link{padding:.5rem 1rem}.modal-body .modal-cta-link img{filter:saturate(2);transform:scale(1.5);margin-right:10px}.modal-cta-wrap a:hover img{filter:saturate(10) invert(1);transform:scale(1.8)}.project-footer .card-icon svg{transition:transform .3s ease,opacity .3s ease}.project-card-inner:hover .project-footer .card-icon svg{transform:translateY(80px);opacity:0}[data-theme=light] .float-icon-mdi{filter:none}[data-theme=light] .project-card.has-bg .card-bg-img:after{display:none}[data-theme=light] .project-card.has-bg .card-bg-img{filter:invert(.88) saturate(1.4) brightness(1.1)}[data-theme=light] .project-card.has-bg:hover .card-bg-img{filter:invert(.88) saturate(1.7) brightness(1.2)}[data-theme=light] .project-card.has-bg .card-bg-img img{filter:blur(24px) saturate(1.8) brightness(.72)}[data-theme=light] .project-card.has-bg:hover .card-bg-img img{filter:blur(18px) saturate(2.1) brightness(.82)}[data-theme=light] .project-card-inner.has-bg-img{background:#ffffff85}[data-theme=light] .project-card.has-bg .project-card-inner{color:#1e293b}[data-theme=light] .project-card.has-bg h3{color:#0f172a}[data-theme=light] .project-card.has-bg p{color:#0f172abf}[data-theme=light] .project-card.has-bg .project-title{color:#0f172a}[data-theme=light] .project-card.has-bg:hover .project-title{color:var(--accent)}[data-theme=light] .project-card.has-bg .card-desc{color:#1e293bc7}[data-theme=light] .project-card.has-bg .category-badge{color:#0f172a99}[data-theme=light] .project-card.has-bg .view-hint{color:#475569a6}[data-theme=light] .project-card:hover .project-card-inner{box-shadow:0 16px 40px #0000001a,0 0 0 1px #6d28d92e}[data-theme=light] .project-footer{background:#fff3;border-top-color:#00000012;color:var(--text-muted)}[data-theme=light] .project-card:hover .project-footer{background:#6d28d90d}[data-theme=light] .project-card.has-bg .project-footer{background:#ffffff8c;border-top-color:#00000014}[data-theme=light] .project-card.has-bg:hover .project-footer{background:#6d28d914}[data-theme=light] .modal-backdrop{background:#f1f5f9e0}[data-theme=light] .modal-container{box-shadow:0 24px 60px #00000024,0 0 0 1px #6d28d91a}[data-theme=light] .modal-close{background:#ffffffb3;border-color:#0000001a;color:#64748b}[data-theme=light] .modal-close:hover{background:#6d28d926;color:#6d28d9}[data-theme=light] .modal-hero{background-color:#e2e8f0}[data-theme=light] .modal-hero-overlay{background:linear-gradient(to bottom,#fff0,#0f172a4d 80%,#a8a8a875)}[data-theme=light] .modal-hero-content{color:#0f172a}[data-theme=light] .modal-cat-badge{color:#fff;background:#6d28d91f;border-color:#f5f5f5d6}[data-theme=light] .modal-heading{color:#fff;text-shadow:1px 1px 5px rgb(0 0 0)}[data-theme=light] .modal-company{color:#fff;font-weight:700;opacity:1;text-decoration:underline}.footer-grid[data-astro-cid-sz7xmlte]{display:grid;grid-template-columns:1fr;gap:2.5rem;align-items:start}@media(min-width:768px){.footer-grid[data-astro-cid-sz7xmlte]{grid-template-columns:auto 1fr auto;gap:3rem}}.footer-left[data-astro-cid-sz7xmlte]{display:flex;flex-direction:column}.footer-center[data-astro-cid-sz7xmlte]{text-align:center;display:flex;flex-direction:column;align-items:center}.footer-right[data-astro-cid-sz7xmlte]{text-align:right}@media(max-width:767px){.footer-center[data-astro-cid-sz7xmlte]{text-align:left;align-items:flex-start}.footer-right[data-astro-cid-sz7xmlte]{text-align:left}}.footer-square[data-astro-cid-sz7xmlte]{width:170px;aspect-ratio:2/1;border:3px solid rgba(255,255,255,.35);background:var(--bg);background-size:130% auto;background-position:top left;filter:grayscale(55%) brightness(88%);padding:1.1em 1em .5em;cursor:default;transition:filter .4s ease,border-color .4s ease}.footer-square[data-astro-cid-sz7xmlte]:hover{filter:grayscale(20%) brightness(100%);border-color:#6366f1b3}.footer-glitch[data-astro-cid-sz7xmlte]{color:#fff;left:-1.925rem;top:1rem;font-size:1.5rem;font-weight:400;letter-spacing:3px;position:relative;display:block;line-height:1}.footer-glitch[data-astro-cid-sz7xmlte]:before,.footer-glitch[data-astro-cid-sz7xmlte]:after{content:attr(data-text);position:absolute;top:0;color:#fff;background:var(--bg);overflow:hidden;clip-path:inset(0 0 100% 0)}.footer-glitch[data-astro-cid-sz7xmlte]:before{left:-2px;text-shadow:1px 0 blue;animation:fg-noise-2 3s infinite linear alternate-reverse;animation-play-state:paused}.footer-glitch[data-astro-cid-sz7xmlte]:after{left:2px;text-shadow:-1px 0 red;animation:fg-noise 2s infinite linear alternate-reverse;animation-play-state:paused}.footer-glitch[data-astro-cid-sz7xmlte]:hover:before,.footer-glitch[data-astro-cid-sz7xmlte]:hover:after{animation-play-state:running}@keyframes fg-noise{0%{clip-path:inset(40px 0 0px 0)}5%{clip-path:inset(13px 0 92px 0)}10%{clip-path:inset(63px 0 3px 0)}15%{clip-path:inset(35px 0 1px 0)}20%{clip-path:inset(50px 0 63px 0)}25%{clip-path:inset(93px 0 95px 0)}30%{clip-path:inset(1px 0 71px 0)}35%{clip-path:inset(71px 0 11px 0)}40%{clip-path:inset(92px 0 67px 0)}45%{clip-path:inset(1px 0 50px 0)}50%{clip-path:inset(55px 0 37px 0)}55%{clip-path:inset(62px 0 24px 0)}60%{clip-path:inset(84px 0 94px 0)}65%{clip-path:inset(20px 0 42px 0)}70%{clip-path:inset(26px 0 56px 0)}75%{clip-path:inset(57px 0 23px 0)}80%{clip-path:inset(12px 0 81px 0)}85%{clip-path:inset(60px 0 66px 0)}90%{clip-path:inset(69px 0 63px 0)}95%{clip-path:inset(69px 0 64px 0)}to{clip-path:inset(91px 0 0px 0)}}@keyframes fg-noise-2{0%{clip-path:inset(54px 0 87px 0)}5%{clip-path:inset(52px 0 5px 0)}10%{clip-path:inset(64px 0 69px 0)}15%{clip-path:inset(58px 0 27px 0)}20%{clip-path:inset(54px 0 60px 0)}25%{clip-path:inset(22px 0 94px 0)}30%{clip-path:inset(29px 0 21px 0)}35%{clip-path:inset(1px 0 0px 0)}40%{clip-path:inset(75px 0 95px 0)}45%{clip-path:inset(27px 0 9px 0)}50%{clip-path:inset(1px 0 94px 0)}55%{clip-path:inset(77px 0 31px 0)}60%{clip-path:inset(65px 0 76px 0)}65%{clip-path:inset(75px 0 9px 0)}70%{clip-path:inset(56px 0 36px 0)}75%{clip-path:inset(43px 0 29px 0)}80%{clip-path:inset(26px 0 28px 0)}85%{clip-path:inset(94px 0 91px 0)}90%{clip-path:inset(66px 0 63px 0)}95%{clip-path:inset(86px 0 11px 0)}to{clip-path:inset(46px 0 8px 0)}}.footer-nav-link[data-astro-cid-sz7xmlte]{color:#64748b;font-size:.875rem;font-weight:500;transition:color .2s ease;position:relative;display:inline-block}.footer-nav-link[data-astro-cid-sz7xmlte]:after{content:"";position:absolute;bottom:-1px;left:0;width:0;height:1px;background:linear-gradient(90deg,#6366f1,#0ea5e9);transition:width .3s ease}.footer-nav-link[data-astro-cid-sz7xmlte]:hover{color:#a5b4fc}.footer-nav-link[data-astro-cid-sz7xmlte]:hover:after{width:100%}.footer-email[data-astro-cid-sz7xmlte]{display:inline-flex;align-items:center;gap:.4rem;color:#475569;font-size:.8rem;font-weight:500;transition:color .2s ease}.footer-email[data-astro-cid-sz7xmlte]:hover{color:#a5b4fc}.footer-kw[data-astro-cid-sz7xmlte]{font-size:.68rem;font-weight:500;letter-spacing:.03em;color:#334155;background:#6366f10a;border:1px solid rgba(99,102,241,.1);border-radius:9999px;padding:.18rem .6rem;transition:color .2s ease,border-color .2s ease;cursor:default}.footer-kw[data-astro-cid-sz7xmlte]:hover{color:#6366f1;border-color:#6366f14d}.footer-divider[data-astro-cid-sz7xmlte]{height:1px;background:linear-gradient(90deg,transparent 0%,rgba(99,102,241,.4) 25%,rgba(14,165,233,.4) 75%,transparent 100%)}.footer-social[data-astro-cid-sz7xmlte]{color:#334155;display:inline-flex;align-items:center;transition:color .2s ease,transform .2s ease}.footer-social[data-astro-cid-sz7xmlte]:hover{color:#a5b4fc;transform:translateY(-2px)}.sd[data-astro-cid-46cv6kzl]{position:relative;width:100%;height:52px;overflow:hidden;margin:-5px 0;z-index:10}.sd-pill[data-astro-cid-46cv6kzl]{position:absolute;top:50%;height:44px;width:100%;background:#00000017;backdrop-filter:brightness(.98);transition:transform 1.1s cubic-bezier(.22,1,.36,1),opacity .4s ease}@media(scripting:enabled){.sd-pill[data-astro-cid-46cv6kzl]{opacity:0}.sd[data-astro-cid-46cv6kzl].visible .sd-l[data-astro-cid-46cv6kzl],.sd[data-astro-cid-46cv6kzl].visible .sd-r[data-astro-cid-46cv6kzl]{opacity:1}}.sd-l[data-astro-cid-46cv6kzl]{right:67%;transform:translate(-115%) translateY(-50%);clip-path:polygon(0 100%,calc(100% - 40px) 100%,100% 99%,calc(100% - 40px) 0,0 0)}.sd[data-astro-cid-46cv6kzl].visible .sd-l[data-astro-cid-46cv6kzl]{transform:translate(0) translateY(-50%)}.sd-r[data-astro-cid-46cv6kzl]{left:67%;transform:translate(115%) translateY(-50%);clip-path:polygon(0 1%,40px 0,100% 0,100% 100%,40px 100%)}.sd[data-astro-cid-46cv6kzl].visible .sd-r[data-astro-cid-46cv6kzl]{transform:translate(0) translateY(-50%)}#resume-print[data-astro-cid-qcuvmvti]{font-family:Inter,Calibri,Arial,sans-serif;font-size:10.5pt;line-height:1.45;color:#000;background:#fff;max-width:100%}.resume-header[data-astro-cid-qcuvmvti]{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:6px}.header-left[data-astro-cid-qcuvmvti]{flex:1}.resume-name[data-astro-cid-qcuvmvti]{font-size:22pt;font-weight:700;color:#000;line-height:1.1;margin:0 0 3px;letter-spacing:-.02em}.resume-title[data-astro-cid-qcuvmvti]{font-size:11pt;color:#111;margin:0;font-weight:400}.header-right[data-astro-cid-qcuvmvti]{text-align:right;font-size:9.5pt;color:#111;line-height:1.7;padding-top:4px}.header-rule[data-astro-cid-qcuvmvti]{border:none;border-top:2px solid #000;margin:6px 0}.resume-section[data-astro-cid-qcuvmvti]{margin-bottom:9px}h2[data-astro-cid-qcuvmvti].section-title,.section-title[data-astro-cid-qcuvmvti]{font-size:10pt;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#000!important;text-shadow:0px 1px 0px rgba(0,0,0,.8)!important;border-bottom:2.5px solid #000!important;padding-bottom:2px;margin:0 0 5px}.body-text[data-astro-cid-qcuvmvti]{margin:0;font-size:10pt;color:#000}.skills-grid[data-astro-cid-qcuvmvti]{display:grid;gap:2px 0}.skill-row[data-astro-cid-qcuvmvti]{display:grid;grid-template-columns:14rem 1fr;gap:0 6px;font-size:9.5pt;line-height:1.55}.skill-category[data-astro-cid-qcuvmvti]{font-weight:600;color:#000}.skill-items[data-astro-cid-qcuvmvti]{color:#111}.cert-list[data-astro-cid-qcuvmvti]{display:flex;flex-wrap:wrap;gap:3px 20px;font-size:9.5pt}.cert-item[data-astro-cid-qcuvmvti]{display:flex;align-items:baseline;gap:4px}.cert-mark[data-astro-cid-qcuvmvti]{font-weight:700;flex-shrink:0}.cert-earned[data-astro-cid-qcuvmvti] .cert-mark[data-astro-cid-qcuvmvti]{color:#000}.cert-earned[data-astro-cid-qcuvmvti]{color:#000;font-weight:500}.cert-planned[data-astro-cid-qcuvmvti] .cert-mark[data-astro-cid-qcuvmvti]{color:#222}.cert-planned[data-astro-cid-qcuvmvti]{color:#222;font-weight:400}.projects-list[data-astro-cid-qcuvmvti]{display:flex;flex-direction:column;gap:5px}.project-item[data-astro-cid-qcuvmvti]{page-break-inside:avoid}.project-header[data-astro-cid-qcuvmvti]{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.project-title[data-astro-cid-qcuvmvti]{font-weight:600;font-size:10pt;color:#000;white-space:nowrap}.project-tags[data-astro-cid-qcuvmvti]{font-size:8.5pt;color:#222;text-align:right;white-space:nowrap}.project-desc[data-astro-cid-qcuvmvti]{margin:1px 0 0;font-size:9pt;color:#111;padding-left:10px;line-height:1.4}.resume-footer-row[data-astro-cid-qcuvmvti]{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}
