*{box-sizing:border-box;margin:0;padding:0}:root{--primary:#6366f1;--primary-glow:#6366f180;--secondary:#8b5cf6;--secondary-glow:#8b5cf680;--accent:#06b6d4;--accent-glow:#06b6d480;--background:#0a0a0f;--surface:#ffffff0d;--surface-hover:#ffffff1a;--text:#fafafa;--text-secondary:#a1a1aa;--border:#ffffff1a}html,body,#root{width:100%;height:100%;overflow-x:hidden}html{scroll-behavior:smooth}body{background:var(--background);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Helvetica Neue,sans-serif;line-height:1.5}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--background)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}a{-webkit-tap-highlight-color:transparent}button{font-family:inherit}@media (width<=768px){::-webkit-scrollbar{width:4px}}.galaxy-background{z-index:0;pointer-events:none;width:100%;height:100%;position:fixed;top:0;left:0}.hero{z-index:1;justify-content:center;align-items:center;min-height:100vh;padding:1rem;display:flex;position:relative}.hero-content{text-align:center;max-width:800px;padding:1rem;position:relative}.hero-glow{background:radial-gradient(circle, var(--primary-glow) 0%, transparent 70%);filter:blur(80px);opacity:.3;pointer-events:none;width:clamp(300px,60vw,600px);height:clamp(300px,60vw,600px);animation:4s ease-in-out infinite pulse;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.hero-title{background:linear-gradient(135deg, var(--text) 0%, var(--text-secondary) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:1rem;font-size:clamp(1.7575rem,5vw,3rem);font-weight:700;animation:.8s ease-out fadeInUp}.hero-name{background:linear-gradient(135deg, var(--primary) 0%, var(--secondary) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;display:inline-block}.hero-subtitle{color:var(--primary);margin-bottom:1.5rem;font-size:clamp(1.25rem,3.5vw,2rem);font-weight:600;animation:1s ease-out .2s backwards fadeIn}.hero-description{color:var(--text-secondary);max-width:600px;margin-bottom:2rem;margin-left:auto;margin-right:auto;font-size:clamp(1rem,2vw,1.125rem);line-height:1.7;animation:.8s ease-out .4s backwards fadeInUp}.hero-buttons{flex-wrap:wrap;justify-content:center;gap:1rem;margin-bottom:3rem;animation:.8s ease-out .6s backwards fadeInUp;display:flex}.hero-tech-stack{flex-wrap:wrap;justify-content:center;gap:.75rem;animation:.8s ease-out .8s backwards fadeInUp;display:flex}.typing-text{position:relative}.cursor{background:var(--primary);width:3px;height:1em;margin-left:4px;animation:1s step-end infinite blink;display:inline-block}.btn{color:#fff;-webkit-user-select:none;user-select:none;border:none;border-radius:.5rem;justify-content:center;align-items:center;min-width:150px;padding:.875rem 2rem;font-size:1rem;font-weight:600;text-decoration:none;transition:all .3s;display:inline-flex;position:relative;overflow:hidden}.btn-primary:hover{box-shadow:0 10px 30px var(--primary-glow);transform:translateY(-2px)}.btn-secondary{color:var(--text);border:1px solid var(--border);background:0 0}.btn-secondary:hover{background:var(--surface-hover);border-color:var(--primary);transform:translateY(-2px)}.tech-tag{background:var(--surface);border:1px solid var(--border);color:var(--text-secondary);border-radius:2rem;padding:.5rem 1rem;font-size:.875rem;transition:all .3s}.tech-tag:hover{background:var(--surface-hover);border-color:var(--primary);color:var(--primary);transform:translateY(-2px)}@keyframes pulse{0%,to{opacity:.3;transform:translate(-50%,-50%)scale(1)}50%{opacity:.5;transform:translate(-50%,-50%)scale(1.1)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}@media (width<=768px){.hero{padding:1rem .5rem}.hero-content{padding:.5rem}.hero-description{margin-bottom:1.5rem}.hero-buttons{flex-direction:column;align-items:center;gap:.75rem;margin-bottom:2rem}.hero-tech-stack{gap:.5rem}.btn{width:100%;max-width:250px}.tech-tag{padding:.375rem .75rem;font-size:.75rem}}@media (width<=480px){.hero -title{font-size:1.5rem}.hero-subtitle{font-size:1.125rem}.hero-description{font-size:.875rem}}.text-type{white-space:pre-wrap;display:inline-block}.text-type__cursor{opacity:1;margin-left:.25rem;display:inline-block}.text-type__cursor--hidden{display:none}.rainbow-button{--color-1:#ff4242;--color-2:#a142ff;--color-3:#42a1ff;--color-4:#42d0ff;--color-5:#a1ff42;--speed:2s;cursor:pointer;color:#fff;background:linear-gradient(#111, #111), linear-gradient(#111 50%, #12121399 80%, #12121300), linear-gradient(90deg, var(--color-1), var(--color-5), var(--color-3), var(--color-4), var(--color-2));height:2.75rem;animation:rainbow var(--speed) infinite linear;background-size:200%;background-origin:border-box;background-clip:padding-box,border-box,border-box;border:.08rem solid #0000;border-radius:.75rem;justify-content:center;align-items:center;padding:.5rem 2rem;font-weight:500;display:inline-flex;position:relative}.rainbow-button:before{content:"";z-index:0;background:linear-gradient(90deg, var(--color-1), var(--color-5), var(--color-3), var(--color-4), var(--color-2));filter:blur(.8rem);width:60%;height:20%;animation:rainbow var(--speed) infinite linear;background-size:200%;position:absolute;bottom:-20%;left:50%;transform:translate(-50%)}.rainbow-button:hover:not(:disabled){transform:translateY(-2px)}.rainbow-button:focus-visible{outline:none;box-shadow:0 0 0 2px #6366f180}.rainbow-button:disabled{pointer-events:none;opacity:.5}@keyframes rainbow{0%{background-position:0}to{background-position:200%}}@media (prefers-color-scheme:dark){.rainbow-button{background:linear-gradient(#fff, #fff), linear-gradient(#fff 50%, #fff9 80%, #0000), linear-gradient(90deg, var(--color-1), var(--color-5), var(--color-3), var(--color-4), var(--color-2))}}.skills{z-index:1;flex-direction:column;justify-content:center;align-items:center;height:100vh;padding:clamp(4rem,5vh,8rem) clamp(1rem,3vw,2rem);display:flex;position:relative}.skills .section-title{text-align:center;width:100%;margin-bottom:50px}.skills .skills-container{justify-content:center;align-items:center;width:100%;max-width:800px;margin:0 auto;display:flex;position:relative}.skills .skills-container .center-element{z-index:10;background-color:var(--background);border-radius:50%;width:280px;height:280px;margin:auto;position:relative}.skills .skills-container .center-element .icon-cloud-container{border-radius:50%;justify-content:center;align-items:center;width:280px;height:280px;padding:20px;display:flex}.skills .skills-container .skill-item{z-index:10;width:120px;margin:24px 0;font-size:16px;font-weight:700;position:relative}@keyframes shine{0%{background-position:0 0}50%{background-position:100% 100%}to{background-position:0 0}}.animated-beam{pointer-events:none;stroke-width:2px;position:absolute;top:0;left:0;transform:translate(0,0)}.electric-border{--electric-light-color:oklch(from var(--electric-border-color) l c h);--electric-border-duration:0s;border-radius:inherit;isolation:isolate;position:relative;overflow:visible}.electric-border .eb-canvas-container{pointer-events:none;z-index:2;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.electric-border .eb-canvas{display:block}.electric-border .eb-content{border-radius:inherit;z-index:1;position:relative}.electric-border .eb-layers{border-radius:inherit;pointer-events:none;z-index:0;position:absolute;inset:0}.electric-border .eb-glow-1,.electric-border .eb-glow-2,.electric-border .eb-background-glow{border-radius:inherit;pointer-events:none;box-sizing:border-box;position:absolute;inset:0}.electric-border .eb-glow-1{border:2px solid oklch(from var(--electric-border-color) l c h/.6);filter:blur(1px);transition:border-color var(--electric-border-duration) ease-in-out}.electric-border .eb-glow-2{border:2px solid var(--electric-light-color);filter:blur(4px);transition:border-color var(--electric-border-duration) ease-in-out}.electric-border .eb-background-glow{z-index:-1;filter:blur(32px);opacity:.3;transform:scale(1.1)}@keyframes shimmer-slide{to{transform:translate(calc(100cqw - 100%))}}@keyframes spin-around{0%{transform:translateZ(0)rotate(0)}15%,35%{transform:translateZ(0)rotate(90deg)}65%,85%{transform:translateZ(0)rotate(270deg)}to{transform:translateZ(0)rotate(360deg)}}.shimmer-button{--spread:90deg;--shimmer-color:#fff;--radius:100px;--speed:3s;--cut:.05em;--bg:#000;z-index:0;cursor:pointer;white-space:nowrap;border-radius:var(--radius);background:var(--bg);color:#fff;border:1px solid #ffffff1a;justify-content:center;align-items:center;padding:.75rem 1.5rem;transition:transform .3s ease-in-out;display:flex;position:relative;overflow:hidden;transform:translateZ(0)}.shimmer-button:active{transform:translateY(1px)}.shimmer-button .spark-container{z-index:-30;filter:blur(2px);position:absolute;inset:0;overflow:visible;container-type:size}.shimmer-button .spark{aspect-ratio:1;height:100cqh;animation:shimmer-slide var(--speed) ease-in-out infinite alternate;border-radius:0;position:absolute;inset:0;-webkit-mask:none;mask:none}.shimmer-button .spark-before{background:conic-gradient(from calc(270deg - var(--spread) * .5), transparent 0, var(--shimmer-color) var(--spread), transparent var(--spread));width:auto;animation:spin-around calc(var(--speed) * 2) infinite linear;position:absolute;inset:-100%;transform:translate(0)rotate(0)}.shimmer-button .highlight{border-radius:1rem;width:100%;height:100%;padding:.375rem 1rem;font-size:.875rem;font-weight:500;transition:all .3s ease-in-out;position:absolute;inset:0;transform:translateZ(0);box-shadow:inset 0 -10px 10px #fff3}.shimmer-button:hover .highlight{box-shadow:inset 0 -6px 10px #ffffff40}.shimmer-button:active .highlight{box-shadow:inset 0 -12px 10px #ffffff40}.shimmer-button .backdrop{top:var(--cut);right:var(--cut);bottom:var(--cut);left:var(--cut);z-index:-20;border-radius:var(--radius);background:var(--bg);position:absolute}
