*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";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,samp,pre{font-family:Fira Code,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;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-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,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{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}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}*,:before,:after{--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: rgb(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: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::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: rgb(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: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.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}}.pointer-events-none{pointer-events:none}.invisible{visibility:hidden}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{top:0;right:0;bottom:0;left:0}.left-0{left:0}.top-0{top:0}.z-\[9999\]{z-index:9999}.z-\[999\]{z-index:999}.m-0{margin:0}.mr-4{margin-right:1rem}.block{display:block}.flex{display:flex}.grid{display:grid}.contents{display:contents}.hidden{display:none}.h-2{height:.5rem}.h-3{height:.75rem}.h-\[50px\]{height:50px}.h-\[calc\(100\%-48px\)\]{height:calc(100% - 48px)}.h-full{height:100%}.w-2{width:.5rem}.w-3{width:.75rem}.w-\[50px\]{width:50px}.w-full{width:100%}.flex-shrink{flex-shrink:1}.translate-y-0{--tw-translate-y: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-center{justify-content:center}.gap-2{gap:.5rem}.overflow-auto{overflow:auto}.rounded-full{border-radius:9999px}.border{border-width:1px}.border-4{border-width:4px}.border-b{border-bottom-width:1px}.border-white\/10{border-color:#ffffff1a}.border-t-primary{--tw-border-opacity: 1;border-top-color:rgb(0 112 243 / var(--tw-border-opacity))}.bg-\[\#27c93f\]{--tw-bg-opacity: 1;background-color:rgb(39 201 63 / var(--tw-bg-opacity))}.bg-\[\#FF3B30\]{--tw-bg-opacity: 1;background-color:rgb(255 59 48 / var(--tw-bg-opacity))}.bg-\[\#ff5f56\]{--tw-bg-opacity: 1;background-color:rgb(255 95 86 / var(--tw-bg-opacity))}.bg-\[\#ffbd2e\]{--tw-bg-opacity: 1;background-color:rgb(255 189 46 / var(--tw-bg-opacity))}.bg-background{--tw-bg-opacity: 1;background-color:rgb(5 8 22 / var(--tw-bg-opacity))}.bg-black\/30{background-color:#0000004d}.bg-black\/50{background-color:#00000080}.bg-transparent{background-color:transparent}.p-3{padding:.75rem}.p-5{padding:1.25rem}.font-mono{font-family:Fira Code,monospace}.text-sm{font-size:.875rem;line-height:1.25rem}.leading-6{line-height:1.5rem}.text-\[\#e6e6e6\]{--tw-text-opacity: 1;color:rgb(230 230 230 / var(--tw-text-opacity))}.text-white\/80{color:#fffc}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-100{opacity:1}.opacity-20{opacity:.2}.opacity-50{opacity:.5}.blur{--tw-blur: blur(8px);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)}.blur-sm{--tw-blur: blur(4px);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: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)}.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-sm{--tw-backdrop-blur: blur(4px);-webkit-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-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-filter{-webkit-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-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)}.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}:root{--primary: #0070f3;--secondary: #7928ca;--accent: #00c7b7;--background: rgb(5, 8, 22);--card-bg: rgba(23, 25, 35, .75);--border: rgba(255, 255, 255, .1);--text-secondary: rgba(255, 255, 255, .7);--gradient-1: linear-gradient(90deg, var(--primary), var(--secondary));--gradient-2: linear-gradient(90deg, var(--accent), var(--primary))}body{overflow-x:hidden;--tw-bg-opacity: 1;background-color:rgb(5 8 22 / var(--tw-bg-opacity));--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity));scroll-behavior:smooth;overscroll-behavior-y:none}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#0003}::-webkit-scrollbar-thumb{background:#0070f380;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#0070f3b3}.container{margin-left:auto;margin-right:auto;max-width:80rem;padding-left:1rem;padding-right:1rem}.fullpage-section{min-height:100vh;display:flex;flex-direction:column;justify-content:center}#hero{padding-top:calc(1rem + 60px)}@media (min-width: 768px){.fullpage-section{padding-top:6rem;padding-bottom:6rem}@media (max-width: 480px){.fullpage-section{padding-top:2rem;padding-bottom:2rem}}#hero{padding-top:calc(2rem + 70px)}.navbar{height:70px}}.snap-container{height:100vh;overflow-y:auto;scroll-behavior:smooth;-webkit-overflow-scrolling:touch}.section-title{margin-bottom:3rem;text-align:center;font-size:2.25rem;line-height:2.5rem;font-weight:700;background:linear-gradient(90deg,var(--primary),var(--secondary));-webkit-background-clip:text;color:transparent}.btn{border-radius:9999px;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.btn.primary{--tw-bg-opacity: 1;background-color:rgb(0 112 243 / var(--tw-bg-opacity));--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.btn.primary:hover{background-color:#0070f3e6}.btn.secondary{border-width:2px;--tw-border-opacity: 1;border-color:rgb(0 112 243 / var(--tw-border-opacity));background-color:transparent;--tw-text-opacity: 1;color:rgb(0 112 243 / var(--tw-text-opacity))}.btn.secondary:hover{background-color:#0070f31a}.btn:hover{--tw-translate-y: -.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);box-shadow:0 10px 25px #0070f366}.animate{opacity:0;will-change:transform,opacity}.animate-fadeIn{animation:fadeIn 1s forwards}.slide-up{animation:slideUp 1s forwards}.slide-in-left{animation:slideInLeft 1s forwards}.slide-in-right{animation:slideInRight 1s forwards}.zoom-in{animation:zoomIn 1s forwards}.bounce-in{animation:bounceIn 1s forwards}.rotate-in{animation:rotateIn 1s forwards}.glow{text-shadow:0 0 10px rgba(0,112,243,.5),0 0 20px rgba(0,112,243,.3);animation:pulse 3s infinite}.skill-progress.animated{animation:loadingBar 2.5s forwards cubic-bezier(.25,.1,.3,1)}.hero{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;overflow:hidden}.blur-circle{position:absolute;width:40vw;height:40vw;border-radius:50%;filter:blur(120px);opacity:.3;pointer-events:none;z-index:1;animation:float 10s infinite ease-in-out}.hero-content{position:relative;z-index:5;max-width:800px;margin:0 auto}.hero-grid{display:grid;grid-template-columns:repeat(10,1fr);grid-template-rows:repeat(10,1fr);position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;pointer-events:none}.grid-item{border:1px solid rgba(255,255,255,.05);transition:all .5s}.reveal{opacity:0;transform:translateY(30px);transition:all .8s cubic-bezier(.16,1,.3,1)}.reveal.active{opacity:1;transform:translateY(0)}.parallax-bg,.parallax-item{transform:translateY(var(--parallax-y, 0));transition:transform .1s linear;will-change:transform}.blur-on-scroll{transition:filter .5s}.blur-on-scroll.blurred{filter:blur(5px)}.card-3d{transform-style:preserve-3d;transition:transform .5s ease}.text-reveal{opacity:0;transform:translateY(30px);transition:all .8s cubic-bezier(.16,1,.3,1)}.text-reveal span{display:inline-block;transform:translateY(50px);opacity:0;transition:all .6s cubic-bezier(.16,1,.3,1)}.text-reveal.active span{transform:translateY(0);opacity:1}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-50px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(50px)}to{opacity:1;transform:translate(0)}}@keyframes zoomIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}50%{opacity:1;transform:scale(1.05)}70%{transform:scale(.9)}to{transform:scale(1);opacity:1}}@keyframes rotateIn{0%{opacity:0;transform:rotate(-90deg)}to{opacity:1;transform:rotate(0)}}@keyframes loadingBar{0%{width:0}to{width:var(--progress-width, 0%)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}@keyframes pulse{0%{text-shadow:0 0 10px rgba(0,112,243,.5),0 0 20px rgba(0,112,243,.3)}50%{text-shadow:0 0 15px rgba(0,112,243,.8),0 0 30px rgba(0,112,243,.5)}to{text-shadow:0 0 10px rgba(0,112,243,.5),0 0 20px rgba(0,112,243,.3)}}@keyframes fadeScale{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes textReveal{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes floatRotate{0%{transform:translateY(0) rotate(0)}25%{transform:translateY(-10px) rotate(2deg)}50%{transform:translateY(0) rotate(0)}75%{transform:translateY(10px) rotate(-2deg)}to{transform:translateY(0) rotate(0)}}@keyframes scrollDown{0%,to{transform:translateY(0)}50%{transform:translateY(10px)}}.apple-fade-in{opacity:0;animation:fadeScale 1.2s cubic-bezier(.16,1,.3,1) forwards;animation-play-state:paused}.apple-fade-in.active{animation-play-state:running}.apple-text-reveal{opacity:0;transform:translateY(30px);transition:all 1s cubic-bezier(.16,1,.3,1);transition-delay:.1s}.apple-text-reveal.active{opacity:1;transform:translateY(0)}.apple-gradient-text{background:linear-gradient(90deg,var(--primary),var(--secondary),var(--accent),var(--primary));background-size:300% 100%;-webkit-background-clip:text;color:transparent;animation:gradientShift 8s infinite linear}.apple-float{animation:floatRotate 6s infinite ease-in-out}.sticky-header{position:fixed;top:0;left:0;width:100%;z-index:100;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background-color:#050816cc}.scroll-indicator{display:none}section.reveal{opacity:0;transform:translateY(20px);transition:all 1s cubic-bezier(.16,1,.3,1)}section.reveal.active{opacity:1;transform:translateY(0)}.skill-bar .skill-progress{width:0;transition:width 1.5s cubic-bezier(.25,.1,.3,1)}.skill-bar .skill-progress.animated{width:var(--progress-width, 0%)}.skill-item{animation-delay:calc(var(--index, 0) * .1s)}.timeline-container{position:relative}.timeline-item{position:relative;margin-bottom:50px}.timeline-dot,.timeline-content{transition:all .3s ease}.timeline-header{display:flex;align-items:center;gap:1.25rem}.timeline-logo{flex-shrink:0;display:flex;align-items:center;justify-content:center}.code-container{height:350px;transform-style:preserve-3d;transition:all .5s ease}.code-container:hover{transform:perspective(1000px) rotateY(5deg) rotateX(2deg);box-shadow:0 0 30px #0070f34d}@media (max-width: 768px){.fullpage-section{padding:60px 0;min-height:100vh;height:auto}.section-title{margin-bottom:2rem;font-size:1.875rem;line-height:2.25rem}.btn{padding:.5rem 1.5rem;font-size:.875rem;line-height:1.25rem}@media (max-width: 480px){.btn{font-size:14px;line-height:1.5}}.blur-circle{width:50vw;height:50vw}.hero-content{padding:0 20px}.grid-cols-2,.grid-cols-3{grid-template-columns:1fr}[class*="w-[calc(50%-40px)"]{width:85%;left:0!important;margin-left:40px}#experience .before\:content-\[\'\'\]:before{left:20px;content:var(--tw-content);margin-left:0}#experience .absolute.w-5.h-5,#experience .timeline-dot{left:20px!important;margin-left:0!important}.bg-card-bg.card-3d{margin-bottom:30px}.skills-list,.code-editor-container{margin-bottom:40px}.snap-container{scroll-behavior:smooth}.apple-float{animation-duration:10s}#contact .max-w-\[600px\]{max-width:100%;margin:0 10px}.w-\[70px\].h-\[70px\],.timeline-logo{width:50px;height:50px}#experience .before\:w-\[2px\]:before{left:20px;margin-left:0}#experience .relative.w-full.mb-\[50px\],#experience .timeline-item{padding-left:20px}.code-container{height:300px}.code-container pre{font-size:10px}}@media (max-width: 480px){.fullpage-section{padding:40px 0}.section-title{margin-bottom:1.5rem;font-size:1.5rem;line-height:2rem}.btn{padding:.5rem 1.25rem;font-size:.75rem;line-height:1rem}.hero h1{font-size:2.5rem}.hero h2{font-size:1.2rem}.blur-circle{opacity:.2}.container{padding-left:15px;padding-right:15px}[class*="w-[calc(50%-40px)"]{width:80%;margin-left:30px}#experience .absolute.w-5.h-5,#experience .timeline-dot{width:15px;height:15px;left:15px!important}#experience .before\:content-\[\'\'\]:before{content:var(--tw-content);left:15px}.flex.gap-5.justify-center{flex-direction:column;gap:10px}.grid-cols-1.md\:grid-cols-2.lg\:grid-cols-3>div{margin-bottom:20px}.skill-item{margin-bottom:15px}.code-editor-container{font-size:.8rem}.apple-float,.parallax-bg{animation:none!important;transform:none!important}.snap-container{scroll-behavior:smooth}.py-16,.py-20,.py-24{padding-top:2rem;padding-bottom:2rem}p,.text-sm,.text-base{font-size:14px;line-height:1.5}#experience .relative.max-w-\[900px\],#experience .timeline-container{padding-left:15px}#experience .timeline-content{padding:15px;width:80%;margin-left:30px}#experience .flex.items-center.gap-5,#experience .timeline-header{flex-direction:column;align-items:flex-start}#experience .w-\[70px\].h-\[70px\],#experience .timeline-logo{width:40px;height:40px;margin-bottom:10px}.code-container{height:250px}.code-container pre{font-size:10px}}.navbar{height:60px}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:2rem}.project-card{background:var(--card-bg);border-radius:12px;overflow:hidden;box-shadow:0 4px 20px #00000026;transition:all .4s ease;height:100%;display:flex;flex-direction:column;border:1px solid var(--border)}.project-link{text-decoration:none;color:inherit;display:block;position:relative;overflow:hidden}.project-link:hover .project-image img{transform:scale(1.05)}.project-link:hover .project-overlay{opacity:1}.project-link:after{content:"";position:absolute;top:1rem;right:1rem;width:24px;height:24px;background:var(--primary);border-radius:50%;opacity:0;transform:translateY(10px);transition:all .3s ease;display:flex;align-items:center;justify-content:center;color:#fff;font-family:"Font Awesome 6 Free";font-weight:900;content:"";z-index:2}.project-link:hover:after{opacity:1;transform:translateY(0)}.project-card:hover{transform:translateY(-10px);box-shadow:0 10px 30px #0003;border-color:var(--accent)}.project-image{position:relative;height:220px;overflow:hidden}.project-image img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .5s ease}.project-overlay{position:absolute;bottom:0;left:0;width:100%;padding:1rem;background:linear-gradient(to top,rgba(0,0,0,.8),transparent);opacity:0;transition:opacity .3s ease}.project-tech{display:flex;flex-wrap:wrap;gap:.5rem}.project-tech span{background:var(--accent);color:var(--background);padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:600}.project-content{padding:1.5rem;flex:1;display:flex;flex-direction:column}.project-content h3{font-size:1.5rem;font-weight:700;margin-bottom:1rem;color:var(--accent)}.project-content p{margin-bottom:1.5rem;flex:1;line-height:1.6}.project-features{display:flex;flex-wrap:wrap;gap:1rem;margin-top:auto}.feature{display:flex;align-items:center;gap:.5rem}.feature i{color:var(--primary);font-size:1rem}.feature span{font-size:.875rem}@media (max-width: 768px){.projects-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem}.project-image{height:180px}}@media (max-width: 480px){.projects-grid{grid-template-columns:1fr;gap:1.5rem}.project-features{flex-direction:column;gap:.5rem}}@media (min-width: 768px){.md\:hidden{display:none}}.site-nav.svelte-1ktfles{position:fixed;top:0;left:0;width:100%;z-index:1000;background:#0a0a0ae6;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid rgba(255,255,255,.06);opacity:0;transform:translateY(-100%);transition:opacity .5s ease,transform .5s ease}.site-nav.nav-visible{opacity:1;transform:translateY(0)}.nav-inner.svelte-1ktfles{position:relative;display:flex;align-items:center;height:64px;padding:0 48px;max-width:1400px;margin:0 auto}.nav-logo-link.svelte-1ktfles{font-size:22px;font-weight:700;color:#ff3b30;text-decoration:none;letter-spacing:-1px;flex-shrink:0;z-index:1}.nav-links-desktop.svelte-1ktfles{position:absolute;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:36px}.nav-links-desktop.svelte-1ktfles a:where(.svelte-1ktfles){font-size:11px;font-weight:500;color:#555;text-decoration:none;letter-spacing:1.8px;transition:color .25s;white-space:nowrap}.nav-links-desktop.svelte-1ktfles a:where(.svelte-1ktfles):hover{color:#fff}.nav-right.svelte-1ktfles{margin-left:auto;display:flex;align-items:center;gap:16px;z-index:1}.nav-cta-btn.svelte-1ktfles{font-size:11px;font-weight:600;color:#fff;background:#ff3b30;padding:9px 22px;letter-spacing:1px;text-decoration:none;transition:background .25s,box-shadow .25s;white-space:nowrap}.nav-cta-btn.svelte-1ktfles:hover{background:#e8352b;box-shadow:0 4px 18px #ff3b3059}.nav-burger.svelte-1ktfles{display:none;background:none;border:none;cursor:pointer;color:#aaa;padding:4px;line-height:0}.nav-burger.svelte-1ktfles:hover{color:#fff}.nav-mobile.svelte-1ktfles{display:flex;flex-direction:column;background:#0a0a0af7;border-top:1px solid rgba(255,255,255,.06);padding:16px 24px 24px;gap:4px}.nav-mobile.svelte-1ktfles a:where(.svelte-1ktfles){font-size:12px;font-weight:500;color:#666;text-decoration:none;letter-spacing:1.5px;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.04);transition:color .2s}.nav-mobile.svelte-1ktfles a:where(.svelte-1ktfles):last-child{border-bottom:none;color:#ff3b30;margin-top:8px}.nav-mobile.svelte-1ktfles a:where(.svelte-1ktfles):hover{color:#fff}.lang-switcher.svelte-1ktfles{display:flex;gap:8px;margin-right:8px}.lang-switcher.svelte-1ktfles button:where(.svelte-1ktfles){background:transparent;border:1px solid rgba(255,255,255,.1);color:#888;font-size:10px;font-weight:600;padding:4px 8px;border-radius:4px;cursor:pointer;transition:all .2s}.lang-switcher.svelte-1ktfles button:where(.svelte-1ktfles):hover{color:#fff;border-color:#ffffff4d}.lang-switcher.svelte-1ktfles button.active:where(.svelte-1ktfles){color:#ff3b30;border-color:#ff3b304d;background:#ff3b300d}.mobile-lang-switcher.svelte-1ktfles{display:flex;gap:12px;margin-top:16px;padding-top:16px;border-top:1px solid rgba(255,255,255,.04)}.mobile-lang-switcher.svelte-1ktfles button:where(.svelte-1ktfles){flex:1;background:transparent;border:1px solid rgba(255,255,255,.1);color:#888;font-size:11px;font-weight:600;padding:8px;border-radius:4px;cursor:pointer;transition:all .2s}.mobile-lang-switcher.svelte-1ktfles button.active:where(.svelte-1ktfles){color:#ff3b30;border-color:#ff3b304d;background:#ff3b300d}@media (max-width: 900px){.nav-links-desktop.svelte-1ktfles,.lang-switcher.svelte-1ktfles{display:none}.nav-burger.svelte-1ktfles{display:flex}.nav-inner.svelte-1ktfles{padding:0 20px}.nav-right.svelte-1ktfles .nav-cta-btn:where(.svelte-1ktfles){display:none}}
