@import"https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;700&family=JetBrains+Mono:wght@400;600&display=swap";:root{--bg: #0f0f1a;--bg-alt: #13131f;--surface: #1a1a2e;--surface-2: #22223b;--border: rgba(255,255,255,.08);--text: #e2e8f0;--text-muted: #94a3b8;--accent: #7c3aed;--accent-2: #a78bfa;--accent-glow: rgba(124, 58, 237, .35);--gradient: linear-gradient(135deg, #7c3aed, #2563eb);--radius: 12px;--radius-lg: 20px;--shadow: 0 4px 24px rgba(0,0,0,.4);--shadow-lg: 0 8px 40px rgba(0,0,0,.5);--nav-h: 70px;--transition: .3s cubic-bezier(.4,0,.2,1)}[data-theme=light]{--bg: #f8fafc;--bg-alt: #f1f5f9;--surface: #ffffff;--surface-2: #f1f5f9;--border: rgba(0,0,0,.08);--text: #0f172a;--text-muted: #64748b;--accent: #7c3aed;--accent-2: #6d28d9;--accent-glow: rgba(124, 58, 237, .15);--shadow: 0 4px 24px rgba(0,0,0,.1);--shadow-lg: 0 8px 40px rgba(0,0,0,.15)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px}body{font-family:Inter,system-ui,sans-serif;background:var(--bg);color:var(--text);line-height:1.6;overflow-x:hidden;transition:background var(--transition),color var(--transition)}a{color:inherit;text-decoration:none}ul{list-style:none}img,svg{display:block}button{cursor:pointer;border:none;background:none;font-family:inherit}input,textarea{font-family:inherit}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--accent);border-radius:3px}.container{max-width:1140px;margin:0 auto;padding:0 24px}.accent{color:var(--accent)}.hidden{display:none!important}.section{padding:100px 0}.section-alt{background:var(--bg-alt)}@keyframes fadeUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}@keyframes blobMove{0%,to{border-radius:60% 40% 30% 70%/60% 30% 70% 40%;transform:scale(1)}50%{border-radius:30% 60% 70% 40%/50% 60% 30%;transform:scale(1.08)}}@keyframes pulse{0%,to{box-shadow:0 0 0 0 var(--accent-glow)}50%{box-shadow:0 0 0 12px transparent}}@keyframes spin{to{transform:rotate(360deg)}}[data-aos]{opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s ease}[data-aos].aos-animate{opacity:1;transform:translateY(0)}.navbar{position:fixed;top:0;left:0;right:0;height:var(--nav-h);display:flex;align-items:center;justify-content:space-between;padding:0 32px;z-index:1000;transition:background var(--transition),backdrop-filter var(--transition),box-shadow var(--transition)}.navbar.scrolled{background:#0f0f1ad9;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 1px 0 var(--border)}[data-theme=light] .navbar.scrolled{background:#f8fafcd9}.nav-brand{font-family:Fira Code,monospace;font-size:1.25rem;font-weight:700;letter-spacing:-.5px}.brand-dot,.brand-accent{color:var(--accent)}.nav-links{display:flex;gap:8px;align-items:center}.nav-link{font-size:.9rem;font-weight:500;padding:6px 14px;border-radius:6px;color:var(--text-muted);transition:color var(--transition),background var(--transition)}.nav-link:hover,.nav-link.active{color:var(--text);background:var(--surface-2)}.nav-link.active{color:var(--accent)}.theme-toggle{width:38px;height:38px;border-radius:50%;background:var(--surface-2);display:flex;align-items:center;justify-content:center;font-size:1.1rem;transition:background var(--transition);flex-shrink:0}.theme-toggle:hover{background:var(--surface)}.hamburger{display:none;flex-direction:column;gap:5px;padding:6px}.hamburger span{width:22px;height:2px;background:var(--text);border-radius:2px;transition:var(--transition);display:block}.hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}.hamburger.open span:nth-child(2){opacity:0}.hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.hero-section{min-height:100vh;padding-top:var(--nav-h);display:flex;align-items:center;justify-content:space-between;gap:48px;padding-left:80px;padding-right:80px;position:relative;overflow:hidden}.hero-bg{position:absolute;inset:0;pointer-events:none;z-index:0}.blob{position:absolute;border-radius:60% 40% 30% 70%/60% 30% 70% 40%;animation:blobMove 8s ease-in-out infinite;opacity:.18;filter:blur(60px)}.blob-1{width:480px;height:480px;background:var(--accent);top:-100px;right:-80px;animation-delay:0s}.blob-2{width:320px;height:320px;background:#2563eb;bottom:-60px;left:10%;animation-delay:2.5s}.blob-3{width:200px;height:200px;background:#06b6d4;top:40%;left:30%;animation-delay:5s}.hero-content{position:relative;z-index:1;max-width:560px;animation:fadeUp .8s ease both}.hero-greeting{font-size:1.1rem;color:var(--text-muted);margin-bottom:12px}.hero-name{font-size:clamp(2.8rem,6vw,4.5rem);font-weight:900;letter-spacing:-2px;line-height:1.08;margin-bottom:16px}.hero-roles{font-size:1.25rem;font-weight:500;color:var(--text-muted);margin-bottom:20px;display:flex;align-items:center;gap:4px}.dynamic-text{color:var(--accent-2)}.cursor-blink{color:var(--accent);animation:pulse 1.1s ease-in-out infinite;font-weight:300}.hero-description{color:var(--text-muted);font-size:1.05rem;line-height:1.7;margin-bottom:36px;max-width:480px}.hero-cta{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:36px}.hero-socials{display:flex;gap:14px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 28px;border-radius:var(--radius);font-size:.95rem;font-weight:600;transition:var(--transition)}.btn-primary{background:var(--gradient);color:#fff;box-shadow:0 4px 20px var(--accent-glow)}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 30px var(--accent-glow)}.btn-secondary{background:var(--surface);color:var(--text);border:1px solid var(--border)}.btn-secondary:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-2px)}.btn-full{width:100%}.social-link{width:40px;height:40px;border-radius:50%;background:var(--surface);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;color:var(--text-muted);transition:var(--transition)}.social-link svg{width:18px;height:18px}.social-link:hover{background:var(--accent);border-color:var(--accent);color:#fff;transform:translateY(-3px)}.hero-illustration{position:relative;z-index:1;animation:float 5s ease-in-out infinite}.code-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);min-width:360px;overflow:hidden}.code-header{display:flex;align-items:center;gap:8px;padding:14px 18px;background:var(--surface-2);border-bottom:1px solid var(--border)}.dot{width:12px;height:12px;border-radius:50%}.dot.red{background:#ff5f57}.dot.yellow{background:#febc2e}.dot.green{background:#28c840}.code-title{font-size:.8rem;color:var(--text-muted);margin-left:auto;margin-right:auto;font-family:Fira Code,monospace}.code-body{padding:20px;font-family:Fira Code,monospace;font-size:.82rem;line-height:1.8;overflow:auto}.code-body .kw{color:#c792ea}.code-body .var{color:#82aaff}.code-body .key{color:#f07178}.code-body .str{color:#c3e88d}.code-body .fn{color:#82aaff}.scroll-down{position:absolute;bottom:36px;left:50%;transform:translate(-50%);z-index:2;animation:float 2s ease-in-out infinite}.scroll-arrow{display:block;width:24px;height:24px;border-right:2px solid var(--accent);border-bottom:2px solid var(--accent);transform:rotate(45deg);margin:0 auto}.section-header{text-align:center;margin-bottom:64px}.section-tag{display:inline-block;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:2px;color:var(--accent);background:var(--accent-glow);padding:4px 14px;border-radius:20px;margin-bottom:14px}.section-title{font-size:clamp(2rem,4vw,2.75rem);font-weight:800;letter-spacing:-1px}.about-grid{display:grid;grid-template-columns:380px 1fr;gap:72px;align-items:center}.about-image-frame{position:relative;width:320px;height:360px;margin:0 auto}.about-avatar{width:100%;height:100%;background:var(--surface);border-radius:var(--radius-lg);border:2px solid var(--border);display:flex;align-items:center;justify-content:center;overflow:hidden}.about-avatar svg{width:180px;height:180px}.about-badge{position:absolute;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:10px 16px;text-align:center;box-shadow:var(--shadow)}.badge-1{bottom:-20px;left:-24px}.badge-2{top:-20px;right:-24px}.badge-num{display:block;font-size:1.5rem;font-weight:800;color:var(--accent)}.badge-label{display:block;font-size:.7rem;color:var(--text-muted);font-weight:500}.about-subtitle{font-size:1.3rem;font-weight:700;margin-bottom:16px}.about-text{color:var(--text-muted);line-height:1.8;margin-bottom:16px}.skills-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:28px 0 32px}.skill-category h4{font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:1px;color:var(--text-muted);margin-bottom:10px}.skill-tags{display:flex;flex-wrap:wrap;gap:6px}.tag{display:inline-block;font-size:.8rem;font-weight:500;padding:4px 12px;border-radius:20px;background:var(--surface-2);color:var(--text);border:1px solid var(--border)}.tag-sm{font-size:.72rem;padding:3px 10px}.timeline{position:relative;max-width:780px;margin:0 auto}.timeline:before{content:"";position:absolute;left:20px;top:0;bottom:0;width:2px;background:var(--border)}.timeline-item{position:relative;padding-left:60px;margin-bottom:40px}.timeline-item:last-child{margin-bottom:0}.timeline-dot{position:absolute;left:12px;top:24px;width:18px;height:18px;border-radius:50%;background:var(--accent);border:3px solid var(--bg-alt);box-shadow:0 0 0 3px var(--accent-glow);animation:pulse 2s ease-in-out infinite}.timeline-card{position:relative;overflow:hidden;background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:24px 28px;box-shadow:0 10px 30px #00000014;transition:box-shadow var(--transition),border-color var(--transition),transform var(--transition)}.timeline-card:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--gradient)}.timeline-card:hover{border-color:var(--accent);box-shadow:0 16px 32px var(--accent-glow);transform:translateY(-3px)}.timeline-period{display:inline-flex;align-items:center;gap:6px;background:color-mix(in srgb,var(--accent) 14%,transparent);border:1px solid color-mix(in srgb,var(--accent) 36%,var(--border));border-radius:999px;padding:4px 12px;font-size:.78rem;font-weight:600;color:var(--accent);text-transform:uppercase;letter-spacing:1px;margin-bottom:10px}.timeline-title{font-size:1.1rem;font-weight:700;margin-bottom:4px}.timeline-place{font-size:.9rem;color:var(--text-muted);margin-bottom:10px}.timeline-desc{font-size:.9rem;color:var(--text-muted);line-height:1.7;margin-bottom:14px}.timeline-tags{display:flex;flex-wrap:wrap;gap:6px}.exp-grid{display:flex;flex-direction:column;gap:24px;max-width:840px;margin:0 auto}.experience-list{display:grid;gap:20px;max-width:900px;margin:0 auto}.exp-card{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:28px;transition:border-color var(--transition),box-shadow var(--transition)}.exp-card:hover{border-color:var(--accent);box-shadow:0 4px 24px var(--accent-glow)}.exp-logo{flex-shrink:0;width:52px;height:52px;background:var(--surface-2);border-radius:var(--radius);display:flex;align-items:center;justify-content:center;font-size:1.6rem}.exp-body{flex:1}.exp-header{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:8px;margin-bottom:14px}.exp-role{font-size:1.05rem;font-weight:700}.exp-company{font-size:.9rem;color:var(--accent)}.exp-period{font-size:.78rem;font-weight:600;color:var(--text-muted);background:var(--surface-2);padding:4px 12px;border-radius:20px;white-space:nowrap}.exp-left{min-width:190px;display:flex;flex-direction:column;gap:10px}.exp-right{flex:1}.exp-headline{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.exp-type{display:inline-flex;width:fit-content;font-size:.72rem;font-weight:700;letter-spacing:.25px;color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 30%,transparent);background:color-mix(in srgb,var(--accent) 14%,var(--surface));padding:4px 10px;border-radius:999px}.exp-points{margin-top:12px;padding-left:18px}.exp-points li{margin-bottom:8px;line-height:1.65;color:var(--text-muted)}.exp-points li::marker{color:var(--accent)}.exp-right .exp-period{margin-top:10px;display:inline-flex}.exp-list{padding-left:18px;margin-bottom:14px}.exp-list li{list-style:disc;font-size:.9rem;color:var(--text-muted);line-height:1.7;margin-bottom:6px}.exp-list li::marker{color:var(--accent)}.exp-tags{display:flex;flex-wrap:wrap;gap:6px}.filter-bar{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-bottom:40px}.filter-btn{padding:8px 22px;border-radius:24px;font-size:.85rem;font-weight:600;background:var(--surface);border:1px solid var(--border);color:var(--text-muted);transition:var(--transition)}.filter-btn:hover,.filter-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:24px}.project-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;transition:transform var(--transition),border-color var(--transition),box-shadow var(--transition);display:flex;flex-direction:column}.project-card:hover{transform:translateY(-6px);border-color:var(--accent);box-shadow:0 8px 30px var(--accent-glow)}.project-card.hide{display:none}.project-img{height:160px;background:linear-gradient(135deg,var(--surface-2),var(--bg));display:flex;align-items:center;justify-content:center;position:relative;border-bottom:1px solid var(--border)}.project-mockup{font-size:4rem}.featured-badge{position:absolute;top:14px;right:14px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;background:var(--gradient);color:#fff;padding:3px 10px;border-radius:20px}.project-card.featured{border-color:var(--accent)}.project-body{padding:22px;flex:1;display:flex;flex-direction:column;gap:10px}.project-top{display:flex;justify-content:space-between;align-items:flex-start}.project-title{font-size:1.05rem;font-weight:700}.project-links{display:flex;gap:8px;align-items:center}.project-links a{width:32px;height:32px;border-radius:8px;background:var(--surface-2);display:flex;align-items:center;justify-content:center;font-size:.9rem;color:var(--text-muted);transition:var(--transition)}.project-links a svg{width:15px;height:15px}.project-links a:hover{background:var(--accent);color:#fff}.project-desc{font-size:.88rem;color:var(--text-muted);line-height:1.65;flex:1}.project-tags{display:flex;flex-wrap:wrap;gap:6px}.achieve-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:24px;max-width:1000px;margin:0 auto}.achieve-card{display:flex;gap:18px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:24px;transition:border-color var(--transition),box-shadow var(--transition),transform var(--transition)}.achieve-card:hover{border-color:var(--accent);box-shadow:0 4px 24px var(--accent-glow);transform:translateY(-4px)}.achieve-icon{font-size:2rem;flex-shrink:0;width:52px;height:52px;background:var(--surface-2);border-radius:var(--radius);display:flex;align-items:center;justify-content:center}.achieve-body{flex:1}.achieve-title{font-size:.95rem;font-weight:700;margin-bottom:4px}.achieve-org{font-size:.78rem;color:var(--accent);font-weight:600;margin-bottom:8px}.achieve-desc{font-size:.85rem;color:var(--text-muted);line-height:1.65}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:flex-start;max-width:900px;margin:0 auto}.contact-intro{font-size:1rem;color:var(--text-muted);line-height:1.8;margin-bottom:32px}.contact-items{display:flex;flex-direction:column;gap:20px;margin-bottom:32px}.contact-item{display:flex;gap:14px;align-items:flex-start}.contact-icon{font-size:1.25rem;width:44px;height:44px;background:var(--surface-2);border-radius:var(--radius);display:flex;align-items:center;justify-content:center;flex-shrink:0}.contact-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:1px;color:var(--text-muted);margin-bottom:2px}.contact-value{font-size:.95rem;font-weight:500}a.contact-value:hover{color:var(--accent)}.contact-socials{display:flex;gap:12px}.contact-form{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:32px;display:flex;flex-direction:column;gap:18px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-size:.82rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.form-group input,.form-group textarea{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:12px 16px;color:var(--text);font-size:.9rem;outline:none;transition:border-color var(--transition);resize:vertical}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--text-muted)}.form-group input:focus,.form-group textarea:focus{border-color:var(--accent)}.form-success{text-align:center;font-size:.9rem;color:#22c55e;font-weight:600}.footer{background:var(--bg-alt);border-top:1px solid var(--border);padding:32px 0;text-align:center}.footer-text{font-size:.9rem;color:var(--text-muted);margin-bottom:4px}.footer-copy{font-size:.78rem;color:var(--text-muted);opacity:.6}.back-to-top{position:fixed;bottom:32px;right:32px;width:44px;height:44px;border-radius:50%;background:var(--accent);color:#fff;font-size:1.1rem;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px var(--accent-glow);z-index:999;opacity:0;transform:translateY(16px);pointer-events:none;transition:opacity var(--transition),transform var(--transition)}.back-to-top.visible{opacity:1;transform:translateY(0);pointer-events:auto}.back-to-top:hover{transform:translateY(-3px)}@media(max-width:1024px){.hero-section{padding-left:40px;padding-right:40px}.about-grid{grid-template-columns:1fr;gap:40px}.about-image-frame{width:260px;height:290px}.contact-grid{grid-template-columns:1fr}}@media(max-width:768px){.nav-links{position:fixed;top:var(--nav-h);left:0;right:0;background:var(--bg);flex-direction:column;padding:24px;gap:4px;border-bottom:1px solid var(--border);transform:translateY(-110%);transition:transform var(--transition);z-index:999}.nav-links.open{transform:translateY(0)}.nav-link{display:block;width:100%;padding:12px 16px}.hamburger{display:flex}.hero-section{flex-direction:column;justify-content:center;padding:100px 24px 60px;text-align:center}.hero-cta,.hero-socials{justify-content:center}.hero-illustration,.scroll-down{display:none}.section{padding:72px 0}.section-header{margin-bottom:40px}.skills-grid,.form-row{grid-template-columns:1fr}.exp-card{flex-direction:column}.exp-left{min-width:0}.exp-header{flex-direction:column;gap:4px}.timeline{max-width:100%}.timeline:before{left:12px}.timeline-item{padding-left:38px;margin-bottom:28px}.timeline-dot{left:4px;width:16px;height:16px}.timeline-card{padding:18px}.back-to-top{bottom:20px;right:20px}}@media(max-width:480px){.hero-name{letter-spacing:-1px}.code-card{min-width:unset;width:100%}.contact-form{padding:20px}.achieve-grid,.projects-grid{grid-template-columns:1fr}}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg);padding:24px}.login-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:48px 40px;width:100%;max-width:420px;box-shadow:var(--shadow-lg)}.login-card h1{font-size:1.75rem;margin-bottom:8px}.login-card .subtitle{color:var(--text-muted);margin-bottom:32px;font-size:.9rem}.form-group{margin-bottom:20px}.form-group label{display:block;font-size:.85rem;font-weight:500;margin-bottom:6px;color:var(--text-muted)}.form-group input{width:100%;padding:12px 16px;background:var(--bg-alt);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-size:1rem;transition:border-color var(--transition)}.form-group input:focus{outline:none;border-color:var(--accent)}.login-btn{width:100%;padding:13px;background:var(--gradient);color:#fff;border:none;border-radius:var(--radius);font-size:1rem;font-weight:600;cursor:pointer;transition:opacity var(--transition)}.login-btn:hover{opacity:.9}.login-btn:disabled{opacity:.6;cursor:not-allowed}.login-error{color:#f87171;font-size:.875rem;margin-top:12px;text-align:center}.login-register-link{text-align:center;margin-top:16px;font-size:.85rem;color:var(--text-muted)}.login-register-link a,.login-register-link button{color:var(--accent-2);cursor:pointer;background:none;border:none;padding:0;font-size:inherit;font-family:inherit}.login-register-link a:hover,.login-register-link button:hover{text-decoration:underline}.dashboard-page{min-height:100vh;background:var(--bg);padding:0}.dashboard-header{background:var(--surface);border-bottom:1px solid var(--border);padding:16px 32px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:100}.dashboard-header h1{font-size:1.25rem}.dashboard-header .header-right{display:flex;align-items:center;gap:16px}.dashboard-header .user-email{color:var(--text-muted);font-size:.85rem}.logout-btn{padding:8px 16px;background:transparent;border:1px solid var(--border);border-radius:var(--radius);color:var(--text);cursor:pointer;font-size:.85rem;transition:all var(--transition)}.logout-btn:hover{border-color:var(--accent);color:var(--accent)}.dashboard-body{padding:32px;max-width:1200px;margin:0 auto}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:32px}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px;display:flex;flex-direction:column;gap:8px}.stat-card .stat-label{font-size:.8rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.stat-card .stat-value{font-size:2.5rem;font-weight:700;color:var(--accent);line-height:1}.stat-card .stat-sub{font-size:.8rem;color:var(--text-muted)}.chart-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:28px;margin-bottom:24px}.chart-section h3{font-size:1rem;margin-bottom:24px}.table-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:28px}.table-section h3{font-size:1rem;margin-bottom:16px}.visits-table{width:100%;border-collapse:collapse;font-size:.85rem}.visits-table th,.visits-table td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--border)}.visits-table th{color:var(--text-muted);font-weight:500}.visits-table td{color:var(--text)}.visits-table tr:last-child td{border-bottom:none}.visits-table .td-ua{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-loading{display:flex;align-items:center;justify-content:center;min-height:40vh;color:var(--text-muted)}.back-to-portfolio{color:var(--accent-2);font-size:.85rem;cursor:pointer;text-decoration:none}.back-to-portfolio:hover{text-decoration:underline}:root{--mouse-x: 50vw;--mouse-y: 50vh}body{font-family:Space Grotesk,Segoe UI,sans-serif;background:radial-gradient(1000px circle at 8% -8%,rgba(255,102,71,.18),transparent 55%),radial-gradient(800px circle at 88% 5%,rgba(38,198,218,.16),transparent 60%),var(--bg)}.portfolio-shell{--accent: #ff6a3d;--accent-2: #1dc0d8;--accent-glow: rgba(255, 106, 61, .32);--gradient: linear-gradient(124deg, #ff6a3d 0%, #ffc145 45%, #1dc0d8 100%);position:relative;isolation:isolate}.portfolio-shell .code-body,.portfolio-shell .nav-brand,.portfolio-shell .code-title{font-family:JetBrains Mono,monospace}.interactive-glow{position:fixed;width:360px;height:360px;border-radius:999px;left:calc(var(--mouse-x) - 180px);top:calc(var(--mouse-y) - 180px);background:radial-gradient(circle,#ff7a2233,#ff7a2200);pointer-events:none;z-index:0;transition:left 90ms linear,top 90ms linear}.portfolio-shell .navbar{border-bottom:1px solid transparent}.portfolio-shell .navbar.scrolled{border-bottom-color:var(--border)}.brainrot-toggle{margin-left:10px;border:1px solid var(--border);color:var(--text);padding:10px 14px;border-radius:999px;font-size:.74rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700;transition:transform .24s ease,border-color .24s ease,background .24s ease}.brainrot-toggle:hover,.brainrot-toggle.active{background:var(--gradient);color:#111;border-color:transparent;transform:translateY(-1px) scale(1.03)}.hero-section{background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:34px 34px}.hero-name{text-shadow:0 14px 40px rgba(0,0,0,.36)}.chaos-badge{display:inline-flex;margin-bottom:14px;border-radius:999px;padding:5px 12px;font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;color:var(--text-muted);border:1px dashed var(--border);background:#ffffff08}.chaos-badge.on{color:#111;border-color:transparent;background:var(--gradient)}.portfolio-shell .btn{border-radius:14px}.portfolio-shell .btn:hover{transform:translateY(-3px) scale(1.02)}.portfolio-shell .section{position:relative}.portfolio-shell .section:before{content:"";position:absolute;inset:0;background:radial-gradient(460px circle at 20% 0%,rgba(255,99,71,.07),transparent 58%);pointer-events:none}.portfolio-shell .about-img-wrapper,.portfolio-shell .timeline-card,.portfolio-shell .exp-card,.portfolio-shell .project-card,.portfolio-shell .achievement-card,.portfolio-shell .contact-form,.portfolio-shell .contact-info{position:relative;overflow:hidden}.portfolio-shell .about-img-wrapper:after,.portfolio-shell .timeline-card:after,.portfolio-shell .exp-card:after,.portfolio-shell .project-card:after,.portfolio-shell .achievement-card:after,.portfolio-shell .contact-form:after,.portfolio-shell .contact-info:after{content:"";position:absolute;inset:-120% 30% auto -30%;height:200%;transform:rotate(16deg);background:linear-gradient(to right,transparent,rgba(255,255,255,.07),transparent);transition:transform .8s ease;pointer-events:none}.portfolio-shell .about-img-wrapper:hover:after,.portfolio-shell .timeline-card:hover:after,.portfolio-shell .exp-card:hover:after,.portfolio-shell .project-card:hover:after,.portfolio-shell .achievement-card:hover:after,.portfolio-shell .contact-form:hover:after,.portfolio-shell .contact-info:hover:after{transform:translate(75%) rotate(16deg)}.portfolio-shell .about-img-wrapper{width:min(360px,100%);margin:0 auto;border-radius:26px;padding:28px;border:1px solid var(--border);background:linear-gradient(145deg,var(--surface) 0%,var(--surface-2) 100%);box-shadow:0 22px 40px #0000003d}.portfolio-shell .about-img-placeholder{min-height:300px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(130deg,#ff6a3d38,#1dc0d82e),linear-gradient(0deg,#0000002e,#0000002e)}.portfolio-shell .about-profile-img{width:100%;height:100%;min-height:300px;border-radius:18px;object-fit:cover;object-position:center}.portfolio-shell .about-fallback-icon{color:var(--text)}.portfolio-shell .skills-grid{gap:14px}.portfolio-shell .skill-group{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:14px}.portfolio-shell .skill-group h4{margin-bottom:10px;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase}.portfolio-shell .skill-tag,.portfolio-shell .project-tag{display:inline-flex;padding:5px 10px;border-radius:999px;border:1px solid var(--border);background:color-mix(in srgb,var(--accent) 12%,var(--surface));font-size:.78rem}.portfolio-shell .experience-list,.portfolio-shell .achievements-grid{display:grid;gap:20px}.portfolio-shell .project-filters{display:flex;justify-content:center;gap:10px;margin-bottom:30px}.portfolio-shell .project-card,.portfolio-shell .achievement-card,.portfolio-shell .exp-card,.portfolio-shell .timeline-card,.portfolio-shell .contact-form,.portfolio-shell .contact-info{border:1px solid var(--border);background:linear-gradient(180deg,rgba(255,255,255,.03),transparent),var(--surface);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.portfolio-shell .project-card{padding:20px;border-radius:20px}.portfolio-shell .project-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;gap:12px}.portfolio-shell .project-timeline{margin-top:6px;display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;font-size:.72rem;font-weight:700;letter-spacing:.2px;color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 35%,transparent);background:color-mix(in srgb,var(--accent) 16%,var(--surface))}.portfolio-shell .project-emoji{font-size:1.8rem;margin-bottom:12px}.portfolio-shell .project-link{display:inline-flex;align-items:center;gap:5px;font-size:.76rem;border:1px solid var(--border);border-radius:999px;padding:5px 10px;color:var(--text-muted)}.portfolio-shell .project-link:hover{color:var(--text);border-color:var(--accent)}.portfolio-shell .project-link.live{background:color-mix(in srgb,var(--accent) 20%,var(--surface))}.portfolio-shell .achievement-card{display:flex;gap:14px;padding:18px;border-radius:18px}.portfolio-shell .achievement-icon{width:50px;height:50px;border-radius:12px;display:grid;place-items:center;background:color-mix(in srgb,var(--accent) 22%,var(--surface));flex-shrink:0}.portfolio-shell .achievement-sub{font-size:.76rem;letter-spacing:.06em;text-transform:uppercase;color:var(--accent-2);margin:4px 0 8px}.portfolio-shell .contact-info,.portfolio-shell .contact-form{border-radius:20px;padding:26px}.portfolio-shell .contact-details{display:grid;gap:12px;margin:20px 0}.portfolio-shell .contact-item{padding:12px;border:1px solid var(--border);border-radius:14px;background:var(--surface-2)}.portfolio-shell .contact-social{width:40px;height:40px;border-radius:10px;border:1px solid var(--border);display:grid;place-items:center;background:var(--surface)}.portfolio-shell .contact-social:hover{border-color:var(--accent);color:var(--accent)}.portfolio-shell .footer{border-top:1px solid var(--border);background:linear-gradient(180deg,transparent,rgba(0,0,0,.2))}.portfolio-shell .footer-content{max-width:1140px;margin:0 auto;padding:0 24px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;color:var(--text-muted)}.brainrot-stickers{position:fixed;inset:auto 18px 18px auto;display:grid;gap:6px;z-index:998}.brainrot-chip{--delay: calc(var(--i) * .12s);font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;padding:6px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.2);background:#0000006b;color:#fff;animation:bobble 2.5s ease-in-out infinite;animation-delay:var(--delay)}@keyframes bobble{0%,to{transform:translateY(0) rotate(0)}35%{transform:translateY(-4px) rotate(1deg)}65%{transform:translateY(3px) rotate(-1deg)}}.portfolio-shell.brainrot-mode .blob{opacity:.28;filter:blur(44px) saturate(1.4)}.portfolio-shell.brainrot-mode .hero-name,.portfolio-shell.brainrot-mode .section-title{background:var(--gradient);-webkit-background-clip:text;background-clip:text;color:transparent}.portfolio-shell.brainrot-mode .project-card,.portfolio-shell.brainrot-mode .achievement-card,.portfolio-shell.brainrot-mode .exp-card,.portfolio-shell.brainrot-mode .timeline-card{animation:cardJitter 3.8s ease-in-out infinite}@keyframes cardJitter{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-2px) rotate(.3deg)}}.mode-brainrot{cursor:crosshair}@media(max-width:900px){.portfolio-shell .nav-links.open{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.portfolio-shell .project-filters{flex-wrap:wrap}.portfolio-shell .footer-content{justify-content:center;text-align:center}}@media(max-width:768px){.brainrot-toggle{display:none}.interactive-glow{width:240px;height:240px;left:calc(var(--mouse-x) - 120px);top:calc(var(--mouse-y) - 120px)}.brainrot-stickers{right:8px;bottom:8px}.brainrot-chip{font-size:.65rem;padding:5px 8px}.portfolio-shell .about-img-wrapper{width:100%;padding:18px}.portfolio-shell .about-img-placeholder,.portfolio-shell .about-profile-img{min-height:230px}}
