/*! tailwindcss v4.0.0-alpha.13 | MIT License | https://tailwindcss.com */@layer theme{:root{--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-family-sans);--default-font-feature-settings:var(--font-family-sans--font-feature-settings);--default-font-variation-settings:var(--font-family-sans--font-variation-settings);--default-mono-font-family:var(--font-family-mono);--default-mono-font-feature-settings:var(--font-family-mono--font-feature-settings);--default-mono-font-variation-settings:var(--font-family-mono--font-variation-settings);--breakpoint-sm:640px;--breakpoint-md:768px;--breakpoint-lg:1024px;--breakpoint-xl:1280px;--breakpoint-2xl:1536px;--color-black:#000;--color-white:#fff;--color-slate-50:#f8fafc;--color-slate-100:#f1f5f9;--color-slate-200:#e2e8f0;--color-slate-300:#cbd5e1;--color-slate-400:#94a3b8;--color-slate-500:#64748b;--color-slate-600:#475569;--color-slate-700:#334155;--color-slate-800:#1e293b;--color-slate-900:#0f172a;--color-slate-950:#020617;--color-gray-50:#f9fafb;--color-gray-100:#f3f4f6;--color-gray-200:#e5e7eb;--color-gray-300:#d1d5db;--color-gray-400:#9ca3af;--color-gray-500:#6b7280;--color-gray-600:#4b5563;--color-gray-700:#374151;--color-gray-800:#1f2937;--color-gray-900:#111827;--color-gray-950:#030712;--color-zinc-50:#fafafa;--color-zinc-100:#f4f4f5;--color-zinc-200:#e4e4e7;--color-zinc-300:#d4d4d8;--color-zinc-400:#a1a1aa;--color-zinc-500:#71717a;--color-zinc-600:#52525b;--color-zinc-700:#3f3f46;--color-zinc-800:#27272a;--color-zinc-900:#18181b;--color-zinc-950:#09090b;--color-neutral-50:#fafafa;--color-neutral-100:#f5f5f5;--color-neutral-200:#e5e5e5;--color-neutral-300:#d4d4d4;--color-neutral-400:#a3a3a3;--color-neutral-500:#737373;--color-neutral-600:#525252;--color-neutral-700:#404040;--color-neutral-800:#262626;--color-neutral-900:#171717;--color-neutral-950:#0a0a0a;--color-stone-50:#fafaf9;--color-stone-100:#f5f5f4;--color-stone-200:#e7e5e4;--color-stone-300:#d6d3d1;--color-stone-400:#a8a29e;--color-stone-500:#78716c;--color-stone-600:#57534e;--color-stone-700:#44403c;--color-stone-800:#292524;--color-stone-900:#1c1917;--color-stone-950:#0c0a09;--color-red-50:#fef2f2;--color-red-100:#fee2e2;--color-red-200:#fecaca;--color-red-300:#fca5a5;--color-red-400:#f87171;--color-red-500:#ef4444;--color-red-600:#dc2626;--color-red-700:#b91c1c;--color-red-800:#991b1b;--color-red-900:#7f1d1d;--color-red-950:#450a0a;--color-orange-50:#fff7ed;--color-orange-100:#ffedd5;--color-orange-200:#fed7aa;--color-orange-300:#fdba74;--color-orange-400:#fb923c;--color-orange-500:#f97316;--color-orange-600:#ea580c;--color-orange-700:#c2410c;--color-orange-800:#9a3412;--color-orange-900:#7c2d12;--color-orange-950:#431407;--color-amber-50:#fffbeb;--color-amber-100:#fef3c7;--color-amber-200:#fde68a;--color-amber-300:#fcd34d;--color-amber-400:#fbbf24;--color-amber-500:#f59e0b;--color-amber-600:#d97706;--color-amber-700:#b45309;--color-amber-800:#92400e;--color-amber-900:#78350f;--color-amber-950:#451a03;--color-yellow-50:#fefce8;--color-yellow-100:#fef9c3;--color-yellow-200:#fef08a;--color-yellow-300:#fde047;--color-yellow-400:#facc15;--color-yellow-500:#eab308;--color-yellow-600:#ca8a04;--color-yellow-700:#a16207;--color-yellow-800:#854d0e;--color-yellow-900:#713f12;--color-yellow-950:#422006;--color-lime-50:#f7fee7;--color-lime-100:#ecfccb;--color-lime-200:#d9f99d;--color-lime-300:#bef264;--color-lime-400:#a3e635;--color-lime-500:#84cc16;--color-lime-600:#65a30d;--color-lime-700:#4d7c0f;--color-lime-800:#3f6212;--color-lime-900:#365314;--color-lime-950:#1a2e05;--color-green-50:#f0fdf4;--color-green-100:#dcfce7;--color-green-200:#bbf7d0;--color-green-300:#86efac;--color-green-400:#4ade80;--color-green-500:#22c55e;--color-green-600:#16a34a;--color-green-700:#15803d;--color-green-800:#166534;--color-green-900:#14532d;--color-green-950:#052e16;--color-emerald-50:#ecfdf5;--color-emerald-100:#d1fae5;--color-emerald-200:#a7f3d0;--color-emerald-300:#6ee7b7;--color-emerald-400:#34d399;--color-emerald-500:#10b981;--color-emerald-600:#059669;--color-emerald-700:#047857;--color-emerald-800:#065f46;--color-emerald-900:#064e3b;--color-emerald-950:#022c22;--color-teal-50:#f0fdfa;--color-teal-100:#ccfbf1;--color-teal-200:#99f6e4;--color-teal-300:#5eead4;--color-teal-400:#2dd4bf;--color-teal-500:#14b8a6;--color-teal-600:#0d9488;--color-teal-700:#0f766e;--color-teal-800:#115e59;--color-teal-900:#134e4a;--color-teal-950:#042f2e;--color-cyan-50:#ecfeff;--color-cyan-100:#cffafe;--color-cyan-200:#a5f3fc;--color-cyan-300:#67e8f9;--color-cyan-400:#22d3ee;--color-cyan-500:#06b6d4;--color-cyan-600:#0891b2;--color-cyan-700:#0e7490;--color-cyan-800:#155e75;--color-cyan-900:#164e63;--color-cyan-950:#083344;--color-sky-50:#f0f9ff;--color-sky-100:#e0f2fe;--color-sky-200:#bae6fd;--color-sky-300:#7dd3fc;--color-sky-400:#38bdf8;--color-sky-500:#0ea5e9;--color-sky-600:#0284c7;--color-sky-700:#0369a1;--color-sky-800:#075985;--color-sky-900:#0c4a6e;--color-sky-950:#082f49;--color-blue-50:#eff6ff;--color-blue-100:#dbeafe;--color-blue-200:#bfdbfe;--color-blue-300:#93c5fd;--color-blue-400:#60a5fa;--color-blue-500:#3b82f6;--color-blue-600:#2563eb;--color-blue-700:#1d4ed8;--color-blue-800:#1e40af;--color-blue-900:#1e3a8a;--color-blue-950:#172554;--color-indigo-50:#eef2ff;--color-indigo-100:#e0e7ff;--color-indigo-200:#c7d2fe;--color-indigo-300:#a5b4fc;--color-indigo-400:#818cf8;--color-indigo-500:#6366f1;--color-indigo-600:#4f46e5;--color-indigo-700:#4338ca;--color-indigo-800:#3730a3;--color-indigo-900:#312e81;--color-indigo-950:#1e1b4b;--color-violet-50:#f5f3ff;--color-violet-100:#ede9fe;--color-violet-200:#ddd6fe;--color-violet-300:#c4b5fd;--color-violet-400:#a78bfa;--color-violet-500:#8b5cf6;--color-violet-600:#7c3aed;--color-violet-700:#6d28d9;--color-violet-800:#5b21b6;--color-violet-900:#4c1d95;--color-violet-950:#2e1065;--color-purple-50:#faf5ff;--color-purple-100:#f3e8ff;--color-purple-200:#e9d5ff;--color-purple-300:#d8b4fe;--color-purple-400:#c084fc;--color-purple-500:#a855f7;--color-purple-600:#9333ea;--color-purple-700:#7e22ce;--color-purple-800:#6b21a8;--color-purple-900:#581c87;--color-purple-950:#3b0764;--color-fuchsia-50:#fdf4ff;--color-fuchsia-100:#fae8ff;--color-fuchsia-200:#f5d0fe;--color-fuchsia-300:#f0abfc;--color-fuchsia-400:#e879f9;--color-fuchsia-500:#d946ef;--color-fuchsia-600:#c026d3;--color-fuchsia-700:#a21caf;--color-fuchsia-800:#86198f;--color-fuchsia-900:#701a75;--color-fuchsia-950:#4a044e;--color-pink-50:#fdf2f8;--color-pink-100:#fce7f3;--color-pink-200:#fbcfe8;--color-pink-300:#f9a8d4;--color-pink-400:#f472b6;--color-pink-500:#ec4899;--color-pink-600:#db2777;--color-pink-700:#be185d;--color-pink-800:#9d174d;--color-pink-900:#831843;--color-pink-950:#500724;--color-rose-50:#fff1f2;--color-rose-100:#ffe4e6;--color-rose-200:#fecdd3;--color-rose-300:#fda4af;--color-rose-400:#fb7185;--color-rose-500:#f43f5e;--color-rose-600:#e11d48;--color-rose-700:#be123c;--color-rose-800:#9f1239;--color-rose-900:#881337;--color-rose-950:#4c0519;--animate-spin:spin 1s linear infinite;--animate-ping:ping 1s cubic-bezier(0,0,.2,1)infinite;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--animate-bounce:bounce 1s infinite;--blur:8px;--blur-sm:4px;--blur-md:12px;--blur-lg:16px;--blur-xl:24px;--blur-2xl:40px;--blur-3xl:64px;--radius:.25rem;--radius-sm:.125rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--radius-3xl:1.5rem;--shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--shadow-xs:0 1px #0000000d;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--shadow-xl:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;--shadow-2xl:0 25px 50px -12px #00000040;--shadow-inner:inset 0 2px 4px 0 #0000000d;--inset-shadow-xs:inset 0 1px #0000000d;--inset-shadow-sm:inset 0 1px 1px #0000000d;--inset-shadow:inset 0 2px 4px #0000000d;--drop-shadow:0 1px 2px #0000001a,0 1px 1px #0000000f;--drop-shadow-sm:0 1px 1px #0000000d;--drop-shadow-md:0 4px 3px #00000012,0 2px 2px #0000000f;--drop-shadow-lg:0 10px 8px #0000000a,0 4px 3px #0000001a;--drop-shadow-xl:0 20px 13px #00000008,0 8px 5px #00000014;--drop-shadow-2xl:0 25px 25px #00000026;--spacing-px:1px;--spacing-0:0px;--spacing-0_5:.125rem;--spacing-1:.25rem;--spacing-1_5:.375rem;--spacing-2:.5rem;--spacing-2_5:.625rem;--spacing-3:.75rem;--spacing-3_5:.875rem;--spacing-4:1rem;--spacing-5:1.25rem;--spacing-6:1.5rem;--spacing-7:1.75rem;--spacing-8:2rem;--spacing-9:2.25rem;--spacing-10:2.5rem;--spacing-11:2.75rem;--spacing-12:3rem;--spacing-14:3.5rem;--spacing-16:4rem;--spacing-20:5rem;--spacing-24:6rem;--spacing-28:7rem;--spacing-32:8rem;--spacing-36:9rem;--spacing-40:10rem;--spacing-44:11rem;--spacing-48:12rem;--spacing-52:13rem;--spacing-56:14rem;--spacing-60:15rem;--spacing-64:16rem;--spacing-72:18rem;--spacing-80:20rem;--spacing-96:24rem;--width-3xs:16rem;--width-2xs:18rem;--width-xs:20rem;--width-sm:24rem;--width-md:28rem;--width-lg:32rem;--width-xl:36rem;--width-2xl:42rem;--width-3xl:48rem;--width-4xl:56rem;--width-5xl:64rem;--width-6xl:72rem;--width-7xl:80rem;--width-prose:65ch;--font-family-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-family-serif:ui-serif,Georgia,Cambria,"Times New Roman",Times,serif;--font-family-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--font-size-xs:.75rem;--font-size-xs--line-height:1rem;--font-size-sm:.875rem;--font-size-sm--line-height:1.25rem;--font-size-base:1rem;--font-size-base--line-height:1.5rem;--font-size-lg:1.125rem;--font-size-lg--line-height:1.75rem;--font-size-xl:1.25rem;--font-size-xl--line-height:1.75rem;--font-size-2xl:1.5rem;--font-size-2xl--line-height:2rem;--font-size-3xl:1.875rem;--font-size-3xl--line-height:2.25rem;--font-size-4xl:2.25rem;--font-size-4xl--line-height:2.5rem;--font-size-5xl:3rem;--font-size-5xl--line-height:1;--font-size-6xl:3.75rem;--font-size-6xl--line-height:1;--font-size-7xl:4.5rem;--font-size-7xl--line-height:1;--font-size-8xl:6rem;--font-size-8xl--line-height:1;--font-size-9xl:8rem;--font-size-9xl--line-height:1;--letter-spacing-tighter:-.05em;--letter-spacing-tight:-.025em;--letter-spacing-normal:0em;--letter-spacing-wide:.025em;--letter-spacing-wider:.05em;--letter-spacing-widest:.1em;--line-height-none:1;--line-height-tight:1.25;--line-height-snug:1.375;--line-height-normal:1.5;--line-height-relaxed:1.625;--line-height-loose:2;--line-height-3:.75rem;--line-height-4:1rem;--line-height-5:1.25rem;--line-height-6:1.5rem;--line-height-7:1.75rem;--line-height-8:2rem;--line-height-9:2.25rem;--line-height-10:2.5rem;--perspective-dramatic:100px;--perspective-near:300px;--perspective-normal:500px;--perspective-midrange:800px;--perspective-distant:1200px;--transition-timing-function-linear:linear;--transition-timing-function-in:cubic-bezier(.4,0,1,1);--transition-timing-function-out:cubic-bezier(0,0,.2,1);--transition-timing-function-in-out:cubic-bezier(.4,0,.2,1)}}@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}body{line-height:inherit}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}button,input,optgroup,select,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;background:0 0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;background:0 0}input:where(:not([type=button],[type=reset],[type=submit])),select,textarea{border:1px solid}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}::-webkit-search-decoration{-webkit-appearance:none}summary{display:list-item}menu,ol,ul{list-style:none}textarea{resize:vertical}::placeholder{opacity:1;color:color-mix(in srgb,currentColor 50%,transparent)}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}[hidden]{display:none!important}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden}.absolute,.sr-only{position:absolute}.fixed{position:fixed}.relative{position:relative}.inset-0{inset:var(--spacing-0,0)}.right-4{right:var(--spacing-4,1rem)}.bottom-24{bottom:var(--spacing-24,6rem)}.z-0{z-index:0}.z-10{z-index:10}.z-50{z-index:50}.m-1{margin:var(--spacing-1,.25rem)}.mt-1{margin-top:var(--spacing-1,.25rem)}.mt-10{margin-top:var(--spacing-10,2.5rem)}.mt-3{margin-top:var(--spacing-3,.75rem)}.mt-4{margin-top:var(--spacing-4,1rem)}.mt-8{margin-top:var(--spacing-8,2rem)}.mx-auto{margin-left:auto;margin-right:auto}.mb-0{margin-bottom:var(--spacing-0,0)}.mb-1{margin-bottom:var(--spacing-1,.25rem)}.mb-16{margin-bottom:var(--spacing-16,4rem)}.mb-3{margin-bottom:var(--spacing-3,.75rem)}.mb-4{margin-bottom:var(--spacing-4,1rem)}.mb-8{margin-bottom:var(--spacing-8,2rem)}.-ml-\[8px\]{margin-left:-8px}.ml-2{margin-left:var(--spacing-2,.5rem)}.block{display:block}.flex{display:flex}.grid{display:grid}.inline-flex{display:inline-flex}.table{display:table}.h-1{height:var(--spacing-1,.25rem)}.h-14{height:var(--spacing-14,3.5rem)}.h-7{height:var(--spacing-7,1.75rem)}.h-full{height:100%}.h-screen{height:100vh}.min-h-screen{min-height:100vh}.w-14{width:var(--spacing-14,3.5rem)}.w-full{width:100%}.max-w-3xl{max-width:var(--width-3xl,48rem)}.max-w-4xl{max-width:var(--width-4xl,56rem)}.max-w-6xl{max-width:var(--width-6xl,72rem)}.max-w-7xl{max-width:var(--width-7xl,80rem)}.max-w-\[85\%\]{max-width:85%}.max-w-none{max-width:none}.flex-1{flex:1}.table-auto{table-layout:auto}.transform{transform:var(--tw-rotate-x)var(--tw-rotate-y)var(--tw-rotate-z)var(--tw-skew-x)var(--tw-skew-y)}.animate-spin{animation:var(--animate-spin,spin 1s linear infinite)}.scroll-pr-6{scroll-padding-right:var(--spacing-6,1.5rem)}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.gap-1{gap:var(--spacing-1,.25rem)}.gap-2{gap:var(--spacing-2,.5rem)}.gap-3{gap:var(--spacing-3,.75rem)}:where(.space-y-10>:not([hidden])~:not([hidden])){margin-bottom:calc(var(--spacing-10,2.5rem)*var(--tw-space-y-reverse));margin-top:calc(var(--spacing-10,2.5rem)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not([hidden])~:not([hidden])){margin-bottom:calc(var(--spacing-2,.5rem)*var(--tw-space-y-reverse));margin-top:calc(var(--spacing-2,.5rem)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not([hidden])~:not([hidden])){margin-bottom:calc(var(--spacing-4,1rem)*var(--tw-space-y-reverse));margin-top:calc(var(--spacing-4,1rem)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not([hidden])~:not([hidden])){margin-bottom:calc(var(--spacing-6,1.5rem)*var(--tw-space-y-reverse));margin-top:calc(var(--spacing-6,1.5rem)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-8>:not([hidden])~:not([hidden])){margin-bottom:calc(var(--spacing-8,2rem)*var(--tw-space-y-reverse));margin-top:calc(var(--spacing-8,2rem)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-x-0>:not([hidden])~:not([hidden])){margin-inline-start:calc(var(--spacing-0,0px)*calc(1 - var(--tw-space-x-reverse)));margin-inline-end:calc(var(--spacing-0,0px)*var(--tw-space-x-reverse))}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl,1rem)}.rounded-full{border-radius:3.40282e+38px}.rounded-lg{border-radius:var(--radius-lg,.5rem)}.rounded-none{border-radius:0}.rounded-xl{border-radius:var(--radius-xl,.75rem)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-none{--tw-border-style:none;border-style:none}.border-\[var\(--line-soft\)\]{border-color:var(--line-soft)}.border-gray-200{border-color:var(--color-gray-200,#e5e7eb)}.border-neutral-200{border-color:var(--color-neutral-200,#e5e5e5)}.border-neutral-300{border-color:var(--color-neutral-300,#d4d4d4)}.border-white\/10{border-color:color-mix(in srgb,var(--color-white,#fff)10%,transparent)}.bg-\[var\(--accent\)\]{background-color:var(--accent)}.bg-\[var\(--bg\)\]{background-color:var(--bg)}.bg-\[var\(--bg-elev\)\]{background-color:var(--bg-elev)}.bg-\[var\(--chip-bg\)\]{background-color:var(--chip-bg)}.bg-indigo-50{background-color:var(--color-indigo-50,#eef2ff)}.bg-neutral-100{background-color:var(--color-neutral-100,#f5f5f5)}.bg-neutral-200{background-color:var(--color-neutral-200,#e5e5e5)}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white,#fff)}.bg-white\/10{background-color:color-mix(in srgb,var(--color-white,#fff)10%,transparent)}.bg-white\/20{background-color:color-mix(in srgb,var(--color-white,#fff)20%,transparent)}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops,))}.from-indigo-200{--tw-gradient-from:var(--color-indigo-200,#c7d2fe);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.via-blue-200{--tw-gradient-via:var(--color-blue-200,#bfdbfe);--tw-gradient-via-stops:var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.to-cyan-200{--tw-gradient-to:var(--color-cyan-200,#a5f3fc);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.p-2{padding:var(--spacing-2,.5rem)}.p-3{padding:var(--spacing-3,.75rem)}.p-4{padding:var(--spacing-4,1rem)}.p-6{padding:var(--spacing-6,1.5rem)}.py-1{padding-top:var(--spacing-1,.25rem);padding-bottom:var(--spacing-1,.25rem)}.py-12{padding-top:var(--spacing-12,3rem);padding-bottom:var(--spacing-12,3rem)}.py-2{padding-top:var(--spacing-2,.5rem);padding-bottom:var(--spacing-2,.5rem)}.py-3{padding-top:var(--spacing-3,.75rem);padding-bottom:var(--spacing-3,.75rem)}.py-4{padding-top:var(--spacing-4,1rem);padding-bottom:var(--spacing-4,1rem)}.pt-3{padding-top:var(--spacing-3,.75rem)}.px-0{padding-left:var(--spacing-0,0);padding-right:var(--spacing-0,0)}.px-2{padding-left:var(--spacing-2,.5rem);padding-right:var(--spacing-2,.5rem)}.px-3{padding-left:var(--spacing-3,.75rem);padding-right:var(--spacing-3,.75rem)}.px-4{padding-left:var(--spacing-4,1rem);padding-right:var(--spacing-4,1rem)}.px-6{padding-left:var(--spacing-6,1.5rem);padding-right:var(--spacing-6,1.5rem)}.pr-10{padding-right:var(--spacing-10,2.5rem)}.pb-0{padding-bottom:var(--spacing-0,0)}.pb-3{padding-bottom:var(--spacing-3,.75rem)}.text-center{text-align:center}.text-left{text-align:left}.align-middle{vertical-align:middle}.text-2xl{font-size:var(--font-size-2xl,1.5rem);line-height:var(--font-size-2xl--line-height,2rem)}.text-4xl{font-size:var(--font-size-4xl,2.25rem);line-height:var(--font-size-4xl--line-height,2.5rem)}.text-lg{font-size:var(--font-size-lg,1.125rem);line-height:var(--font-size-lg--line-height,1.75rem)}.text-sm{font-size:var(--font-size-sm,.875rem);line-height:var(--font-size-sm--line-height,1.25rem)}.text-xl{font-size:var(--font-size-xl,1.25rem);line-height:var(--font-size-xl--line-height,1.75rem)}.text-xs{font-size:var(--font-size-xs,.75rem);line-height:var(--font-size-xs--line-height,1rem)}.font-medium{font-weight:500}.font-semibold{font-weight:600}.leading-tight{line-height:var(--line-height-tight,1.25)}.tracking-tight{letter-spacing:var(--letter-spacing-tight,-.025em)}.tracking-tighter{letter-spacing:var(--letter-spacing-tighter,-.05em)}.text-\[var\(--accent\)\]{color:var(--accent)}.text-\[var\(--bg\)\]{color:var(--bg)}.text-\[var\(--text\)\]{color:var(--text)}.text-\[var\(--text-soft\)\]{color:var(--text-soft)}.text-blue-100{color:var(--color-blue-100,#dbeafe)}.text-indigo-600{color:var(--color-indigo-600,#4f46e5)}.text-neutral-500{color:var(--color-neutral-500,#737373)}.text-neutral-600{color:var(--color-neutral-600,#525252)}.text-neutral-700{color:var(--color-neutral-700,#404040)}.text-neutral-900{color:var(--color-neutral-900,#171717)}.text-white{color:var(--color-white,#fff)}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.placeholder-\[var\(--text-soft\)\]::placeholder{color:var(--text-soft)}.opacity-50{opacity:.5}.opacity-70{opacity:.7}.shadow-2xl{--tw-shadow:0 25px 50px -12px #00000040;--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.shadow-2xl,.shadow-\[0_0_25px_var\(--accent-strong\)\]{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_25px_var\(--accent-strong\)\]{--tw-shadow:0 0 25px var(--accent-strong);--tw-shadow-colored:0 0 25px var(--tw-shadow-color)}.shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-lg,.shadow-sm{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.outline-none{outline-offset:2px;outline:2px solid #0000}.drop-shadow{--tw-drop-shadow:drop-shadow(0 1px 2px #0000001a)drop-shadow(0 1px 1px #0000000f)}.drop-shadow,.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm,4px));-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,text-decoration-color,fill,stroke,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-property:all;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-opacity{transition-property:opacity;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-shadow{transition-property:box-shadow;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-transform{transition-property:transform,translate,scale,rotate;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.will-change-transform{will-change:transform}.group-hover\:bg-white\/30:is(:where(.group):hover *){background-color:color-mix(in srgb,var(--color-white,#fff)30%,transparent)}.hover\:-translate-y-0\.5:hover{--tw-translate-y:calc(var(--spacing-0_5,.125rem)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.hover\:-translate-y-1:hover{--tw-translate-y:calc(var(--spacing-1,.25rem)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.hover\:scale-105:hover{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x)var(--tw-scale-y)}.hover\:bg-\[var\(--bg-elev\)\]:hover{background-color:var(--bg-elev)}.hover\:bg-\[var\(--chip-bg-2\)\]:hover{background-color:var(--chip-bg-2)}.hover\:bg-neutral-300:hover{background-color:var(--color-neutral-300,#d4d4d4)}.hover\:text-\[var\(--text\)\]:hover{color:var(--text)}.hover\:text-indigo-500:hover{color:var(--color-indigo-500,#6366f1)}.hover\:text-indigo-600:hover{color:var(--color-indigo-600,#4f46e5)}.hover\:text-neutral-800:hover{color:var(--color-neutral-800,#262626)}.hover\:shadow-2xl:hover{--tw-shadow:0 25px 50px -12px #00000040;--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.hover\:shadow-2xl:hover,.hover\:shadow-md:hover{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\:shadow-md:hover{--tw-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.hover\:brightness-110:hover{--tw-brightness:brightness(110%);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,)}.focus-visible\:text-indigo-600:focus-visible{color:var(--color-indigo-600,#4f46e5)}.focus-visible\:outline-none:focus-visible{outline-offset:2px;outline:2px solid #0000}.active\:scale-95:active{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x)var(--tw-scale-y)}.disabled\:opacity-50:disabled{opacity:.5}@media (width>=640px){.sm\:relative{position:relative}.sm\:inset-auto{inset:auto}.sm\:right-6{right:var(--spacing-6,1.5rem)}.sm\:bottom-6{bottom:var(--spacing-6,1.5rem)}.sm\:mb-4{margin-bottom:var(--spacing-4,1rem)}.sm\:h-\[600px\]{height:600px}.sm\:max-h-\[80vh\]{max-height:80vh}.sm\:w-\[450px\]{width:450px}.sm\:flex-row{flex-direction:row}.sm\:items-baseline{align-items:baseline}.sm\:items-end{align-items:flex-end}.sm\:justify-between{justify-content:space-between}.sm\:rounded-2xl{border-radius:var(--radius-2xl,1rem)}.sm\:border{border-style:var(--tw-border-style);border-width:1px}}@media (width>=768px){.md\:relative{position:relative}.md\:w-\[600px\]{width:600px}.md\:flex-row{flex-direction:row}}@media (width>=768px){:where(.md\:space-y-0>:not([hidden])~:not([hidden])){margin-bottom:calc(var(--spacing-0,0px)*var(--tw-space-y-reverse));margin-top:calc(var(--spacing-0,0px)*calc(1 - var(--tw-space-y-reverse)))}}@media (width>=768px){:where(.md\:space-x-4>:not([hidden])~:not([hidden])){margin-inline-start:calc(var(--spacing-4,1rem)*calc(1 - var(--tw-space-x-reverse)));margin-inline-end:calc(var(--spacing-4,1rem)*var(--tw-space-x-reverse))}}@media (width>=768px){.md\:overflow-auto{overflow:auto}}@media (width>=1024px){.lg\:sticky{position:sticky}.lg\:top-20{top:var(--spacing-20,5rem)}}@media (prefers-color-scheme:dark){.dark\:border-gray-800{border-color:var(--color-gray-800,#1f2937)}.dark\:border-neutral-700{border-color:var(--color-neutral-700,#404040)}.dark\:border-neutral-800{border-color:var(--color-neutral-800,#262626)}.dark\:bg-indigo-950\/40{background-color:color-mix(in srgb,var(--color-indigo-950,#1e1b4b)40%,transparent)}.dark\:bg-neutral-800{background-color:var(--color-neutral-800,#262626)}.dark\:bg-neutral-900{background-color:var(--color-neutral-900,#171717)}.dark\:bg-white\/5{background-color:color-mix(in srgb,var(--color-white,#fff)5%,transparent)}.dark\:text-indigo-300{color:var(--color-indigo-300,#a5b4fc)}.dark\:text-indigo-400{color:var(--color-indigo-400,#818cf8)}.dark\:text-neutral-100{color:var(--color-neutral-100,#f5f5f5)}.dark\:text-neutral-200{color:var(--color-neutral-200,#e5e5e5)}.dark\:text-neutral-300{color:var(--color-neutral-300,#d4d4d4)}.dark\:text-neutral-400{color:var(--color-neutral-400,#a3a3a3)}.dark\:text-neutral-50{color:var(--color-neutral-50,#fafafa)}.dark\:hover\:bg-neutral-700:hover{background-color:var(--color-neutral-700,#404040)}.dark\:hover\:text-indigo-300:hover{color:var(--color-indigo-300,#a5b4fc)}.dark\:hover\:text-neutral-100:hover{color:var(--color-neutral-100,#f5f5f5)}.dark\:hover\:text-neutral-200:hover{color:var(--color-neutral-200,#e5e5e5)}}.\[\&\>h3\]\:mt-3>h3{margin-top:var(--spacing-3,.75rem)}.\[\&\>h3\]\:mb-1>h3{margin-bottom:var(--spacing-1,.25rem)}.\[\&\>h3\]\:font-bold>h3{font-weight:700}.\[\&\>ol\]\:mb-3>ol{margin-bottom:var(--spacing-3,.75rem)}.\[\&\>ol\]\:ml-4>ol{margin-left:var(--spacing-4,1rem)}.\[\&\>ol\]\:list-decimal>ol{list-style-type:decimal}.\[\&\>p\:not\(\:last-child\)\]\:mb-3>p:not(:last-child){margin-bottom:var(--spacing-3,.75rem)}.\[\&\>strong\]\:font-semibold>strong{font-weight:600}.\[\&\>ul\]\:mb-3>ul{margin-bottom:var(--spacing-3,.75rem)}.\[\&\>ul\]\:ml-4>ul{margin-left:var(--spacing-4,1rem)}.\[\&\>ul\]\:list-disc>ul{list-style-type:disc}}::selection{color:#fefefe;background-color:#47a3f3}:root{--sh-class:#2d5e9d;--sh-identifier:#354150;--sh-sign:#8996a3;--sh-string:#007f7a;--sh-keyword:#e02518;--sh-comment:#a19595;--sh-jsxliterals:#6266d1;--sh-property:#e25a1c;--sh-entity:#e25a1c}@media (prefers-color-scheme:dark){:root{--sh-class:#4c97f8;--sh-identifier:white;--sh-keyword:#f47067;--sh-string:#0fa295}html{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}html{min-width:360px}.prose .anchor{visibility:hidden;cursor:pointer;width:80%;max-width:700px;margin-left:-1em;padding-right:.5em;text-decoration-line:none;position:absolute}.anchor:hover{visibility:visible}.prose a{text-decoration-line:underline;-webkit-text-decoration-color:var(--color-neutral-400,#a3a3a3);text-decoration-color:var(--color-neutral-400,#a3a3a3);text-underline-offset:2px;text-decoration-thickness:.1em;transition-property:all;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}@media (prefers-color-scheme:dark){.prose a{-webkit-text-decoration-color:var(--color-neutral-600,#525252);text-decoration-color:var(--color-neutral-600,#525252)}}.prose .anchor:after{color:var(--color-neutral-300,#d4d4d4)}@media (prefers-color-scheme:dark){.prose .anchor:after{color:var(--color-neutral-700,#404040)}}.prose .anchor:after{content:"#"}.prose :hover>.anchor{visibility:visible}.prose pre{border-radius:var(--radius-lg,.5rem);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-neutral-200,#e5e5e5);background-color:var(--color-neutral-50,#fafafa);padding:var(--spacing-2,.5rem) var(--spacing-3,.75rem);font-size:var(--font-size-sm,.875rem);line-height:var(--font-size-sm--line-height,1.25rem);overflow-x:auto}@media (prefers-color-scheme:dark){.prose pre{border-color:var(--color-neutral-900,#171717);background-color:var(--color-neutral-900,#171717)}}.prose code{border-radius:var(--radius-lg,.5rem);padding:var(--spacing-0_5,.125rem) var(--spacing-1,.25rem)}.prose pre code{padding:var(--spacing-0,0);border:initial;line-height:1.5}.prose code span{font-weight:500}.prose img{margin:var(--spacing-0,0)}.prose p{margin-top:var(--spacing-4,1rem);margin-bottom:var(--spacing-4,1rem);color:var(--color-neutral-800,#262626)}@media (prefers-color-scheme:dark){.prose p{color:var(--color-neutral-200,#e5e5e5)}}.prose h1{font-size:var(--font-size-4xl,2.25rem);line-height:var(--font-size-4xl--line-height,2.5rem)}.prose h1,.prose h2,.prose h3{margin-top:var(--spacing-6,1.5rem);margin-bottom:var(--spacing-2,.5rem);letter-spacing:var(--letter-spacing-tight,-.025em);font-weight:500}.prose h2,.prose h3{font-size:var(--font-size-xl,1.25rem);line-height:var(--font-size-xl--line-height,1.75rem)}.prose h4{margin-top:var(--spacing-6,1.5rem);margin-bottom:var(--spacing-2,.5rem);font-size:var(--font-size-lg,1.125rem);line-height:var(--font-size-lg--line-height,1.75rem);letter-spacing:var(--letter-spacing-tight,-.025em)}.prose h4,.prose strong{font-weight:500}.prose ul{list-style-type:disc}.prose ol,.prose ul{padding-left:var(--spacing-6,1.5rem)}.prose ol{list-style-type:decimal}.prose>:first-child{margin-top:1.25em!important;margin-bottom:1.25em!important}pre::-webkit-scrollbar{display:none}pre{-ms-overflow-style:none;scrollbar-width:none}input[type=email],input[type=text]{appearance:none}table{white-space:nowrap;max-width:fit-content;display:block;overflow-x:auto}.title{text-wrap:balance}table{border-collapse:collapse;width:100%;margin:1rem 0}td,th{text-align:left;border:1px solid #ddd;padding:.75rem}th{background-color:#f7fafc;font-weight:700}tr:hover{background-color:#09045e}table{border-radius:8px;overflow:hidden}@media (width<=768px){table{white-space:nowrap;display:block;overflow-x:auto}}.mermaid{background-color:#f7fafc;border-radius:8px;max-width:100%;margin:1rem 0;padding:1rem;box-shadow:0 4px 6px #0000001a}:root,:root.theme-dark{--page-pad:clamp(.65rem,2.1vw,1.35rem);--bg:#021526;--bg-elev:#03346e;--bg-elev-2:#0a3f75;--text:#ebebd8;--text-soft:#edede3db;--accent:#6eacda;--accent-soft:#6eacda42;--accent-strong:#6eacda61;--line-soft:#6eacda6b;--chip-bg:#6eacda2e;--chip-bg-2:#6eacda42;--card-bg:#03346eb8;--card-bg-alt:#021526b8;--dock-bg:#021526e0;--focus:#6eacdae6;--shadow:0 20px 50px #00000059}:root.theme-light{--page-pad:clamp(.65rem,2.1vw,1.35rem);--bg:#f3f4ec;--bg-elev:#e6ebf5;--bg-elev-2:#d5e1f0;--text:#10233b;--text-soft:#10233bc7;--accent:#0b5f9f;--accent-soft:#0b5f9f24;--accent-strong:#0b5f9f47;--line-soft:#0b5f9f47;--chip-bg:#0b5f9f24;--chip-bg-2:#0b5f9f38;--card-bg:#e6ebf5f2;--card-bg-alt:#d5e1f0f2;--dock-bg:#f3f4eceb;--focus:#0b5f9fe6;--shadow:0 16px 40px #02152624}body,html{color:var(--text);background:var(--bg);font-family:Artifika,Georgia,Times New Roman,serif}.font-veridex-script{font-family:Calligraffitti,Brush Script MT,cursive}.portfolio-shell{min-height:100vh;color:var(--text);background:radial-gradient(1200px 500px at 5% -15%,var(--accent-soft),transparent 64%),radial-gradient(1000px 520px at 100% 25%,#e2e2b61a,transparent 65%),var(--bg);padding-bottom:calc(8rem + env(safe-area-inset-bottom))}.content-wrap,.hero-wrap,.portfolio-footer{width:100%;padding-inline:var(--page-pad);margin-inline:auto}.hero-wrap{padding-top:1rem}.hero-panel{background:0 0;animation:heroEnter .7s cubic-bezier(.2,.8,.2,1);position:relative}.hero-top-actions{padding-inline:var(--page-pad);z-index:2;justify-content:flex-end;display:flex;position:absolute;top:.5rem;right:0}.hero-theme-toggle .dock-link{background:#0215269e;border:1px solid #6eacda47;border-radius:999px;min-width:3.1rem;min-height:3.1rem;box-shadow:0 14px 34px #00000059,0 0 28px #6eacda2e}.hero-theme-toggle .dock-link.active,.hero-theme-toggle .dock-link:hover{transform:translateY(-1px)scale(1.04)}.hero-center{text-align:center;justify-items:center;gap:.5rem;padding:1.2rem .6rem 1.4rem;display:grid}.hero-about{max-width:44rem;color:var(--text-soft);gap:.55rem;font-size:1rem;line-height:1.5;display:grid}.hero-about p{margin:0}.hero-avatar{border:3px solid var(--text-soft);border-radius:999px;box-shadow:0 16px 28px #00000042}.hero-avatar-wrapper{display:inline-block;position:relative}.hero-avatar-button{cursor:pointer;background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;padding:0;transition:transform .18s,filter .18s;display:inline-flex}.hero-avatar-button:hover{filter:drop-shadow(0 0 18px #6eacda29);transform:translateY(-1px)scale(1.01)}.hero-avatar-button:active{transform:translateY(0)scale(.995)}.hero-avatar-button:focus-visible{outline-offset:6px;outline:2px solid #6eacdaa6}.hero-avatar-button .hero-avatar{transition:box-shadow .18s,border-color .18s}.hero-avatar-button:hover .hero-avatar{border-color:#e2e2b6f5;box-shadow:0 18px 34px #00000052,0 0 26px #6eacda2e}.hero-kicker{color:var(--text-soft);letter-spacing:.08em;text-transform:uppercase;font-size:.78rem}.hero-title{color:var(--text);font-size:clamp(2.35rem,7.5vw,4rem);line-height:1.06;animation:titleShimmer 6s linear infinite}.hero-tagline{color:var(--text-soft);max-width:44rem;font-size:1.02rem;line-height:1.5}.hero-hint{color:var(--text-soft);margin-top:.35rem;font-size:.82rem}.section-stack{width:100%;padding-top:1.1rem}.portfolio-card{opacity:0;margin-block:.75rem;padding:.75rem 0;animation:sectionReveal .7s cubic-bezier(.2,.8,.2,1) forwards;position:relative;transform:translateY(20px)scale(.985)}.portfolio-card:nth-child(2){animation-delay:.1s}.portfolio-card:nth-child(3){animation-delay:.17s}.portfolio-card:nth-child(4){animation-delay:.24s}.portfolio-card:nth-child(5){animation-delay:.31s}.portfolio-card:nth-child(6){animation-delay:.38s}.portfolio-card:nth-child(7){animation-delay:.45s}.portfolio-card:before{content:"";background:linear-gradient(90deg,transparent,var(--line-soft),transparent);opacity:.42;height:1px;position:absolute;top:0;left:0;right:0}.portfolio-card:first-child:before{display:none}.accordion-trigger{width:100%;color:var(--text);text-align:left;background:0 0;border:0;grid-template-columns:1fr auto;align-items:start;gap:.9rem;margin-inline:0;padding:.35rem 0;display:grid}.accordion-trigger:focus-visible,.btn-primary:focus-visible,.btn-secondary:focus-visible,.dock-link:focus-visible{outline:2px solid var(--focus);outline-offset:4px}.accordion-title{font-size:clamp(1.4rem,2.8vw,2rem);line-height:1.12}.accordion-tagline{color:var(--text-soft);margin-top:.32rem;font-size:1rem}.accordion-preview{color:var(--text-soft);gap:.22rem;margin-top:.7rem;padding-left:1.2rem;list-style:outside;display:grid}.accordion-preview li::marker{color:var(--accent)}.accordion-chevron{background:var(--chip-bg);width:2.4rem;height:2.4rem;color:var(--text);border-radius:.9rem;justify-content:center;align-items:center;transition:transform .26s,background-color .22s;display:inline-flex}.accordion-chevron.open{background:var(--chip-bg-2);transform:rotate(180deg)}.accordion-panel{opacity:0;grid-template-rows:0fr;transition:grid-template-rows .36s,opacity .25s;display:grid}.accordion-panel.open{opacity:1;grid-template-rows:1fr}.accordion-body{margin-inline:0;color:var(--text-soft);margin-top:.35rem;padding-top:.9rem;line-height:1.58;overflow:hidden}.details-stack{gap:.9rem;display:grid}.details-stack h3{color:var(--text);font-size:1.08rem}.details-stack ul{gap:.34rem;padding-left:1.2rem;list-style:outside;display:grid}.details-stack a{color:var(--accent);text-underline-offset:3px;text-decoration:underline}.chip-accent,.chip-muted,.skill-strip-chip{border-radius:999px;align-items:center;gap:.4rem;padding:.4rem .72rem;font-size:.85rem;transition:transform .22s,background-color .22s;display:inline-flex}.chip-accent,.chip-muted{background:var(--chip-bg);color:var(--text)}.chip-accent:hover,.chip-muted:hover{transform:translateY(-2px)rotate(-1deg)}.btn-primary,.btn-secondary{border:0;border-radius:10px;align-items:center;gap:.45rem;min-height:42px;padding:.62rem .92rem;font-size:.9rem;display:inline-flex}.btn-primary{background:var(--accent);color:var(--bg)}.btn-secondary{background:var(--chip-bg);color:var(--text)}.btn-primary:hover,.btn-secondary:hover{transform:translateY(-2px)}.variant-timeline .accordion-body{background:linear-gradient(90deg,var(--accent-soft)0 3px,transparent 3px);padding-left:1rem}.variant-split .accordion-trigger{background:linear-gradient(90deg,var(--accent-soft)0 32%,transparent 32% 100%);border-radius:12px;padding:.9rem}.variant-spotlight .accordion-trigger{background:radial-gradient(400px 120px at 8% 0,var(--accent-soft),transparent 65%),radial-gradient(420px 150px at 95% 95%,#e2e2b614,transparent 70%);border-radius:12px;padding:.9rem}.variant-grid .accordion-preview{grid-template-columns:repeat(2,minmax(0,1fr));padding-left:0;list-style:none}.variant-grid .accordion-preview li{background:var(--chip-bg);border-radius:8px;padding:.45rem .6rem}.motion-lift{transition:transform .24s}.motion-lift:hover{transform:translateY(-4px)}.motion-slide:hover .accordion-chevron{transform:translate(2px)}.motion-glow:hover{filter:drop-shadow(0 12px 18px #6eacda3d)}.motion-reveal:hover .accordion-title{letter-spacing:.015em}.opensource-card{background:radial-gradient(820px 280px at 0 0,#e2b66e38,transparent 72%),radial-gradient(720px 220px at 0 0,var(--accent-soft),transparent 72%),radial-gradient(560px 240px at 100% 120%,#e2e2b61a,transparent 72%),var(--card-bg);box-shadow:var(--shadow);border-radius:16px;padding:1.1rem}.opensource-kicker{letter-spacing:.14em;text-transform:uppercase;color:var(--text-soft);margin:0;font-family:Courier New,Consolas,monospace;font-size:.82rem}.opensource-grid{align-items:start;gap:1rem;margin-top:.7rem;display:grid}.opensource-title{color:var(--text);font-size:clamp(2.15rem,5vw,3.2rem);line-height:1.02}.opensource-tagline{color:var(--text-soft);max-width:60ch;margin-top:.35rem;font-size:1.02rem;line-height:1.5}.opensource-actions{flex-wrap:wrap;gap:.65rem;margin-top:.95rem;display:flex}.opensource-right{gap:.6rem;display:grid}.opensource-feature{color:var(--text);background:#0000001f;border:1px solid #6eacda2e;border-radius:12px;padding:.75rem .85rem;line-height:1.45}.opensource-desc{color:var(--text-soft);max-width:72ch;margin-top:.35rem;line-height:1.6}@media (width>=900px){.opensource-grid{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);column-gap:1.2rem}}.section-header-row{justify-content:space-between;align-items:baseline;gap:.7rem;width:100%;margin:.4rem 0 .8rem;display:flex}.timeline-header-actions{align-items:center;gap:.5rem;display:inline-flex}.section-title-left{color:var(--text);font-size:clamp(1.4rem,3vw,2rem)}.section-tag{color:var(--text-soft);background:var(--chip-bg);border-radius:999px;padding:.32rem .62rem;font-size:.82rem}.cert-section,.experience-section,.graph-section,.project-showcase{border-radius:12px;width:100%;margin:1.2rem 0;padding:1.2rem;transition:background-color .2s}.experience-section{background:linear-gradient(135deg,#6eacda14,#0000)}.project-showcase{background:linear-gradient(135deg,#aae3d214,#0000)}.cert-section{background:linear-gradient(135deg,#e2b66e14,#0000)}.graph-section{background:linear-gradient(135deg,#6eacda1f,#0000)}@media (prefers-color-scheme:light){.experience-section{background:linear-gradient(135deg,#0b5f9f0f,#0000)}.project-showcase{background:linear-gradient(135deg,#0996820f,#0000)}.cert-section{background:linear-gradient(135deg,#ba7a360f,#0000)}.graph-section{background:linear-gradient(135deg,#0b5f9f1a,#0000)}}.graph-subtitle{color:var(--text-soft);max-width:92ch;margin:.25rem 0 .85rem;line-height:1.55}.cert-accordion{background:linear-gradient(#ffffff05,#0000);border:1px solid #6eacda0f;border-radius:12px;margin-top:.8rem;padding:.5rem}.cert-accordion summary{cursor:pointer;color:var(--text);justify-content:space-between;align-items:center;gap:.6rem;padding:.75rem 1rem;font-weight:600;list-style:none;transition:background .2s;display:flex}.cert-accordion summary:hover{background:#6eacda0a;border-radius:8px}.cert-accordion summary::-webkit-details-marker{display:none}.cert-accordion-icon{flex-shrink:0;transition:transform .3s}.cert-accordion[open] .cert-accordion-icon{transform:rotate(180deg)}.cert-accordion-body{grid-template-columns:1fr;gap:1.5rem;padding:1rem;display:grid}.cert-list{padding:.25rem 0}.cert-list-title{margin:0 0 .5rem;font-size:1rem;font-weight:700}.cert-provider{margin-bottom:.75rem}.cert-provider-name{margin:0 0 .25rem;font-weight:600}.cert-provider ul{margin:0;padding-left:1.2rem}.cert-grid{grid-template-columns:1fr;gap:.6rem}.cert-grid-title{color:var(--text-soft);margin:0 0 .5rem;font-size:.95rem;font-weight:600}@media (width<=820px){.cert-accordion-body{grid-template-columns:1fr}}.kg-wrap{background:radial-gradient(800px 260px at 0 0,var(--accent-soft),transparent 70%),radial-gradient(640px 280px at 100% 120%,#e2e2b61a,transparent 72%),var(--card-bg);min-height:560px;box-shadow:var(--shadow);border-radius:16px;position:relative;overflow:hidden}.kg-svg,.kg-wrap{width:100%;display:block}.kg-svg{touch-action:none}.kg-link{stroke:#6eacda6b;stroke-width:1.35px;transition:stroke-width .2s}.kg-link[data-category=skill-cluster]{stroke:#aae3d259}.kg-link[data-category=cluster-project]{stroke:#6eacda85}.kg-link[data-category=project-skill]{stroke:#e2b66e61}.kg-link[data-category=project-cluster]{stroke:#6eacda61}.kg-link.dim{opacity:.14}.kg-node-dot{stroke:#e2e2b67a;stroke-width:1.2px;filter:drop-shadow(0 10px 18px #00000047)}.kg-node[data-kind=project] .kg-node-dot{fill:#6eacdafa;stroke:#e2e2b68c}.kg-node[data-kind=skill] .kg-node-dot{fill:#e2e2b6db}.kg-node[data-kind=cluster] .kg-node-dot{fill:#03346eeb;stroke:#6eacda94;stroke-width:2.25px;filter:drop-shadow(0 14px 26px #00000057)drop-shadow(0 0 22px #6eacda38)}.kg-node[data-kind=skill][data-group=ML] .kg-node-dot{fill:#6eacdad6}.kg-node[data-kind=skill][data-group=FullStack] .kg-node-dot{fill:#aae3d2d1;stroke:#e2e2b673}.kg-node-label{letter-spacing:.04em;fill:#e2e2b6db;pointer-events:none;paint-order:stroke;stroke:#021526bf;stroke-width:2px;font-family:Courier New,Consolas,monospace;font-size:10px}.kg-node[data-kind=project] .kg-node-label{fill:#e2e2b6eb;font-size:11px}.kg-node.dim{opacity:.14}@media (width<=520px){.kg-node-label{display:none}}.kg-tooltip{width:250px;color:var(--text);z-index:5;pointer-events:none;background:#021526eb;border:1px solid #6eacda38;border-radius:14px;padding:.7rem .8rem;position:absolute;box-shadow:0 18px 46px #0000006b,0 0 34px #6eacda2e}.kg-tooltip.pinned{pointer-events:auto;width:auto;max-width:680px;margin:0 auto;inset:auto .85rem .85rem}.kg-tip-title{color:var(--text);margin:0;font-size:.95rem}.kg-tip-meta{color:var(--text-soft);margin:.4rem 0 0;font-size:.9rem;line-height:1.45}.kg-tip-kind{letter-spacing:.08em;text-transform:uppercase;color:#e2e2b6c7;margin:.55rem 0 0;font-family:Courier New,Consolas,monospace;font-size:.7rem}.kg-legend{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#021526bd;border:1px solid #6eacda2e;border-radius:999px;flex-wrap:wrap;align-items:center;gap:.4rem;max-width:calc(100% - 1.5rem);padding:.45rem .55rem;display:flex;position:absolute;bottom:.75rem;left:.75rem}.kg-search-input{color:var(--text);background:#6eacda14;border:1px solid #6eacda4d;border-radius:6px;outline:none;padding:.3rem .6rem;font-size:.78rem;transition:border-color .16s,background-color .16s}.kg-search-input:focus{background:#6eacda26;border-color:#6eacda99}.kg-search-input::placeholder{color:#e2e2b673}.kg-legend-item{color:var(--text);background:#6eacda1f;border-radius:999px;align-items:center;gap:.35rem;padding:.2rem .5rem;font-size:.78rem;display:inline-flex}.kg-legend-clear{color:#e2e2b6f2;cursor:pointer;background:#e2e2b61f;border:1px solid #e2e2b638;border-radius:999px;padding:.2rem .55rem;font-size:.78rem;transition:transform .16s,background-color .16s,border-color .16s}.kg-legend-clear:hover{background:#e2e2b629;border-color:#e2e2b64d;transform:translateY(-1px)}.kg-legend-item:before{content:"";background:var(--accent);border-radius:999px;width:.6rem;height:.6rem}.kg-legend-item[data-kind=skill]:before{background:#e2e2b6e6}.kg-legend-item[data-kind=cluster]:before{background:#03346e;box-shadow:0 0 0 2px #6eacda59}.kg-legend-hint{color:var(--text-soft);padding-inline:.35rem;font-size:.78rem}@media (width<=520px){.kg-link{stroke-width:1.6px}.kg-legend{border-radius:14px;bottom:.6rem;left:.6rem;right:.6rem}.kg-legend-hint{width:100%;padding-inline:.1rem}.kg-tooltip.pinned{bottom:3.4rem;left:.6rem;right:.6rem}}:root.theme-light .kg-wrap{background:radial-gradient(800px 260px at 0 0,var(--accent-soft),transparent 70%),radial-gradient(640px 280px at 100% 120%,#0b5f9f14,transparent 72%),var(--card-bg)}:root.theme-light .kg-link{stroke:#0b5f9f59}:root.theme-light .kg-link[data-category=skill-cluster]{stroke:#065f4666}:root.theme-light .kg-link[data-category=cluster-project]{stroke:#0b5f9f73}:root.theme-light .kg-link[data-category=project-skill]{stroke:#b8860b66}:root.theme-light .kg-link[data-category=project-cluster]{stroke:#0b5f9f59}:root.theme-light .kg-node-dot{stroke:#10233b80;filter:drop-shadow(0 6px 12px #00000026)}:root.theme-light .kg-node[data-kind=project] .kg-node-dot{fill:#0b5f9ff2;stroke:#10233b99}:root.theme-light .kg-node[data-kind=skill] .kg-node-dot{fill:#10233be0;stroke:#0b5f9f66}:root.theme-light .kg-node[data-kind=cluster] .kg-node-dot{fill:#e6ebf5fa;stroke:#0b5f9fb3;stroke-width:2.5px;filter:drop-shadow(0 10px 20px #0003)drop-shadow(0 0 18px #0b5f9f40)}:root.theme-light .kg-node[data-kind=skill][data-group=ML] .kg-node-dot{fill:#0b5f9fd9;stroke:#10233b80}:root.theme-light .kg-node[data-kind=skill][data-group=FullStack] .kg-node-dot{fill:#065f46d9;stroke:#10233b73}:root.theme-light .kg-node-label{fill:#10233beb;stroke:#f3f4ecd9;stroke-width:3px}:root.theme-light .kg-node[data-kind=project] .kg-node-label{fill:#10233bf2}:root.theme-light .kg-tooltip{background:#f3f4ecf5;border:1px solid #0b5f9f40;box-shadow:0 18px 46px #00000026,0 0 34px #0b5f9f1f}:root.theme-light .kg-tip-kind{color:#10233bb3}:root.theme-light .kg-legend{background:#f3f4ecd9;border:1px solid #0b5f9f38}:root.theme-light .kg-search-input{background:#fff9;border:1px solid #0b5f9f4d}:root.theme-light .kg-search-input:focus{background:#ffffffd9;border-color:#0b5f9f99}:root.theme-light .kg-search-input::placeholder{color:#10233b73}:root.theme-light .kg-legend-item{background:#0b5f9f1f}:root.theme-light .kg-legend-clear{color:#10233bf2;background:#10233b14;border:1px solid #10233b40}:root.theme-light .kg-legend-clear:hover{background:#10233b24;border-color:#10233b59}:root.theme-light .kg-legend-item[data-kind=skill]:before{background:#10233bd9}:root.theme-light .kg-legend-item[data-kind=cluster]:before{background:#e6ebf5;box-shadow:0 0 0 2px #0b5f9f80}.experience-timeline{gap:1.1rem;display:grid}.timeline-card{background:radial-gradient(520px 180px at 0 0,var(--accent-soft),transparent 72%),var(--card-bg);box-shadow:var(--shadow);border-radius:16px;padding:1rem}.timeline-head{justify-content:space-between;align-items:flex-start;gap:.8rem;margin-bottom:.8rem;display:flex}.timeline-head>div{flex:auto}.timeline-toggle{background:var(--chip-bg);color:var(--text);white-space:nowrap;border:1px solid #6eacda47;border-radius:999px;padding:.35rem .7rem;font-size:.82rem;transition:transform .16s,background-color .16s}.timeline-toggle:hover{background:var(--chip-bg-2);transform:translateY(-1px)}.timeline-toggle:focus-visible{outline:2px solid var(--focus);outline-offset:3px}.timeline-icon{background:var(--chip-bg-2);border-radius:10px;flex:none;justify-content:center;align-items:center;width:2.1rem;height:2.1rem;margin-top:.15rem;display:inline-flex}.timeline-role{color:var(--text);font-size:clamp(1.25rem,2.6vw,2rem);line-height:1.12}.timeline-company,.timeline-period{color:var(--text-soft)}.timeline-steps{gap:.85rem;margin:0;padding:0 0 0 1.35rem;list-style:none;display:grid;position:relative}.timeline-steps:before{content:"";background:linear-gradient(var(--accent-strong),transparent 92%);width:2px;position:absolute;top:.2rem;bottom:.2rem;left:.35rem}.timeline-step{padding-left:.6rem;position:relative}.timeline-step:before{content:"";background:var(--accent);width:.65rem;height:.65rem;box-shadow:0 0 0 4px var(--accent-soft);border-radius:999px;position:absolute;top:.48rem;left:-1.05rem}.timeline-phase{letter-spacing:.08em;text-transform:uppercase;color:var(--text-soft);margin:0;font-family:Courier New,Consolas,monospace;font-size:.72rem}.timeline-title{color:var(--text);margin-top:.2rem;font-size:1.05rem}.timeline-detail{color:var(--text-soft);max-width:90ch;margin-top:.25rem;line-height:1.55}.timeline-meta{flex-wrap:wrap;gap:.45rem;margin-top:.5rem;display:flex}.timeline-pill{background:var(--chip-bg);color:var(--text);border-radius:999px;align-items:center;padding:.24rem .62rem;font-size:.78rem;display:inline-flex}.timeline-pill.metric{background:#e2e2b629}.timeline-more{color:var(--text-soft);cursor:pointer;text-align:left;text-underline-offset:3px;background:0 0;border:0;margin-top:.8rem;padding:0;font-size:.9rem;text-decoration:underline;transition:color .16s}.timeline-more:hover{color:var(--text)}.timeline-more:focus-visible{outline:2px solid var(--focus);outline-offset:3px;border-radius:6px}.project-grid{grid-template-columns:repeat(1,minmax(0,1fr));gap:.8rem;display:grid}.case-card{box-shadow:var(--shadow);background:radial-gradient(360px 120px at 10% 0,var(--accent-soft),transparent 74%),var(--card-bg);border-radius:14px;padding:0;transition:transform .22s,filter .22s}.case-card:nth-child(2n){background:radial-gradient(360px 120px at 100% 100%,#e2e2b61a,transparent 74%),var(--card-bg-alt)}.case-card:hover{filter:saturate(1.08);transform:translateY(-3px)scale(1.01)}.case-summary{cursor:pointer;grid-template-columns:1fr auto;align-items:start;gap:.9rem;padding:1rem;list-style:none;display:grid}.case-summary::-webkit-details-marker{display:none}.case-title{color:var(--text);margin-top:.35rem;font-size:1.15rem}.case-lede{color:var(--text-soft);margin-top:.35rem;line-height:1.55}.case-cta{background:var(--chip-bg);min-height:2.4rem;color:var(--text);white-space:nowrap;border:1px solid #6eacda47;border-radius:999px;justify-content:center;align-self:start;align-items:center;padding:.4rem .7rem;font-size:.82rem;transition:transform .16s,background-color .16s;display:inline-flex}.case-card[open] .case-cta{background:var(--chip-bg-2)}.case-card[open]{outline:1px solid #6eacda2e}.case-card[open] .case-summary{padding-bottom:.8rem}.case-body{color:var(--text-soft);gap:.85rem;padding:0 1rem 1rem;display:grid}.case-section h4{color:var(--text);margin-top:.4rem;font-size:.95rem}.case-section ul{gap:.35rem;margin-top:.35rem;padding-left:1.2rem;list-style:outside;display:grid}.case-pill-row{flex-wrap:wrap;gap:.45rem;margin-top:.65rem;display:flex}.case-pill{background:var(--chip-bg);color:var(--text);border-radius:999px;align-items:center;padding:.24rem .62rem;font-size:.78rem;display:inline-flex}@media (width>=900px){.case-body{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:1.1rem}.case-section:last-child{grid-column:1/-1}}.project-card{box-shadow:var(--shadow);border-radius:14px;padding:1rem;transition:transform .22s,filter .22s}.project-card:nth-child(odd){background:radial-gradient(360px 120px at 10% 0,var(--accent-soft),transparent 74%),var(--card-bg)}.project-card:nth-child(2n){background:radial-gradient(360px 120px at 100% 100%,#e2e2b61a,transparent 74%),var(--card-bg-alt)}.project-card:hover{filter:saturate(1.08);transform:translateY(-3px)scale(1.01)}.case-card,.cert-item,.opensource-card,.timeline-card{animation:cardReveal .56s cubic-bezier(.2,.8,.2,1) both}.timeline-card{animation-delay:60ms}.opensource-card{animation-delay:.11s}.case-card{animation-delay:.15s}.cert-item{animation-delay:.19s}.project-tag{color:var(--text-soft);text-transform:uppercase;letter-spacing:.08em;font-size:.78rem}.project-card h3{color:var(--text);margin-top:.3rem;font-size:1.06rem}.project-card p{color:var(--text-soft);margin-top:.3rem}.cert-grid{gap:.7rem;display:grid}.cert-item{background:var(--card-bg);box-shadow:var(--shadow);color:var(--text);border-radius:12px;gap:.25rem;padding:.86rem .9rem;transition:transform .2s,background-color .2s;display:grid}.cert-item:hover{background:var(--card-bg-alt)}.cert-link{color:var(--text-soft);gap:.3rem;font-size:.86rem}.skills-wrap{width:100%;padding:1.4rem var(--page-pad)0;background:linear-gradient(135deg,#aae3d214,#0000);border-radius:12px;margin:1.2rem 0;transition:background-color .2s}@media (prefers-color-scheme:light){.skills-wrap{background:linear-gradient(135deg,#0996820f,#0000)}}.section-subtitle,.section-title{text-align:center}.section-title{color:var(--text);font-size:clamp(1.4rem,3vw,2rem)}.section-subtitle{color:var(--text-soft);max-width:45rem;margin-inline:auto}.skills-strips{gap:.72rem;margin-top:1rem;display:grid}.skill-strip{background:var(--card-bg);box-shadow:var(--shadow);border-radius:12px;overflow:hidden}.skill-strip-track{gap:.55rem;width:max-content;padding:.82rem;animation-duration:28s;animation-timing-function:linear;animation-iteration-count:infinite;display:flex}.skill-strip-track.left{animation-name:strip-left}.skill-strip-track.right{animation-name:strip-right;animation-duration:34s}.skills-wrap:focus-within .skill-strip-track,.skills-wrap:hover .skill-strip-track{animation-play-state:paused}.skill-strip-chip{background:var(--chip-bg);color:var(--text);white-space:nowrap}.skill-strip-chip svg{color:var(--accent)}.mobile-dock{left:50%;bottom:calc(.9rem + env(safe-area-inset-bottom));background:var(--dock-bg);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);z-index:60;border-radius:16px;align-items:center;gap:.2rem;padding:.2rem .3rem .3rem;transition:opacity .2s,transform .2s;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 18px 46px #0000006b,0 0 0 1px #6eacda29,0 0 48px #6eacda52,0 0 84px #6eacda29}@media (width<=639px){body.chatbot-open .mobile-dock{opacity:0;pointer-events:none;transform:translate(-50%)translateY(20px)}}.dock-link{min-width:4.2rem;min-height:3.1rem;color:var(--text);border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:.14rem;font-size:.68rem;font-weight:600;transition:transform .17s,background-color .17s;display:inline-flex}.dock-link svg{transition:transform .17s}.dock-link.active,.dock-link:hover{background:var(--chip-bg-2);transform:translateY(-1px)scale(1.02)}.dock-link.active svg,.dock-link:hover svg{transform:scale(1.18)}.dock-trailing{margin-left:.15rem}.dock-theme-link{text-transform:capitalize;min-width:4.45rem}@media (width<=520px){.hero-top-actions{top:.65rem}.hero-theme-toggle .dock-link{min-width:3.35rem;min-height:3.35rem}.mobile-dock{gap:.12rem;padding:.25rem}.dock-link{min-height:2.85rem}.dock-link,.dock-theme-link{min-width:3.35rem}}.icon-interest-row{flex-wrap:wrap;gap:.6rem;display:flex}.profile-grid{align-items:start;gap:1rem;width:100%;margin-top:1.2rem;display:grid}.contact-card,.profile-card{background:radial-gradient(620px 220px at 0 0,#aae3d247,transparent 72%),radial-gradient(520px 180px at 0 0,var(--accent-soft),transparent 72%),var(--card-bg);box-shadow:var(--shadow);border-radius:16px;align-self:start;padding:1rem}.profile-head{gap:.25rem;display:grid}.profile-title{color:var(--text);font-size:clamp(1.25rem,2.4vw,1.8rem);line-height:1.12}.profile-subtitle{color:var(--text-soft);max-width:80ch;line-height:1.55}.profile-tags{flex-wrap:wrap;gap:.45rem;margin-top:.7rem;display:flex}.profile-body{gap:.75rem;margin-top:.8rem;display:grid}.edu-row{background:#0000001f;border:1px solid #6eacda29;border-radius:12px;padding:.75rem .85rem}.edu-degree{color:var(--text);margin:0;font-size:1rem}.edu-meta{color:var(--text-soft);margin:.25rem 0 0;font-size:.95rem}.interest-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem;margin-top:.9rem;display:grid}.interest-tile{text-align:center;color:inherit;background:#0000001f;border:1px solid #6eacda29;border-radius:14px;justify-items:center;gap:.4rem;padding:.9rem .85rem;text-decoration:none;transition:transform .18s,background-color .18s;display:grid}.interest-tile:hover{background:#00000029;transform:translateY(-2px)}.interest-icon{width:2.35rem;height:2.35rem;color:var(--accent)}.interest-label{color:var(--text);margin:0;font-size:.95rem}.interest-desc{color:var(--text-soft);margin:0;font-size:.86rem;line-height:1.4}.interest-notes{color:var(--text-soft);gap:.35rem;margin:.95rem 0 0;padding-left:1.15rem;line-height:1.55;display:grid}.interest-notes li::marker{color:var(--accent)}.contact-grid{gap:.7rem;margin-top:.9rem;display:grid}.cert-item{color:var(--text-soft);background:#0215261f;border:1px solid #6eacda0a;border-radius:8px;flex-direction:column;gap:.2rem;padding:.55rem .7rem;font-size:.95rem;text-decoration:none;display:flex}.cert-item:hover{transform:translateY(-2px);box-shadow:0 6px 14px #0000001f}.cert-index{color:var(--text-muted,#9aa6b2);font-size:.78rem}.cert-name{color:var(--text);font-weight:500}.cert-link{color:#6eacdae6;align-items:center;gap:.35rem;margin-top:.15rem;font-size:.9rem;display:inline-flex}.contact-item:hover{background:#00000029;transform:translateY(-2px)}.contact-item svg{width:1.6rem;height:1.6rem;color:var(--accent)}.contact-label{letter-spacing:.08em;text-transform:uppercase;color:var(--text-soft);margin:0;font-family:Courier New,Consolas,monospace;font-size:.72rem}.contact-value{color:var(--text);margin:.2rem 0 0}@media (width>=900px){.profile-grid{align-items:start}.contact-grid,.profile-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.content-wrap{padding-top:1.2rem;padding-bottom:2rem}.portfolio-footer{text-align:center;color:var(--text-soft);padding-bottom:1.1rem}@keyframes heroEnter{0%{opacity:0;transform:translateY(16px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes sectionReveal{0%{opacity:0;transform:translateY(20px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes strip-left{0%{transform:translate(0)}to{transform:translate(-33.333%)}}@keyframes strip-right{0%{transform:translate(-33.333%)}to{transform:translate(0)}}@keyframes titleShimmer{0%{text-shadow:0 0 #0000}50%{text-shadow:0 0 14px #6eacda40}to{text-shadow:0 0 #0000}}@keyframes cardReveal{0%{opacity:0;transform:translateY(14px)scale(.992)}to{opacity:1;transform:translateY(0)scale(1)}}@media (width>=900px){.hero-wrap{padding-top:1.4rem}.hero-center{padding:1.4rem 1.3rem 1.6rem}.section-stack{gap:.4rem}.cert-grid,.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (prefers-reduced-motion:reduce){.accordion-chevron,.accordion-panel,.cert-item,.chip-accent,.chip-muted,.dock-link,.hero-panel,.opensource-card,.portfolio-card,.project-card,.timeline-card{transition:none;animation:none}.skill-strip-track{animation:none;overflow-x:auto}}@keyframes spin{to{transform:rotate(1turn)}}@keyframes ping{75%,to{opacity:0;transform:scale(2)}}@keyframes pulse{50%{opacity:.5}}@keyframes bounce{0%,to{animation-timing-function:cubic-bezier(.8,0,1,1);transform:translateY(-25%)}50%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:none}}@property --tw-rotate-x{syntax:"<transform-function>";inherits:false;initial-value:rotateX(0)}@property --tw-rotate-y{syntax:"<transform-function>";inherits:false;initial-value:rotateY(0)}@property --tw-rotate-z{syntax:"<transform-function>";inherits:false;initial-value:rotate(0)}@property --tw-skew-x{syntax:"<transform-function>";inherits:false;initial-value:skew(0)}@property --tw-skew-y{syntax:"<transform-function>";inherits:false;initial-value:skewY(0)}@property --tw-space-y-reverse{syntax:"<number>";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:"<number>";inherits:false;initial-value:0}@property --tw-border-style{syntax:"<custom-ident>";inherits:false;initial-value:solid}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-colored{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-colored{syntax:"*";inherits:false;initial-value:0 0 #0000}@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-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-translate-x{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"<length>";inherits:false;initial-value:0}@property --tw-scale-x{syntax:"<number>|<percentage>";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"<number>|<percentage>";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"<number>|<percentage>";inherits:false;initial-value:1}