@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/fef07dbb0973bf53-s.12tyk43_3sh9u.woff2?dpl=dpl_4WVqoy93uhnSSuYkuf9iiw3XGhfs)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.0jzbimsg8vl84.woff2?dpl=dpl_4WVqoy93uhnSSuYkuf9iiw3XGhfs)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/53b9e256198e5412-s.0-wfv7uh4i7h9.woff2?dpl=dpl_4WVqoy93uhnSSuYkuf9iiw3XGhfs)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307-s.0nx0ww8fni_q3.woff2?dpl=dpl_4WVqoy93uhnSSuYkuf9iiw3XGhfs)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.09~u27dqhyhd6.woff2?dpl=dpl_4WVqoy93uhnSSuYkuf9iiw3XGhfs)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.geist_2ae47f08-module__h69qWW__className{font-family:Geist,Geist Fallback;font-style:normal}.geist_2ae47f08-module__h69qWW__variable{--font-geist-sans:"Geist", "Geist Fallback"}
@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5ce348bf30bf5439-s.0ee55_hj9qcer.woff2?dpl=dpl_4WVqoy93uhnSSuYkuf9iiw3XGhfs)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/4fa387ec64143e14-s.0.qu-9752pffj.woff2?dpl=dpl_4WVqoy93uhnSSuYkuf9iiw3XGhfs)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/6306c77e7c8268e4-s.0mao5jbfbduzp.woff2?dpl=dpl_4WVqoy93uhnSSuYkuf9iiw3XGhfs)format("woff2");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7d817b4c03b0c5f1-s.0uzt.a6d44yda.woff2?dpl=dpl_4WVqoy93uhnSSuYkuf9iiw3XGhfs)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/bbc41e54d2fcbd21-s.0mvwgmnhv29no.woff2?dpl=dpl_4WVqoy93uhnSSuYkuf9iiw3XGhfs)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/797e433ab948586e-s.p.09zddjkbdep5a.woff2?dpl=dpl_4WVqoy93uhnSSuYkuf9iiw3XGhfs)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Fallback;src:local(Arial);ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.0%;size-adjust:134.59%}.geist_mono_eb58308d-module__w_p2Lq__className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.geist_mono_eb58308d-module__w_p2Lq__variable{--font-geist-mono:"Geist Mono", "Geist Mono Fallback"}
@font-face{font-family:League Spartan;font-style:normal;font-weight:400;font-display:swap;src:url(../media/8bf306ca80378054-s.0a2gw3m~tmmuo.woff2?dpl=dpl_4WVqoy93uhnSSuYkuf9iiw3XGhfs)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:League Spartan;font-style:normal;font-weight:400;font-display:swap;src:url(../media/d33cd7f74dcc750d-s.127drn1~fg-p7.woff2?dpl=dpl_4WVqoy93uhnSSuYkuf9iiw3XGhfs)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:League Spartan;font-style:normal;font-weight:400;font-display:swap;src:url(../media/7a514bda021b6b92-s.p.03qqrkzd7dd6i.woff2?dpl=dpl_4WVqoy93uhnSSuYkuf9iiw3XGhfs)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:League Spartan;font-style:normal;font-weight:500;font-display:swap;src:url(../media/8bf306ca80378054-s.0a2gw3m~tmmuo.woff2?dpl=dpl_4WVqoy93uhnSSuYkuf9iiw3XGhfs)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:League Spartan;font-style:normal;font-weight:500;font-display:swap;src:url(../media/d33cd7f74dcc750d-s.127drn1~fg-p7.woff2?dpl=dpl_4WVqoy93uhnSSuYkuf9iiw3XGhfs)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:League Spartan;font-style:normal;font-weight:500;font-display:swap;src:url(../media/7a514bda021b6b92-s.p.03qqrkzd7dd6i.woff2?dpl=dpl_4WVqoy93uhnSSuYkuf9iiw3XGhfs)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:League Spartan;font-style:normal;font-weight:600;font-display:swap;src:url(../media/8bf306ca80378054-s.0a2gw3m~tmmuo.woff2?dpl=dpl_4WVqoy93uhnSSuYkuf9iiw3XGhfs)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:League Spartan;font-style:normal;font-weight:600;font-display:swap;src:url(../media/d33cd7f74dcc750d-s.127drn1~fg-p7.woff2?dpl=dpl_4WVqoy93uhnSSuYkuf9iiw3XGhfs)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:League Spartan;font-style:normal;font-weight:600;font-display:swap;src:url(../media/7a514bda021b6b92-s.p.03qqrkzd7dd6i.woff2?dpl=dpl_4WVqoy93uhnSSuYkuf9iiw3XGhfs)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:League Spartan;font-style:normal;font-weight:700;font-display:swap;src:url(../media/8bf306ca80378054-s.0a2gw3m~tmmuo.woff2?dpl=dpl_4WVqoy93uhnSSuYkuf9iiw3XGhfs)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:League Spartan;font-style:normal;font-weight:700;font-display:swap;src:url(../media/d33cd7f74dcc750d-s.127drn1~fg-p7.woff2?dpl=dpl_4WVqoy93uhnSSuYkuf9iiw3XGhfs)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:League Spartan;font-style:normal;font-weight:700;font-display:swap;src:url(../media/7a514bda021b6b92-s.p.03qqrkzd7dd6i.woff2?dpl=dpl_4WVqoy93uhnSSuYkuf9iiw3XGhfs)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:League Spartan Fallback;src:local(Arial);ascent-override:75.47%;descent-override:23.72%;line-gap-override:0.0%;size-adjust:92.75%}.league_spartan_1ba23b06-module__bfU05q__className{font-family:League Spartan,League Spartan Fallback;font-style:normal}.league_spartan_1ba23b06-module__bfU05q__variable{--font-league-spartan:"League Spartan", "League Spartan Fallback"}
:root{--bg-primary:#0a0a0a;--bg-secondary:#121212;--bg-tertiary:#1a1a1a;--text-primary:#fff;--text-secondary:#b3b3b3;--accent-pink:#ff6fdb;--accent-violet:#9438c6;--accent-blue:#79beee;--accent-primary:var(--accent-violet);--accent-secondary:var(--accent-pink);--font-primary:var(--font-league-spartan), system-ui, sans-serif;--font-secondary:var(--font-geist-sans), system-ui, sans-serif;--font-mono:var(--font-geist-mono), monospace;--transition-fast:.2s;--transition-medium:.4s;--transition-slow:.6s;--font-size-xs:.75rem;--font-size-sm:.875rem;--font-size-md:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:1.875rem;--font-size-4xl:2.25rem;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-6:1.5rem;--space-8:2rem;--space-12:3rem;--space-16:4rem;transition:background-color 1s,color 1s,border-color 1s,box-shadow 1s}html,body{transition:background-color 1s,color 1s}*,:before,:after{transition:background-color 1s,color 1s,border-color 1s,box-shadow 1s}
@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}@keyframes holographicShimmer{0%{filter:hue-rotate()brightness()saturate(1.1);background-position:0%}25%{filter:hue-rotate(10deg)brightness(1.1)saturate(1.2);background-position:50% 100%}50%{filter:hue-rotate(20deg)brightness(1.2)saturate(1.3);background-position:100%}75%{filter:hue-rotate(10deg)brightness(1.1)saturate(1.2);background-position:50% 0}to{filter:hue-rotate()brightness()saturate(1.1);background-position:0%}}@keyframes float{0%{transform:translateY(0)}50%{transform:translateY(-5px)}to{transform:translateY(0)}}@keyframes shine{0%{background-position:-100% -100%}25%{background-position:0 0}50%{background-position:100% 100%}75%{background-position:200% 200%}to{background-position:300% 300%}}@keyframes glowPulse{0%{box-shadow:0 15px 30px #0000004d,0 0 20px 5px #ff6fdb4d}33%{box-shadow:0 15px 30px #0000004d,0 0 20px 5px #9438c64d}66%{box-shadow:0 15px 30px #0000004d,0 0 20px 5px #79beee4d}to{box-shadow:0 15px 30px #0000004d,0 0 20px 5px #ff6fdb4d}}.animate-fadeIn{animation:fadeIn var(--transition-medium) ease-in-out}.animate-slideUp{animation:slideUp var(--transition-medium) ease-out}.animate-scaleIn{animation:scaleIn var(--transition-medium) ease-out}.animate-pulse{animation:2s infinite pulse}.animate-holographic{animation:5s infinite holographicShimmer}.animate-float{animation:6s ease-in-out infinite float}.animate-shine{animation:2s linear infinite shine}.delay-1{animation-delay:.1s}.delay-2{animation-delay:.2s}.delay-3{animation-delay:.3s}.delay-4{animation-delay:.4s}.delay-5{animation-delay:.5s}.duration-fast{animation-duration:.3s}.duration-medium{animation-duration:.5s}.duration-slow{animation-duration:.8s}.ease-out-cubic{animation-timing-function:cubic-bezier(.19,1,.22,1)}.ease-in-out-cubic{animation-timing-function:cubic-bezier(.645,.045,.355,1)}
html[data-theme=light] .iconWrapper,html[data-theme=light] .tool{background-color:#f0f0f0cc!important;box-shadow:0 2px 4px #0000001a!important}html[data-theme=light] .jsIcon,html[data-theme=light] .tsIcon,html[data-theme=light] .htmlIcon,html[data-theme=light] .cssIcon,html[data-theme=light] .reactIcon,html[data-theme=light] .nextjsIcon,html[data-theme=light] .vueIcon,html[data-theme=light] .nodeIcon,html[data-theme=light] .pythonIcon,html[data-theme=light] .javaIcon,html[data-theme=light] .expressIcon,html[data-theme=light] .djangoIcon,html[data-theme=light] .postgresqlIcon,html[data-theme=light] .mongodbIcon,html[data-theme=light] .firebaseIcon,html[data-theme=light] .flutterIcon,html[data-theme=light] .swiftIcon,html[data-theme=light] .cursorIcon,html[data-theme=light] .claudeIcon,html[data-theme=light] .supabaseIcon{filter:brightness(.8)!important}html[data-theme=light] .tooltipTitle,html[data-theme=light] .tooltipDescription{color:#000!important;text-shadow:0 1px 2px #ffffff80!important}html[data-theme=light] .skills.has-active-tooltip .skillsRow,html[data-theme=light] .skills.has-active-tooltip h2,html[data-theme=light] .skills.has-active-tooltip h3,html[data-theme=light] .skills.has-active-tooltip .softSkillsInToolbox{filter:blur(4px)brightness(.6)!important}html[data-theme=light] .tooltipContent{-webkit-backdrop-filter:blur(10px)!important;backdrop-filter:blur(10px)!important;background-color:#ffffffe6!important;box-shadow:0 4px 15px #00000026!important}html[data-theme=light] .activeIcon{filter:drop-shadow(0 0 12px #0003)!important}html[data-theme=light] .projectLink,html[data-theme=light] .resumeButton,html[data-theme=light] .downloadButton{color:#fff!important;background-color:#000!important}html[data-theme=light] .projectLink:hover,html[data-theme=light] .resumeButton:hover,html[data-theme=light] .downloadButton:hover{opacity:.9!important;background-color:#000!important}html[data-theme=light] .projectCard{background-color:#fff!important;box-shadow:0 4px 15px #00000014!important}html[data-theme=light] .projectCard h3{color:#2d2d2d!important}html[data-theme=light] .projectTags{background-color:#f0f0ed!important}html[data-theme=light] .projectTag{color:#2d2d2d!important;background-color:#e5e5e0!important}html[data-theme=light] .navContainer{background-color:#f8f8f5cc!important;box-shadow:0 2px 10px #0000000d!important}html[data-theme=light] .navItem{color:#5a5a5a!important}html[data-theme=light] .navItem:hover,html[data-theme=light] .navItem.active{color:#2d2d2d!important}html[data-theme=light] .contactCard,html[data-theme=light] .headerCard{background-color:#fff!important;box-shadow:0 4px 15px #00000014!important}html[data-theme=light] .contactCard h2,html[data-theme=light] .headerCard h1,html[data-theme=light] .contactCard p,html[data-theme=light] .headerCard p,html[data-theme=light] .contactForm label,html[data-theme=light] .contactText,html[data-theme=light] .contactInfo,html[data-theme=light] .cardIcon{color:#000!important}html[data-theme=light] .contactForm input,html[data-theme=light] .contactForm textarea,html[data-theme=light] .contactForm select{color:#000!important;background-color:#f8f8f5!important;border:1px solid #0000001a!important}html[data-theme=light] .contactForm input:focus,html[data-theme=light] .contactForm textarea:focus,html[data-theme=light] .contactForm select:focus{border-color:var(--accent-violet)!important}html[data-theme=light] .submitButton{color:#fff!important;background-color:#000!important}html[data-theme=light] .submitButton:hover{opacity:.9!important;background-color:#000!important}html[data-theme=light] .socialLink{color:#000!important;background-color:#f0f0ed!important}html[data-theme=light] .socialIcon{color:#000!important}html[data-theme=light] .navItem.active{color:#000!important;font-weight:600!important}html[data-theme=light] .rightColumn::-webkit-scrollbar-thumb{background-color:#0003!important}html[data-theme=light] code{color:#000!important;background-color:#f0f0ed!important}html[data-theme=light] .bentoBox{background-color:#fff!important;box-shadow:0 4px 15px #0000000d!important}html[data-theme=light] .profileCard{background-color:#fff!important;box-shadow:0 10px 30px #0000001a,0 2px 8px #0000000d!important}
html[data-theme=light] .skills.has-active-tooltip .skillsRow,html[data-theme=light] .skills.has-active-tooltip h2,html[data-theme=light] .skills.has-active-tooltip h3,html[data-theme=light] .skills.has-active-tooltip .softSkillsInToolbox{filter:blur(4px)brightness(.5)!important}html[data-theme=light] .tooltipContent{background-color:#0000!important}html[data-theme=light] .tooltipTitle,html[data-theme=light] .tooltipDescription{color:#000!important;text-shadow:0 0 5px #ffffffe6,0 0 10px #ffffffb3!important}html[data-theme=light] .resumeButton,html[data-theme=light] .downloadButton{color:#fff!important;background-color:#000!important;border:none!important}html[data-theme=light] .resumeButton:hover,html[data-theme=light] .downloadButton:hover{opacity:.9!important;background-color:#000!important}html[data-theme=light] .projectLink{color:#fff!important;background-color:#000!important;border:none!important}html[data-theme=light] .projectLink:hover{opacity:.9!important;background-color:#000!important}html[data-theme=light] .contactCard h2,html[data-theme=light] .headerCard h1,html[data-theme=light] .contactCard p,html[data-theme=light] .headerCard p,html[data-theme=light] .contactForm label,html[data-theme=light] .contactText,html[data-theme=light] .contactInfo,html[data-theme=light] .contactForm input,html[data-theme=light] .contactForm textarea,html[data-theme=light] .contactForm select,html[data-theme=light] .cardIcon,html[data-theme=light] .socialLink,html[data-theme=light] .socialIcon{color:#000!important}html[data-theme=light] .submitButton{color:#fff!important;background-color:#000!important;border:none!important}html[data-theme=light] .submitButton:hover{opacity:.9!important;background-color:#000!important}
:root{transition:all 1.5s}html,body{transition:background-color 1.5s,color 1.5s}body,div,section,article,header,footer,nav,aside,main,h1,h2,h3,h4,h5,h6,p,span,a,button,input,textarea,select,label,ul,ol,li,.bentoBox,.contactCard,.headerCard,.projectCard,.profileCard,.navContainer,.toggleTrack,.toggleThumb,.iconWrapper,.tool,.projectLink,.resumeButton,.downloadButton,.submitButton,.socialLink{transition:background-color 1.5s,color 1.5s,border-color 1.5s,box-shadow 1.5s}.tooltipContent,.tooltipTitle,.tooltipDescription,.activeIcon,.activeIconContainer{transition:none!important}
*{box-sizing:border-box;margin:0;padding:0}.skipToContent{background:var(--accent-primary);color:var(--bg-primary);z-index:10000;border-radius:4px;padding:8px 16px;font-weight:600;text-decoration:none;transition:top .2s;position:absolute;top:-40px;left:0}.skipToContent:focus{outline:3px solid var(--accent-blue);outline-offset:2px;top:0}:focus-visible{outline:3px solid var(--accent-blue);outline-offset:2px;border-radius:2px}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--accent-blue);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}html{scrollbar-gutter:stable;max-width:100vw;overflow-x:hidden}html,body{font-family:var(--font-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{color:var(--text-primary);background:var(--bg-primary);max-width:100vw;min-height:100vh;overflow-x:hidden}.app-container{width:100%;max-width:100vw;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-primary);font-weight:700}p{font-family:var(--font-primary)}a{color:inherit;transition:color var(--transition-fast) ease;font-family:var(--font-primary);text-decoration:none}a:hover{color:var(--accent-primary)}code{font-family:var(--font-mono)}.container{width:100%;max-width:1200px;padding:0 var(--space-4);margin:0 auto}@media (prefers-color-scheme:dark){:root{--background:#0a0a0a;--foreground:#ededed}html{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}
