@import"https://fonts.googleapis.com/css2?family=Press+Start+2P&family=Fira+Code:wght@300;400;500;600;700&display=swap";:root{--vt-c-white: #ffffff;--vt-c-white-soft: #f8f8f8;--vt-c-white-mute: #f2f2f2;--vt-c-black: #181818;--vt-c-black-soft: #222222;--vt-c-black-mute: #282828;--vt-c-indigo: #2c3e50;--vt-c-divider-light-1: rgba(60, 60, 60, .29);--vt-c-divider-light-2: rgba(60, 60, 60, .12);--vt-c-divider-dark-1: rgba(84, 84, 84, .65);--vt-c-divider-dark-2: rgba(84, 84, 84, .48);--vt-c-text-light-1: var(--vt-c-indigo);--vt-c-text-light-2: rgba(60, 60, 60, .66);--vt-c-text-dark-1: var(--vt-c-white);--vt-c-text-dark-2: rgba(235, 235, 235, .64)}:root{--color-background: var(--vt-c-white);--color-background-soft: var(--vt-c-white-soft);--color-background-mute: var(--vt-c-white-mute);--color-border: var(--vt-c-divider-light-2);--color-border-hover: var(--vt-c-divider-light-1);--color-heading: var(--vt-c-text-light-1);--color-text: var(--vt-c-text-light-1);--section-gap: 160px}@media(prefers-color-scheme:dark){:root{--color-background: var(--vt-c-black);--color-background-soft: var(--vt-c-black-soft);--color-background-mute: var(--vt-c-black-mute);--color-border: var(--vt-c-divider-dark-2);--color-border-hover: var(--vt-c-divider-dark-1);--color-heading: var(--vt-c-text-dark-1);--color-text: var(--vt-c-text-dark-2)}}*,*:before,*:after{box-sizing:border-box;margin:0;font-weight:400}body{min-height:100vh;width:100%;margin:0;padding:0;line-height:1.6;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:15px;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{scrollbar-width:none}#app{width:100%;margin:0;padding:0;font-weight:400}a{text-decoration:none;color:inherit;transition:.2s}.skill-drag-wrapper{-webkit-user-drag:none;-khtml-user-drag:none;-moz-user-drag:none;-o-user-drag:none;user-drag:none}.skill-drag-wrapper *{-webkit-user-drag:none;pointer-events:none}.skill-drag-wrapper{pointer-events:auto}.project-card[data-v-660e2bd5]{background:var(--bg-primary);overflow:hidden;border:2px solid var(--accent);transition:all .15s steps(2);box-shadow:4px 4px #00000080,0 0 12px var(--accent-glow);position:relative}.project-card[data-v-660e2bd5]:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,0,0,.04) 2px,rgba(0,0,0,.04) 4px);pointer-events:none;z-index:5}@media(hover:hover){.project-card[data-v-660e2bd5]:hover{border-color:var(--cyan);transform:translateY(-6px) translate(-2px,-2px);box-shadow:6px 6px #00000080,0 0 25px var(--cyan-glow)}.project-card:hover .project-image img[data-v-660e2bd5]{transform:scale(1.1)}.project-card:hover .project-overlay[data-v-660e2bd5]{opacity:1}}.project-image[data-v-660e2bd5]{position:relative;overflow:hidden;height:clamp(180px,25vw,220px);border-bottom:2px solid var(--accent)}.project-image img[data-v-660e2bd5]{width:100%;height:100%;object-fit:cover;transition:transform .4s steps(6);image-rendaling:pixelated}.scanlines[data-v-660e2bd5]{position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,0,0,.08) 2px,rgba(0,0,0,.08) 4px);pointer-events:none;z-index:1}.project-overlay[data-v-660e2bd5]{position:absolute;top:0;left:0;width:100%;height:100%;background:#0a0a0fe6;display:flex;align-items:center;justify-content:center;gap:clamp(.8rem,2vw,1.2rem);opacity:0;transition:opacity .2s steps(3);z-index:2}.overlay-btn[data-v-660e2bd5]{padding:clamp(.7rem,1.5vw,.9rem) clamp(1rem,2.5vw,1.5rem);background:var(--accent);color:var(--bg-primary);border:2px solid var(--accent);cursor:pointer;font-weight:700;font-size:clamp(.6rem,1vw,.75rem);transition:all .15s steps(2);display:flex;align-items:center;gap:.4rem;font-family:var(--font-heading);box-shadow:3px 3px #00000080,0 0 10px var(--accent-glow)}.overlay-btn[data-v-660e2bd5]:hover{transform:translate(-2px,-2px);box-shadow:5px 5px #00000080,0 0 20px var(--accent-glow)}.project-content[data-v-660e2bd5]{padding:clamp(1.25rem,3vw,2rem);position:relative;z-index:1}.project-content h3[data-v-660e2bd5]{font-size:clamp(.7rem,1.8vw,.95rem);margin-bottom:clamp(.5rem,1.5vw,.8rem);color:var(--text-primary);font-weight:700;font-family:var(--font-heading)}.project-content p[data-v-660e2bd5]{color:var(--text-secondary);margin-bottom:clamp(1rem,2vw,1.5rem);line-height:1.8;font-size:clamp(.8rem,1.3vw,.9rem)}.project-tags[data-v-660e2bd5]{display:flex;gap:clamp(.5rem,1vw,.8rem);flex-wrap:wrap}.tag[data-v-660e2bd5]{padding:clamp(.3rem,.8vw,.4rem) clamp(.5rem,1.2vw,.8rem);background:var(--bg-tertiary);color:var(--accent);font-size:clamp(.55rem,1vw,.7rem);border:1px solid var(--accent);font-weight:600;transition:all .15s steps(2);font-family:var(--font-heading);box-shadow:2px 2px #0006}@media(hover:hover){.tag[data-v-660e2bd5]:hover{background:var(--accent);color:var(--bg-primary);transform:translateY(-2px);box-shadow:3px 3px #0006,0 0 8px var(--accent-glow)}}@media(hover:none){.project-overlay[data-v-660e2bd5]{opacity:1;background:linear-gradient(to top,rgba(10,10,15,.95) 0%,transparent 100%);align-items:flex-end;padding-bottom:1rem}}@media(max-width:480px){.overlay-btn span[data-v-660e2bd5]{display:none}.overlay-btn[data-v-660e2bd5]{padding:.8rem}}.skill-card[data-v-ace22bbb]{background:var(--bg-secondary);padding:clamp(1.5rem,4vw,2.5rem);text-align:center;border:2px solid var(--accent);transition:all .15s steps(2);position:relative;overflow:hidden;box-shadow:4px 4px #00000080,0 0 12px var(--accent-glow);opacity:0;transform:translateY(20px)}.skill-card[data-v-ace22bbb]:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,0,0,.03) 2px,rgba(0,0,0,.03) 4px);pointer-events:none;z-index:1}.skill-card.visible[data-v-ace22bbb]{opacity:1;transform:translateY(0);transition:opacity .4s steps(4),transform .4s steps(4);transition-delay:var(--animation-delay)}.skill-card[data-v-ace22bbb]:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,var(--skill-color),transparent);opacity:0;transition:opacity .2s steps(2);z-index:0}@media(hover:hover){.skill-card[data-v-ace22bbb]:hover{border-color:var(--skill-color);transform:translateY(-6px) translate(-2px,-2px);box-shadow:6px 6px #00000080,0 0 25px color-mix(in srgb,var(--skill-color) 40%,transparent)}.skill-card[data-v-ace22bbb]:hover:before{opacity:.12}.skill-card:hover .icon-bg[data-v-ace22bbb]{transform:translate(-50%,-50%) scale(1.3);opacity:.2}}.skill-icon[data-v-ace22bbb]{font-size:clamp(2.5rem,6vw,4rem);margin-bottom:clamp(1rem,2vw,1.5rem);color:var(--skill-color);position:relative;display:inline-block;z-index:2;filter:drop-shadow(0 0 10px color-mix(in srgb,var(--skill-color) 50%,transparent))}.icon-bg[data-v-ace22bbb]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:clamp(50px,10vw,80px);height:clamp(50px,10vw,80px);background:var(--skill-color);opacity:.08;transition:all .2s steps(2);z-index:-1}.skill-card h3[data-v-ace22bbb]{font-size:clamp(.65rem,1.8vw,.9rem);margin-bottom:clamp(1rem,2vw,1.5rem);color:var(--text-primary);font-weight:700;font-family:var(--font-heading);position:relative;z-index:2}.skill-level[data-v-ace22bbb]{display:flex;flex-direction:column;gap:.5rem;position:relative;z-index:2}.skill-bar[data-v-ace22bbb]{width:100%;height:clamp(8px,1.5vw,12px);background:var(--bg-tertiary);overflow:hidden;border:2px solid rgba(255,255,255,.1);position:relative;box-shadow:inset 0 2px #0006}.skill-progress[data-v-ace22bbb]{height:100%;background:repeating-linear-gradient(90deg,var(--skill-color) 0px,var(--skill-color) 6px,color-mix(in srgb,var(--skill-color) 60%,#000) 6px,color-mix(in srgb,var(--skill-color) 60%,#000) 8px);width:0;box-shadow:0 0 10px var(--skill-color);transition:width 1.2s steps(12);position:relative}.skill-progress[data-v-ace22bbb]:after{content:"";position:absolute;top:0;left:0;right:0;height:50%;background:#fff3}.skill-progress.animate[data-v-ace22bbb]{width:var(--skill-level)}.skill-percentage[data-v-ace22bbb]{font-size:clamp(.6rem,1.2vw,.75rem);color:var(--skill-color);font-weight:700;font-family:var(--font-heading);text-shadow:0 0 8px color-mix(in srgb,var(--skill-color) 50%,transparent)}@media(hover:none){.skill-card[data-v-ace22bbb]:active{transform:scale(.97)}}.skills[data-v-d0b7a043]{padding:clamp(3rem,8vw,6rem) clamp(1rem,4vw,2rem);position:relative;overflow:hidden}.container[data-v-d0b7a043]{max-width:1400px;margin:0 auto;padding:0 clamp(1rem,3vw,2rem)}.section-title[data-v-d0b7a043]{font-size:clamp(1rem,3.5vw,1.8rem);font-weight:700;margin-bottom:clamp(1.5rem,4vw,2rem);color:var(--text-primary);display:flex;align-items:center;gap:clamp(.75rem,2vw,1.5rem);position:relative;flex-wrap:wrap;font-family:var(--font-heading);text-shadow:2px 2px 0 rgba(0,0,0,.3)}.title-number[data-v-d0b7a043]{color:var(--accent);font-size:clamp(.75rem,2.5vw,1.4rem);font-family:var(--font-heading);font-weight:400;text-shadow:0 0 12px var(--accent-glow)}.section-title[data-v-d0b7a043]:after{content:"";flex:1;height:3px;background:repeating-linear-gradient(90deg,var(--accent) 0px,var(--accent) 8px,transparent 8px,transparent 16px);max-width:400px;min-width:50px;box-shadow:0 0 8px var(--accent-glow)}.skills-grid[data-v-d0b7a043]{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:clamp(1rem,3vw,2.5rem);position:relative}.skills-grid.is-dragging[data-v-d0b7a043]{-webkit-user-select:none;user-select:none}.skill-drag-wrapper[data-v-d0b7a043]{position:relative;cursor:grab;will-change:transform;touch-action:none}.skill-drag-wrapper.shifting[data-v-d0b7a043]{transition:transform .2s steps(4)}.skill-drag-wrapper.dragging[data-v-d0b7a043]{transition:none;z-index:100;cursor:grabbing}.skill-drag-wrapper.animating-back[data-v-d0b7a043]{z-index:100;cursor:grabbing}.skill-drag-wrapper.dragging[data-v-d0b7a043]:after,.skill-drag-wrapper.animating-back[data-v-d0b7a043]:after{content:"";position:absolute;inset:0;box-shadow:0 15px 30px #00000080,0 0 20px var(--accent-glow);pointer-events:none}.skill-drag-wrapper.drag-over[data-v-d0b7a043]:before{content:"";position:absolute;inset:-3px;background:var(--accent);opacity:.25;pointer-events:none;z-index:-1;box-shadow:0 0 15px var(--accent-glow)}.dark-mode[data-v-d0b7a043]{--bg-primary: #0a0a0f;--bg-secondary: #0f0f1a;--bg-tertiary: #151528;--text-primary: #e0ffe0;--text-secondary: #90b090;--accent: #39ff14;--accent-glow: rgba(57, 255, 20, .4)}.light-mode[data-v-d0b7a043]{--bg-primary: #f0faf0;--bg-secondary: #e8f5e8;--bg-tertiary: #dceddc;--text-primary: #1a2e1a;--text-secondary: #3a5e3a;--accent: #00aa33;--accent-glow: rgba(0, 170, 51, .25)}@media(max-width:1024px){.skills-grid[data-v-d0b7a043]{grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr))}}@media(max-width:768px){.skills-grid[data-v-d0b7a043]{grid-template-columns:repeat(auto-fill,minmax(min(100%,200px),1fr));gap:1rem}.section-title[data-v-d0b7a043]:after{display:none}}@media(max-width:480px){.skills-grid[data-v-d0b7a043]{grid-template-columns:1fr}}.dark-mode{--bg-primary: #0a0a0f;--bg-secondary: #0f0f1a;--bg-tertiary: #151528;--text-primary: #e0ffe0;--text-secondary: #90b090;--accent: #39ff14;--accent-glow: rgba(57, 255, 20, .4);--accent-dark: #00cc44;--cyan: #00ffff;--cyan-glow: rgba(0, 255, 255, .4);--magenta: #ff00ff;--magenta-glow: rgba(255, 0, 255, .3);--yellow: #ffff00;--yellow-glow: rgba(255, 255, 0, .3);--pixel-border: 3px;--font-heading: "Press Start 2P", "Courier New", monospace;--font-body: "Fira Code", "Courier New", monospace;--scanline-opacity: .03;background-color:#0a0a0f;color:#e0ffe0}.light-mode{--bg-primary: #f0faf0;--bg-secondary: #e8f5e8;--bg-tertiary: #dceddc;--text-primary: #1a2e1a;--text-secondary: #3a5e3a;--accent: #00aa33;--accent-glow: rgba(0, 170, 51, .25);--accent-dark: #008822;--cyan: #008899;--cyan-glow: rgba(0, 136, 153, .25);--magenta: #9933aa;--magenta-glow: rgba(153, 51, 170, .2);--yellow: #aa8800;--yellow-glow: rgba(170, 136, 0, .2);--pixel-border: 3px;--font-heading: "Press Start 2P", "Courier New", monospace;--font-body: "Fira Code", "Courier New", monospace;--scanline-opacity: .015;background-color:#f0faf0;color:#1a2e1a}.home,.home *{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Crect x='2' y='2' width='14' height='3' fill='%23fff' stroke='%23111' stroke-width='1'/%3E%3Crect x='2' y='2' width='3' height='14' fill='%23fff' stroke='%23111' stroke-width='1'/%3E%3Crect x='5' y='5' width='3' height='3' fill='%23fff' stroke='%23111' stroke-width='1'/%3E%3Crect x='8' y='8' width='3' height='3' fill='%23fff' stroke='%23111' stroke-width='1'/%3E%3Crect x='11' y='11' width='3' height='3' fill='%23fff' stroke='%23111' stroke-width='1'/%3E%3C/svg%3E") 2 2,auto}.home a,.home button,.home .skill-drag-wrapper,.home .scroll-indicator,.home .social-icon,.home .contact-card,.home .overlay-btn,.home .code-snippet{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Crect x='13' y='0' width='3' height='11' fill='%23fff' stroke='%23111' stroke-width='1'/%3E%3Crect x='2' y='8' width='15' height='10' fill='%23fff' stroke='%23111' stroke-width='1'/%3E%3Crect x='0' y='9' width='4' height='3' fill='%23fff' stroke='%23111' stroke-width='1'/%3E%3C/svg%3E") 6 0,pointer}.home input,.home textarea,.home [contenteditable],.home p,.home .description,.home .about-text p,.home .contact-text,.home .highlight-paragraph{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='20' viewBox='0 0 16 20'%3E%3Crect x='0' y='0' width='16' height='4' fill='%23fff' stroke='%23111' stroke-width='1'/%3E%3Crect x='5' y='4' width='6' height='12' fill='%23fff' stroke='%23111' stroke-width='1'/%3E%3Crect x='0' y='16' width='16' height='4' fill='%23fff' stroke='%23111' stroke-width='1'/%3E%3C/svg%3E") 8 10,text}.home .dragging,.home .skill-drag-wrapper.dragging,.home .code-snippet.dragging{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 18 18'%3E%3Crect x='0' y='0' width='5' height='5' fill='%23fff' stroke='%23111' stroke-width='1'/%3E%3Crect x='13' y='0' width='5' height='5' fill='%23fff' stroke='%23111' stroke-width='1'/%3E%3Crect x='0' y='13' width='5' height='5' fill='%23fff' stroke='%23111' stroke-width='1'/%3E%3Crect x='13' y='13' width='5' height='5' fill='%23fff' stroke='%23111' stroke-width='1'/%3E%3Crect x='7' y='3' width='4' height='2' fill='%23fff' stroke='%23111' stroke-width='1'/%3E%3Crect x='3' y='7' width='2' height='4' fill='%23fff' stroke='%23111' stroke-width='1'/%3E%3Crect x='7' y='13' width='4' height='2' fill='%23fff' stroke='%23111' stroke-width='1'/%3E%3Crect x='13' y='7' width='2' height='4' fill='%23fff' stroke='%23111' stroke-width='1'/%3E%3C/svg%3E") 9 9,grabbing}.home{min-height:100vh;width:100%;overflow-x:hidden;transition:background-color .3s ease,color .3s ease;font-family:var(--font-body);position:relative}.animated-bg{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:0;overflow:hidden}.animated-bg:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(57,255,20,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(57,255,20,.03) 1px,transparent 1px);background-size:40px 40px;animation:grid-scroll 20s linear infinite}@keyframes grid-scroll{0%{background-position:0 0,0 0}to{background-position:40px 40px,40px 40px}}.animated-bg:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,0,0,.06) 2px,rgba(0,0,0,.06) 4px);pointer-events:none}.gradient-orb{position:absolute;border-radius:0;opacity:0}.theme-toggle{position:fixed;top:clamp(1rem,3vw,1.3rem);right:clamp(1rem,3vw,2rem);width:clamp(45px,8vw,55px);height:clamp(45px,8vw,55px);border:var(--pixel-border) solid var(--accent);background:var(--bg-secondary);color:var(--accent);font-size:clamp(1rem,2vw,1.3rem);cursor:pointer;z-index:1001;transition:all .2s steps(2);display:flex;align-items:center;justify-content:center;box-shadow:4px 4px #00000080,0 0 15px var(--accent-glow);image-rendering:pixelated}@media(hover:hover){.theme-toggle:hover{transform:translate(-2px,-2px);box-shadow:6px 6px #00000080,0 0 25px var(--accent-glow);background:var(--accent);color:var(--bg-primary);text-shadow:0 0 10px rgba(0,0,0,.5)}}.navbar{position:fixed;top:0;width:100%;z-index:999;padding:clamp(.8rem,2vw,1.2rem) 0;transition:all .3s ease}.dark-mode .navbar{background:#0a0a0feb;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:3px solid var(--accent);box-shadow:0 4px #00000080,0 0 20px var(--accent-glow)}.light-mode .navbar{background:#f0faf0eb;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:3px solid var(--accent);box-shadow:0 4px #00000026}.nav-container{max-width:1400px;margin:0 auto;padding:0 clamp(1rem,4vw,2rem);display:flex;justify-content:space-between;align-items:center}.logo{font-size:clamp(.7rem,1.8vw,1rem);font-weight:700;color:var(--text-primary);font-family:var(--font-heading);letter-spacing:0;position:relative;text-shadow:0 0 10px var(--accent-glow);line-height:1.6}.logo-bracket{color:var(--accent);font-weight:700}.accent{color:var(--accent)}.dark-mode .accent{text-shadow:0 0 15px var(--accent-glow)}.mobile-menu-btn{display:none;width:40px;height:40px;background:transparent;border:2px solid var(--accent);cursor:pointer;position:relative;z-index:1001;box-shadow:2px 2px #00000080}.mobile-menu-btn span,.mobile-menu-btn span:before,.mobile-menu-btn span:after{display:block;width:20px;height:3px;background:var(--accent);position:absolute;left:50%;transform:translate(-50%);transition:all .2s steps(2)}.mobile-menu-btn span{top:50%;transform:translate(-50%,-50%)}.mobile-menu-btn span:before{content:"";top:-7px}.mobile-menu-btn span:after{content:"";bottom:-7px}.mobile-menu-btn span.active{background:transparent}.mobile-menu-btn span.active:before{top:0;transform:translate(-50%) rotate(45deg)}.mobile-menu-btn span.active:after{bottom:0;transform:translate(-50%) rotate(-45deg)}.nav-links{display:flex;list-style:none;gap:clamp(1.5rem,3vw,2.5rem);align-items:center}.nav-links a{color:var(--text-secondary);text-decoration:none;font-size:clamp(.65rem,1.2vw,.8rem);transition:all .2s steps(2);position:relative;font-weight:500;display:flex;align-items:center;gap:.4rem;font-family:var(--font-heading);letter-spacing:0}.nav-number{color:var(--accent);font-family:var(--font-heading);font-size:clamp(.6rem,1vw,.7rem);text-shadow:0 0 8px var(--accent-glow)}@media(hover:hover){.nav-links a:hover{color:var(--accent);transform:translateY(-2px);text-shadow:0 0 10px var(--accent-glow)}}.nav-links a:after{content:"";position:absolute;bottom:-4px;left:0;width:0;height:2px;background:var(--accent);transition:width .2s steps(4);box-shadow:0 0 8px var(--accent-glow)}@media(hover:hover){.nav-links a:hover:after{width:100%}}.resume-btn{padding:clamp(.4rem,1vw,.6rem) clamp(.8rem,1.5vw,1rem);border:2px solid var(--accent);color:var(--accent)!important;transition:all .2s steps(2);box-shadow:3px 3px #00000080;font-size:clamp(.55rem,.9vw,.65rem)!important}@media(hover:hover){.resume-btn:hover{background:var(--accent-glow);box-shadow:4px 4px #00000080,0 0 15px var(--accent-glow)}}.resume-btn:after{display:none!important}.hero{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:clamp(6rem,15vw,8rem) clamp(1rem,4vw,2rem) clamp(2rem,6vw,4rem);position:relative;opacity:0;transform:translateY(40px);transition:all 1s steps(8)}.hero.fade-in{opacity:1;transform:translateY(0)}.hero-content{max-width:1400px;width:100%;display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(2rem,6vw,6rem);align-items:center;z-index:1}.greeting{font-size:clamp(.7rem,1.8vw,.9rem);color:var(--accent);font-weight:500;margin-bottom:clamp(.75rem,2vw,1.5rem);display:flex;align-items:center;gap:.5rem;font-family:var(--font-heading);text-shadow:0 0 10px var(--accent-glow)}.wave{display:inline-block;animation:wave 2.5s infinite;transform-origin:70% 70%}@keyframes wave{0%,to{transform:rotate(0)}10%,30%{transform:rotate(14deg)}20%{transform:rotate(-8deg)}40%{transform:rotate(-4deg)}50%{transform:rotate(10deg)}}.title{font-size:clamp(1.5rem,5vw,3rem);font-weight:700;margin-bottom:clamp(.75rem,2vw,1.5rem);line-height:1.3;color:var(--text-primary);font-family:var(--font-heading);text-shadow:3px 3px 0 rgba(0,0,0,.5),0 0 20px var(--cyan-glow)}.gradient-text{background:linear-gradient(180deg,var(--accent) 0%,var(--cyan) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;filter:drop-shadow(0 0 12px var(--accent-glow))}@keyframes gradient-shift{0%,to{filter:drop-shadow(0 0 12px var(--accent-glow))}50%{filter:drop-shadow(0 0 20px var(--cyan-glow))}}.subtitle{font-size:clamp(.7rem,2vw,1.2rem);font-weight:700;margin-bottom:clamp(1rem,3vw,2rem);color:var(--text-secondary);font-family:var(--font-heading)}.typing-container{display:inline-block;position:relative}.typing-text{position:relative;font-family:var(--font-heading)}.typing-text:after{content:"█";position:absolute;right:-12px;animation:blink .8s steps(2) infinite;color:var(--accent);text-shadow:0 0 10px var(--accent-glow)}@keyframes blink{0%,49%{opacity:1}50%,to{opacity:0}}.description{font-size:clamp(.85rem,1.5vw,1rem);line-height:1.8;margin-bottom:clamp(1.5rem,4vw,2.5rem);color:var(--text-secondary);max-width:600px;font-weight:400}.stats{display:flex;gap:clamp(1.5rem,4vw,3rem);margin-bottom:clamp(1.5rem,4vw,2.5rem);padding:clamp(1rem,3vw,2rem) 0;border-top:3px solid var(--accent);border-bottom:3px solid var(--accent);flex-wrap:wrap;box-shadow:0 -1px #00000080,0 1px #00000080}.stat-item{text-align:center;position:relative;flex:1;min-width:80px}.stat-item:after{content:"";position:absolute;right:-.75rem;top:50%;transform:translateY(-50%);width:2px;height:60%;background:var(--accent);opacity:.5}.stat-item:last-child:after{display:none}.stat-number{font-size:clamp(1.2rem,3vw,1.8rem);font-weight:700;color:var(--accent);font-family:var(--font-heading);text-shadow:0 0 15px var(--accent-glow)}.stat-label{font-size:clamp(.55rem,1vw,.7rem);color:var(--text-secondary);font-weight:500;margin-top:.5rem;font-family:var(--font-heading)}.cta-buttons{display:flex;gap:clamp(.8rem,2vw,1.2rem);margin-bottom:clamp(1.5rem,4vw,2.5rem);flex-wrap:wrap}.btn{padding:clamp(.8rem,1.5vw,1rem) clamp(1.2rem,3vw,2rem);font-size:clamp(.6rem,1vw,.8rem);font-weight:600;border:none;cursor:pointer;transition:all .15s steps(2);display:flex;align-items:center;gap:.6rem;position:relative;overflow:hidden;font-family:var(--font-heading);text-decoration:none;image-rendering:pixelated}.btn-primary{background:var(--accent);color:#0a0a0f;border:3px solid var(--accent);box-shadow:4px 4px #00000080,0 0 15px var(--accent-glow);text-shadow:1px 1px 0 rgba(0,0,0,.2)}@media(hover:hover){.btn-primary:hover{transform:translate(-2px,-2px);box-shadow:6px 6px #00000080,0 0 25px var(--accent-glow)}}.btn-shine{display:none}.btn-secondary{background:transparent;color:var(--accent);border:3px solid var(--accent);box-shadow:4px 4px #00000080,0 0 10px var(--accent-glow)}@media(hover:hover){.btn-secondary:hover{background:var(--accent-glow);transform:translate(-2px,-2px);box-shadow:6px 6px #00000080,0 0 20px var(--accent-glow)}}.btn-large{padding:clamp(1rem,2vw,1.3rem) clamp(2rem,4vw,3rem);font-size:clamp(.7rem,1.2vw,.9rem)}.social-links{display:flex;gap:clamp(.8rem,2vw,1.2rem);flex-wrap:wrap}.social-icon{width:clamp(40px,7vw,48px);height:clamp(40px,7vw,48px);display:flex;align-items:center;justify-content:center;background:var(--bg-secondary);border:2px solid var(--accent);color:var(--accent);font-size:clamp(1rem,2vw,1.2rem);transition:all .15s steps(2);position:relative;box-shadow:3px 3px #00000080,0 0 8px var(--accent-glow);text-decoration:none}@media(hover:hover){.social-icon:hover{background:var(--accent);color:var(--bg-primary);transform:translate(-2px,-2px);box-shadow:5px 5px #00000080,0 0 20px var(--accent-glow)}}.image-content{position:relative;display:flex;justify-content:center;align-items:center}.profile-wrapper{position:relative;width:clamp(260px,40vw,450px);height:clamp(260px,40vw,450px)}.glow-effect{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:110%;height:110%;background:var(--accent);filter:blur(40px);opacity:.15;animation:pulse-glow 2s steps(4) infinite}@keyframes pulse-glow{0%,to{opacity:.12}50%{opacity:.22}}.profile-image{position:relative;width:100%;height:100%;overflow:hidden;border:4px solid var(--accent);box-shadow:6px 6px #0009,0 0 30px var(--accent-glow),inset 0 0 30px #39ff140d;z-index:2;transition:all .2s steps(2);image-rendering:pixelated}.profile-image img{width:100%;height:100%;object-fit:cover;transition:transform .4s steps(4),filter .3s ease}.dark-mode .profile-image img{filter:grayscale(20%) sepia(30%)}@media(hover:hover){.profile-image:hover img{transform:scale(1.06);filter:grayscale(0%) sepia(0%)}.profile-image:hover .image-overlay{opacity:1}}.image-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,#39ff1414,#00ffff14);opacity:0;transition:opacity .3s ease}.code-snippet{position:absolute;background:var(--bg-secondary);padding:clamp(.7rem,1.5vw,1rem);border:2px solid var(--accent);box-shadow:4px 4px #00000080,0 0 15px var(--accent-glow);z-index:3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);-webkit-user-select:none;user-select:none;touch-action:none}@media(hover:hover){.code-snippet:hover:not(.dragging){box-shadow:6px 6px #00000080,0 0 25px var(--accent-glow)}}.code-snippet.dragging{transition:none;animation:none;box-shadow:8px 8px #0009,0 0 40px var(--accent-glow);z-index:10}.code-snippet.returning{transition:transform .5s cubic-bezier(.34,1.56,.64,1),box-shadow .3s ease;animation:floating-pixel 4s steps(8) infinite}.snippet-header{display:flex;gap:.4rem;margin-bottom:.6rem}.dot{width:clamp(8px,1.5vw,12px);height:clamp(8px,1.5vw,12px);display:block}.dot.red{background:#f44;box-shadow:0 0 6px #f449}.dot.yellow{background:#fc0;box-shadow:0 0 6px #fc09}.dot.green{background:#39ff14;box-shadow:0 0 6px #39ff1499}.code-snippet pre{margin:0;color:var(--accent);font-family:var(--font-body);font-size:clamp(.55rem,1vw,.7rem);line-height:1.6;text-shadow:0 0 6px var(--accent-glow)}.snippet-1{top:-30px;right:-60px}.snippet-1.returning{animation-delay:2.5s}.snippet-2{bottom:30px;left:-40px}.snippet-2.returning{animation-delay:2.5s}@keyframes floating-pixel{0%,to{transform:translateY(0)}25%{transform:translateY(-8px)}50%{transform:translateY(-16px)}75%{transform:translateY(-8px)}}.floating-badge{position:absolute;width:clamp(40px,8vw,56px);height:clamp(40px,8vw,56px);background:var(--bg-secondary);border:2px solid var(--accent);display:flex;align-items:center;justify-content:center;font-size:clamp(1rem,2.5vw,1.5rem);color:var(--accent);z-index:4;animation:badge-float 3s steps(6) infinite;box-shadow:3px 3px #00000080,0 0 12px var(--accent-glow)}.badge-1{top:10%;left:-20px;animation-delay:0s}.badge-2{bottom:20%;right:-30px;animation-delay:1.5s}@keyframes badge-float{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}.scroll-indicator{position:absolute;bottom:clamp(1.5rem,4vw,3rem);left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:.6rem;color:var(--text-secondary);cursor:pointer;transition:all .2s steps(2);font-size:clamp(.55rem,1vw,.7rem);font-family:var(--font-heading)}@media(hover:hover){.scroll-indicator:hover{color:var(--accent);text-shadow:0 0 10px var(--accent-glow)}}@keyframes bounce{0%,to{transform:translate(-50%) translateY(0)}50%{transform:translate(-50%) translateY(-8px)}}.mouse{width:24px;height:38px;border:3px solid var(--accent);position:relative;box-shadow:3px 3px #00000080,0 0 10px var(--accent-glow)}.wheel{width:4px;height:8px;background:var(--accent);position:absolute;top:6px;left:50%;transform:translate(-50%);animation:scroll-wheel 1.2s steps(4) infinite;box-shadow:0 0 6px var(--accent-glow)}@keyframes scroll-wheel{0%{opacity:1;transform:translate(-50%) translateY(0)}to{opacity:.3;transform:translate(-50%) translateY(12px)}}.container{max-width:1400px;margin:0 auto;padding:0 clamp(1rem,4vw,2rem)}.section-title{font-size:clamp(1rem,3.5vw,1.8rem);font-weight:700;margin-bottom:clamp(2rem,6vw,4rem);color:var(--text-primary);display:flex;align-items:center;gap:clamp(.75rem,2vw,1.5rem);position:relative;flex-wrap:wrap;font-family:var(--font-heading);text-shadow:2px 2px 0 rgba(0,0,0,.3)}.section-title.center{justify-content:center}.title-number{color:var(--accent);font-size:clamp(.75rem,2.5vw,1.4rem);font-family:var(--font-heading);font-weight:400;text-shadow:0 0 12px var(--accent-glow)}.section-title:after{content:"";flex:1;height:3px;background:repeating-linear-gradient(90deg,var(--accent) 0px,var(--accent) 8px,transparent 8px,transparent 16px);max-width:400px;min-width:50px;box-shadow:0 0 8px var(--accent-glow)}.section-title.center:after{display:none}.about{padding:clamp(3rem,8vw,6rem) clamp(1rem,4vw,2rem);background:var(--bg-secondary);position:relative}.about:before{content:"";position:absolute;top:0;left:0;width:100%;height:3px;background:linear-gradient(90deg,transparent,var(--accent),transparent);box-shadow:0 0 10px var(--accent-glow)}.about-content{display:grid;grid-template-columns:1.3fr 1fr;gap:clamp(2rem,6vw,4rem);align-items:center}.about-text p{margin-bottom:clamp(1rem,2vw,1.5rem);color:var(--text-secondary);line-height:1.8;font-size:clamp(.85rem,1.5vw,1rem)}.highlight-paragraph{position:relative;padding-left:clamp(1rem,2vw,1.5rem);border-left:3px solid var(--accent);color:var(--text-primary)!important;font-weight:500;box-shadow:-1px 0 #0000004d}.tech-list{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(.5rem,1.5vw,.8rem);list-style:none;margin-top:clamp(1rem,2vw,1.5rem)}.tech-list li{color:var(--text-secondary);padding-left:clamp(1.2rem,2.5vw,1.8rem);position:relative;font-size:clamp(.8rem,1.3vw,.9rem);transition:all .15s steps(2);font-family:var(--font-heading)}.tech-list li:before{content:"▸";position:absolute;left:0;color:var(--accent);font-size:clamp(.9rem,1.8vw,1.2rem);line-height:1.4;text-shadow:0 0 8px var(--accent-glow)}@media(hover:hover){.tech-list li:hover{color:var(--accent);transform:translate(4px);text-shadow:0 0 8px var(--accent-glow)}}.about-image{position:relative}.image-border{position:relative;overflow:hidden;border:3px solid var(--accent);box-shadow:6px 6px #00000080,0 0 20px var(--accent-glow);transition:all .2s steps(2)}.image-border:after{content:"";position:absolute;top:12px;left:12px;width:100%;height:100%;border:3px solid var(--cyan);z-index:-1;transition:all .2s steps(2)}@media(hover:hover){.image-border:hover{transform:translate(-4px,-4px);box-shadow:8px 8px #00000080,0 0 30px var(--accent-glow)}.image-border:hover:after{top:8px;left:8px}.image-border:hover img{filter:grayscale(0%)}}.image-border img{width:100%;height:auto;display:block;transition:filter .3s ease}.dark-mode .image-border img{filter:grayscale(25%) sepia(20%)}.image-gradient{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,#39ff141a,#00ffff1a);opacity:0;transition:opacity .3s ease}.projects{padding:clamp(3rem,8vw,6rem) clamp(1rem,4vw,2rem);background:var(--bg-secondary);position:relative}.projects:before{content:"";position:absolute;top:0;left:0;width:100%;height:3px;background:linear-gradient(90deg,transparent,var(--accent),transparent);box-shadow:0 0 10px var(--accent-glow)}.projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:clamp(1.5rem,4vw,3rem)}.contact{padding:clamp(3rem,8vw,6rem) clamp(1rem,4vw,2rem);text-align:center;position:relative}.contact-content{max-width:700px;margin:0 auto}.contact-text{font-size:clamp(.85rem,1.8vw,1.1rem);color:var(--text-secondary);line-height:1.8;margin-bottom:clamp(1.5rem,3vw,2rem)}.contact-methods{display:flex;justify-content:center;gap:clamp(.75rem,2vw,1.5rem);margin-bottom:clamp(2rem,4vw,3rem);flex-wrap:wrap}.contact-card{display:flex;align-items:center;gap:clamp(.5rem,1vw,.8rem);padding:clamp(.7rem,1.5vw,.9rem) clamp(1rem,2vw,1.5rem);background:var(--bg-secondary);border:2px solid var(--accent);color:var(--text-primary);text-decoration:none;transition:all .15s steps(2);font-size:clamp(.65rem,1.2vw,.8rem);font-family:var(--font-heading);box-shadow:3px 3px #00000080,0 0 8px var(--accent-glow)}.contact-card i{color:var(--accent);font-size:clamp(.9rem,1.8vw,1.1rem);text-shadow:0 0 8px var(--accent-glow)}@media(hover:hover){.contact-card:hover{background:var(--accent);color:var(--bg-primary);transform:translate(-2px,-2px);box-shadow:5px 5px #00000080,0 0 20px var(--accent-glow)}.contact-card:hover i{color:var(--bg-primary)}}.footer{padding:clamp(1.5rem,4vw,2.5rem) clamp(1rem,4vw,2rem);background:var(--bg-secondary);text-align:center;border-top:3px solid var(--accent);box-shadow:0 -1px #00000080,0 -4px 15px var(--accent-glow)}.footer-content{display:flex;flex-direction:column;align-items:center;gap:clamp(1rem,2vw,1.5rem)}.footer-logo{font-size:clamp(.7rem,1.8vw,.9rem);font-weight:700;color:var(--text-primary);font-family:var(--font-heading);text-shadow:2px 2px 0 rgba(0,0,0,.3)}.footer p{color:var(--text-secondary);font-size:clamp(.7rem,1.2vw,.85rem)}.heart{color:#f44;animation:heartbeat 1.5s infinite;display:inline-block}.heart-icon{width:clamp(12px,2vw,15px)}@keyframes heartbeat{0%,to{transform:scale(1)}10%,30%{transform:scale(1.15)}20%,40%{transform:scale(1)}}.footer-links{display:flex;gap:clamp(1rem,2vw,1.5rem)}.footer-links a{color:var(--text-secondary);font-size:clamp(1rem,1.8vw,1.3rem);transition:all .15s steps(2)}@media(hover:hover){.footer-links a:hover{color:var(--accent);transform:translateY(-3px);text-shadow:0 0 12px var(--accent-glow)}}.particles-container{position:fixed;inset:0;pointer-events:none;z-index:1998}.click-particle{position:absolute;width:var(--size);height:var(--size);box-shadow:0 0 6px currentColor;animation:particle-fly .55s ease-out forwards}@keyframes particle-fly{0%{transform:translate(0) scale(1);opacity:1}to{transform:translate(var(--vx),var(--vy)) scale(0);opacity:0}}.dialogue-box{background:var(--bg-secondary);border:3px solid var(--accent);padding:clamp(1rem,2vw,1.5rem);position:relative;box-shadow:5px 5px #00000080,0 0 15px var(--accent-glow);margin-bottom:clamp(1rem,2vw,1.5rem)}.dialogue-name{position:absolute;top:-.8rem;left:1rem;background:var(--accent);color:#0a0a0f;padding:.2rem .8rem;font-family:var(--font-heading);font-size:clamp(.45rem,.8vw,.6rem);box-shadow:3px 3px #0006}.dialogue-prompt{text-align:right;margin-top:.8rem;font-family:var(--font-heading);font-size:clamp(.45rem,.7vw,.55rem);color:var(--accent);animation:blink 1s steps(2) infinite}.profile-hp-bar{position:absolute;bottom:0;left:0;right:0;height:8px;background:#0009;z-index:3;display:flex;align-items:center}.hp-fill{height:100%;width:85%;background:linear-gradient(90deg,#f44,#f80,#39ff14);box-shadow:0 0 8px #39ff1499}.hp-text{position:absolute;right:6px;font-family:var(--font-heading);font-size:.5rem;color:#fff;text-shadow:1px 1px 0 rgba(0,0,0,.8)}.nav-number{font-size:clamp(.5rem,.8vw,.6rem);letter-spacing:0}@media(max-width:1024px){.hero-content{grid-template-columns:1fr 1fr}.theme-toggle{top:110px;right:20px}}@media(max-width:768px){.theme-toggle{top:70px;right:15px}.scroll-indicator{display:none}.mobile-menu-btn{display:block}.nav-links{position:fixed;top:0;right:-100%;width:min(75vw,300px);height:100vh;height:100dvh;background:var(--bg-secondary);flex-direction:column;justify-content:center;padding:2rem;transition:right .2s steps(4);border-left:3px solid var(--accent);box-shadow:-8px 0 20px #00000080,-2px 0 0 var(--accent-glow)}.nav-links.active{right:0}.nav-links a:after{display:none}.hero-content{grid-template-columns:1fr;text-align:center}.text-content{order:2}.image-content{order:1}.description{max-width:100%}.stats,.cta-buttons,.social-links{justify-content:center}.code-snippet{display:none}.about-content{grid-template-columns:1fr}.about-image{order:-1;max-width:350px;margin:0 auto}.section-title:after{display:none}}@media(max-width:480px){.scroll-indicator{display:none}.stats{gap:1rem}.stat-item:after{display:none}.tech-list{grid-template-columns:1fr}.contact-card span{display:none}.contact-card{padding:.8rem;aspect-ratio:1}}@media(max-height:500px)and (orientation:landscape){.hero{min-height:auto;padding:5rem 1rem 2rem}.scroll-indicator{display:none}.profile-wrapper{width:200px;height:200px}}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:Fira Code,Courier New,monospace;transition:background-color .3s ease,color .3s ease;overflow-x:hidden;image-rendering:pixelated}#app{width:100%;min-height:100vh}::-webkit-scrollbar{width:12px}::-webkit-scrollbar-track{background:#0a0a0a;border-left:2px solid #1a1a2e}::-webkit-scrollbar-thumb{background:#39ff14;border:2px solid #0a0a0a;box-shadow:inset 0 0 6px #39ff1480}::-webkit-scrollbar-thumb:hover{background:#0ff;box-shadow:inset 0 0 10px #00ffffb3}::selection{background:#39ff1466;color:#39ff14;text-shadow:0 0 8px rgba(57,255,20,.6)}
