:root{--pink-100: #F6E6EB;--pink-200: #F2CBD8;--pink-300: #EFAFC5;--pink-400: #EB92B1;--pink-500: #E56FA8;--pink-600: #D95A94;--pink-700: #C24480;--pink-800: #9E3569;--pink-900: #7B2A54;--black: #080205;--black-2: #2B1A1D;--white: #ffffff;--accent-1: var(--pink-500);--accent-2: var(--pink-600);--bg: var(--pink-300);--bg-2: var(--black);--fs-base: clamp(1rem, 1.25vw, 1.125rem);--fs-sm: clamp(.875rem, 1vw, 1rem);--fs-lg: clamp(1.125rem, 1.5vw, 1.25rem);--fs-xl: clamp(1.25rem, 2vw, 1.5rem);--fs-2xl: clamp(1.5rem, 3vw, 2rem);--fs-3xl: clamp(2rem, 4vw, 3rem);--fs-4xl: clamp(2.5rem, 6vw, 4rem);--fs-5xl: clamp(3rem, 7vw, 6rem);--fw-medium: 500;--fw-bold: 700;--fw-black: 900;--lh-vtight: 1;--lh-tight: 1.2;--lh-base: 1.4;--lh-relaxed: 1.6;--lh-loose: 1.8;--space-xs: clamp(.25rem, .5vw, .5rem);--space-sm: clamp(.5rem, 1vw, 1rem);--space-md: clamp(1rem, 2vw, 2rem);--space-lg: clamp(1.5rem, 3vw, 3rem);--space-xl: clamp(2rem, 4vw, 4rem);--space-2xl: clamp(3rem, 6vw, 6rem);--space-3xl: clamp(4rem, 8vw, 8rem);--font-main: "Helvetica Neue", Helvetica, Arial, system-ui, sans-serif;--radius-sm: .25rem;--radius-md: .5rem;--radius-lg: 1rem;--radius-xl: 1.5rem;--z-content: 90;--z-header: 100;--z-modal: 200;--z-hamburger: 300}body.dark{--dm-purple-100: #cbb4e9;--dm-purple-200: #b497d6;--dm-purple-300: #9c7cc3;--dm-purple-400: #7e5ea8;--dm-purple-500: #5a2d82;--dm-purple-600: #4b256c;--dm-purple-700: #3a1a4f;--dm-purple-800: #2c143a;--dm-purple-900: #1b0b26;--dm-accent-pink-100: #f8d6ff;--dm-accent-pink-200: #f0baff;--dm-accent-pink-300: #e68cff;--dm-accent-pink-400: #d25be8;--dm-black: #120912;--dm-black-2: #1a101a;--dm-white: #f8ecff;--accent-1: var(--dm-accent-pink-400);--accent-2: var(--dm-purple-400);--bg: var(--dm-purple-800);--bg-2: var(--dm-black);--text-color: var(--dm-white)}*,*:after,*:before{box-sizing:border-box;margin:0;padding:0;-webkit-user-drag:none}*,*:hover,*:active,*:focus{cursor:none!important}html{scroll-behavior:smooth}body,html{margin:0;padding:0;transition:background-color .3s ease,color .3s ease;width:100%}body{background-color:var(--dm-black-2);background-image:radial-gradient(var(--dm-purple-500) 1px,transparent 1px),radial-gradient(var(--dm-purple-400) 1px,transparent 1px);background-position:0 0,10px 10px;background-size:20px 20px;color:var(--white);font-family:var(--font-main);letter-spacing:-1px;min-height:100svh;position:relative}body.light{background-color:var(--black-2);background-image:radial-gradient(var(--pink-500) 1px,transparent 1px),radial-gradient(var(--pink-400) 1px,transparent 1px)}body.dark{background-color:var(--dm-black-2);background-image:radial-gradient(var(--dm-purple-500) 1px,transparent 1px),radial-gradient(var(--dm-purple-400) 1px,transparent 1px);color:var(--dm-white)}h1{font-size:var(--fs-5xl);font-weight:var(--fw-black);line-height:var(--lh-vtight)}h2{font-size:var(--fs-4xl);font-weight:var(--fw-bold);line-height:var(--lh-tight)}h3{font-size:var(--fs-3xl);font-weight:var(--fw-medium);line-height:var(--lh-tight)}h4{font-size:var(--fs-2xl);font-weight:var(--fw-medium);line-height:var(--lh-base)}h5{font-size:var(--fs-xl);font-weight:var(--fw-medium);line-height:var(--lh-base)}h6{font-size:var(--fs-lg);font-weight:var(--fw-medium);line-height:var(--lh-base)}p{font-size:var(--fs-md);line-height:var(--lh-relaxed)}li,button,a{font-size:var(--fs-base);line-height:var(--lh-base)}a{color:inherit;text-decoration:none}button{align-items:center;border:none;cursor:pointer;display:flex;justify-content:center;transform:scaleX(1);transition:box-shadow .6s,transform .6s,color 1s ease;z-index:0}button:hover,button:focus{outline:none}ul,ol{list-style:none}.app{display:flex;flex-direction:column;justify-content:space-between;min-height:100vh;position:relative}.button{align-items:center;background:linear-gradient(145deg,var(--accent-1),var(--accent-2));border:3px ridge var(--pink-700);border-radius:var(--radius-md);box-shadow:inset 0 3px 5px #ffffff80,inset 0 -3px 5px #00000040,0 4px 8px #00000059;color:var(--white);display:flex;flex-direction:column;font-family:Comic Sans MS,Comic Sans,cursive;font-size:var(--fs-sm);justify-content:center;min-height:40px;padding:var(--space-xs) var(--space-md);text-decoration:none;transition:transform .2s ease-in-out,box-shadow .2s ease-in-out}.button:hover{background:linear-gradient(145deg,var(--pink-400),var(--pink-600));box-shadow:inset 0 3px 5px #fff9,inset 0 -3px 5px #00000059,0 6px 12px #00000073;transform:translateY(-2px) scale(1.05)}button:active{box-shadow:inset 0 2px 4px #0006;transform:scale(.95)}body.dark .button{background:linear-gradient(145deg,var(--dm-accent-pink-400),var(--dm-purple-500));border:3px ridge var(--dm-purple-300);box-shadow:inset 0 3px 5px #ffffff14,inset 0 -3px 5px #000000b3,0 0 8px #d8b4ff66;color:var(--dm-white);font-family:Courier New,monospace;font-weight:var(--fw-bold);text-shadow:0 0 6px rgba(255,200,255,.9)}body.dark .button:hover{background:linear-gradient(145deg,var(--dm-accent-pink-300),var(--dm-purple-400));box-shadow:inset 0 3px 5px #ffffff1a,inset 0 -3px 6px #0009,0 0 12px #ffc8ff99}@media (pointer: coarse){.custom-cursor{display:none}}.custom-cursor{cursor:none;height:20px;pointer-events:none;position:fixed;transform:translate(-2px,-2px);width:20px;z-index:9999}.cursor-icon{height:100%;object-fit:contain;width:100%}.cursor-trail{animation:fadeTrail .3s ease-out forwards;background:#ff69b4cc;border-radius:50%;height:8px;pointer-events:none;position:fixed;transform:translate(-50%,-50%);width:8px;z-index:9998}body.dark .cursor-icon{fill:var(--dm-purple-400)}body.dark .cursor-trail{background:#a855f7cc}@keyframes fadeTrail{0%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-50%) scale(.5)}}.navbar-bottom{align-items:center;background:linear-gradient(180deg,var(--pink-500),var(--pink-700));border-top:3px ridge var(--pink-400);bottom:0;box-shadow:inset 0 2px 4px #fff6,inset 0 -2px 4px #0009;color:var(--white);display:flex;font-family:Comic Sans MS,Comic Sans,cursive;gap:var(--space-xs);height:60px;justify-content:center;left:0;padding:0;position:fixed;width:100%;z-index:var(--z-header)}.navbar-bottom__links{display:flex;gap:var(--space-xs)}.navbar-bottom__display{display:none}.navbar-bottom__switches{display:flex;gap:var(--space-xs)}body.dark .navbar-bottom{background:linear-gradient(145deg,var(--dm-purple-600),var(--dm-purple-800));border-top:2px solid var(--dm-purple-300);box-shadow:0 -4px 8px #0009,inset 0 2px 5px #ffffff14,inset 0 -3px 5px #0009;color:var(--dm-white);font-family:Courier New,monospace}@media (min-width: 480px){.navbar-bottom{gap:0;justify-content:space-between;padding:0 var(--space-md)}.navbar-bottom__links,.navbar-bottom__switches{gap:var(--space-md)}}@media (min-width: 768px){.navbar-bottom__display{align-items:center;display:flex;flex:1;flex-direction:row;font-weight:var(--fw-bold);gap:var(--space-sm);justify-content:center;text-shadow:0 0 6px var(--pink-100)}}.titlebar-button{background:linear-gradient(145deg,var(--pink-500),var(--pink-400));border:2px outset var(--pink-200);border-radius:var(--radius-sm);box-shadow:inset 0 2px 3px #ffffff80,inset 0 -2px 3px #0003;color:var(--white);display:flex;height:1.5rem;line-height:1;margin-left:var(--space-xs);transition:all .2s ease;width:1.5rem}.titlebar-button:hover{background:inherit;border-style:inset;box-shadow:0 3px 5px #00000040,inset 0 2px 3px #ffffff80;transform:translateY(-1px)}.hamburger{font-size:var(--fs-xl);height:35px;position:fixed;right:var(--space-md);top:.75rem;width:35px;z-index:var(--z-hamburger)}body.dark .titlebar-button{background:linear-gradient(145deg,var(--dm-accent-pink-300),var(--dm-accent-pink-400)),radial-gradient(circle at top left,rgba(255,200,255,.15),transparent 70%);border:2px outset var(--dm-purple-300);color:var(--dm-white);text-shadow:0 0 4px rgba(255,200,255,.9)}body.dark .titlebar-button:hover{background:linear-gradient(145deg,var(--dm-accent-pink-400),var(--dm-purple-400));border-style:inset;transform:translateY(-1px)}.menu-container{position:relative;z-index:var(--z-modal)}.menu-drawer{align-items:center;background:linear-gradient(180deg,var(--pink-200),var(--pink-400) 40%,var(--pink-600));border:4px ridge var(--pink-700);border-radius:16px 0 0 16px;box-shadow:inset 0 4px 6px #fff9,inset 0 -4px 8px #00000040,0 6px 16px #ff69b499,0 0 24px #ffb4ffcc;display:flex;flex-direction:column;justify-content:center;max-width:150px;padding:var(--space-xl) var(--space-lg);position:fixed;right:0;top:0;transform:translate(100%);transition:transform .4s cubic-bezier(.77,0,.175,1);width:100%;z-index:var(--z-header)}.menu-links{display:flex;flex-direction:column;list-style:none;margin:0;padding:0;width:100%}.menu-links li{margin-top:var(--space-lg)}body.dark .menu-drawer{background:linear-gradient(180deg,var(--dm-purple-400),var(--dm-purple-600) 40%,var(--dm-purple-800));border:4px ridge var(--dm-purple-300);box-shadow:inset 0 4px 6px #ffffff14,inset 0 -4px 8px #000000b3,0 6px 18px #d8b4ff99,0 0 28px #ff78ffb3;color:var(--dm-white)}@media (min-width: 768px){.menu-container{display:none}}.navbar{align-items:center;background:linear-gradient(180deg,var(--pink-300),var(--pink-500));border-bottom:3px ridge var(--pink-400);box-shadow:inset 0 2px 4px #fff9,inset 0 -2px 4px #0006;color:var(--white);display:flex;font-family:Comic Sans MS,Comic Sans,cursive;height:60px;justify-content:space-between;left:0;padding:0 var(--space-md);position:fixed;top:0;width:100%;z-index:var(--z-header)}.navbar__logo{align-items:center;display:flex;font-weight:var(--fw-bold);height:100%;text-shadow:0 0 6px var(--pink-100)}.navbar__center{display:flex;flex:1;justify-content:flex-end}.navbar__links,.navbar__sys-buttons{display:none}body.dark .navbar{background:linear-gradient(145deg,var(--dm-purple-500),var(--dm-purple-700)),radial-gradient(circle at top left,rgba(255,255,255,.08),transparent 70%);border:2px solid var(--dm-purple-300);box-shadow:0 4px 8px #0009,0 0 16px #d8b4ff80,inset 0 3px 5px #ffffff14,inset 0 -4px 6px #0009;color:var(--dm-white);font-family:Courier New,monospace;text-shadow:0 0 6px rgba(255,200,255,.9)}@media (min-width: 768px){.navbar__links{align-items:center;display:flex;gap:var(--space-sm);height:100%}}@media (min-width: 1024px){.navbar__center{justify-content:center}.navbar__sys-buttons{display:flex;gap:var(--space-xs)}}.hero__title{background:linear-gradient(145deg,#1a0a0d,#2b0f17);border:3px ridge var(--pink-700);border-radius:var(--rdius-md);box-shadow:inset 0 2px 4px #ffffff4d,inset 0 -2px 4px #0000004d;color:var(--pink-300);display:inline-block;font-family:Courier New,monospace;font-size:var(--fs-2xl);overflow:hidden;padding:var(--space-sm) var(--space-md);text-align:left;text-shadow:1px 1px var(--pink-900),0 0 8px var(--pink-400);text-overflow:clip;white-space:nowrap;width:100%}.cursor{animation:blink 1s step-start infinite,glow 1.5s infinite alternate;background:linear-gradient(145deg,var(--pink-500),var(--pink-700));border-radius:var(--radius-sm);box-shadow:0 0 6px var(--pink-400),0 0 10px var(--pink-500);display:inline-block;margin-left:2px;width:.6ch}body.dark .hero__title{color:var(--dm-accent-pink-200);background:linear-gradient(145deg,var(--dm-purple-900),var(--dm-purple-700));border:3px ridge var(--dm-purple-600);box-shadow:inset 0 2px 4px #ffffff26,inset 0 -2px 4px #0009,0 0 12px #d25be866;text-shadow:1px 1px var(--dm-purple-900),0 0 8px var(--dm-accent-pink-300),0 0 14px var(--dm-accent-pink-400)}body.dark .cursor{animation:blink 1s step-start infinite,glow-dark 1.5s infinite alternate;background:linear-gradient(145deg,var(--dm-accent-pink-300),var(--dm-accent-pink-400));box-shadow:0 0 6px var(--dm-accent-pink-300),0 0 12px var(--dm-accent-pink-400)}@keyframes glow-dark{0%{box-shadow:0 0 4px var(--dm-accent-pink-200),0 0 8px var(--dm-accent-pink-300)}to{box-shadow:0 0 8px var(--dm-accent-pink-300),0 0 14px var(--dm-accent-pink-400)}}@keyframes blink{0%,50%{opacity:1}50.1%,to{opacity:0}}@keyframes glow{0%{box-shadow:0 0 4px var(--pink-400),0 0 8px var(--pink-500)}to{box-shadow:0 0 8px var(--pink-400),0 0 12px var(--pink-500)}}@media (min-width: 400px){.hero__title{font-size:var(--fs-3xl)}}@media (min-width: 1200px){.hero__title{font-size:clamp(2rem,3.2vw,2.5rem)}}.retro-window{animation:fadeIn .6s ease-out;background:var(--black-2);border:4px outset var(--pink-500);border-radius:var(--radius-lg);box-shadow:4px 4px var(--pink-700),inset 0 0 4px #ffb6c14d;display:flex;flex-direction:column;overflow:hidden}.retro-window__titlebar{align-items:center;background:linear-gradient(to bottom,var(--pink-700),var(--pink-500));border-bottom:2px inset var(--pink-300);color:var(--white);display:flex;font-weight:var(--fw-bold);justify-content:space-between;padding:var(--space-xs) var(--space-sm);width:100%}.retro-window__titlebar span{font-family:Comic Sans MS,Comic Sans,cursive;font-size:.9rem}.retro-window__content{flex:1;padding:var(--space-md)}body.dark .retro-window{background:var(--dm-black-2);border:4px outset var(--dm-purple-500);box-shadow:4px 4px var(--dm-purple-700),inset 0 0 6px #d8b4ff40}body.dark .retro-window__titlebar{background:linear-gradient(to bottom,var(--dm-purple-700),var(--dm-purple-500));border-bottom:2px inset var(--dm-purple-300);color:var(--dm-white);text-shadow:0 0 6px rgba(200,150,255,.8)}body.dark .retro-window__titlebar span{font-family:Courier New,monospace}body.dark .retro-window__content{color:var(--dm-accent-pink-100)}@media (max-width: 480px){.retro-window{width:85%}}@media (min-width: 1024px) and (max-height: 1024px){.retro-window__content{display:flex;flex-direction:column;height:100%;justify-content:space-between;padding:var(--space-sm)}}.hero{align-items:center;display:flex;flex-direction:column;height:100vh;justify-content:center}.hero-window{max-width:950px}.hero__content{height:100%}.hero__text{background:linear-gradient(145deg,#080205e6,#080205b3);border:3px ridge var(--pink-700);border-radius:var(--radius-lg);box-shadow:inset 0 2px 4px #ffffff4d,inset 0 -2px 4px #0000004d;display:flex;flex-direction:column;gap:var(--space-sm);height:100%;justify-content:space-between;padding:var(--space-md);text-align:center}body.dark .hero__text{background:linear-gradient(145deg,#120912f2,#1b0b26d9);border:3px ridge var(--dm-purple-700);box-shadow:inset 0 2px 4px #fff3,inset 0 -2px 6px #00000080,0 0 10px var(--dm-accent-pink-400);color:var(--dm-white);text-shadow:0 0 8px rgba(210,91,232,.9)}@media (min-width: 768px){.hero{padding:0 var(--space-xl)}.hero__text{gap:var(--space-md)}}@media (min-width: 1024px){.hero{padding:0 var(--space-2xl)}.hero-window{height:auto}}.projects{display:flex;flex-direction:column;gap:var(--space-lg);height:100%;justify-content:center;min-height:100vh;padding:5.5rem var(--space-md)}.projects-grid{display:flex;flex-direction:column;gap:var(--space-lg);overflow-y:auto}.project-card{align-items:center;width:100%}.project-image{border-radius:var(--radius-lg);box-shadow:0 4px 8px #0006;height:auto;transition:transform .3s ease-in-out;width:100%}.project-image:hover{transform:scale(1.05)}.projects__description{margin-top:var(--space-sm);text-align:center}.tech-list{display:flex;flex-wrap:wrap;gap:var(--space-xs);justify-content:center;margin:var(--space-sm) 0 var(--space-md)}.skill{font-size:var(--fs-sm)}.project-buttons{display:flex;flex-direction:column;gap:var(--space-sm);text-align:center}.button-group{display:flex;gap:.5rem;justify-content:space-between;width:100%}@keyframes fadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@media (min-width: 768px){.project-card__wrapper{display:flex;flex-direction:column;height:100%;justify-content:space-between}.projects-grid{display:grid;gap:var(--space-xl);grid-template-columns:repeat(2,1fr)}.projects__description{text-align:left}.tech-list{justify-content:left}}@media (min-width: 1367px){.projects{height:100vh;padding:0}.projects-grid{display:grid;gap:var(--space-xl);grid-template-columns:repeat(4,1fr);padding:5rem var(--space-md)}.project-card{display:flex;flex-direction:column;height:100%;justify-content:space-between}.projects__description{font-size:var(--fs-sm)}.tech-list{margin-bottom:var(--space-sm)}.project-buttons{flex-direction:column}}.about{overflow:hidden}.about__content{align-items:center;display:flex;flex-direction:column;gap:var(--space-xl);height:100%;width:100%;z-index:2}.about__image-wrapper{height:100%;margin:0 auto;max-width:600px;position:relative;width:100%}.about__image{bottom:0;filter:drop-shadow(0 0 5px pink) drop-shadow(0 0 10px pink);height:auto;position:absolute;transition:filter .3s,transform .3s;width:100%}.about__image-wrapper:hover .about__image{transform:scale(1.03)}body.dark .about__image-wrapper .about__image{filter:drop-shadow(0 0 5px rgb(128,71,152)) drop-shadow(0 0 10px rgb(92,30,123))}.sparkle-container{height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%;z-index:1}body.dark .sparkle{background:radial-gradient(circle,#fff,#d569ff 80%)}.sparkle:nth-child(1){top:10%;left:20%;animation-duration:3s}.sparkle:nth-child(2){top:50%;left:80%;animation-duration:4s}.sparkle:nth-child(3){top:30%;left:40%;animation-duration:5s}.about__text{align-items:flex-start;display:flex;max-width:600px}.about__skills{display:flex;flex-wrap:wrap;gap:var(--space-xs);margin:var(--space-md) 0}.skill{background:#ffb6c133;border-radius:4px;color:var(--pink-100);font-size:var(--fs-sm);font-weight:var(--fw-medium);padding:var(--space-xs) var(--space-sm);transition:transform .2s,box-shadow .2s}.skill:hover{box-shadow:0 0 10px #ffb6c199;transform:scale(1.05)}@keyframes sparkleAnim{0%{transform:translateY(0) scale(1);opacity:.8}50%{transform:translateY(-15px) scale(1.3);opacity:1}to{transform:translateY(0) scale(1);opacity:.8}}@media (max-width: 767px){.about{margin-bottom:var(--space-3xl);margin-top:3.5rem;padding:var(--space-lg)}.about__content{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:100vh}.about__image-wrapper{display:flex;height:40vh;justify-content:center;margin-bottom:-30%;max-height:40vh;width:100%}.about__image{max-height:100%;width:auto}.about__text{width:100%;z-index:var(--z-content)}}@media (min-width: 768px) and (max-width: 1023px){.about__content{align-items:center;display:flex;flex-direction:column;gap:var(--space-lg);height:100vh;justify-content:center}.about__image-wrapper{display:flex;justify-content:center;margin-bottom:-15%;max-height:55vh}.about__image{max-height:100%;width:auto}.about__text{height:auto;max-width:700px;min-height:250px;z-index:var(--z-content)}}@media (min-width: 1024px){.about__skills{margin:var(--space-sm) 0}}@media (min-width: 1024px) and (max-height: 699px){.about{height:100vh}.about__content{display:grid;grid-template-columns:45% 1fr;padding:0 var(--space-lg)}}@media (min-width: 1024px) and (min-height: 700px){.about{height:100vh}.about__content{display:grid;gap:var(--space-sm);grid-template-columns:65% 1fr;padding:0 var(--space-lg)}.about__image-wrapper{max-width:100%}}.contact{align-items:center;display:flex;flex-direction:column;justify-content:center;height:100vh}.contact__form{display:flex;flex:1;flex-direction:column;gap:var(--space-xs);width:100%}.contact__form label{margin-top:var(--space-sm)}.contact__form input,.contact__form textarea{background:linear-gradient(180deg,var(--black-2),var(--black));border:2px inset var(--pink-600);border-radius:var(--radius-sm);box-shadow:inset 0 2px 3px #fff3,0 2px 6px #0009;color:var(--pink-100);margin-top:var(--space-xs);padding:var(--space-sm)}textarea{font-family:var(--font-main);height:80px}.contact__form input:focus,.contact__form textarea:focus{background-color:var(--black-3);border-color:var(--pink-300);outline:none}.contact__form input::placeholder,.contact__form textarea::placeholder{color:var(--pink-400)}.contact__form label{color:var(--pink-100);display:flex;flex-direction:column;font-size:var(--fs-sm);font-weight:var(--fw-medium)}.contact__sparkle-container{height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%;z-index:0}.sparkle{animation:sparkleAnim linear infinite;background:radial-gradient(circle,#fff,#ff69b4 80%);border-radius:50%;height:6px;opacity:.8;position:absolute;width:6px}.sparkle:nth-child(1){animation-duration:3s}.sparkle:nth-child(2){animation-duration:4s}.sparkle:nth-child(3){animation-duration:5s}body.dark .contact__form input,body.dark .contact__form textarea{background-color:var(--dm-black-2);border:2px inset var(--dm-purple-500);color:var(--dm-accent-pink-200);transition:background-color .2s ease,border-color .2s ease}body.dark .contact__form input:focus,body.dark .contact__form textarea:focus{background-color:var(--dm-black);border-color:var(--dm-accent-pink-300);box-shadow:0 0 8px var(--dm-accent-pink-300)}body.dark .contact__form input::placeholder,body.dark .contact__form textarea::placeholder{color:var(--dm-accent-pink-400);opacity:.9}body.dark .contact__form label{color:var(--dm-accent-pink-200);font-weight:var(--fw-medium);text-shadow:0 0 6px rgba(210,91,232,.7)}body.dark .sparkle{background:radial-gradient(circle,var(--dm-white) 0%,var(--dm-accent-pink-300) 80%);filter:drop-shadow(0 0 4px var(--dm-accent-pink-400))}@keyframes sparkleAnim{0%{opacity:.8;transform:translateY(0) scale(1)}50%{opacity:1;transform:translateY(-15px) scale(1.3)}to{opacity:.8;transform:translateY(0) scale(1)}}@keyframes fadeIn{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}@media (min-width: 768px){.contact__form{gap:var(--space-sm);width:600px}.contact__form button{margin-top:var(--space-sm)}}@media (min-width: 1024px){.contact__form{gap:var(--space-xs);width:600px}}@media (min-width: 1200px){.contact__form{gap:0;width:600px}}.loader{align-items:center;background-color:var(--dm-black-2);background-image:radial-gradient(var(--dm-purple-500) 1px,transparent 1px),radial-gradient(var(--dm-purple-400) 1px,transparent 1px);background-position:0 0,10px 10px;background-size:20px 20px;display:flex;height:100svh;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:var(--z-modal)}.loader__body{font-family:Courier New,monospace;font-size:var(--fs-xl);text-align:center;text-shadow:0 0 6px rgba(200,150,255,.8)}.loader__bar{background:var(--dm-purple-100);border:2px inset var(--dm-purple-700);border-radius:var(--radius-sm);height:20px;margin-top:var(--space-sm);overflow:hidden;position:relative;width:100%}.loader__bar-progress{animation:loading 2s linear infinite;background:linear-gradient(to bottom,var(--dm-purple-700),var(--dm-purple-500));height:100%;width:40%}@keyframes loading{0%{transform:translate(-100%)}to{transform:translate(250%)}}@media (min-width: 768px){.loader__body{width:300px}}
