﻿:root{--bg: #08080a;--bg-alt: #0c0c10;--surface: #141418;--surface-2: #1a1a20;--border: #1f1f28;--border-lite: #2a2a35;--text: #eeeef0;--text-mid: #a8a8b3;--text-muted: #5c5c6a;--accent: #7c8aff;--accent-2: #a78bfa;--accent-glow: rgba(124, 138, 255, 0.06);--nav-bg: rgba(8, 8, 10, 0.55);--nav-bg-scroll: rgba(8, 8, 10, 0.85);--glow-1: rgba(124, 138, 255, 0.08);--glow-2: rgba(167, 139, 250, 0.05);--grid-line: rgba(124, 138, 255, 0.03);--hover-bg: rgba(124, 138, 255, 0.04);--hover-border: rgba(124, 138, 255, 0.3);--hover-shadow: 0 4px 12px rgba(124, 138, 255, 0.08);--card-hover-border: rgba(124, 138, 255, 0.2);--card-hover-shadow: 0 0 60px rgba(124, 138, 255, 0.04), inset 0 1px 0 rgba(124, 138, 255, 0.06);--btn-shadow: 0 8px 30px rgba(124, 138, 255, 0.25);--noise-opacity: 0.025}[data-theme=light]{--bg: #f6f6f9;--bg-alt: #eeeef2;--surface: #ffffff;--surface-2: #f0f0f5;--border: #dddde5;--border-lite: #c8c8d4;--text: #1a1a2e;--text-mid: #4a4a5e;--text-muted: #8888a0;--accent: #5b68e0;--accent-2: #7c5fc7;--accent-glow: rgba(91, 104, 224, 0.06);--nav-bg: rgba(246, 246, 249, 0.65);--nav-bg-scroll: rgba(246, 246, 249, 0.9);--glow-1: rgba(91, 104, 224, 0.06);--glow-2: rgba(124, 95, 199, 0.04);--grid-line: rgba(91, 104, 224, 0.04);--hover-bg: rgba(91, 104, 224, 0.05);--hover-border: rgba(91, 104, 224, 0.3);--hover-shadow: 0 4px 12px rgba(91, 104, 224, 0.06);--card-hover-border: rgba(91, 104, 224, 0.25);--card-hover-shadow: 0 4px 40px rgba(91, 104, 224, 0.06), inset 0 1px 0 rgba(91, 104, 224, 0.08);--btn-shadow: 0 8px 30px rgba(91, 104, 224, 0.2);--noise-opacity: 0.012}*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased}body{font-family:"Outfit",-apple-system,BlinkMacSystemFont,sans-serif;background:var(--bg);color:var(--text);line-height:1.7;font-weight:400;overflow-x:hidden;transition:background .4s ease,color .4s ease}body::before{content:"";position:fixed;inset:0;z-index:9999;pointer-events:none;opacity:var(--noise-opacity);background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-repeat:repeat;background-size:200px}a{color:var(--accent);text-decoration:none;transition:color .2s,opacity .2s}a:hover{opacity:.85}.container{max-width:800px;margin:0 auto;padding:0 2rem}.dot{color:var(--accent)}.reveal{opacity:0;transform:translateY(32px);transition:opacity .7s cubic-bezier(.22, 1, .36, 1),transform .7s cubic-bezier(.22, 1, .36, 1)}.reveal.visible{opacity:1;transform:translateY(0)}.reveal-delay-1{transition-delay:.08s}.reveal-delay-2{transition-delay:.16s}.reveal-delay-3{transition-delay:.24s}.reveal-delay-4{transition-delay:.32s}.reveal-delay-5{transition-delay:.4s}.nav{position:fixed;top:0;left:0;right:0;z-index:100;background:var(--nav-bg);backdrop-filter:blur(24px) saturate(1.4);border-bottom:1px solid var(--border);transform:translateY(-100%);animation:nav-slide .6s .3s cubic-bezier(.22, 1, .36, 1) forwards;transition:background .4s ease,border-color .4s ease}@keyframes nav-slide{to{transform:translateY(0)}}.nav-inner{display:flex;justify-content:space-between;align-items:center;height:56px}.nav-logo{font-weight:700;font-size:1.1rem;color:var(--text);letter-spacing:-.03em}.nav-logo:hover{color:var(--text);opacity:1}.nav-links{display:flex;gap:1.75rem;align-items:center}.nav-links a{color:var(--text-muted);font-size:.82rem;font-weight:500;letter-spacing:.01em;position:relative}.nav-links a::after{content:"";position:absolute;bottom:-2px;left:0;width:0;height:1px;background:var(--accent);transition:width .3s cubic-bezier(.22, 1, .36, 1)}.nav-links a:hover{color:var(--text-mid);opacity:1}.nav-links a:hover::after{width:100%}.nav-cta{display:inline-flex;align-items:center;gap:.5rem;color:var(--accent) !important;font-weight:600 !important}.nav-cta::after{display:none !important}.cta-dot{display:inline-block;width:6px;height:6px;background:var(--accent);border-radius:50%;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%, 100%{opacity:1;box-shadow:0 0 0 0 rgba(124,138,255,.4)}50%{opacity:.7;box-shadow:0 0 0 6px rgba(124,138,255,0)}}.theme-toggle{position:relative;width:44px;height:24px;background:var(--surface);border:1px solid var(--border);border-radius:100px;cursor:pointer;padding:0;flex-shrink:0;transition:background .3s,border-color .3s}.theme-toggle:hover{border-color:var(--accent)}.theme-toggle-thumb{position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:var(--accent);transition:transform .35s cubic-bezier(.22, 1, .36, 1);display:flex;align-items:center;justify-content:center}[data-theme=light] .theme-toggle-thumb{transform:translateX(20px)}.theme-toggle-icon{width:10px;height:10px;fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.hero{position:relative;padding:11rem 0 5rem;border-bottom:1px solid var(--border);overflow:hidden}.hero-glow{position:absolute;top:-200px;left:50%;transform:translateX(-50%);width:700px;height:500px;background:radial-gradient(ellipse, var(--glow-1) 0%, rgba(0,0,0,0) 65%);pointer-events:none;animation:glow-breathe 6s ease-in-out infinite}.hero-glow-2{position:absolute;top:-100px;right:-200px;width:500px;height:400px;background:radial-gradient(ellipse, var(--glow-2) 0%, rgba(0,0,0,0) 65%);pointer-events:none;animation:glow-drift 8s 2s ease-in-out infinite}@keyframes glow-breathe{0%, 100%{opacity:1;transform:translateX(-50%) scale(1)}50%{opacity:.6;transform:translateX(-50%) scale(1.1)}}@keyframes glow-drift{0%, 100%{opacity:1;transform:translate(0, 0)}50%{opacity:.5;transform:translate(-30px, 20px)}}.hero-grid{position:absolute;inset:0;pointer-events:none;overflow:hidden;mask-image:linear-gradient(to bottom, rgba(0,0,0,0) 0%, rgba(255,255,255,.3) 30%, rgba(0,0,0,0) 100%);-webkit-mask-image:linear-gradient(to bottom, rgba(0,0,0,0) 0%, rgba(255,255,255,.3) 30%, rgba(0,0,0,0) 100%)}.hero-grid::before{content:"";position:absolute;inset:0;background-image:linear-gradient(var(--grid-line) 1px, rgba(0,0,0,0) 1px),linear-gradient(90deg, var(--grid-line) 1px, rgba(0,0,0,0) 1px);background-size:60px 60px}.hero-badge{display:inline-flex;align-items:center;gap:.5rem;font-size:.78rem;font-weight:500;color:var(--text-muted);background:var(--surface);border:1px solid var(--border);padding:.3rem .85rem;border-radius:100px;margin-bottom:2rem;letter-spacing:.02em;opacity:0;animation:hero-fade .8s .5s cubic-bezier(.22, 1, .36, 1) forwards;transition:background .4s ease,border-color .4s ease}.badge-dot{display:inline-block;width:5px;height:5px;background:#34d399;border-radius:50%;animation:pulse-green 2s ease-in-out infinite}@keyframes pulse-green{0%, 100%{box-shadow:0 0 0 0 rgba(52,211,153,.4)}50%{box-shadow:0 0 0 4px rgba(52,211,153,0)}}.hero-name{font-size:clamp(3.2rem,8.5vw,5.5rem);font-weight:800;letter-spacing:-.05em;line-height:1;margin-bottom:.6rem;background:linear-gradient(135deg, var(--text) 40%, var(--text-mid) 100%);-webkit-background-clip:text;-webkit-text-fill-color:rgba(0,0,0,0);background-clip:text;opacity:0;animation:hero-up .9s .65s cubic-bezier(.22, 1, .36, 1) forwards}.hero-role{font-size:1.35rem;font-weight:300;color:var(--text-mid);margin-bottom:2.25rem;letter-spacing:-.01em;opacity:0;animation:hero-fade .8s .85s cubic-bezier(.22, 1, .36, 1) forwards}.hero-links{display:flex;gap:.75rem;flex-wrap:wrap;opacity:0;animation:hero-fade .8s 1s cubic-bezier(.22, 1, .36, 1) forwards}.hero-links a{font-size:.8rem;color:var(--text-muted);font-weight:500;padding:.4rem 1rem;border:1px solid var(--border);border-radius:6px;background:var(--surface);transition:all .25s cubic-bezier(.22, 1, .36, 1)}.hero-links a:hover{color:var(--accent);border-color:var(--hover-border);background:var(--hover-bg);transform:translateY(-2px);box-shadow:var(--hover-shadow);opacity:1}@keyframes hero-fade{to{opacity:1}}@keyframes hero-up{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.platform{padding:5rem 0}.platform-card{position:relative;padding:2.75rem;background:var(--surface);border-radius:16px;border:1px solid var(--border-lite);overflow:hidden;transition:border-color .4s,box-shadow .4s,background .4s}.platform-card:hover{border-color:var(--card-hover-border);box-shadow:var(--card-hover-shadow)}.platform-card::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg, var(--accent), var(--accent-2), var(--accent));background-size:200% 100%;animation:gradient-slide 4s linear infinite}.platform-card::after{content:"";position:absolute;top:-80px;right:-80px;width:200px;height:200px;background:radial-gradient(circle, var(--glow-2) 0%, rgba(0,0,0,0) 70%);pointer-events:none;transition:transform .6s cubic-bezier(.22, 1, .36, 1)}.platform-card:hover::after{transform:translate(-20px, 20px) scale(1.2)}@keyframes gradient-slide{0%{background-position:200% 0}100%{background-position:-200% 0}}.platform-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1.25rem}.platform-icon{font-size:1.25rem}.platform-badge{font-size:.72rem;font-weight:600;font-family:"JetBrains Mono",monospace;color:var(--accent);background:var(--accent-glow);border:1px solid rgba(124,138,255,.15);padding:.25rem .7rem;border-radius:4px;letter-spacing:.04em;text-transform:uppercase}.platform-title{font-size:2rem;font-weight:800;letter-spacing:-.04em;margin-bottom:.75rem}.platform-desc{font-size:1rem;color:var(--text-mid);line-height:1.8;font-weight:300;max-width:580px;margin-bottom:1.5rem}.platform-stack{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;margin-bottom:2rem;font-size:.82rem;font-family:"JetBrains Mono",monospace;color:var(--text-muted)}.stack-sep{color:var(--border-lite)}.platform-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.7rem 1.6rem;background:linear-gradient(135deg, var(--accent), var(--accent-2));color:#fff;font-family:"Outfit",-apple-system,BlinkMacSystemFont,sans-serif;font-size:.9rem;font-weight:600;border-radius:8px;border:none;cursor:pointer;letter-spacing:-.01em;position:relative;overflow:hidden;transition:transform .25s cubic-bezier(.22, 1, .36, 1),box-shadow .25s}.platform-btn::before{content:"";position:absolute;inset:0;background:linear-gradient(135deg, rgba(255,255,255,.1), rgba(0,0,0,0));opacity:0;transition:opacity .3s}.platform-btn:hover{transform:translateY(-2px);box-shadow:var(--btn-shadow);color:#fff;opacity:1}.platform-btn:hover::before{opacity:1}.btn-arrow{font-size:1rem;transition:transform .25s cubic-bezier(.22, 1, .36, 1)}.platform-btn:hover .btn-arrow{transform:translate(2px, -2px)}.section{padding:4.5rem 0}.section-alt{background:var(--bg-alt);position:relative;transition:background .4s ease}.section-alt::before{content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);width:200px;height:1px;background:linear-gradient(90deg, rgba(0,0,0,0), rgba(124,138,255,.15), rgba(0,0,0,0))}.section-label{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.14em;color:var(--accent);margin-bottom:2.25rem}.section-label::before{content:"—  ";color:var(--border-lite)}.about-text p{font-size:1.05rem;line-height:1.85;color:var(--text-mid);margin-bottom:1.25rem;font-weight:300}.about-text p:last-child{margin-bottom:0}.about-text a{font-weight:500}.timeline{display:flex;flex-direction:column}.timeline-entry{display:grid;grid-template-columns:150px 1fr;gap:2.5rem;padding:1.5rem 0;border-bottom:1px solid var(--border);position:relative;transition:border-color .4s ease}.timeline-entry::before{content:"";position:absolute;left:-2rem;right:-2rem;top:0;bottom:0;background:var(--hover-bg);border-radius:8px;opacity:0;transition:opacity .3s;pointer-events:none}.timeline-entry:hover::before{opacity:1}.timeline-entry:first-child{padding-top:0}.timeline-entry:last-child{border-bottom:none;padding-bottom:0}.timeline-period{font-size:.78rem;font-family:"JetBrains Mono",monospace;color:var(--text-muted);padding-top:.2rem;white-space:nowrap}.timeline-title{font-size:1rem;font-weight:600;margin-bottom:.15rem;letter-spacing:-.01em;transition:color .3s}.timeline-entry:hover .timeline-title{color:var(--accent)}.timeline-company{font-size:.88rem;color:var(--accent);margin-bottom:.45rem;font-weight:500}.timeline-desc{font-size:.88rem;color:var(--text-muted);line-height:1.65;font-weight:300}.skills-grid{display:grid;grid-template-columns:repeat(3, 1fr);gap:1rem}.skills-group{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1.5rem;position:relative;overflow:hidden;transition:all .35s cubic-bezier(.22, 1, .36, 1)}.skills-group::before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg, rgba(0,0,0,0), var(--hover-border), rgba(0,0,0,0));opacity:0;transition:opacity .35s}.skills-group:hover{border-color:rgba(124,138,255,.15);transform:translateY(-3px);box-shadow:0 8px 30px rgba(0,0,0,.2),0 0 0 1px rgba(124,138,255,.05)}.skills-group:hover::before{opacity:1}.skills-group h3{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);margin-bottom:.85rem}.tags{display:flex;flex-wrap:wrap;gap:.45rem}.tag{font-size:.78rem;font-family:"JetBrains Mono",monospace;font-weight:400;color:var(--text-mid);background:var(--bg);border:1px solid var(--border);padding:.3rem .7rem;border-radius:5px;cursor:default;transition:all .25s cubic-bezier(.22, 1, .36, 1)}.tag:hover{border-color:var(--hover-border);color:var(--accent);background:var(--hover-bg);transform:translateY(-1px)}.footer{border-top:1px solid var(--border);padding:2.25rem 0;transition:border-color .4s ease}.footer-inner{display:flex;justify-content:space-between;align-items:center}.footer-note{font-size:.78rem;color:var(--text-muted);font-weight:300}.footer-links{display:flex;gap:1.25rem}.footer-links a{font-size:.78rem;color:var(--text-muted);font-weight:500}.footer-links a:hover{color:var(--accent)}@media (max-width: 640px){.hero{padding:7rem 0 3rem}.hero-name{font-size:2.75rem}.section{padding:3rem 0}.platform-card{padding:2rem}.timeline-entry{grid-template-columns:1fr;gap:.15rem}.timeline-period{padding-top:0;margin-bottom:.25rem}.skills-grid{grid-template-columns:1fr;gap:.75rem}.footer-inner{flex-direction:column;gap:1rem;text-align:center}.nav-links a:not(.nav-cta):not(.theme-toggle){display:none}.platform-stack{font-size:.75rem}.hero-links{gap:.5rem}.hero-links a{font-size:.75rem;padding:.35rem .8rem}}