.navbar{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:24px 48px;background:#02020566;backdrop-filter:blur(12px) saturate(160%);-webkit-backdrop-filter:blur(12px) saturate(160%);border-bottom:1px solid rgba(255,255,255,.1);box-shadow:0 8px 32px #0000005e}.nav-logo{font-size:1rem;font-weight:400;color:var(--text-primary);text-decoration:none;letter-spacing:.1em;text-transform:uppercase}.nav-logo .dot{color:var(--accent)}.nav-brand{display:flex;align-items:center;gap:16px}.nav-avatar{width:36px;height:36px;border-radius:0;object-fit:cover;border:1px solid var(--accent)}.nav-links{display:flex;gap:24px;list-style:none}.nav-link{font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;color:var(--text-tertiary);padding:8px 0;position:relative;transition:color var(--duration-normal) var(--ease-out)}.nav-link:after{content:"";position:absolute;bottom:0;left:0;width:0%;height:1px;background:var(--accent);transition:width var(--duration-normal) var(--ease-out)}.nav-link:hover{color:var(--text-primary)}.nav-link:hover:after{width:50%}.nav-link.active{color:var(--accent)}.nav-link.active:after{width:100%}.nav-hamburger{display:none;flex-direction:column;gap:4px;padding:8px;cursor:pointer;z-index:110}.hamburger-line{display:block;width:24px;height:1px;background:var(--text-primary);transition:transform .3s var(--ease-out),opacity .3s var(--ease-out)}.hamburger-line.open:nth-child(1){transform:translateY(5px) rotate(45deg)}.hamburger-line.open:nth-child(2){opacity:0}.hamburger-line.open:nth-child(3){transform:translateY(-5px) rotate(-45deg)}.mobile-menu{display:none}@media(max-width:768px){.navbar{padding:16px 24px;flex-wrap:wrap;background:#02020599;backdrop-filter:blur(16px) saturate(180%);-webkit-backdrop-filter:blur(16px) saturate(180%);border-bottom:1px solid rgba(255,255,255,.15)}.nav-links{display:none}.nav-hamburger{display:flex}.nav-avatar{width:28px;height:28px}.mobile-menu{display:flex;flex-direction:column;width:100%;padding:16px 0;gap:8px;border-top:1px solid var(--hud-border);margin-top:16px}.mobile-nav-link{font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;color:var(--text-tertiary);padding:12px 0;text-align:left;transition:color var(--duration-normal) var(--ease-out);position:relative}.mobile-nav-link:hover,.mobile-nav-link.active{color:var(--accent)}}.scroll-progress{position:fixed;right:48px;top:50%;transform:translateY(-50%);z-index:90;display:flex;flex-direction:column;gap:0;align-items:flex-end;border-right:1px solid var(--hud-border)}.progress-dot{display:flex;align-items:center;gap:16px;cursor:pointer;height:48px;position:relative;padding-right:12px}.progress-dot:after{content:"";position:absolute;right:-1px;top:50%;transform:translateY(-50%);width:6px;height:1px;background:var(--text-tertiary);transition:all var(--duration-normal) var(--ease-out)}.progress-dot.active:after{background:var(--accent);width:16px;box-shadow:0 0 8px var(--accent-glow)}.dot-label{font-size:.55rem;letter-spacing:.2em;text-transform:uppercase;color:var(--text-tertiary);transition:color var(--duration-normal) var(--ease-out);white-space:nowrap;opacity:0;transform:translate(10px)}.progress-dot:hover .dot-label,.progress-dot.active .dot-label{opacity:1;transform:translate(0)}.progress-dot.active .dot-label{color:var(--accent)}@media(max-width:768px){.scroll-progress{display:none}}.hero-section{flex-direction:column;align-items:flex-start;justify-content:center;padding-left:max(48px,8vw)}.hero-content{display:flex;flex-direction:column;gap:16px;max-width:640px;position:relative;padding-left:24px}.hero-content:before{content:"";position:absolute;left:0;top:0;bottom:0;width:1px;background:var(--text-tertiary)}.hero-label{font-family:var(--font-mono);font-size:.75rem;color:var(--accent);letter-spacing:.2em;text-transform:uppercase;display:flex;align-items:center;gap:8px}.hero-label:before{content:"SYS.INIT //";color:var(--text-tertiary)}.hero-name{font-family:var(--font-sans);font-size:clamp(2.8rem,8vw,5.5rem);font-weight:300;line-height:1.05;letter-spacing:var(--tracking-tight);color:var(--text-primary);text-transform:uppercase}.hero-subtitle{font-family:var(--font-mono);font-size:.9rem;color:var(--text-secondary);letter-spacing:.05em;max-width:480px;line-height:1.6}.hero-tags{display:flex;flex-wrap:wrap;gap:12px;margin-top:16px}@media(max-width:768px){.section.hero-section{padding-left:16px;padding-right:16px;align-items:center;justify-content:center;text-align:left}.hero-content{align-items:flex-start}.hero-name{font-size:3rem}.hero-subtitle{font-size:.8rem}.scroll-indicator{bottom:32px}}.about-section{padding:0 max(32px,6vw)}.about-grid{display:grid;grid-template-columns:240px 1fr;gap:64px;align-items:center}.about-photo-wrap{position:relative;width:240px;height:240px}.about-photo{width:100%;height:100%;object-fit:cover;border-radius:0;border:1px solid var(--hud-border);position:relative;z-index:1}.photo-hud-overlay{position:absolute;inset:-8px;border:1px solid transparent;z-index:2;pointer-events:none}.photo-hud-overlay:before,.photo-hud-overlay:after{content:"";position:absolute;width:16px;height:16px;border:2px solid transparent}.photo-hud-overlay:before{top:0;left:0;border-top-color:var(--accent);border-left-color:var(--accent)}.photo-hud-overlay:after{bottom:0;right:0;border-bottom-color:var(--accent);border-right-color:var(--accent)}.about-text{display:flex;flex-direction:column;gap:16px}.section-label{font-size:.65rem;letter-spacing:.2em;color:var(--text-tertiary)}.about-heading{font-family:var(--font-sans);font-size:clamp(1.6rem,3.5vw,2.4rem);font-weight:300;line-height:1.15;letter-spacing:var(--tracking-tight);color:var(--text-primary);text-transform:uppercase}.about-bio{font-size:.95rem;line-height:1.7;color:var(--text-secondary);max-width:520px}.about-stats{display:flex;gap:12px;margin-top:8px}.stat-item{padding:14px 20px;display:flex;flex-direction:column;gap:4px;min-width:110px}.stat-value{font-size:1.2rem;font-weight:400}.stat-label{font-size:.65rem;color:var(--text-tertiary);letter-spacing:.1em;text-transform:uppercase}.about-actions{display:flex;gap:16px;margin-top:8px}@media(max-width:768px){.about-section{padding:0 16px}.about-grid{grid-template-columns:1fr;gap:32px;justify-items:center;text-align:left}.about-photo-wrap{width:160px;height:160px}.about-text{align-items:flex-start}.about-heading{font-size:1.4rem}.about-bio{font-size:.9rem}.about-stats{flex-wrap:wrap;justify-content:flex-start;gap:8px}.stat-item{padding:10px 14px;min-width:90px}.stat-value{font-size:1rem}.stat-label{font-size:.6rem}.about-actions{flex-direction:column;width:100%;align-items:flex-start;gap:8px}}.projects-section{padding:0 max(32px,6vw)}.projects-heading{font-family:var(--font-sans);font-size:clamp(1.6rem,3.5vw,2.4rem);font-weight:300;letter-spacing:var(--tracking-tight);text-transform:uppercase;margin-top:8px;margin-bottom:32px}.projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:32px}.project-card{position:relative;overflow:hidden;border-radius:0}.project-card:hover{transform:translateY(-4px)}.card-accent-line{position:absolute;top:0;left:0;width:100%;height:2px;background:var(--card-accent, var(--accent));opacity:.3;transition:opacity var(--duration-normal) var(--ease-out);z-index:5}.project-card:hover .card-accent-line{opacity:1;box-shadow:0 0 10px var(--card-accent, var(--accent))}.card-image-wrap{position:relative;width:100%;height:180px;overflow:hidden;border-bottom:1px solid var(--hud-border)}.card-image{width:100%;height:100%;object-fit:cover;object-position:top;filter:contrast(1.1) brightness(.7);transition:all .5s var(--ease-out)}.project-card:hover .card-image{transform:scale(1.04);filter:contrast(1.1) brightness(1)}.card-image-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,transparent 0%,rgba(2,2,5,.8) 100%);pointer-events:none}.card-scanline{position:absolute;top:0;left:0;width:100%;height:2px;background:#00f0ff66;opacity:0;pointer-events:none;transition:opacity var(--duration-normal)}.project-card:hover .card-scanline{opacity:1;animation:card-scan 2s linear infinite}@keyframes card-scan{0%{top:0}to{top:100%}}.card-body{padding:24px;display:flex;flex-direction:column;gap:16px}.card-header{display:flex;align-items:center;justify-content:space-between}.card-title{font-size:1rem;font-weight:400;letter-spacing:.1em;color:var(--text-primary)}.card-link{color:var(--text-tertiary);padding:4px;transition:color var(--duration-fast) var(--ease-out)}.card-link:hover{color:var(--accent);filter:drop-shadow(0 0 5px var(--accent-glow))}.card-desc{font-size:.85rem;line-height:1.6;color:var(--text-secondary)}.card-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}@media(max-width:768px){.projects-section{padding:0 16px;align-items:flex-start}.projects-heading{font-size:1.4rem;margin-bottom:24px}.projects-grid{grid-template-columns:1fr;gap:24px}.card-image-wrap{height:140px}.card-body{padding:16px;gap:12px}.card-title{font-size:.95rem}.card-desc{font-size:.8rem;line-height:1.5}}.skills-section{padding:0 max(32px,6vw)}.skills-heading{font-family:var(--font-sans);font-size:clamp(1.6rem,3.5vw,2.4rem);font-weight:300;letter-spacing:var(--tracking-tight);text-transform:uppercase;margin-top:8px;margin-bottom:32px}.skills-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px}.skill-category{padding:24px;display:flex;flex-direction:column;gap:16px}.skill-cat-title{font-size:.8rem;font-weight:400;letter-spacing:.2em;color:var(--text-primary)}.skill-items{list-style:none;display:flex;flex-direction:column;gap:12px}.skill-item{display:flex;align-items:center;gap:12px;font-family:var(--font-mono);font-size:.75rem;text-transform:uppercase;color:var(--text-secondary);transition:color var(--duration-fast) var(--ease-out)}.skill-item:hover{color:var(--accent)}.skill-bar-bg{width:32px;height:2px;background:#ffffff1a;position:relative;overflow:hidden;flex-shrink:0}.skill-bar-fill{position:absolute;top:0;left:0;height:100%;background:var(--accent);box-shadow:0 0 5px var(--accent-glow);transition:width 1s var(--ease-out)}@media(max-width:768px){.skills-section{padding:0 16px}.skills-heading{font-size:1.4rem;margin-bottom:20px}.skills-grid{grid-template-columns:1fr 1fr;gap:16px}.skill-category{padding:16px;gap:12px}.skill-cat-title{font-size:.7rem}.skill-items{gap:10px}.skill-item{font-size:.65rem;gap:8px}.skill-bar-bg{width:24px}}@media(max-width:420px){.skills-grid{grid-template-columns:1fr}}.contact-section{padding:0 max(32px,6vw);flex-direction:column}.contact-layout{display:flex;justify-content:center}.contact-text{text-align:center;display:flex;flex-direction:column;align-items:center}.contact-heading{font-family:var(--font-sans);font-size:clamp(1.6rem,3.5vw,2.4rem);font-weight:300;letter-spacing:var(--tracking-tight);text-transform:uppercase;margin-top:8px}.contact-desc{font-size:.85rem;line-height:1.7;color:var(--text-secondary);margin-top:16px;max-width:480px;text-transform:uppercase;letter-spacing:.1em}.social-links{display:flex;gap:16px;margin-top:32px}.social-link{width:48px;height:48px;display:flex;align-items:center;justify-content:center;color:var(--text-tertiary);transition:all var(--duration-normal) var(--ease-out)}.social-link:hover{color:var(--accent);transform:translateY(-2px)}.portfolio-footer{position:absolute;bottom:24px;left:50%;transform:translate(-50%);font-size:.65rem;color:var(--text-tertiary);letter-spacing:.06em}@media(max-width:768px){.contact-section{padding:0 16px}.contact-heading{font-size:1.4rem}.contact-desc{font-size:.75rem}}:root{--bg-primary: #020205;--bg-secondary: transparent;--bg-surface: rgba(2, 2, 5, .6);--text-primary: #ffffff;--text-secondary: rgba(255, 255, 255, .6);--text-tertiary: rgba(255, 255, 255, .4);--accent: #00f0ff;--accent-glow: rgba(0, 240, 255, .3);--accent-cyan: #00f0ff;--accent-violet: #ffb000;--hud-border: rgba(255, 255, 255, .15);--hud-border-hover: rgba(0, 240, 255, .6);--hud-bg: rgba(2, 2, 5, .3);--font-mono: "Space Mono", "JetBrains Mono", "Courier New", monospace;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--tracking-tight: -.02em;--tracking-wide: .15em;--tracking-xwide: .3em;--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-2xl: 48px;--space-3xl: 64px;--space-4xl: 96px;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--duration-fast: .15s;--duration-normal: .3s;--duration-slow: .5s}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{font-family:var(--font-sans);background:var(--bg-primary);color:var(--text-primary);overflow:hidden;width:100vw;height:100vh}#root{width:100%;height:100%}a{color:var(--text-primary);text-decoration:none;transition:color var(--duration-fast) var(--ease-out)}a:hover{color:var(--accent)}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}input,textarea{font-family:inherit;font-size:inherit;color:inherit;background:none;border:none;outline:none}.section{width:100vw;height:100vh;display:flex;align-items:center;justify-content:center;position:relative;padding:var(--space-xl);pointer-events:none}.section-content{max-width:1200px;width:100%;position:relative;z-index:1;pointer-events:auto}@media(max-width:768px){.section{height:100vh;padding:80px 16px 40px}.section-content{max-height:100%;overflow-y:auto;-ms-overflow-style:none;scrollbar-width:none}.section-content::-webkit-scrollbar{display:none}}.hud-panel{background:var(--hud-bg);border:1px solid var(--hud-border);position:relative;transition:all var(--duration-normal) var(--ease-out);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.hud-panel:before,.hud-panel:after{content:"";position:absolute;width:8px;height:8px;border:1px solid transparent;transition:border-color var(--duration-normal) var(--ease-out);pointer-events:none}.hud-panel:before{top:-1px;left:-1px;border-top-color:var(--text-secondary);border-left-color:var(--text-secondary)}.hud-panel:after{bottom:-1px;right:-1px;border-bottom-color:var(--text-secondary);border-right-color:var(--text-secondary)}.hud-panel:hover{border-color:var(--text-tertiary);background:#02020580}.hud-panel:hover:before,.hud-panel:hover:after{border-color:var(--accent)}.mono{font-family:var(--font-mono);letter-spacing:var(--tracking-wide);text-transform:uppercase}.text-glow{color:var(--text-primary);text-shadow:0 0 10px rgba(255,255,255,.3)}.text-accent{color:var(--accent);text-shadow:0 0 8px var(--accent-glow)}.tag{display:inline-block;padding:4px 10px;font-family:var(--font-mono);font-size:.65rem;color:var(--text-secondary);border:1px solid var(--hud-border);background:transparent;letter-spacing:.1em;text-transform:uppercase}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:10px 24px;font-family:var(--font-mono);font-size:.75rem;letter-spacing:.15em;text-transform:uppercase;border:1px solid var(--hud-border);background:transparent;color:var(--text-primary);transition:all var(--duration-normal) var(--ease-out);position:relative;overflow:hidden}.btn:before{content:"";position:absolute;top:0;left:0;width:0%;height:100%;background:var(--text-primary);transition:width var(--duration-normal) var(--ease-out);z-index:-1}.btn-primary:hover{color:var(--bg-primary);border-color:var(--text-primary)}.btn-primary:hover:before{width:100%}.btn-ghost{border:1px solid transparent;color:var(--text-secondary)}.btn-ghost:hover{color:var(--accent)}:focus-visible{outline:1px solid var(--accent);outline-offset:4px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}::-webkit-scrollbar{width:0;height:0}.loading-screen{position:fixed;inset:0;background:var(--bg-primary);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:9999;gap:var(--space-lg)}.loading-bar-track{width:200px;height:1px;background:var(--hud-border);overflow:hidden;position:relative}.loading-bar-fill{height:100%;background:var(--accent);position:absolute;top:0;left:0;animation:loading-scan 2s ease-in-out infinite;width:20%;box-shadow:0 0 10px var(--accent-glow)}@keyframes loading-scan{0%{left:-20%}50%{left:100%}to{left:-20%}}.loading-text{font-family:var(--font-mono);font-size:.7rem;color:var(--text-secondary);letter-spacing:.2em;text-transform:uppercase}
