.header-nav_navItem__qGOA7{position:relative}.header-nav_navLink__grEan{position:relative;display:block;padding:.5rem .6rem .58rem;color:var(--portfolio-muted);letter-spacing:.025em;transition:color .15s ease,transform .15s ease}.header-nav_navLink__grEan:after{position:absolute;right:.55rem;bottom:.28rem;left:.55rem;height:3px;border-radius:40% 40% 35% 35%/22%;background:#a785b8;content:"";opacity:0;transform:scaleX(.35);transition:opacity .15s ease,transform .15s ease}.header-nav_navLink__grEan:hover:not(.header-nav_active__8AhUI){color:var(--portfolio-text);transform:translateY(-1px)}.header-nav_navLink__grEan:hover:not(.header-nav_active__8AhUI):after{opacity:1;transform:scaleX(1)}.header-nav_navLink__grEan:focus-visible{border-radius:7px 4px 8px 5px;outline:2px solid #b99ac4;outline-offset:3px}.header-nav_active__8AhUI{padding-inline:.75rem;border-radius:8px 5px 9px 4px/5px 9px 6px 8px;background:#b99ac4;color:#180a1d;font-weight:700;box-shadow:2px 3px 0 #4f3159;transform:translateY(-1px) rotate(-.5deg)}.header-nav_navItem__qGOA7:nth-child(2n) .header-nav_active__8AhUI{border-radius:5px 9px 4px 8px/9px 5px 8px 6px;transform:translateY(-1px) rotate(.5deg)}.header-nav_active__8AhUI:after{display:none}.header-nav_mobileLink__FKLnf{min-width:8rem;padding:.5rem .75rem;text-align:right}@keyframes header-nav_avatarDrop__BgUea{0%{transform:translateZ(0);animation-timing-function:cubic-bezier(.5,0,.75,0)}50%{transform:translate3d(0,192px,0);animation-timing-function:cubic-bezier(.2,.75,.35,1)}64%{transform:translate3d(0,160px,0);animation-timing-function:cubic-bezier(.55,0,.8,.45)}76%{transform:translate3d(0,192px,0);animation-timing-function:cubic-bezier(.2,.7,.35,1)}86%{transform:translate3d(0,180px,0);animation-timing-function:cubic-bezier(.55,0,.8,.45)}94%,to{transform:translate3d(0,192px,0)}}.header-nav_avatarMotion__WD4Dh{position:relative;z-index:2;display:flex;width:1.5rem;height:1.5rem;backface-visibility:hidden;transform:translateZ(0);transform-origin:center;will-change:transform}@keyframes header-nav_avatarRise__cxcrO{0%{transform:translate3d(0,192px,0)}to{transform:translateZ(0)}}.header-nav_avatarIdle___ONtV{transform:translateZ(0)}.header-nav_avatarOpen__p_rzw{transform:translate3d(0,192px,0);animation:header-nav_avatarDrop__BgUea .76s linear both}.header-nav_avatarClosed__hJ7ZL{transform:translateZ(0);animation:header-nav_avatarRise__cxcrO .3s cubic-bezier(.4,0,.2,1) both}@media (min-width:768px){.header-nav_avatarClosed__hJ7ZL,.header-nav_avatarIdle___ONtV,.header-nav_avatarMotion__WD4Dh,.header-nav_avatarOpen__p_rzw{animation:none;transform:none;transition:none;will-change:auto}}@media (prefers-reduced-motion:reduce){.header-nav_navLink__grEan,.header-nav_navLink__grEan:after{transition:none}.header-nav_navLink__grEan:is(:hover,.header-nav_active__8AhUI){transform:none}.header-nav_avatarOpen__p_rzw{animation:none;transform:translate3d(0,192px,0)}.header-nav_avatarClosed__hJ7ZL{animation:none;transform:translateZ(0)}}.scroll-appearances_scope__6rbWs{display:contents}@keyframes scroll-appearances_sectionArrive__a1ivd{0%{opacity:.6;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:no-preference){.scroll-appearances_scope__6rbWs [data-reveal=section]{animation:scroll-appearances_sectionArrive__a1ivd .6s cubic-bezier(.22,1,.36,1) backwards}.scroll-appearances_scope__6rbWs [data-reveal][data-reveal-state=outside]{animation:none}.scroll-appearances_scope__6rbWs [data-reveal]:focus-within{animation:none}}.portfolio_shell__Ulwg3{--portfolio-bg:#180b1e;--portfolio-surface:#291531;--portfolio-text:#e4d9e8;--portfolio-muted:#b29cbb;--portfolio-border:#47304f;--portfolio-accent:#c5a2df;overflow-x:clip;background:var(--portfolio-bg);color:var(--portfolio-text)}.portfolio_shell__Ulwg3>footer,.portfolio_shell__Ulwg3>header{--portfolio-bg:#180b1e;--portfolio-surface:#35153e;--portfolio-text:#f1e8f3;--portfolio-muted:#bdabc4;--portfolio-border:#472a50;--portfolio-accent:#d3b9ee}.portfolio_shell__Ulwg3>header{border-bottom-color:transparent}.portfolio_shell__Ulwg3>footer{border-top:1px solid #472a50}@media (prefers-reduced-motion:no-preference){.portfolio_shell__Ulwg3>header{animation:portfolio_headerArrive__FHoY1 .4s ease-out}.portfolio_shell__Ulwg3>header:focus-within{animation:none}}@keyframes portfolio_headerArrive__FHoY1{0%{opacity:.6}to{opacity:1}}.portfolio_shell__Ulwg3 a:focus-visible,.portfolio_shell__Ulwg3 button:focus-visible{outline:2px solid #b58cdb;outline-offset:4px}.portfolio_shell__Ulwg3 ::-moz-selection{background:#d9c4ee;color:#230c2a}.portfolio_shell__Ulwg3 ::selection{background:#d9c4ee;color:#230c2a}.portfolio_shell__Ulwg3 main{scrollbar-color:#70567d #180b1e;scrollbar-gutter:stable}.portfolio_shell__Ulwg3 main::-webkit-scrollbar,.portfolio_shell__Ulwg3 main::-webkit-scrollbar-track{background:#180b1e;border:none}.portfolio_shell__Ulwg3 main::-webkit-scrollbar-thumb{background:#70567d;border:2px solid #180b1e}pre[class*=language-]{color:#f4f4f5}.token.class-name,.token.function,.token.selector,.token.selector .class,.token.selector.class,.token.tag{color:#f472b6}.token.attr-name,.token.important,.token.keyword,.token.pseudo-class,.token.rule{color:#d4d4d8}.token.module{color:#f472b6}.token.attr-value,.token.class,.token.property,.token.string{color:#5eead4}.token.attr-equals,.token.punctuation{color:#71717a}.language-css .token.function,.token.unit{color:#bae6fd}.token.combinator,.token.comment,.token.operator{color:#a1a1aa}

/*
! tailwindcss v3.4.1 | MIT License | https://tailwindcss.com
*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:var(--font-sans),system-ui,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--font-mono),Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}:root{--inherit:inherit;--current:currentColor;--transparent:transparent;--black:#000;--white:#fff;--slate-50:#f8fafc;--slate-100:#f1f5f9;--slate-200:#e2e8f0;--slate-300:#cbd5e1;--slate-400:#94a3b8;--slate-500:#64748b;--slate-600:#475569;--slate-700:#334155;--slate-800:#1e293b;--slate-900:#0f172a;--slate-950:#020617;--gray-50:#f9fafb;--gray-100:#f3f4f6;--gray-200:#e5e7eb;--gray-300:#d1d5db;--gray-400:#9ca3af;--gray-500:#6b7280;--gray-600:#4b5563;--gray-700:#374151;--gray-800:#1f2937;--gray-900:#111827;--gray-950:#030712;--zinc-50:#fafafa;--zinc-100:#f4f4f5;--zinc-200:#e4e4e7;--zinc-300:#d4d4d8;--zinc-400:#a1a1aa;--zinc-500:#71717a;--zinc-600:#52525b;--zinc-700:#3f3f46;--zinc-800:#27272a;--zinc-900:#18181b;--zinc-950:#09090b;--neutral-50:#fafafa;--neutral-100:#f5f5f5;--neutral-200:#e5e5e5;--neutral-300:#d4d4d4;--neutral-400:#a3a3a3;--neutral-500:#737373;--neutral-600:#525252;--neutral-700:#404040;--neutral-800:#262626;--neutral-900:#171717;--neutral-950:#0a0a0a;--stone-50:#fafaf9;--stone-100:#f5f5f4;--stone-200:#e7e5e4;--stone-300:#d6d3d1;--stone-400:#a8a29e;--stone-500:#78716c;--stone-600:#57534e;--stone-700:#44403c;--stone-800:#292524;--stone-900:#1c1917;--stone-950:#0c0a09;--red-50:#fef2f2;--red-100:#fee2e2;--red-200:#fecaca;--red-300:#fca5a5;--red-400:#f87171;--red-500:#ef4444;--red-600:#dc2626;--red-700:#b91c1c;--red-800:#991b1b;--red-900:#7f1d1d;--red-950:#450a0a;--orange-50:#fff7ed;--orange-100:#ffedd5;--orange-200:#fed7aa;--orange-300:#fdba74;--orange-400:#fb923c;--orange-500:#f97316;--orange-600:#ea580c;--orange-700:#c2410c;--orange-800:#9a3412;--orange-900:#7c2d12;--orange-950:#431407;--amber-50:#fffbeb;--amber-100:#fef3c7;--amber-200:#fde68a;--amber-300:#fcd34d;--amber-400:#fbbf24;--amber-500:#f59e0b;--amber-600:#d97706;--amber-700:#b45309;--amber-800:#92400e;--amber-900:#78350f;--amber-950:#451a03;--yellow-50:#fefce8;--yellow-100:#fef9c3;--yellow-200:#fef08a;--yellow-300:#fde047;--yellow-400:#facc15;--yellow-500:#eab308;--yellow-600:#ca8a04;--yellow-700:#a16207;--yellow-800:#854d0e;--yellow-900:#713f12;--yellow-950:#422006;--lime-50:#f7fee7;--lime-100:#ecfccb;--lime-200:#d9f99d;--lime-300:#bef264;--lime-400:#a3e635;--lime-500:#84cc16;--lime-600:#65a30d;--lime-700:#4d7c0f;--lime-800:#3f6212;--lime-900:#365314;--lime-950:#1a2e05;--green-50:#f0fdf4;--green-100:#dcfce7;--green-200:#bbf7d0;--green-300:#86efac;--green-400:#4ade80;--green-500:#22c55e;--green-600:#16a34a;--green-700:#15803d;--green-800:#166534;--green-900:#14532d;--green-950:#052e16;--emerald-50:#ecfdf5;--emerald-100:#d1fae5;--emerald-200:#a7f3d0;--emerald-300:#6ee7b7;--emerald-400:#34d399;--emerald-500:#10b981;--emerald-600:#059669;--emerald-700:#047857;--emerald-800:#065f46;--emerald-900:#064e3b;--emerald-950:#022c22;--teal-50:#f0fdfa;--teal-100:#ccfbf1;--teal-200:#99f6e4;--teal-300:#5eead4;--teal-400:#2dd4bf;--teal-500:#14b8a6;--teal-600:#0d9488;--teal-700:#0f766e;--teal-800:#115e59;--teal-900:#134e4a;--teal-950:#042f2e;--cyan-50:#ecfeff;--cyan-100:#cffafe;--cyan-200:#a5f3fc;--cyan-300:#67e8f9;--cyan-400:#22d3ee;--cyan-500:#06b6d4;--cyan-600:#0891b2;--cyan-700:#0e7490;--cyan-800:#155e75;--cyan-900:#164e63;--cyan-950:#083344;--sky-50:#f0f9ff;--sky-100:#e0f2fe;--sky-200:#bae6fd;--sky-300:#7dd3fc;--sky-400:#38bdf8;--sky-500:#0ea5e9;--sky-600:#0284c7;--sky-700:#0369a1;--sky-800:#075985;--sky-900:#0c4a6e;--sky-950:#082f49;--blue-50:#eff6ff;--blue-100:#dbeafe;--blue-200:#bfdbfe;--blue-300:#93c5fd;--blue-400:#60a5fa;--blue-500:#3b82f6;--blue-600:#2563eb;--blue-700:#1d4ed8;--blue-800:#1e40af;--blue-900:#1e3a8a;--blue-950:#172554;--indigo-50:#eef2ff;--indigo-100:#e0e7ff;--indigo-200:#c7d2fe;--indigo-300:#a5b4fc;--indigo-400:#818cf8;--indigo-500:#6366f1;--indigo-600:#4f46e5;--indigo-700:#4338ca;--indigo-800:#3730a3;--indigo-900:#312e81;--indigo-950:#1e1b4b;--violet-50:#f5f3ff;--violet-100:#ede9fe;--violet-200:#ddd6fe;--violet-300:#c4b5fd;--violet-400:#a78bfa;--violet-500:#8b5cf6;--violet-600:#7c3aed;--violet-700:#6d28d9;--violet-800:#5b21b6;--violet-900:#4c1d95;--violet-950:#2e1065;--purple-50:#faf5ff;--purple-100:#f3e8ff;--purple-200:#e9d5ff;--purple-300:#d8b4fe;--purple-400:#c084fc;--purple-500:#a855f7;--purple-600:#9333ea;--purple-700:#7e22ce;--purple-800:#6b21a8;--purple-900:#581c87;--purple-950:#3b0764;--fuchsia-50:#fdf4ff;--fuchsia-100:#fae8ff;--fuchsia-200:#f5d0fe;--fuchsia-300:#f0abfc;--fuchsia-400:#e879f9;--fuchsia-500:#d946ef;--fuchsia-600:#c026d3;--fuchsia-700:#a21caf;--fuchsia-800:#86198f;--fuchsia-900:#701a75;--fuchsia-950:#4a044e;--pink-50:#fdf2f8;--pink-100:#fce7f3;--pink-200:#fbcfe8;--pink-300:#f9a8d4;--pink-400:#f472b6;--pink-500:#ec4899;--pink-600:#db2777;--pink-700:#be185d;--pink-800:#9d174d;--pink-900:#831843;--pink-950:#500724;--rose-50:#fff1f2;--rose-100:#ffe4e6;--rose-200:#fecdd3;--rose-300:#fda4af;--rose-400:#fb7185;--rose-500:#f43f5e;--rose-600:#e11d48;--rose-700:#be123c;--rose-800:#9f1239;--rose-900:#881337;--rose-950:#4c0519;--dark-bg:rgba(24,30,37,.85);--dark-bg-outside:rgba(18,24,31,.95);--brutalist-bg:var(--portfolio-bg,#101011);--brutalist-bg-secondary:var(--portfolio-surface,#1a1a1b);--brutalist-text:var(--portfolio-text,#c7c7cc);--brutalist-text-muted:var(--portfolio-muted,#6f717b);--brutalist-border:var(--portfolio-border,#2a2a2b);--brutalist-accent:var(--portfolio-accent,#a9aab1)}.portfolio-modal::-webkit-scrollbar{width:.5rem;background-color:#180b1e}.portfolio-modal::-webkit-scrollbar-thumb{border:1px solid #180b1e;border-radius:999px;background-color:#795581}.portfolio-modal::-webkit-scrollbar-thumb:hover{background-color:#a785b8}.portfolio-modal::-webkit-scrollbar-track{border-left:1px solid #5b3d64;background-color:#180b1e}::-webkit-scrollbar{width:.5rem;background-color:#101011}::-webkit-scrollbar-thumb{background-color:#6f717b;border:1px solid #2a2a2b}::-webkit-scrollbar-thumb:hover{background-color:#a9aab1}::-webkit-scrollbar-track{background-color:#101011;border-left:1px solid #2a2a2b}*{scrollbar-width:thin;scrollbar-color:#6f717b #101011}::-moz-selection{background-color:#a9aab1;color:#101011}::selection{background-color:#a9aab1;color:#101011}.brutalist-article-content{font-size:14px;line-height:1.8}.brutalist-article-content h1{font-size:2rem;font-weight:700;margin-top:2rem;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:2px solid var(--brutalist-border)}.brutalist-article-content h2{font-size:1.5rem;font-weight:700;margin-top:1.5rem;margin-bottom:.75rem;padding-bottom:.25rem;border-bottom:1px solid var(--brutalist-border)}.brutalist-article-content h3{font-size:1.25rem;font-weight:700;margin-top:1.25rem;margin-bottom:.5rem}.brutalist-article-content p{margin-bottom:1rem}.brutalist-article-content a{color:var(--brutalist-text);border-bottom:1px solid var(--brutalist-text);text-decoration:none;transition:all .2s}.brutalist-article-content a:hover{background-color:var(--brutalist-accent);color:var(--brutalist-bg)}.brutalist-article-content ol,.brutalist-article-content ul{margin-bottom:1rem;padding-left:2rem}.brutalist-article-content li{margin-bottom:.5rem}.brutalist-article-content code{background-color:var(--brutalist-bg-secondary);padding:.125rem .25rem;border:1px solid var(--brutalist-border);font-family:monospace}.brutalist-article-content pre{background-color:var(--brutalist-bg-secondary);border:2px solid var(--brutalist-border);padding:1rem;margin-bottom:1rem;overflow-x:auto}.brutalist-article-content pre code{background-color:transparent;padding:0;border:none}.brutalist-article-content blockquote{border-left:4px solid var(--brutalist-accent);padding-left:1rem;margin:1rem 0;font-style:italic}.brutalist-article-content img{max-width:100%;height:auto;border:2px solid var(--brutalist-border);margin:1rem 0}.brutalist-article-content table{width:100%;border:2px solid var(--brutalist-border);margin-bottom:1rem;border-collapse:collapse}.brutalist-article-content td,.brutalist-article-content th{border:1px solid var(--brutalist-border);padding:.5rem;text-align:left}.brutalist-article-content th{background-color:var(--brutalist-bg-secondary);font-weight:700}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.visible{visibility:visible}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.-inset-x-4{left:-1rem;right:-1rem}.-inset-y-6{top:-1.5rem;bottom:-1.5rem}.inset-x-10{left:2.5rem;right:2.5rem}.inset-y-0{top:0;bottom:0}.-bottom-px{bottom:-1px}.-left-1\/2{left:-50%}.-left-\[22px\]{left:-22px}.-top-1\/4{top:-25%}.-top-16{top:-4rem}.-top-\[14px\]{top:-14px}.bottom-0{bottom:0}.bottom-3{bottom:.75rem}.bottom-4{bottom:1rem}.bottom-full{bottom:100%}.left-0{left:0}.left-1\/4{left:25%}.left-10{left:2.5rem}.left-4{left:1rem}.left-6{left:1.5rem}.right-0{right:0}.right-1{right:.25rem}.right-2{right:.5rem}.right-3{right:.75rem}.right-4{right:1rem}.top-0{top:0}.top-1{top:.25rem}.top-2{top:.5rem}.top-20{top:5rem}.top-4{top:1rem}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-\[100\]{z-index:100}.z-\[9998\]{z-index:9998}.z-\[9999\]{z-index:9999}.order-first{order:-9999}.col-span-full{grid-column:1/-1}.row-span-1{grid-row:span 1/span 1}.\!m-0{margin:0!important}.m-2{margin:.5rem}.m-2\.5{margin:.625rem}.-my-4{margin-top:-1rem;margin-bottom:-1rem}.mx-3{margin-left:.75rem;margin-right:.75rem}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.my-16{margin-top:4rem;margin-bottom:4rem}.-mr-4{margin-right:-1rem}.mb-0{margin-bottom:0}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-20{margin-bottom:5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.mb-9{margin-bottom:2.25rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mr-4{margin-right:1rem}.mt-1{margin-top:.25rem}.mt-11{margin-top:2.75rem}.mt-12{margin-top:3rem}.mt-16{margin-top:4rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-auto{margin-top:auto}.line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.aspect-\[16\/10\]{aspect-ratio:16/10}.aspect-\[9\/10\]{aspect-ratio:9/10}.aspect-square{aspect-ratio:1/1}.aspect-video{aspect-ratio:16/9}.h-1{height:.25rem}.h-10{height:2.5rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-20{height:5rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-40{height:10rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-96{height:24rem}.h-\[300vh\]{height:300vh}.h-\[4\.5rem\]{height:4.5rem}.h-\[72px\]{height:72px}.h-\[calc\(100vh-8rem\)\]{height:calc(100vh - 8rem)}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.max-h-0{max-height:0}.max-h-48{max-height:12rem}.max-h-64{max-height:16rem}.max-h-\[90vh\]{max-height:90vh}.max-h-\[calc\(100dvh-6rem\)\]{max-height:calc(100dvh - 6rem)}.min-h-screen{min-height:100vh}.w-0{width:0}.w-0\.5{width:.125rem}.w-1\/2{width:50%}.w-10{width:2.5rem}.w-12{width:3rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-20{width:5rem}.w-24{width:6rem}.w-28{width:7rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-3\/4{width:75%}.w-32{width:8rem}.w-4{width:1rem}.w-40{width:10rem}.w-44{width:11rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-56{width:14rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-7{width:1.75rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-\[20\%\]{width:20%}.w-\[30rem\]{width:30rem}.w-\[4\.5rem\]{width:4.5rem}.w-\[40\%\]{width:40%}.w-\[calc\(100\%_-_1\.5rem\)\]{width:calc(100% - 1.5rem)}.w-\[calc\(33\.333\%-8px\)\]{width:calc(33.333% - 8px)}.w-auto{width:auto}.w-full{width:100%}.w-max{width:-moz-max-content;width:max-content}.min-w-0{min-width:0}.min-w-\[300px\]{min-width:300px}.min-w-full{min-width:100%}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-48{max-width:12rem}.max-w-4xl{max-width:56rem}.max-w-7xl{max-width:80rem}.max-w-\[500px\]{max-width:500px}.max-w-md{max-width:28rem}.max-w-none{max-width:none}.max-w-xl{max-width:36rem}.max-w-xs{max-width:20rem}.flex-1{flex:1 1 0%}.flex-auto{flex:1 1 auto}.flex-none{flex:none}.flex-shrink-0,.shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.-translate-x-1\/2{--tw-translate-x:-50%}.-translate-x-1\/2,.-translate-y-1\/2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y:-50%}.translate-x-1\/2{--tw-translate-x:50%}.translate-x-1\/2,.translate-y-1{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-1{--tw-translate-y:0.25rem}.-rotate-180{--tw-rotate:-180deg}.-rotate-180,.-rotate-2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-rotate-2{--tw-rotate:-2deg}.-rotate-6{--tw-rotate:-6deg}.-rotate-6,.rotate-0{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-0{--tw-rotate:0deg}.rotate-180{--tw-rotate:180deg}.rotate-180,.rotate-2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-2{--tw-rotate:2deg}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.animate-\[appear-bounce_0\.8s_ease-in-out_infinite\]{animation:appear-bounce .8s ease-in-out infinite}@keyframes slide-in-top{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}.animate-slide-in-top{animation:slide-in-top .3s ease-out}.cursor-grab{cursor:grab}.cursor-pointer{cursor:pointer}.resize-y{resize:vertical}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-x-2{-moz-column-gap:.5rem;column-gap:.5rem}.gap-x-3{-moz-column-gap:.75rem;column-gap:.75rem}.gap-y-1{row-gap:.25rem}.gap-y-2{row-gap:.5rem}.gap-y-8{row-gap:2rem}.space-x-20>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(5rem * var(--tw-space-x-reverse));margin-left:calc(5rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.75rem * var(--tw-space-x-reverse));margin-left:calc(.75rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-16>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(4rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(4rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-20>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.space-x-reverse>:not([hidden])~:not([hidden]){--tw-space-x-reverse:1}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.divide-brutalist-border>:not([hidden])~:not([hidden]){border-color:var(--portfolio-border,#2a2a2b)}.self-auto{align-self:auto}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis}.truncate,.whitespace-nowrap{white-space:nowrap}.whitespace-pre-line{white-space:pre-line}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-2{border-width:2px}.border-4{border-width:4px}.border-y{border-top-width:1px}.border-b,.border-y{border-bottom-width:1px}.border-l{border-left-width:1px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-\[\#180a1d\]{--tw-border-opacity:1;border-color:rgb(24 10 29/var(--tw-border-opacity))}.border-\[\#5b3d64\]{--tw-border-opacity:1;border-color:rgb(91 61 100/var(--tw-border-opacity))}.border-brutalist-accent{border-color:var(--portfolio-accent,#a9aab1)}.border-brutalist-border{border-color:var(--portfolio-border,#2a2a2b)}.border-brutalist-text{border-color:var(--portfolio-text,#c7c7cc)}.border-current{border-color:currentColor}.border-red-500{--tw-border-opacity:1;border-color:rgb(239 68 68/var(--tw-border-opacity))}.border-red-500\/60{border-color:rgba(239,68,68,.6)}.border-transparent{border-color:transparent}.border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity))}.border-white\/15{border-color:hsla(0,0%,100%,.15)}.border-t-transparent{border-top-color:transparent}.bg-\[\#100714\]\/75{background-color:rgba(16,7,20,.75)}.bg-\[\#180e20\]\/90{background-color:rgba(24,14,32,.9)}.bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity))}.bg-black\/20{background-color:rgba(0,0,0,.2)}.bg-black\/50{background-color:rgba(0,0,0,.5)}.bg-black\/70{background-color:rgba(0,0,0,.7)}.bg-brutalist-accent{background-color:var(--portfolio-accent,#a9aab1)}.bg-brutalist-bg{background-color:var(--portfolio-bg,#101011)}.bg-brutalist-bg-secondary{background-color:var(--portfolio-surface,#1a1a1b)}.bg-brutalist-border{background-color:var(--portfolio-border,#2a2a2b)}.bg-red-500{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity))}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.bg-zinc-100{--tw-bg-opacity:1;background-color:rgb(244 244 245/var(--tw-bg-opacity))}.bg-opacity-50{--tw-bg-opacity:0.5}.bg-opacity-70{--tw-bg-opacity:0.7}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-brutalist-bg-secondary{--tw-gradient-from:var(--portfolio-surface,#1a1a1b) var(--tw-gradient-from-position);--tw-gradient-to:hsla(0,0%,100%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-transparent{--tw-gradient-from:transparent var(--tw-gradient-from-position);--tw-gradient-to:transparent var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.via-emerald-500{--tw-gradient-to:rgba(16,185,129,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#10b981 var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-sky-500{--tw-gradient-to:rgba(14,165,233,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#0ea5e9 var(--tw-gradient-via-position),var(--tw-gradient-to)}.to-brutalist-bg{--tw-gradient-to:var(--portfolio-bg,#101011) var(--tw-gradient-to-position)}.to-transparent{--tw-gradient-to:transparent var(--tw-gradient-to-position)}.fill-brutalist-accent{fill:var(--portfolio-accent,#a9aab1)}.fill-brutalist-text-muted{fill:var(--portfolio-muted,#6f717b)}.fill-current{fill:currentColor}.fill-zinc-100{fill:#f4f4f5}.fill-zinc-700{fill:#3f3f46}.stroke-current{stroke:currentColor}.stroke-zinc-500{stroke:#71717a}.stroke-\[1px\]{stroke-width:1px}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.object-left-top{-o-object-position:left top;object-position:left top}.object-top{-o-object-position:top;object-position:top}.\!p-0{padding:0!important}.p-0{padding:0}.p-0\.5{padding:.125rem}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-0{padding-left:0;padding-right:0}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-0{padding-top:0;padding-bottom:0}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-20{padding-top:5rem;padding-bottom:5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-40{padding-top:10rem;padding-bottom:10rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-7{padding-top:1.75rem;padding-bottom:1.75rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-0{padding-bottom:0}.pb-12{padding-bottom:3rem}.pb-2{padding-bottom:.5rem}.pb-3{padding-bottom:.75rem}.pb-4{padding-bottom:1rem}.pb-5{padding-bottom:1.25rem}.pb-6{padding-bottom:1.5rem}.pl-2{padding-left:.5rem}.pl-3{padding-left:.75rem}.pl-3\.5{padding-left:.875rem}.pt-16{padding-top:4rem}.pt-20{padding-top:5rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.pt-5{padding-top:1.25rem}.pt-6{padding-top:1.5rem}.pt-7{padding-top:1.75rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-mono{font-family:var(--font-mono),Courier New,monospace}.font-sans{font-family:var(--font-sans),system-ui,sans-serif}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2rem;line-height:2.5rem}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[13px\]{font-size:13px}.text-\[9px\]{font-size:9px}.text-base{font-size:1rem;line-height:1.75rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.5rem}.text-xl{font-size:1.25rem;line-height:2rem}.text-xs{font-size:.8125rem;line-height:1.5rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.italic{font-style:italic}.leading-4{line-height:1rem}.leading-6{line-height:1.5rem}.leading-7{line-height:1.75rem}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.leading-tight{line-height:1.25}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.text-\[\#180A1D\]{--tw-text-opacity:1;color:rgb(24 10 29/var(--tw-text-opacity))}.text-\[\#d0b1db\]{--tw-text-opacity:1;color:rgb(208 177 219/var(--tw-text-opacity))}.text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity))}.text-brutalist-accent{color:var(--portfolio-accent,#a9aab1)}.text-brutalist-bg{color:var(--portfolio-bg,#101011)}.text-brutalist-border{color:var(--portfolio-border,#2a2a2b)}.text-brutalist-text{color:var(--portfolio-text,#c7c7cc)}.text-brutalist-text-muted{color:var(--portfolio-muted,#6f717b)}.text-current{color:currentColor}.text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity))}.text-neutral-600{--tw-text-opacity:1;color:rgb(82 82 82/var(--tw-text-opacity))}.text-red-400{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity))}.text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity))}.text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-50{opacity:.5}.opacity-70{opacity:.7}.shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-\[0_2px_0_\#100614\]{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-\[0_2px_0_\#100614\]{--tw-shadow:0 2px 0 #100614;--tw-shadow-colored:0 2px 0 var(--tw-shadow-color)}.shadow-\[2px_2px_0_\#0e0713\]{--tw-shadow:2px 2px 0 #0e0713;--tw-shadow-colored:2px 2px 0 var(--tw-shadow-color)}.shadow-\[2px_2px_0_\#0e0713\],.shadow-input{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-input{--tw-shadow:0px 2px 3px -1px rgba(0,0,0,.1),0px 1px 0px 0px rgba(25,28,33,.02),0px 0px 0px 1px rgba(25,28,33,.08);--tw-shadow-colored:0px 2px 3px -1px var(--tw-shadow-color),0px 1px 0px 0px var(--tw-shadow-color),0px 0px 0px 1px var(--tw-shadow-color)}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-lg,.shadow-xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color)}.outline-offset-2{outline-offset:2px}.ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-brutalist-accent{--tw-ring-color:var(--portfolio-accent,#a9aab1)}.blur{--tw-blur:blur(8px)}.blur,.grayscale{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.grayscale{--tw-grayscale:grayscale(100%)}.filter{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{--tw-backdrop-blur:blur(8px)}.backdrop-blur,.backdrop-blur-sm{backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-sm{--tw-backdrop-blur:blur(4px)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[filter\]{transition-property:filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.\[-ms-overflow-style\:none\]{-ms-overflow-style:none}.\[-webkit-scrollbar\:hidden\]{-webkit-scrollbar:hidden}.\[mask\:linear-gradient\(to_bottom\2c white\2c white\2c transparent\)\]{-webkit-mask:linear-gradient(180deg,#fff,#fff,transparent);mask:linear-gradient(180deg,#fff,#fff,transparent)}.\[perspective\:1000px\]{perspective:1000px}.\[scrollbar-color\:\#70567d_\#180b1e\]{scrollbar-color:#70567d #180b1e}.\[scrollbar-width\:none\]{scrollbar-width:none}.\[transform-style\:preserve-3d\]{transform-style:preserve-3d}.file\:border-0::file-selector-button{border-width:0}.file\:bg-transparent::file-selector-button{background-color:transparent}.file\:font-mono::file-selector-button{font-family:var(--font-mono),Courier New,monospace}.file\:text-xs::file-selector-button{font-size:.8125rem;line-height:1.5rem}.placeholder\:text-brutalist-text-muted::-moz-placeholder{color:var(--portfolio-muted,#6f717b)}.placeholder\:text-brutalist-text-muted::placeholder{color:var(--portfolio-muted,#6f717b)}.hover\:-translate-y-1:hover{--tw-translate-y:-0.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:border-brutalist-accent:hover{border-color:var(--portfolio-accent,#a9aab1)}.hover\:bg-brutalist-accent:hover{background-color:var(--portfolio-accent,#a9aab1)}.hover\:bg-brutalist-bg-secondary:hover{background-color:var(--portfolio-surface,#1a1a1b)}.hover\:bg-brutalist-border:hover{background-color:var(--portfolio-border,#2a2a2b)}.hover\:bg-brutalist-text:hover{background-color:var(--portfolio-text,#c7c7cc)}.hover\:bg-red-500:hover{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity))}.hover\:bg-red-600:hover{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity))}.hover\:text-brutalist-accent:hover{color:var(--portfolio-accent,#a9aab1)}.hover\:text-brutalist-bg:hover{color:var(--portfolio-bg,#101011)}.hover\:text-brutalist-text:hover{color:var(--portfolio-text,#c7c7cc)}.hover\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.hover\:shadow-xl:hover{--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.focus\:border-brutalist-accent:focus{border-color:var(--portfolio-accent,#a9aab1)}.focus\:border-red-600:focus{--tw-border-opacity:1;border-color:rgb(220 38 38/var(--tw-border-opacity))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus-visible\:border-brutalist-accent:focus-visible{border-color:var(--portfolio-accent,#a9aab1)}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-inset:focus-visible{--tw-ring-inset:inset}.focus-visible\:ring-brutalist-accent:focus-visible{--tw-ring-color:var(--portfolio-accent,#a9aab1)}.active\:cursor-grabbing:active{cursor:grabbing}.active\:bg-brutalist-accent:active{background-color:var(--portfolio-accent,#a9aab1)}.active\:bg-brutalist-bg-secondary:active{background-color:var(--portfolio-surface,#1a1a1b)}.active\:transition-none:active{transition-property:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}.group:focus-within .group-focus-within\:translate-y-0{--tw-translate-y:0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:focus-within .group-focus-within\:opacity-100{opacity:1}.group:hover .group-hover\:z-30{z-index:30}.group\/bento:hover .group-hover\/bento\:translate-x-2{--tw-translate-x:0.5rem}.group:hover .group-hover\:translate-y-0,.group\/bento:hover .group-hover\/bento\:translate-x-2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:translate-y-0{--tw-translate-y:0px}.group\/card:hover .group-hover\/card\:scale-\[1\.015\]{--tw-scale-x:1.015;--tw-scale-y:1.015}.group:hover .group-hover\:scale-105,.group\/card:hover .group-hover\/card\:scale-\[1\.015\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:scale-105{--tw-scale-x:1.05;--tw-scale-y:1.05}.group:hover .group-hover\:fill-brutalist-accent{fill:var(--portfolio-accent,#a9aab1)}.group:hover .group-hover\:fill-brutalist-text{fill:var(--portfolio-text,#c7c7cc)}.group:hover .group-hover\:fill-zinc-200{fill:#e4e4e7}.group:hover .group-hover\:stroke-zinc-700{stroke:#3f3f46}.group:hover .group-hover\:text-brutalist-accent{color:var(--portfolio-accent,#a9aab1)}.group:hover .group-hover\:text-brutalist-text{color:var(--portfolio-text,#c7c7cc)}.group\/card:hover .group-hover\/card\:opacity-\[0\.03\]{opacity:.03}.group\/product:hover .group-hover\/product\:opacity-100{opacity:1}.group\/product:hover .group-hover\/product\:opacity-80{opacity:.8}.group:hover .group-hover\:opacity-100{opacity:1}.group\/product:hover .group-hover\/product\:shadow-2xl{--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.group:hover .group-hover\:grayscale-0{--tw-grayscale:grayscale(0);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)}.peer:checked~.peer-checked\:border-brutalist-accent{border-color:var(--portfolio-accent,#a9aab1)}.peer:checked~.peer-checked\:bg-brutalist-accent{background-color:var(--portfolio-accent,#a9aab1)}.peer:checked~.peer-checked\:opacity-100{opacity:1}.peer:disabled~.peer-disabled\:cursor-not-allowed{cursor:not-allowed}.peer:disabled~.peer-disabled\:opacity-70{opacity:.7}@media (min-width:418px){.min-\[418px\]\:inline{display:inline}}@media (min-width:640px){.sm\:my-24{margin-top:6rem;margin-bottom:6rem}.sm\:mt-0{margin-top:0}.sm\:mt-20{margin-top:5rem}.sm\:line-clamp-none{overflow:visible;display:block;-webkit-box-orient:horizontal;-webkit-line-clamp:none}.sm\:inline{display:inline}.sm\:flex{display:flex}.sm\:inline-flex{display:inline-flex}.sm\:hidden{display:none}.sm\:h-10{height:2.5rem}.sm\:h-16{height:4rem}.sm\:h-4{height:1rem}.sm\:h-7{height:1.75rem}.sm\:max-h-\[calc\(100dvh-7\.5rem\)\]{max-height:calc(100dvh - 7.5rem)}.sm\:w-10{width:2.5rem}.sm\:w-20{width:5rem}.sm\:w-4{width:1rem}.sm\:w-7{width:1.75rem}.sm\:w-72{width:18rem}.sm\:w-\[140px\]{width:140px}.sm\:w-\[calc\(100\%_-_3rem\)\]{width:calc(100% - 3rem)}.sm\:flex-auto{flex:1 1 auto}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-start{align-items:flex-start}.sm\:items-center{align-items:center}.sm\:justify-between{justify-content:space-between}.sm\:gap-4{gap:1rem}.sm\:gap-8{gap:2rem}.sm\:rounded-2xl{border-radius:1rem}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:px-8{padding-left:2rem;padding-right:2rem}.sm\:py-3{padding-top:.75rem;padding-bottom:.75rem}.sm\:py-9{padding-top:2.25rem;padding-bottom:2.25rem}.sm\:pb-6{padding-bottom:1.5rem}.sm\:pt-24{padding-top:6rem}.sm\:pt-32{padding-top:8rem}.sm\:text-3xl{font-size:1.875rem;line-height:2.25rem}.sm\:text-4xl{font-size:2rem;line-height:2.5rem}.sm\:text-5xl{font-size:3rem;line-height:3.5rem}.sm\:text-\[13px\]{font-size:13px}.sm\:text-base{font-size:1rem;line-height:1.75rem}.sm\:text-xs{font-size:.8125rem;line-height:1.5rem}.sm\:leading-relaxed{line-height:1.625}}@media (min-width:768px){.md\:col-span-3{grid-column:span 3/span 3}.md\:col-start-1{grid-column-start:1}.md\:col-start-2{grid-column-start:2}.md\:col-start-3{grid-column-start:3}.md\:row-start-1{grid-row-start:1}.md\:mx-auto{margin-left:auto;margin-right:auto}.md\:ml-0{margin-left:0}.md\:block{display:block}.md\:inline{display:inline}.md\:grid{display:grid}.md\:hidden{display:none}.md\:h-fit{height:-moz-fit-content;height:fit-content}.md\:max-h-\[90\%\]{max-height:90%}.md\:max-w-4xl{max-width:56rem}.md\:auto-rows-\[18rem\]{grid-auto-rows:18rem}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:grid-cols-\[1fr_auto_1fr\]{grid-template-columns:1fr auto 1fr}.md\:gap-6{gap:1.5rem}.md\:justify-self-start{justify-self:start}.md\:justify-self-end{justify-self:end}.md\:justify-self-center{justify-self:center}.md\:border-l{border-left-width:1px}.md\:border-brutalist-border{border-color:var(--portfolio-border,#2a2a2b)}.md\:px-12{padding-left:3rem;padding-right:3rem}.md\:px-8{padding-left:2rem;padding-right:2rem}.md\:py-40{padding-top:10rem;padding-bottom:10rem}.md\:pl-6{padding-left:1.5rem}.md\:text-3xl{font-size:1.875rem;line-height:2.25rem}.md\:text-7xl{font-size:4.5rem;line-height:1}.md\:text-xl{font-size:1.25rem;line-height:2rem}.md\:text-xs{font-size:.8125rem;line-height:1.5rem}}@media (min-width:1024px){.lg\:fixed{position:fixed}.lg\:inset-y-0{top:0;bottom:0}.lg\:mt-16{margin-top:4rem}.lg\:mt-6{margin-top:1.5rem}.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:w-64{width:16rem}.lg\:max-w-6xl{max-width:72rem}.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\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.lg\:flex-col{flex-direction:column}.lg\:items-start{align-items:flex-start}.lg\:gap-y-8{row-gap:2rem}.lg\:px-12{padding-left:3rem;padding-right:3rem}.lg\:px-8{padding-left:2rem;padding-right:2rem}.lg\:pl-20{padding-left:5rem}.lg\:pl-64{padding-left:16rem}}@media (min-width:1280px){.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.xl\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}}.dark\:block:where(.dark,.dark *){display:block}.dark\:hidden:where(.dark,.dark *){display:none}.dark\:border-slate-700:where(.dark,.dark *){--tw-border-opacity:1;border-color:rgb(51 65 85/var(--tw-border-opacity))}.dark\:border-white\/\[0\.2\]:where(.dark,.dark *){border-color:hsla(0,0%,100%,.2)}.dark\:bg-black:where(.dark,.dark *){--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity))}.dark\:bg-slate-900\/95:where(.dark,.dark *){background-color:rgba(15,23,42,.95)}.dark\:bg-white:where(.dark,.dark *){--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.dark\:bg-zinc-800:where(.dark,.dark *){--tw-bg-opacity:1;background-color:rgb(39 39 42/var(--tw-bg-opacity))}.dark\:text-neutral-200:where(.dark,.dark *){--tw-text-opacity:1;color:rgb(229 229 229/var(--tw-text-opacity))}.dark\:text-neutral-300:where(.dark,.dark *){--tw-text-opacity:1;color:rgb(212 212 212/var(--tw-text-opacity))}.dark\:text-white:where(.dark,.dark *){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.dark\:shadow-none:where(.dark,.dark *){--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}@media(prefers-color-scheme:dark){.group:hover .\[\@media\(prefers-color-scheme\:dark\)\]\:group-hover\:stroke-zinc-400{stroke:#a1a1aa}}