:root{--bg: #050505;--bg2: #0a0c12;--card: rgba(19, 22, 31, .55);--card2: rgba(26, 30, 46, .45);--border: rgba(255,255,255,.07);--border-hi: rgba(255,255,255,.14);--accent: #38bdf8;--accent2: #6366f1;--accent3: #a78bfa;--glow: rgba(56,189,248,.18);--glow2: rgba(99,102,241,.15);--text: #f8fafc;--text-dim: #818cf8;--text-mid: #94a3b8;--tag-bg: rgba(56,189,248,.08);--tag-border: rgba(56,189,248,.22);--radius: 24px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:Plus Jakarta Sans,-apple-system,BlinkMacSystemFont,sans-serif;background-color:var(--bg);color:var(--text);overflow-x:hidden;min-height:100vh;position:relative;line-height:1.6}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;width:100vw;height:100vh;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)' opacity='0.04'/%3E%3C/svg%3E");pointer-events:none;z-index:9999}#bg-canvas{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:0;pointer-events:none;opacity:.5}.ambient-orb{position:fixed;top:50%;left:50%;width:min(80vw,850px);height:min(80vh,850px);transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(99,102,241,.06) 0%,rgba(56,189,248,.03) 40%,transparent 70%);pointer-events:none;z-index:0;filter:blur(60px)}.sticky-logo{position:fixed;top:clamp(16px,3vw,28px);left:clamp(16px,4vw,32px);width:clamp(130px,16vw,200px);z-index:2000;filter:drop-shadow(0 0 14px rgba(56,189,248,.25));transition:transform .4s cubic-bezier(.16,1,.3,1),filter .4s ease}.sticky-logo:hover{transform:scale(1.04) rotate(-1deg);filter:drop-shadow(0 0 22px rgba(56,189,248,.45))}.nav-profile{position:fixed;top:clamp(14px,3vw,24px);right:clamp(16px,4vw,32px);width:clamp(52px,7vw,76px);height:clamp(52px,7vw,76px);border-radius:50%;object-fit:cover;z-index:2000;border:1px solid rgba(255,255,255,.12);box-shadow:0 0 0 3px var(--glow),0 8px 30px #00000080;transition:transform .4s cubic-bezier(.16,1,.3,1),box-shadow .4s ease;cursor:pointer}.nav-profile:hover{transform:scale(1.08) translateY(-2px);box-shadow:0 0 0 2px var(--accent),0 12px 35px #38bdf84d}#progress-bar{position:fixed;top:0;left:0;height:2.5px;background:linear-gradient(90deg,var(--accent),var(--accent2),var(--accent3));z-index:9999;width:0%;box-shadow:0 0 15px var(--accent)}.nav-dots{position:fixed;right:clamp(12px,2vw,24px);top:50%;transform:translateY(-50%);z-index:1500;display:flex;flex-direction:column;gap:16px}.nav-dot{width:7px;height:7px;border-radius:50%;background:var(--border-hi);cursor:pointer;transition:all .4s cubic-bezier(.16,1,.3,1);position:relative}.nav-dot.active{background:var(--accent);box-shadow:0 0 12px var(--accent);transform:scale(1.7)}.nav-dot:hover:not(.active){background:var(--text);transform:scale(1.4)}.nav-dot .dot-label{position:absolute;right:20px;top:50%;transform:translateY(-50%) translate(10px);font-size:.75rem;font-weight:600;font-family:Space Grotesk,sans-serif;color:var(--text);white-space:nowrap;opacity:0;pointer-events:none;transition:all .3s cubic-bezier(.16,1,.3,1)}.nav-dot:hover .dot-label{opacity:1;transform:translateY(-50%) translate(0)}.main-wrapper{position:relative;z-index:1;width:100%;max-width:860px;margin:0 auto;padding:clamp(140px,18vh,190px) clamp(16px,4vw,28px) clamp(80px,12vh,120px)}.section-block{opacity:0;transform:translateY(40px) scale(.99);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1);margin-bottom:clamp(24px,4vw,36px)}.section-block.visible{opacity:1;transform:translateY(0) scale(1)}.card{background:var(--card);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border);border-radius:var(--radius);padding:clamp(24px,5vw,44px);position:relative;overflow:hidden;box-shadow:0 20px 40px #00000040,inset 0 1px #ffffff0f;transform-style:preserve-3d;will-change:transform}.card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(800px circle at var(--mouse-x, 50%) var(--mouse-y, 50%),rgba(255,255,255,.035),transparent 45%);pointer-events:none}.hero-card{background:linear-gradient(135deg,#0f1525bf,#0d1117d9);border-top:1px solid rgba(56,189,248,.25)}.hero-name{font-size:clamp(2.3rem,7vw,3.8rem);font-weight:900;line-height:1.1;letter-spacing:-.03em;background:linear-gradient(to right,#ffffff 0%,#e2e8f0 45%,var(--accent) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:20px}.typing-row{display:flex;align-items:center;flex-wrap:wrap;font-family:Space Grotesk,sans-serif;font-size:clamp(1rem,2.8vw,1.25rem);color:var(--accent);font-weight:500;margin-bottom:24px;min-height:1.8rem}.typing-cursor{display:inline-block;width:2px;height:1.15em;background:var(--accent);margin-left:4px;animation:blink .8s step-end infinite}@keyframes blink{50%{opacity:0}}.hero-desc{font-size:clamp(.98rem,2vw,1.12rem);color:var(--text-mid);line-height:1.8;border-left:2px solid var(--border-hi);padding-left:18px}.section-label{font-family:JetBrains Mono,monospace;font-size:.72rem;color:var(--accent2);letter-spacing:.22em;text-transform:uppercase;margin-bottom:10px;display:flex;align-items:center;gap:12px}.section-label:before{content:"";width:22px;height:1px;background:var(--accent2)}.section-title{font-size:clamp(1.45rem,3.5vw,1.85rem);font-weight:800;margin-bottom:26px;letter-spacing:-.02em;color:#fff}.btn-row{display:flex;flex-wrap:wrap;gap:14px;margin-top:32px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:12px 24px;border-radius:14px;font-family:Space Grotesk,sans-serif;font-weight:600;font-size:.92rem;text-decoration:none;transition:all .3s cubic-bezier(.16,1,.3,1);cursor:pointer;border:none;position:relative;overflow:hidden;white-space:nowrap}.btn:after{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.22),transparent);transition:all .5s ease}.btn:hover:after{left:100%}.btn-primary{background:#6bc1fe;color:#050505;box-shadow:0 8px 24px #38bdf833}.btn-primary:hover{transform:translateY(-3px);background:#0095ff;box-shadow:0 12px 28px #38bdf859;color:#fff}.btn-secondary{background:#ffffff0d;border:1px solid var(--border-hi);color:var(--text)}.btn-secondary:hover{background:#ffffff1a;transform:translateY(-3px);border-color:var(--accent);color:#fff}.about-text{font-size:clamp(.95rem,1.8vw,1.06rem);line-height:1.85;color:var(--text-mid)}.about-text strong{color:#fff;font-weight:600}.about-text .em{color:var(--accent);font-weight:500}.skills-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}.skill-group{background:var(--card2);border:1px solid var(--border);border-radius:16px;padding:22px;transition:all .3s ease}.skill-group:hover{border-color:#38bdf866;background:#1a1e2ea6;transform:translateY(-2px)}.skill-group-label{font-family:JetBrains Mono,monospace;font-size:.7rem;color:var(--accent);letter-spacing:.15em;text-transform:uppercase;margin-bottom:14px}.skill-tags{display:flex;flex-wrap:wrap;gap:8px}.skill-tag{font-size:.8rem;padding:6px 12px;border-radius:8px;background:var(--tag-bg);border:1px solid var(--tag-border);color:var(--accent);font-family:Space Grotesk,sans-serif;font-weight:500;transition:all .2s ease}.skill-tag:hover{background:var(--accent);color:var(--bg);transform:scale(1.04)}.skill-tag.purple{background:#6366f11a;border-color:#6366f147;color:var(--accent3)}.skill-tag.purple:hover{background:var(--accent3);color:var(--bg)}.projects-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.project-card{border-radius:20px;overflow:hidden;background:var(--card2);border:1px solid var(--border);display:flex;flex-direction:column;position:relative;will-change:transform}.project-card:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:20px;box-shadow:inset 0 0 0 1px transparent;transition:box-shadow .3s ease;pointer-events:none}.project-card:hover:after{box-shadow:inset 0 0 0 1px #38bdf859}.project-cover{width:100%;height:180px;overflow:hidden;border-bottom:1px solid var(--border);position:relative;background:#0d121c}.project-cover:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to bottom,transparent 40%,rgba(0,0,0,.55))}.project-cover img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .6s cubic-bezier(.16,1,.3,1)}.project-card:hover .project-cover img{transform:scale(1.06)}.project-body{padding:22px;flex:1;display:flex;flex-direction:column;background:linear-gradient(to bottom,#1a1e2e4d,#13161f8c)}.project-status{display:inline-flex;align-items:center;gap:6px;font-size:.65rem;font-family:JetBrains Mono,monospace;letter-spacing:.1em;text-transform:uppercase;padding:4px 10px;border-radius:6px;margin-bottom:12px;align-self:flex-start}.status-live{background:#22c55e1f;border:1px solid rgba(34,197,94,.25);color:#4ade80}.status-active{background:#38bdf81f;border:1px solid rgba(56,189,248,.25);color:var(--accent)}.status-ongoing{background:#fbbf241f;border:1px solid rgba(251,191,36,.25);color:#fbbf24}.status-dot{width:6px;height:6px;border-radius:50%;background:currentColor;animation:statusPulse 2s infinite}@keyframes statusPulse{50%{opacity:.3;transform:scale(.8)}}.project-name{font-size:1.12rem;font-weight:700;margin-bottom:8px;letter-spacing:-.01em;color:#fff}.project-desc{font-size:.88rem;color:var(--text-mid);line-height:1.68;margin-bottom:16px;flex:1}.project-tags{display:flex;flex-wrap:wrap;gap:6px}.project-tag{font-size:.7rem;padding:4px 9px;border-radius:6px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);color:var(--text-mid);font-family:JetBrains Mono,monospace}.project-card.featured{grid-column:1 / -1}.project-card.featured .project-cover{height:clamp(200px,30vw,260px)}.crop-placeholder{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#182235,#0d121c)}.crop-icon{font-size:4rem;filter:drop-shadow(0 0 20px rgba(34,197,94,.3))}.hobby-card{background:linear-gradient(135deg,#161c2c99,#0f1521b3);border:1px solid rgba(56,189,248,.2)}.hobby-badge{display:inline-flex;align-items:center;gap:6px;font-size:.68rem;font-family:JetBrains Mono,monospace;letter-spacing:.1em;text-transform:uppercase;padding:4px 10px;border-radius:6px;background:#a78bfa1f;border:1px solid rgba(167,139,250,.25);color:var(--accent3);margin-bottom:12px}.hobby-content{display:flex;flex-direction:column;gap:16px}.hobby-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}.timeline{display:flex;flex-direction:column;position:relative;margin-left:4px}.timeline:before{content:"";position:absolute;left:19px;top:12px;bottom:12px;width:2px;background:linear-gradient(to bottom,var(--accent),var(--accent2),transparent);opacity:.45}.timeline-item{display:flex;gap:clamp(14px,3vw,24px);padding-bottom:32px;position:relative}.timeline-item:last-child{padding-bottom:0}.timeline-dot{width:40px;height:40px;min-width:40px;border-radius:50%;background:var(--bg2);border:2px solid var(--accent);display:flex;align-items:center;justify-content:center;font-size:1rem;z-index:1;box-shadow:0 0 15px #38bdf833}.timeline-content{flex:1;padding-top:2px}.timeline-period{font-size:.75rem;font-family:JetBrains Mono,monospace;color:var(--accent);letter-spacing:.1em;margin-bottom:4px}.timeline-title{font-size:1.12rem;font-weight:700;color:#fff;margin-bottom:2px}.timeline-sub{font-size:.88rem;color:var(--text-mid);margin-bottom:10px;font-style:italic}.timeline-points{list-style:none;display:flex;flex-direction:column;gap:8px}.timeline-points li{font-size:.9rem;color:var(--text-mid);display:flex;align-items:flex-start;gap:10px;line-height:1.6}.timeline-points li:before{content:"✦";color:var(--accent2);font-size:.8rem;margin-top:2px;flex-shrink:0}.achievements-list{display:flex;flex-direction:column;gap:14px}.achievement-item{display:flex;align-items:flex-start;gap:16px;padding:18px 22px;background:var(--card2);border-radius:16px;border:1px solid var(--border);transition:all .3s ease}.achievement-item:hover{border-color:#6366f166;background:#1a1e2ea6;transform:translate(6px)}.achievement-icon{font-size:1.5rem;flex-shrink:0}.achievement-text{font-size:.92rem;color:var(--text-mid);line-height:1.7}.achievement-text strong{color:#fff}.contact-grid{display:flex;flex-direction:column;gap:14px}.contact-item{display:flex;align-items:center;gap:14px;padding:16px 20px;background:var(--card2);border:1px solid var(--border);border-radius:16px;text-decoration:none;color:var(--text-mid);transition:all .3s cubic-bezier(.16,1,.3,1);overflow:hidden}.contact-item:hover{border-color:var(--accent);color:#fff;transform:translateY(-3px);background:#38bdf80f;box-shadow:0 10px 25px #00000040}.contact-icon{width:40px;height:40px;border-radius:10px;background:#ffffff0a;border:1px solid rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;font-size:1.1rem;flex-shrink:0;transition:all .3s ease}.contact-item:hover .contact-icon{background:var(--accent);color:var(--bg);border-color:var(--accent)}.contact-detail{font-size:.85rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.contact-label{font-size:.7rem;color:var(--text-mid);margin-bottom:2px;font-family:JetBrains Mono,monospace}.status-footer{background:#0f152573;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px dashed rgba(99,102,241,.3);border-radius:20px;padding:clamp(20px,4vw,32px);text-align:center}.status-line{font-family:JetBrains Mono,monospace;font-size:clamp(.75rem,2vw,.85rem);letter-spacing:.15em;color:var(--accent2);display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap}.status-dot-anim{width:8px;height:8px;border-radius:50%;background:var(--accent2);animation:blink 1.2s infinite;box-shadow:0 0 10px var(--accent2)}#status-text-cycle{transition:opacity .3s;min-width:220px}.scroll-hint{position:fixed;bottom:28px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:6px;z-index:100;opacity:1;transition:opacity .5s ease;pointer-events:none}.scroll-hint.hidden{opacity:0}.scroll-hint-text{font-family:JetBrains Mono,monospace;font-size:.68rem;color:var(--text-mid);letter-spacing:.2em;text-transform:uppercase}.scroll-arrow{width:16px;height:16px;border-right:2px solid var(--text-mid);border-bottom:2px solid var(--text-mid);transform:rotate(45deg);animation:scrollBounce 2s cubic-bezier(.16,1,.3,1) infinite}@keyframes scrollBounce{0%,to{transform:rotate(45deg) translate(0);opacity:1}50%{transform:rotate(45deg) translate(5px,5px);opacity:.3}}.cursor-glow{width:380px;height:380px;border-radius:50%;background:radial-gradient(circle,rgba(56,189,248,.06) 0%,transparent 65%);position:fixed;pointer-events:none;z-index:0;transform:translate(-50%,-50%);will-change:left,top;display:none}@media (hover: hover) and (pointer: fine){.cursor-glow{display:block}}@media (max-width: 900px){.nav-dots{display:none}}@media (max-width: 768px){.projects-grid{grid-template-columns:1fr}.timeline:before{left:15px}.timeline-dot{width:32px;height:32px;min-width:32px;font-size:.82rem}.achievement-item{padding:16px}}@media (max-width: 480px){.btn-row,.hobby-links{flex-direction:column;width:100%}.btn{width:100%}}
