:root{--primary-color:#0d0d1a;--secondary-color:#1a1a2e;--accent-color:#7b2ff7;--accent-cyan:#00d4ff;--accent-magenta:#e040fb;--accent-purple:#9c27b0;--text-color:#f0f0f5;--text-muted:#a0a0b0;--background-color:#0d0d1a;--card-background:rgba(26,26,46,.8);--gradient-primary:linear-gradient(135deg,#e040fb,#00d4ff 50%,#7b2ff7);--gradient-nav:linear-gradient(180deg,#7b2ff7,#9c27b0);--transition-speed:0.3s;--border-radius:8px;--box-shadow:0 4px 20px rgba(123,47,247,.2);--section-spacing:30px}*{box-sizing:border-box;margin:0;padding:0}body,html{height:100%;overflow-x:hidden;overflow-y:auto;scroll-behavior:smooth;scroll-padding-top:70px;width:100%}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#0d0d1a;background-color:var(--background-color);color:#f0f0f5;color:var(--text-color);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;line-height:1.5;position:relative}.smooth-scroll-container{min-height:100vh;overflow:visible;width:100%}.fixed-nav{background:linear-gradient(180deg,#7b2ff7,#9c27b0);background:var(--gradient-nav);border-radius:0 0 16px 16px;box-shadow:0 4px 20px rgba(123,47,247,.2);box-shadow:var(--box-shadow);position:fixed;right:20px;top:0;transition:all .3s ease;z-index:1000}.fixed-nav ul{display:flex;list-style:none;margin:0;padding:0}.fixed-nav li{color:#fff;cursor:pointer;font-weight:600;padding:15px 20px;position:relative;transition:all .3s ease}.fixed-nav li:after{background-color:#fff;bottom:0;content:"";height:3px;left:50%;position:absolute;-webkit-transform:translateX(-50%);transform:translateX(-50%);transition:width .3s ease;width:0}.fixed-nav li.active:after,.fixed-nav li:hover:after{width:70%}.fixed-nav li:hover{background-color:hsla(0,0%,100%,.1)}.sections-container{gap:0;margin:0 auto;max-width:1200px;overflow:visible;padding-top:70px;position:relative}.main-header,.sections-container{display:flex;flex-direction:column}.main-header{align-items:center;background-color:#0d0d1a;background-color:var(--background-color);justify-content:center;min-height:60vh;padding:30px 20px;text-align:center;width:100%}.main-header header{margin-bottom:20px}.main-header header h1{-webkit-text-fill-color:transparent;background:linear-gradient(135deg,#e040fb,#00d4ff 50%,#7b2ff7);background:var(--gradient-primary);-webkit-background-clip:text;background-clip:text;font-size:3rem;font-weight:700;line-height:1.2;margin:0}.main-header header p{color:#1a1a2e;color:var(--secondary-color);font-size:1.5rem;margin:5px 0 0}.profile-section{align-items:center;display:flex;flex-direction:column;margin-top:20px}.typed-description{color:#f0f0f5;color:var(--text-color);font-size:1.2rem;margin-top:20px;min-height:2rem}.section{display:flex;flex-direction:column;min-height:90vh;overflow:visible;padding:30px 20px;position:relative}.section:nth-child(odd){background-color:#0d0d1a;background-color:var(--background-color)}.section:nth-child(2n){background-color:rgba(138,43,226,.03);border-radius:8px;border-radius:var(--border-radius)}.section+.section{margin-top:-20px;padding-top:40px}@media only screen and (max-width:768px){.fixed-nav{border-radius:0 0 16px 16px;left:0;right:0;width:100%}.fixed-nav ul{justify-content:space-around}.fixed-nav li{font-size:.9rem;padding:15px 10px;text-align:center}}@media only screen and (max-width:480px){.fixed-nav li{font-size:.8rem;padding:12px 8px}.section{padding:30px 15px}}.portfolio{margin:0 auto;max-width:1200px;min-height:100vh;padding:50px 20px;width:100%}.portfolio,.portfolio header{display:flex;flex-direction:column}.portfolio header{align-items:center;height:400px;justify-content:center;margin-bottom:50px;text-align:center}.portfolio header h1{-webkit-text-fill-color:transparent;background:linear-gradient(135deg,#e040fb,#00d4ff 50%,#7b2ff7);background:var(--gradient-primary);-webkit-background-clip:text;background-clip:text;font-size:3rem;font-weight:700;line-height:1.2;margin:0}.portfolio header p{color:#1a1a2e;color:var(--secondary-color);font-size:1.5rem;margin:10px 0 0;max-width:600px}.about-me{background-color:rgba(26,26,46,.8);background-color:var(--card-background);border-radius:8px;border-radius:var(--border-radius);box-shadow:0 4px 20px rgba(123,47,247,.2);box-shadow:var(--box-shadow);margin-bottom:50px;padding:25px}.about-me a{color:#7b2ff7;color:var(--accent-color);position:relative;text-decoration:none;transition:all .3s ease;transition:all var(--transition-speed) ease}.about-me a:hover{opacity:.8}.about-me a:after{background-color:#7b2ff7;background-color:var(--accent-color);bottom:-2px;content:"";height:2px;left:0;position:absolute;transition:width .3s ease;transition:width var(--transition-speed) ease;width:0}.about-me a:hover:after{width:100%}.about-me h2{display:inline-block;font-size:2rem;margin-bottom:20px;position:relative}.about-me h2:after{background:#7b2ff7;background:var(--accent-color);bottom:-5px;content:"";height:3px;left:0;position:absolute;width:50px}.about-me main{display:flex;flex-direction:column;gap:1rem}.about-me li{font-size:1.1rem;line-height:1.6;list-style-type:none;margin-top:16px;padding-left:1.5rem;position:relative}.about-me li:before{color:#7b2ff7;color:var(--accent-color);content:"→";left:0;position:absolute}.skills{background-color:rgba(26,26,46,.8);background-color:var(--card-background);border-radius:8px;border-radius:var(--border-radius);box-shadow:0 4px 20px rgba(123,47,247,.2);box-shadow:var(--box-shadow);margin-bottom:50px;overflow:hidden;padding:25px}.skills h2{color:#fff;display:inline-block;font-size:2rem;margin-bottom:20px;position:relative;width:100%}.skills h2:after{background:#7b2ff7;background:var(--accent-color);bottom:-5px;content:"";height:3px;left:0;position:absolute;width:50px}.skills h3{color:#fff;font-size:1.5rem;margin-bottom:15px;margin-top:30px}.skills ul{display:flex;flex-wrap:wrap;gap:20px;list-style:none;margin:0;overflow:visible;padding:0}.skills a{align-items:center;background-color:#fff;border-radius:8px;border-radius:var(--border-radius);box-shadow:0 4px 20px #e040fb,0 0 30px rgba(224,64,251,.4);box-shadow:0 4px 20px var(--accent-magenta),0 0 30px rgba(224,64,251,.4);color:#000;display:flex;flex-direction:column;min-width:100px;padding:15px;text-decoration:none;transition:box-shadow .3s ease,-webkit-transform .3s ease;transition:transform .3s ease,box-shadow .3s ease;transition:transform .3s ease,box-shadow .3s ease,-webkit-transform .3s ease}.skills img{-webkit-filter:grayscale(100%) contrast(1.5);filter:grayscale(100%) contrast(1.5);height:60px;margin-bottom:10px;transition:-webkit-transform .3s ease;transition:transform .3s ease;transition:transform .3s ease,-webkit-transform .3s ease;width:60px}.skills li{text-align:center}.skills a:hover{box-shadow:0 10px 35px #e040fb,0 0 40px rgba(224,64,251,.6);box-shadow:0 10px 35px var(--accent-magenta),0 0 40px rgba(224,64,251,.6);-webkit-transform:translateY(-5px);transform:translateY(-5px)}.skills a:hover img{-webkit-transform:scale(1.1);transform:scale(1.1)}.skills a:active{box-shadow:0 4px 20px #e040fb,0 0 30px rgba(224,64,251,.4);box-shadow:0 4px 20px var(--accent-magenta),0 0 30px rgba(224,64,251,.4);-webkit-transform:translateY(0);transform:translateY(0)}.projects{background-color:rgba(26,26,46,.8);background-color:var(--card-background);border-radius:8px;border-radius:var(--border-radius);box-shadow:0 4px 20px rgba(123,47,247,.2);box-shadow:var(--box-shadow);box-sizing:border-box;margin-bottom:50px;padding:25px;width:100%}.projects h2{display:inline-block;font-size:2rem;margin-bottom:30px;position:relative}.projects h2:after{background:#7b2ff7;background:var(--accent-color);bottom:-5px;content:"";height:3px;left:0;position:absolute;width:50px}.filter-container{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-bottom:30px}.filter-button{background:transparent;border:2px solid #7b2ff7;border:2px solid var(--accent-color);border-radius:20px;color:#f0f0f5;color:var(--text-color);cursor:pointer;font-weight:600;overflow:hidden;padding:8px 16px;position:relative;transition:all .3s ease}.filter-button:hover{background-color:rgba(138,43,226,.1);-webkit-transform:translateY(-2px);transform:translateY(-2px)}.filter-button.active{box-shadow:0 4px 12px rgba(138,43,226,.3);color:#fff}.button-underline,.filter-button.active{background-color:#7b2ff7;background-color:var(--accent-color)}.button-underline{border-radius:2px;bottom:0;height:4px;left:0;position:absolute;right:0}.projects-grid{grid-gap:25px;align-items:start;display:grid;gap:25px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));margin:0 auto;max-width:1200px;width:100%}.project-wrapper{-webkit-animation:fadeIn .5s forwards;animation:fadeIn .5s forwards;-webkit-animation-delay:calc(var(--item-index)*.1s);animation-delay:calc(var(--item-index)*.1s);display:grid;height:100%;min-width:0;opacity:0;width:100%}@media screen and (min-width:1400px){.projects-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}}@media screen and (max-width:1399px) and (min-width:1000px){.projects-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}}@media screen and (max-width:999px) and (min-width:600px){.projects-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}}@media screen and (max-width:599px){.projects-grid{grid-template-columns:1fr}}@media only screen and (max-width:600px){.filter-container{align-items:center;flex-direction:column}.filter-button{max-width:200px;width:100%}}.project{grid-gap:15px;contain-intrinsic-size:0 300px;background-color:rgba(26,26,46,.8);background-color:var(--card-background);border-radius:8px;border-radius:var(--border-radius);box-shadow:0 4px 20px rgba(123,47,247,.2);box-shadow:var(--box-shadow);content-visibility:auto;display:grid;gap:15px;grid-template-rows:auto 1fr auto;height:100%;max-width:100%;min-height:-webkit-min-content;min-height:min-content;min-width:0;padding:20px;transition:box-shadow .3s ease,-webkit-transform .3s ease;transition:transform .3s ease,box-shadow .3s ease;transition:transform .3s ease,box-shadow .3s ease,-webkit-transform .3s ease}.project:hover{box-shadow:0 15px 30px rgba(0,0,0,.15);-webkit-transform:translateY(-10px);transform:translateY(-10px)}.project h3{color:#7b2ff7;color:var(--accent-color);font-size:1.2rem;line-height:1.4}.project h3,.project p{word-wrap:break-word;margin:0;overflow:visible;white-space:normal}.project p{font-size:.95rem;height:auto;line-height:1.5;max-width:100%;min-height:4.5em;position:relative;text-overflow:clip;width:100%}.project a{align-self:center;background:linear-gradient(180deg,#7b2ff7,#9c27b0);background:var(--gradient-nav);border-radius:20px;color:#fff;display:inline-block;font-size:.9rem;font-weight:600;max-width:200px;padding:8px 16px;text-decoration:none;transition:box-shadow .2s ease,-webkit-transform .2s ease;transition:transform .2s ease,box-shadow .2s ease;transition:transform .2s ease,box-shadow .2s ease,-webkit-transform .2s ease;width:100%}.contact{background-color:rgba(26,26,46,.8);background-color:var(--card-background);border-radius:8px;border-radius:var(--border-radius);box-shadow:0 4px 20px rgba(123,47,247,.2);box-shadow:var(--box-shadow);padding:25px}.contact h2{display:inline-block;font-size:2rem;margin-bottom:30px;position:relative}.contact h2:after{background:#7b2ff7;background:var(--accent-color);bottom:-5px;content:"";height:3px;left:0;position:absolute;width:50px}.contact main{display:flex;flex-direction:column;gap:20px}.contact li{align-items:center;display:flex;font-size:1.2rem;list-style-type:none;margin:15px 0}.contact li img{border-radius:50%;-webkit-filter:invert(27%) sepia(78%) saturate(5000%) hue-rotate(252deg) brightness(100%);filter:invert(27%) sepia(78%) saturate(5000%) hue-rotate(252deg) brightness(100%);height:34px;margin-left:15px;transition:-webkit-transform .3s ease,-webkit-filter .3s ease;transition:transform .3s ease,filter .3s ease;transition:transform .3s ease,filter .3s ease,-webkit-transform .3s ease,-webkit-filter .3s ease;width:34px}.contact li img:hover{-webkit-filter:invert(35%) sepia(90%) saturate(5500%) hue-rotate(252deg) brightness(110%);filter:invert(35%) sepia(90%) saturate(5500%) hue-rotate(252deg) brightness(110%);-webkit-transform:scale(1.2);transform:scale(1.2)}.contact button{background:none;border:2px solid #7b2ff7;border:2px solid var(--accent-color);border-radius:4px;color:#7b2ff7;color:var(--accent-color);cursor:pointer;font:inherit;font-weight:700;margin-left:10px;padding:5px 15px;transition:all .3s ease}.contact button:hover{background-color:#7b2ff7;background-color:var(--accent-color);color:#fff;-webkit-transform:scale(1.05);transform:scale(1.05)}.navBar{align-items:center;background:linear-gradient(180deg,#7b2ff7,#9c27b0);background:var(--gradient-nav);border-radius:0 16px 16px 0;box-shadow:0 4px 20px rgba(123,47,247,.2);box-shadow:var(--box-shadow);display:flex;flex-direction:column;height:auto;justify-content:center;left:0;padding:20px 0;position:fixed;top:30%;-webkit-transform:translateY(-30%);transform:translateY(-30%);transition:all .3s ease;width:80px;z-index:10}.navBar:hover{width:200px}.navBar li{cursor:pointer;list-style:none;margin:15px 0;padding:10px;position:relative;text-align:center;transition:all .3s ease;white-space:nowrap}.navBar a,.navBar li{color:#fff;width:100%}.navBar a{display:block;font-weight:600;text-decoration:none}.navBar li:before{background-color:#fff;border-radius:0 4px 4px 0;content:"";height:100%;left:0;opacity:0;position:absolute;top:0;transition:all .3s ease;width:4px}.navBar li:hover{background-color:hsla(0,0%,100%,.1)}.navBar li.active:before,.navBar li:hover:before{opacity:1}.loading-container{align-items:center;display:flex;flex-direction:column;gap:20px;height:100vh;justify-content:center}.loading-spinner{border:5px solid rgba(138,43,226,.2);border-top-color:#7b2ff7;border-top:5px solid var(--accent-color);height:50px;width:50px}.typing-animation .cursor{-webkit-animation:blink 1s step-end infinite;animation:blink 1s step-end infinite;background-color:#f0f0f5;background-color:var(--text-color);display:inline-block;height:1em;margin-left:2px;width:2px}@-webkit-keyframes blink{0%,to{opacity:1}50%{opacity:0}}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.typing-done .cursor{display:none}.page-not-found{min-height:70vh}.page-not-found h1{color:#7b2ff7;font-size:2.5rem;margin-bottom:30px}.snoof{border-radius:50%;max-width:300px}@-webkit-keyframes fadeIn{0%{opacity:0;-webkit-transform:translateY(20px);transform:translateY(20px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0;-webkit-transform:translateY(20px);transform:translateY(20px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@-webkit-keyframes glowing{0%{-webkit-filter:drop-shadow(0 0 10px rgba(138,43,226,.5));filter:drop-shadow(0 0 10px rgba(138,43,226,.5));-webkit-transform:scale(1);transform:scale(1)}50%{-webkit-filter:drop-shadow(0 0 20px rgba(138,43,226,.7));filter:drop-shadow(0 0 20px rgba(138,43,226,.7));-webkit-transform:scale(1.05);transform:scale(1.05)}to{-webkit-filter:drop-shadow(0 0 10px rgba(138,43,226,.5));filter:drop-shadow(0 0 10px rgba(138,43,226,.5));-webkit-transform:scale(1);transform:scale(1)}}@keyframes glowing{0%{-webkit-filter:drop-shadow(0 0 10px rgba(138,43,226,.5));filter:drop-shadow(0 0 10px rgba(138,43,226,.5));-webkit-transform:scale(1);transform:scale(1)}50%{-webkit-filter:drop-shadow(0 0 20px rgba(138,43,226,.7));filter:drop-shadow(0 0 20px rgba(138,43,226,.7));-webkit-transform:scale(1.05);transform:scale(1.05)}to{-webkit-filter:drop-shadow(0 0 10px rgba(138,43,226,.5));filter:drop-shadow(0 0 10px rgba(138,43,226,.5));-webkit-transform:scale(1);transform:scale(1)}}.image-container{display:flex;flex-direction:column;height:200px;justify-content:center;margin:20px auto;width:200px}.image-container img{height:100%;object-fit:contain;width:100%}.image-container .glow{-webkit-animation:glowing 2s ease-in-out infinite;animation:glowing 2s ease-in-out infinite;border-radius:50%;-webkit-filter:drop-shadow(0 0 15px rgba(138,43,226,.6));filter:drop-shadow(0 0 15px rgba(138,43,226,.6))}@media only screen and (max-width:1200px){.navBar{border-radius:0 0 16px 16px;bottom:auto;flex-direction:row;height:70px;justify-content:space-around;left:0;padding:0;position:fixed;top:0;-webkit-transform:none;transform:none}.navBar,.navBar:hover{width:100%}.navBar li{flex:1 1;font-size:.9rem;margin:0}.navBar li:before{height:4px;left:0;top:0;width:100%}.portfolio{padding-bottom:50px;padding-top:100px}}@media only screen and (max-width:768px){.portfolio header{height:300px}.portfolio header h1{font-size:2.5rem}.portfolio header p{font-size:1.2rem}.skills a{min-width:80px}}@media only screen and (max-width:480px){.portfolio header h1{font-size:2rem}.portfolio header p{font-size:1rem}.about-me li,.contact li,.project p{font-size:.95rem}.skills a{min-width:70px;padding:10px}.skills img{height:40px;width:40px}}@media (prefers-color-scheme:dark){.skills a{background-color:#1a1a2e;background-color:var(--secondary-color)}.skills img{-webkit-filter:brightness(.9) contrast(1.1);filter:brightness(.9) contrast(1.1)}.light-mode{--text-color:#333!important;--background-color:#fff!important;--card-background:#f9f9f9!important;--secondary-color:#555!important;background-color:#fff!important;color:#333!important}.light-mode *{color:inherit}.light-mode img{-webkit-filter:none!important;filter:none!important}}.wipe-transition-wrapper{min-height:100vh;position:relative;width:100%}.loader{height:100vh;left:0;pointer-events:none;position:fixed;top:0;width:100%;z-index:9999}.loader__tile{height:20%;left:-100%;position:absolute;right:auto;transition:width .5s ease;width:0}.loader--left.loader--entering .loader__tile{left:0;right:auto}.loader--left.loader--exiting .loader__tile,.loader--right.loader--entering .loader__tile{left:auto;right:0}.loader--right.loader--exiting .loader__tile{left:0;right:auto}.loader--idle .loader__tile{width:0}.loader__tile:first-child{background-color:#2563eb;top:0}.loader__tile:nth-child(2){background-color:var(--accent-purple);top:20%}.loader__tile:nth-child(3){background-color:#000;top:40%}.loader__tile:nth-child(4){background-color:var(--accent-magenta);top:60%}.loader__tile:nth-child(5){background-color:var(--accent-cyan);top:80%}.loader--entering .loader__tile{width:100%}.loader--entering .loader__tile:first-child{transition-delay:0s}.loader--entering .loader__tile:nth-child(2){transition-delay:.1s}.loader--entering .loader__tile:nth-child(3){transition-delay:.2s}.loader--entering .loader__tile:nth-child(4){transition-delay:.3s}.loader--entering .loader__tile:nth-child(5){transition-delay:.4s}.loader--exiting .loader__tile{width:0}.loader--exiting .loader__tile:first-child{transition-delay:0s}.loader--exiting .loader__tile:nth-child(2){transition-delay:.1s}.loader--exiting .loader__tile:nth-child(3){transition-delay:.2s}.loader--exiting .loader__tile:nth-child(4){transition-delay:.3s}.loader--exiting .loader__tile:nth-child(5){transition-delay:.4s}.resume-container{background-color:var(--background-color);color:var(--text-color);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;line-height:1.5;margin:0 auto;max-width:1200px;padding:40px 20px;position:relative}.resume-header{border-bottom:2px solid var(--accent-color);margin-bottom:30px;padding-bottom:20px;text-align:center}.resume-header-branding{align-items:center;display:flex;margin-bottom:.5em}.resume-header h1{-webkit-text-fill-color:transparent;text-fill-color:transparent;background:linear-gradient(135deg,var(--accent-color),#4a00e0);-webkit-background-clip:text;background-clip:text;font-size:2.5rem;margin:0}.resume-header h2{color:var(--secondary-color);font-size:1.5rem;margin:5px 0 15px}.resume-contact{flex-wrap:wrap;margin:15px 0}.resume-actions,.resume-contact{display:flex;gap:20px;justify-content:center}.resume-actions{margin:20px 0 10px}.resume-contact a{color:var(--accent-color);position:relative;text-decoration:none;transition:all var(--transition-speed) ease}.resume-contact a:after{background-color:var(--accent-color);bottom:-2px;content:"";height:2px;left:0;position:absolute;transition:width var(--transition-speed) ease;width:0}.resume-contact a:hover:after{width:100%}.refresh-indicator{-webkit-animation:pulse 1.5s infinite;animation:pulse 1.5s infinite;background-color:rgba(138,43,226,.1);border-radius:4px;color:var(--accent-color);font-size:.9rem;margin:15px auto 5px;padding:8px 12px}@-webkit-keyframes pulse{0%{opacity:.6}50%{opacity:1}to{opacity:.6}}@keyframes pulse{0%{opacity:.6}50%{opacity:1}to{opacity:.6}}.loading-spinner{-webkit-animation:spin 1s ease-in-out infinite;animation:spin 1s ease-in-out infinite;border:4px solid rgba(138,43,226,.2);border-radius:50%;border-top:4px solid var(--accent-color);display:inline-block;height:40px;margin-top:20px;width:40px}@-webkit-keyframes spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.download-resume-btn{align-items:center;background:var(--gradient-nav);border:none;border-radius:12px;color:#fff;cursor:pointer;display:flex;font-size:1.1rem;font-weight:600;gap:.5rem;padding:1rem 2rem;transition:-webkit-transform .3s ease;transition:transform .3s ease;transition:transform .3s ease,-webkit-transform .3s ease}.download-resume-btn:hover{-webkit-transform:translateY(-3px);transform:translateY(-3px)}.download-resume-btn:active{-webkit-transform:translateY(0);transform:translateY(0)}.download-indicator{display:inline-block;font-size:1rem;margin-left:8px}.refresh-resume-btn{background:linear-gradient(135deg,#4a00e0,var(--accent-color));border:none;border-radius:30px;box-shadow:0 3px 8px rgba(74,0,224,.3);color:#fff;cursor:pointer;display:inline-block;font-size:.95rem;font-weight:500;padding:10px 20px;transition:box-shadow .3s ease,-webkit-transform .3s ease;transition:transform .3s ease,box-shadow .3s ease;transition:transform .3s ease,box-shadow .3s ease,-webkit-transform .3s ease}.refresh-resume-btn:hover{box-shadow:0 5px 12px rgba(74,0,224,.4);-webkit-transform:translateY(-2px);transform:translateY(-2px)}.refresh-resume-btn:active{box-shadow:0 2px 5px rgba(74,0,224,.4);-webkit-transform:translateY(0);transform:translateY(0)}.refresh-resume-btn.refreshing{background:linear-gradient(135deg,#666,#999);box-shadow:0 2px 5px rgba(0,0,0,.2);cursor:wait;opacity:.8}.refresh-resume-btn:disabled{cursor:not-allowed}.resume-summary{margin-bottom:30px}.resume-columns{display:flex;gap:30px}.resume-column{flex:3 1}.resume-column.sidebar{flex:2 1}.resume-section{margin-bottom:30px}h3{color:var(--accent-color);display:inline-block;font-size:1.5rem;margin-bottom:15px;position:relative}h3:after{background:var(--accent-color);bottom:-5px;content:"";height:3px;left:0;position:absolute;width:40px}.resume-job{border-bottom:1px solid rgba(138,43,226,.2);margin-bottom:25px;padding-bottom:15px}.job-header{margin-bottom:10px}.resume-job h4{font-size:1.2rem;margin:0}.job-company{font-weight:600;margin:3px 0}.job-company,.job-years{color:var(--secondary-color)}.job-years{font-style:italic;margin:0}.resume-job ul,.resume-project ul{margin-top:10px;padding-left:20px}.resume-job li,.resume-project li{margin-bottom:5px}.projects-grid{display:flex;flex-direction:column;gap:20px}.resume-project{background-color:var(--card-background);border-radius:var(--border-radius);box-shadow:var(--box-shadow);padding:15px}.project-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.resume-project h4{font-size:1.1rem;margin:0}.project-type{border-radius:12px;color:#fff;font-size:.8rem;font-weight:500;padding:3px 8px;text-transform:uppercase}.project-type.enterprise{background-color:#3498db}.project-type.personal{background-color:#e67e22}.project-type.group{background-color:#9b59b6}.project-type.solo{background-color:#27ae60}.project-links{display:flex;gap:15px;margin-bottom:10px}.project-links a{border:1px solid var(--accent-color);border-radius:15px;color:var(--accent-color);font-size:.9rem;padding:3px 10px;text-decoration:none;transition:all .2s ease}.project-links a:hover{background-color:var(--accent-color);color:#fff}.expertise-category,.skills-category{margin-bottom:20px}.expertise-category h4,.skills-category h4{color:var(--secondary-color);font-size:1.1rem;margin-bottom:10px}.education-list,.expertise-list,.interests-list,.skills-list{list-style:none;margin:0;padding:0}.expertise-list li,.interests-list li,.skills-list li{background-color:rgba(138,43,226,.1);border-radius:15px;display:inline-block;font-size:.9rem;margin:3px 5px 3px 0;padding:5px 10px}.education-list li{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.education-list strong{flex:1 1}.education-list span{color:var(--secondary-color);font-size:.9rem}.print-friendly-btn{background:linear-gradient(135deg,#2ecc71,#27ae60);border:none;border-radius:30px;box-shadow:0 3px 8px rgba(39,174,96,.3);color:#fff;cursor:pointer;display:inline-block;font-size:.95rem;font-weight:500;padding:10px 20px;transition:box-shadow .3s ease,-webkit-transform .3s ease;transition:transform .3s ease,box-shadow .3s ease;transition:transform .3s ease,box-shadow .3s ease,-webkit-transform .3s ease}.print-friendly-btn:hover{box-shadow:0 5px 12px rgba(39,174,96,.4);-webkit-transform:translateY(-2px);transform:translateY(-2px)}.print-friendly-btn:active{box-shadow:0 2px 5px rgba(39,174,96,.4);-webkit-transform:translateY(0);transform:translateY(0)}.print-friendly-btn.active{background:linear-gradient(135deg,#e74c3c,#c0392b);box-shadow:0 3px 8px rgba(231,76,60,.3)}.print-friendly-btn.active:hover{box-shadow:0 5px 12px rgba(231,76,60,.4)}.refresh-notification{background-color:#2ecc71;border-radius:30px;bottom:30px;box-shadow:0 4px 12px rgba(46,204,113,.3);color:#fff;font-weight:500;left:50%;opacity:1;padding:12px 24px;position:fixed;-webkit-transform:translateX(-50%);transform:translateX(-50%);transition:opacity .5s ease;z-index:1000}.refresh-notification.fade-out{opacity:0}.close-window-btn,.print-resume-btn{align-items:center;background:linear-gradient(135deg,#3498db,#2980b9);border:none;border-radius:30px;box-shadow:0 3px 8px rgba(52,152,219,.3);color:#fff;cursor:pointer;display:inline-flex;font-size:1rem;font-weight:500;justify-content:center;margin:0 8px;padding:8px 16px;transition:all .3s ease}.close-window-btn:hover,.print-resume-btn:hover{box-shadow:0 5px 12px rgba(52,152,219,.4);-webkit-transform:translateY(-2px);transform:translateY(-2px)}.close-window-btn{background:linear-gradient(135deg,#e74c3c,#c0392b);box-shadow:0 3px 8px rgba(231,76,60,.3)}.close-window-btn:hover{box-shadow:0 5px 12px rgba(231,76,60,.4)}.back-to-portfolio-btn{align-items:center;background:linear-gradient(135deg,#2ecc71,#27ae60);border:none;border-radius:30px;box-shadow:0 3px 8px rgba(46,204,113,.3);color:#fff;cursor:pointer;display:inline-flex;font-size:1rem;font-weight:500;justify-content:center;margin:0 8px;padding:8px 16px;text-decoration:none;transition:all .3s ease}.back-to-portfolio-btn:hover{box-shadow:0 5px 12px rgba(46,204,113,.4);-webkit-transform:translateY(-2px);transform:translateY(-2px)}@media print{.back-to-portfolio-btn{display:none!important}}.resume-container.print-friendly{background-color:#fff;box-shadow:none;color:#333;font-family:Arial,sans-serif;line-height:1.4;margin:0 auto;max-width:850px;min-height:100vh;padding:48px 64px}.resume-container.print-friendly .resume-header{border-bottom:2px solid #2c3e50;margin-bottom:32px;padding-bottom:16px;text-align:center}.resume-container.print-friendly .resume-header h1{-webkit-text-fill-color:#2c3e50;background:none;color:#2c3e50;font-size:32px;font-weight:700;letter-spacing:.5px;margin-bottom:8px;text-transform:uppercase}.resume-container.print-friendly .resume-header h2{color:#34495e;font-size:20px;font-weight:500;margin-bottom:16px}.resume-container.print-friendly .resume-contact{color:#34495e;display:flex;font-size:14px;gap:24px;justify-content:center;margin:16px 0}.resume-container.print-friendly a{color:#333;text-decoration:none}.resume-container.print-friendly .resume-columns{display:flex;gap:48px;margin-top:32px}.resume-container.print-friendly .resume-column{flex:7 1}.resume-container.print-friendly .resume-column.sidebar{flex:3 1}.resume-container.print-friendly section{margin-bottom:32px}.resume-container.print-friendly h3{border-bottom:2px solid #2c3e50;color:#2c3e50;font-size:18px;font-weight:700;letter-spacing:.5px;margin-bottom:16px;padding-bottom:4px;text-transform:uppercase}.resume-container.print-friendly h4{color:#34495e;font-size:16px;font-weight:700;margin-bottom:8px}.resume-container.print-friendly .resume-summary p{color:#2c3e50;font-size:14px;line-height:1.6;margin-bottom:24px}.resume-container.print-friendly .resume-job{margin-bottom:24px}.resume-container.print-friendly .job-header{margin-bottom:8px}.resume-container.print-friendly .job-company{color:#34495e;font-size:14px;font-weight:500;margin:4px 0}.resume-container.print-friendly .job-years{color:#7f8c8d;font-size:14px;margin:2px 0}.resume-container.print-friendly ul{margin:8px 0;padding-left:20px}.resume-container.print-friendly li{color:#2c3e50;font-size:14px;line-height:1.4;margin-bottom:6px}.resume-container.print-friendly .resume-project{border:none;border-bottom:1px solid #ecf0f1;margin-bottom:16px;padding:16px 0}.resume-container.print-friendly .project-type{background:none!important;border:1px solid #7f8c8d;border-radius:3px;color:#7f8c8d;font-size:12px;letter-spacing:.5px;padding:2px 8px;text-transform:uppercase}.resume-container.print-friendly .project-links.print-friendly{color:#7f8c8d;font-size:13px;margin:8px 0}.resume-container.print-friendly .expertise-list li,.resume-container.print-friendly .skills-list li{background:none;border-bottom:1px solid #ecf0f1;border-radius:0;color:#2c3e50;font-size:14px;margin-bottom:4px;padding:4px 0}.resume-container.print-friendly .resume-education li{list-style:none;margin-bottom:12px;padding-left:0}.resume-container.print-friendly .resume-education strong{color:#2c3e50;display:block;margin-bottom:2px}.resume-container.print-friendly .resume-education span{color:#7f8c8d;font-size:13px}.resume-container.print-friendly .interests-list{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0}.resume-container.print-friendly .interests-list li{background:none;color:#34495e;font-size:13px;margin:0;padding:4px 0}.project-links.print-friendly span{color:#666;display:inline-block;font-size:.9em;margin-right:15px}@media print{.resume-container,body{background:#fff!important}.resume-container{color:#000!important;font-size:11pt;margin:0;max-width:none;padding:0}.resume-header h1{-webkit-text-fill-color:#000!important;background:none!important;color:#000!important;font-size:20pt}.resume-header h2{color:#333!important;font-size:16pt;margin-bottom:10pt}.refresh-indicator,.resume-actions,.resume-notification{display:none!important}.resume-contact{gap:12pt;margin:8pt 0}.resume-job,.resume-project,section{-webkit-column-break-inside:avoid;break-inside:avoid;page-break-inside:avoid}.resume-columns{display:flex;gap:20pt}.resume-column{flex:7 1}.resume-column.sidebar{flex:3 1}section{margin-bottom:15pt}h3{color:#000!important;margin:10pt 0 8pt}h4{color:#333!important;margin:8pt 0 6pt}ul{margin:6pt 0;padding-left:15pt}li{margin-bottom:4pt}*{-webkit-animation:none!important;animation:none!important;transition:none!important}.expertise-list li,.resume-project,.skills-list li{background:#fff!important;border:1px solid #ddd!important;box-shadow:none!important}a{color:#000;text-decoration:none}.resume-contact a:after{display:none}}@media (max-width:900px){.resume-columns{flex-direction:column}.resume-column{flex:1 1}.resume-header h1{font-size:2rem}.resume-header h2{font-size:1.25rem}.resume-contact{flex-direction:column;gap:10px}}.resume-error,.resume-loading{align-items:center;background-color:var(--card-background);border-radius:var(--border-radius);box-shadow:var(--box-shadow);display:flex;font-size:1.2rem;justify-content:center;margin:50px auto;max-width:800px;min-height:300px;padding:30px;text-align:center}.resume-error{border-left:5px solid #e74c3c;color:#e74c3c}.resume-loading{-webkit-animation:pulse 1.5s infinite;animation:pulse 1.5s infinite;border-left:5px solid var(--accent-color);color:var(--accent-color)}@media (max-width:600px){.resume-container{padding:20px 15px}.resume-header h1{font-size:1.8rem}h3{font-size:1.3rem}.resume-job h4{font-size:1.1rem}.resume-header-branding{flex-direction:column;text-align:center}.resume-header-branding .resume-header{text-align:center}.resume-header-branding>div:first-child{margin-bottom:.5em;margin-right:0!important}}@media screen{.pdf-page-break{display:none}}@page{size:8.5in 11in;marks:none;margin:.5in}@page{size:8.5in 11in}.pdf-page-break{-webkit-column-break-before:page;break-before:page;display:block;height:0;margin:0;padding-top:.5in;page-break-before:always;width:100%}@media print{.sections-container,body,html{background:#fff;color:#000;font-family:Helvetica Neue,Helvetica,Arial,Liberation Sans,Nimbus Sans,Segoe UI,Georgia,sans-serif!important;font-size:11pt;margin:0;padding:0;print-color-adjust:exact;-webkit-print-color-adjust:exact;width:100%!important}.sections-container{margin:0!important;max-width:none!important;padding-top:0!important}body .resume-container.print-friendly{background:#fff!important;border-radius:0!important;box-shadow:none!important;box-sizing:border-box!important;margin:0 auto!important;max-width:900px!important;padding:.5in .7in!important;width:100%!important}.resume-container.print-friendly .resume-columns{align-items:flex-start;display:flex!important;flex-wrap:nowrap!important;gap:1.2rem!important;width:100%!important}.resume-container.print-friendly .resume-column{flex:2 1!important;min-width:0!important;padding-right:1rem!important}.resume-container.print-friendly .resume-column.sidebar{background:#f5f5f5!important;border-radius:8px!important;flex:1 1!important;margin-left:.5rem!important;max-width:260px!important;min-width:180px!important;padding:1rem .7rem!important}.print-friendly-btn,.refresh-indicator,.refresh-notification,.resume-actions,button{display:none!important}.project-links a,.resume-contact a{color:#000!important;pointer-events:none;text-decoration:none!important}a[href]:after{content:none!important}.resume-container.print-friendly .resume-column{-webkit-column-break-inside:avoid!important;break-inside:avoid!important;page-break-inside:avoid!important}h3,h4{-webkit-column-break-after:avoid;break-after:avoid;page-break-after:avoid}div,h3,h4,p,ul{page-break-inside:avoid}div,p,ul{-webkit-column-break-inside:avoid;break-inside:avoid}.resume-header{border-bottom:2px solid #222!important;margin-bottom:.8em!important;padding-bottom:.2em!important;text-align:left!important}.resume-header h1{font-size:24pt!important;font-weight:700!important;letter-spacing:.5px!important;margin-bottom:0!important}.resume-header h2{color:#444!important;font-size:12pt!important;font-weight:400!important;margin-bottom:.3em!important;margin-top:0!important}.resume-contact>div{color:#333!important;display:inline-block!important;font-size:10pt!important;margin-right:1em!important}.resume-container.print-friendly h3{border-bottom:1px solid #e0e0e0!important;color:#222!important;font-size:12pt!important;font-weight:700!important;letter-spacing:.5px!important;margin-bottom:.2em!important;margin-top:.5em!important;padding-bottom:.05em!important}.resume-container.print-friendly h4{color:#333!important;font-size:11pt!important;font-weight:600!important;margin-bottom:.05em!important;margin-top:.4em!important}.resume-container.print-friendly section{border-bottom:1px solid #ececec!important;margin-bottom:.5em!important;padding-bottom:.3em!important}.resume-container.print-friendly section:last-child{border-bottom:none!important}.resume-container.print-friendly p,.resume-container.print-friendly ul{line-height:1.4!important;margin-bottom:.3em!important;margin-top:.1em!important}.resume-container.print-friendly li{margin-bottom:.1em!important;padding-left:.1em!important}*{background:transparent!important}}.page-not-found{align-items:center;background-color:var(--background-color);display:flex;flex-direction:column;justify-content:center;min-height:100vh;padding:20px;text-align:center;width:100%}.page-not-found h1{color:var(--accent-color);font-size:clamp(2rem,5vw,3rem);line-height:1.2;margin-bottom:40px;max-width:800px;padding:0 20px}.snoof{-webkit-animation:float 3s ease-in-out infinite;animation:float 3s ease-in-out infinite;aspect-ratio:1;-webkit-filter:drop-shadow(0 10px 20px rgba(138,43,226,.3));filter:drop-shadow(0 10px 20px rgba(138,43,226,.3));height:auto;object-fit:contain;width:min(400px,80vw)}@-webkit-keyframes float{0%{-webkit-transform:translateY(0);transform:translateY(0)}50%{-webkit-transform:translateY(-20px);transform:translateY(-20px)}to{-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes float{0%{-webkit-transform:translateY(0);transform:translateY(0)}50%{-webkit-transform:translateY(-20px);transform:translateY(-20px)}to{-webkit-transform:translateY(0);transform:translateY(0)}}
/*# sourceMappingURL=main.76cf28fe.css.map*/