@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800;900&family=JetBrains+Mono:wght@400;500&display=swap";:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg-primary:#f5f7ff;--bg-secondary:#fff;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#94a3b8;--accent:#7c3aed;--accent-2:#0891b2;--accent-hover:#6d28d9;--accent-glow:#7c3aed24;--accent-glow-2:#0891b21a;--border:#00000012;--border-accent:#7c3aed40;--glass-bg:#fffc;--shadow:0 4px 24px #00000012;--shadow-lg:0 20px 60px #0000001f;--gradient-text:linear-gradient(135deg, #7c3aed 0%, #0891b2 100%);--gradient-bg:linear-gradient(135deg, #7c3aed0a 0%, #0891b208 100%);--nav-bg:#f5f7ffeb;--card-bg:#ffffffbf;--tag-bg:#7c3aed14;--tag-color:#7c3aed;--mono-font:"JetBrains Mono", monospace;--bot-bg:#fff}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg-primary:#050b18;--bg-secondary:#0d1628;--text-primary:#f1f5f9;--text-secondary:#94a3b8;--text-muted:#475569;--accent:#8b5cf6;--accent-2:#22d3ee;--accent-hover:#7c3aed;--accent-glow:#8b5cf62e;--accent-glow-2:#22d3ee1a;--border:#ffffff0f;--border-accent:#8b5cf659;--glass-bg:#0d1628cc;--shadow:0 4px 24px #00000080;--shadow-lg:0 20px 60px #000000b3;--gradient-text:linear-gradient(135deg, #a78bfa 0%, #22d3ee 100%);--gradient-bg:linear-gradient(135deg, #8b5cf612 0%, #22d3ee08 100%);--nav-bg:#050b18eb;--card-bg:#0d1628a6;--tag-bg:#8b5cf61a;--tag-color:#a78bfa;--bot-bg:#0d1628}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:80px}body{background-color:var(--bg-primary);color:var(--text-primary);min-height:100vh;font-family:Outfit,sans-serif;line-height:1.6;transition:background-color .4s,color .4s;overflow-x:hidden}h1,h2,h3,h4,h5,h6{letter-spacing:-.02em;font-weight:800}a{color:inherit;text-decoration:none}button{cursor:pointer;border:none;outline:none;font-family:Outfit,sans-serif}.glass-panel{background:var(--glass-bg);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:20px}.gradient-text{background:var(--gradient-text);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.section-label{font-family:var(--mono-font);color:var(--accent);letter-spacing:.15em;text-transform:uppercase;margin-bottom:.75rem;font-size:.78rem;font-weight:600;display:block}.section-heading{letter-spacing:-.02em;margin-bottom:1.25rem;font-size:clamp(2rem,4vw,3rem);line-height:1.15}.section-subheading{color:var(--text-secondary);max-width:600px;font-size:1.05rem;font-weight:400;line-height:1.7}.tech-tag{font-size:.78rem;font-weight:600;font-family:var(--mono-font);background:var(--tag-bg);color:var(--tag-color);border:1px solid var(--border-accent);border-radius:100px;align-items:center;padding:.28rem .7rem;transition:all .2s;display:inline-flex}.tech-tag:hover{background:var(--accent);color:#fff;border-color:var(--accent)}.reveal{opacity:0;transition:opacity .7s,transform .7s;transform:translateY(24px)}.reveal.visible{opacity:1;transform:translateY(0)}.reveal-delay-1{transition-delay:80ms}.reveal-delay-2{transition-delay:.18s}.reveal-delay-3{transition-delay:.28s}.reveal-delay-4{transition-delay:.38s}.reveal-delay-5{transition-delay:.48s}.reveal-delay-6{transition-delay:.58s}@keyframes wave{0%{transform:rotate(0)}10%{transform:rotate(14deg)}20%{transform:rotate(-8deg)}30%{transform:rotate(14deg)}40%{transform:rotate(-4deg)}50%{transform:rotate(10deg)}60%,to{transform:rotate(0)}}.wave-animation{transform-origin:70% 70%;animation:2.5s infinite wave;display:inline-block}@keyframes fade-in-up{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in-up{animation:.75s ease-out both fade-in-up}@media (prefers-reduced-motion:reduce){.animate-fade-in-up{opacity:1;animation:none;transform:none}.reveal{opacity:1;transform:none}}@media (width<=768px){.animate-fade-in-up,.reveal{opacity:1!important;transition:none!important;animation:none!important;transform:none!important}*,:before,:after{animation-duration:.001ms!important;animation-iteration-count:1!important;animation-delay:0s!important}body,.app-container{overflow-x:visible!important}html{overflow-x:hidden}}.delay-100{animation-delay:.1s}.delay-200{animation-delay:.22s}.delay-300{animation-delay:.38s}.delay-400{animation-delay:.52s}.delay-500{animation-delay:.66s}.animated-avatar-wrapper{pointer-events:none;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative}.avatar-glow{background:radial-gradient(circle, var(--accent-glow) 0%, transparent 60%);z-index:0;pointer-events:none;width:120%;height:120%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.funny-avatar-image{object-fit:cover;z-index:1;transform-origin:bottom;pointer-events:none;width:100%;height:100%;max-height:85vh;position:relative;-webkit-mask-image:radial-gradient(at 50% 40%,#000 35%,#0000 70%);mask-image:radial-gradient(at 50% 40%,#000 35%,#0000 70%)}[data-theme=dark] .funny-avatar-image{opacity:.9;filter:contrast(1.1)brightness(.9)}.playful-wave{animation:3s ease-in-out infinite playful-bounce}@keyframes playful-bounce{0%{transform:rotate(0)scale(1)}25%{transform:rotate(5deg)scale(1.02)}50%{transform:rotate(0)scale(1)}75%{transform:rotate(-3deg)scale(1.01)}to{transform:rotate(0)scale(1)}}.talking-avatar-root{z-index:900;pointer-events:none;flex-direction:column;align-items:flex-start;gap:.5rem;display:flex;position:fixed;bottom:1.25rem;left:1.25rem}.ta-bubble{background:var(--bg-secondary,#fff);max-width:200px;color:var(--text-primary,#111827);border:1px solid var(--border,#00000014);pointer-events:none;border-radius:14px 14px 14px 4px;padding:.55rem .85rem;font-size:.82rem;font-weight:600;line-height:1.3;animation:.35s cubic-bezier(.34,1.56,.64,1) both ta-bubble-pop;position:relative;box-shadow:0 8px 24px #0000001f}.ta-bubble:after{content:"";background:inherit;border-right:1px solid var(--border,#00000014);border-bottom:1px solid var(--border,#00000014);width:12px;height:12px;position:absolute;bottom:-6px;left:14px;transform:rotate(45deg)}.ta-bubble-hint{color:#fff;background:linear-gradient(135deg,#8b5cf6,#6d28d9);border-color:#0000;animation:.35s cubic-bezier(.34,1.56,.64,1) both ta-bubble-pop,2.2s ease-in-out .5s infinite ta-hint-pulse}.ta-bubble-hint:after{background:#6d28d9;border-color:#0000}.ta-bubble-speak{color:#1f2937;background:#fff}@keyframes ta-bubble-pop{0%{opacity:0;transform:translateY(6px)scale(.85)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes ta-hint-pulse{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.ta-avatar-btn{pointer-events:auto;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;background:linear-gradient(135deg,#fef3c7,#fde68a);border:3px solid #fff;border-radius:50%;justify-content:center;align-items:flex-end;width:88px;height:88px;padding:0;transition:transform .2s,box-shadow .2s;animation:3.4s ease-in-out infinite ta-idle-bob;display:flex;position:relative;overflow:visible;box-shadow:0 10px 28px #8b5cf659,0 0 0 4px #8b5cf626}.ta-avatar-btn:hover{transform:translateY(-3px)scale(1.04);box-shadow:0 14px 32px #8b5cf680,0 0 0 6px #8b5cf633}.ta-avatar-btn:active{transform:scale(.96)}.ta-avatar-btn.is-speaking{animation:3.4s ease-in-out infinite ta-idle-bob,.6s ease-in-out infinite ta-glow-pulse}@keyframes ta-idle-bob{0%,to{transform:translateY(0)rotate(-2deg)}50%{transform:translateY(-3px)rotate(2deg)}}@keyframes ta-glow-pulse{0%,to{box-shadow:0 10px 28px #8b5cf680,0 0 0 4px #8b5cf640}50%{box-shadow:0 10px 32px #8b5cf6bf,0 0 0 10px #8b5cf61a}}.ta-svg{filter:drop-shadow(0 2px 3px #00000026);width:90%;height:100%;display:block;overflow:visible}.ta-mouth{transition:ry 50ms linear}.ta-eyes.is-blinking{transform-origin:50%;animation:3s infinite ta-blink}@keyframes ta-blink{0%,92%,to{transform:scaleY(1)}95%{transform:scaleY(.1)}}.ta-sound{background:#10b981;border-radius:50%;justify-content:center;align-items:center;gap:2px;width:26px;height:26px;display:flex;position:absolute;top:-6px;right:-6px;box-shadow:0 4px 10px #10b98180}.ta-sound span{background:#fff;border-radius:2px;width:3px;animation:.7s ease-in-out infinite ta-sound-bar;display:inline-block}.ta-sound span:first-child{height:6px;animation-delay:0s}.ta-sound span:nth-child(2){height:10px;animation-delay:.15s}.ta-sound span:nth-child(3){height:6px;animation-delay:.3s}@keyframes ta-sound-bar{0%,to{transform:scaleY(.5)}50%{transform:scaleY(1)}}@media (width<=768px){.talking-avatar-root{bottom:5.5rem;left:.75rem}.ta-avatar-btn{width:68px;height:68px}.ta-svg{width:88%}.ta-bubble{max-width:160px;font-size:.75rem}}@media (prefers-reduced-motion:reduce){.ta-avatar-btn,.ta-avatar-btn.is-speaking,.ta-bubble-hint,.ta-eyes.is-blinking{animation:none!important}}.app-container{flex-direction:column;min-height:100vh;display:flex;position:relative;overflow-x:hidden}.section{z-index:1;isolation:isolate;padding:7rem 0;position:relative}.section-alt{background:var(--gradient-bg)}.section-inner{z-index:2;max-width:1200px;margin:0 auto;padding:0 5%;position:relative}.section-header{margin-bottom:4rem}.btn-primary{background:var(--accent);color:#fff;cursor:pointer;box-shadow:0 4px 20px var(--accent-glow);z-index:10;-webkit-tap-highlight-color:transparent;touch-action:manipulation;border:none;border-radius:50px;align-items:center;gap:.5rem;padding:.85rem 1.75rem;font-family:Outfit,sans-serif;font-size:.95rem;font-weight:600;transition:all .25s;display:inline-flex;position:relative;pointer-events:auto!important}.btn-primary:hover{background:var(--accent-hover);box-shadow:0 10px 32px var(--accent-glow);transform:translateY(-2px)}.btn-secondary{color:var(--text-primary);border:1px solid var(--border-accent);cursor:pointer;z-index:10;pointer-events:auto;-webkit-tap-highlight-color:transparent;touch-action:manipulation;background:0 0;border-radius:50px;align-items:center;gap:.5rem;padding:.85rem 1.75rem;font-family:Outfit,sans-serif;font-size:.95rem;font-weight:600;transition:all .25s;display:inline-flex;position:relative}.btn-secondary:hover{background:var(--accent-glow);border-color:var(--accent);color:var(--accent);transform:translateY(-2px)}.header{z-index:200;justify-content:space-between;align-items:center;padding:1.25rem 5%;transition:background .3s,box-shadow .3s,padding .3s;display:flex;position:fixed;top:0;left:0;right:0}.header.scrolled{background:var(--nav-bg);-webkit-backdrop-filter:blur(24px);box-shadow:0 1px 0 var(--border);padding:.85rem 5%}.logo{color:var(--text-primary);cursor:pointer;letter-spacing:-.02em;align-items:center;gap:.55rem;font-size:1.15rem;font-weight:800;text-decoration:none;display:flex}.logo svg{color:var(--accent)}.nav-links{align-items:center;gap:.15rem;display:flex}.nav-link{color:var(--text-secondary);pointer-events:auto;touch-action:manipulation;-webkit-tap-highlight-color:transparent;border-radius:8px;padding:.45rem .95rem;font-size:.92rem;font-weight:500;text-decoration:none;transition:all .2s;position:relative}.nav-link:after{content:"";background:var(--accent);border-radius:2px;width:18px;height:2px;transition:transform .22s;position:absolute;bottom:3px;left:50%;transform:translate(-50%)scaleX(0)}.nav-link:hover,.nav-link.active{color:var(--accent)}.nav-link.active:after,.nav-link:hover:after{transform:translate(-50%)scaleX(1)}.header-right{align-items:center;gap:.5rem;display:flex}.hamburger{color:var(--text-primary);background:0 0;border-radius:8px;justify-content:center;align-items:center;padding:.35rem;transition:background .2s;display:none}.hamburger:hover{background:var(--accent-glow)}.theme-toggle{touch-action:manipulation;-webkit-tap-highlight-color:transparent;cursor:pointer;z-index:201;background:0 0;border:none;justify-content:center;align-items:center;padding:.4rem;display:flex;position:relative;pointer-events:auto!important}.theme-toggle *{pointer-events:none}.toggle-track{background-color:var(--border);border-radius:20px;width:48px;height:24px;transition:background-color .3s;position:relative}.toggle-track.dark{background-color:var(--accent)}.toggle-thumb{background-color:#fff;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;transition:transform .3s cubic-bezier(.4,0,.2,1);display:flex;position:absolute;top:2px;left:2px}.toggle-track.dark .toggle-thumb{transform:translate(24px)}.hero{z-index:1;isolation:isolate;justify-content:flex-start;align-items:center;min-height:100vh;padding:7rem 5% 4rem;display:flex;position:relative;overflow:hidden}.hero-content{z-index:2;flex-direction:column;flex:1;gap:0;max-width:620px;display:flex;position:relative}.status-badge{color:#22c55e;font-size:.78rem;font-weight:600;font-family:var(--mono-font);background:#22c55e1a;border:1px solid #22c55e47;border-radius:100px;align-items:center;gap:.5rem;margin-bottom:1rem;padding:.35rem .85rem;display:inline-flex}.status-dot{background:#22c55e;border-radius:50%;width:7px;height:7px;animation:2s infinite pulse-dot}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(.8)}}.hero-greeting{color:var(--text-secondary);margin-bottom:.5rem;font-size:1.1rem;font-weight:500}.role-typing{color:var(--accent);font-size:clamp(1rem,2.2vw,1.3rem);font-family:var(--mono-font);align-items:center;gap:2px;min-height:2rem;margin-bottom:1.5rem;font-weight:500;display:flex}.typing-cursor{color:var(--accent-2);animation:.7s step-end infinite blink}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.subtitle{color:var(--text-secondary);max-width:510px;margin-bottom:2.5rem;font-size:1.08rem;line-height:1.75}.hero-cta{flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:2rem;display:flex}.hero-scroll-hint{color:var(--text-muted);align-items:center;gap:.45rem;font-size:.82rem;animation:2.2s ease-in-out infinite bounce-hint;display:flex}@keyframes bounce-hint{0%,to{transform:translateY(0)}50%{transform:translateY(5px)}}.background-avatar-container{z-index:0;pointer-events:none;width:52%;height:92vh;position:absolute;bottom:0;right:-3%}.about-grid{grid-template-columns:1fr 1fr;align-items:center;gap:5rem;display:grid}.about-content{flex-direction:column;display:flex}.about-bio{color:var(--text-secondary);margin-bottom:1rem;font-size:1.05rem;line-height:1.82}.about-bio em{color:var(--accent);font-style:normal;font-weight:600}.highlights-list{flex-direction:column;gap:.7rem;margin:1.5rem 0 2rem;list-style:none;display:flex}.highlight-item{color:var(--text-secondary);align-items:center;gap:.8rem;font-size:.95rem;display:flex}.highlight-icon{background:var(--accent-glow);width:32px;height:32px;color:var(--accent);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.about-image-col{justify-content:center;align-items:center;display:flex}.about-image-frame{justify-content:center;align-items:center;width:360px;height:360px;display:flex;position:relative}.about-image-glow{background:conic-gradient(from 0deg, var(--accent), var(--accent-2), var(--accent));opacity:.18;filter:blur(28px);border-radius:50%;animation:8s linear infinite rotate-glow;position:absolute;inset:-24px}@keyframes rotate-glow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.about-avatar{object-fit:cover;border:3px solid var(--border-accent);z-index:1;width:320px;height:320px;box-shadow:0 20px 60px var(--accent-glow);border-radius:50%;position:relative}.skills-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.5rem;display:grid}.skill-card{background:var(--card-bg);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border);border-radius:20px;transition:transform .3s,box-shadow .3s;overflow:hidden}.skill-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-5px)}.skill-card-header{align-items:center;padding:.9rem 1.25rem;display:flex}.skill-card-label{letter-spacing:.12em;text-transform:uppercase;font-size:.75rem;font-weight:700;font-family:var(--mono-font)}.skill-color-purple .skill-card-header{background:#8b5cf61a;border-bottom:1px solid #8b5cf62e}.skill-color-purple .skill-card-label{color:#8b5cf6}.skill-color-violet .skill-card-header{background:#7c3aed1a;border-bottom:1px solid #7c3aed2e}.skill-color-violet .skill-card-label{color:#a78bfa}.skill-color-cyan .skill-card-header{background:#22d3ee14;border-bottom:1px solid #22d3ee2e}.skill-color-cyan .skill-card-label{color:#22d3ee}.skill-color-teal .skill-card-header{background:#14b8a614;border-bottom:1px solid #14b8a62e}.skill-color-teal .skill-card-label{color:#14b8a6}.skill-tags{flex-wrap:wrap;gap:.45rem;padding:1rem 1.25rem 1.25rem;display:flex}.skill-tag{font-size:.76rem;font-weight:600;font-family:var(--mono-font);border-radius:100px;padding:.28rem .65rem}.skill-tag-purple{color:#8b5cf6;background:#8b5cf61a;border:1px solid #8b5cf633}.skill-tag-violet{color:#a78bfa;background:#7c3aed1a;border:1px solid #7c3aed33}.skill-tag-cyan{color:#22d3ee;background:#22d3ee14;border:1px solid #22d3ee33}.skill-tag-teal{color:#14b8a6;background:#14b8a614;border:1px solid #14b8a633}.projects-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:1.75rem;display:grid}.project-card{background:var(--card-bg);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border);border-radius:24px;flex-direction:column;gap:1rem;padding:2rem;transition:transform .3s,box-shadow .3s,border-color .3s;display:flex;position:relative;overflow:hidden}.project-card:before{content:"";background:linear-gradient(90deg, var(--accent), var(--accent-2));opacity:0;height:2px;transition:opacity .3s;position:absolute;top:0;left:0;right:0}.project-card:hover{box-shadow:0 20px 60px var(--accent-glow);border-color:var(--border-accent);transform:translateY(-5px)}.project-card:hover:before{opacity:1}.project-card-top{justify-content:space-between;align-items:center;display:flex}.project-icon-wrap{background:var(--accent-glow);width:44px;height:44px;color:var(--accent);border-radius:12px;justify-content:center;align-items:center;display:flex}.project-status{font-size:.73rem;font-weight:600;font-family:var(--mono-font);border-radius:100px;align-items:center;gap:.4rem;padding:.28rem .65rem;display:inline-flex}.project-status.live{color:#22c55e;background:#22c55e1a;border:1px solid #22c55e40}.project-status.private{background:var(--tag-bg);color:var(--text-secondary);border:1px solid var(--border)}.live-dot{background:#22c55e;border-radius:50%;width:6px;height:6px;animation:2s infinite pulse-dot}.project-title{color:var(--text-primary);font-size:1.2rem;font-weight:700}.project-desc{color:var(--text-secondary);flex:1;font-size:.9rem;line-height:1.72}.project-stack{flex-wrap:wrap;gap:.45rem;display:flex}.contact-wrapper{max-width:880px;margin:0 auto}.contact-grid{grid-template-columns:1fr 1fr;gap:1.75rem;margin-bottom:5rem;display:grid}.contact-links{flex-direction:column;gap:.9rem;display:flex}.contact-link{background:var(--card-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border);color:inherit;pointer-events:auto;touch-action:manipulation;-webkit-tap-highlight-color:transparent;z-index:10;border-radius:16px;align-items:center;gap:1rem;padding:1.15rem 1.4rem;text-decoration:none;transition:all .25s;display:flex;position:relative}.contact-link:hover{border-color:var(--border-accent);box-shadow:0 8px 32px var(--accent-glow);transform:translate(4px)}.contact-link:hover .contact-link-arrow{transform:translate(4px)}.contact-link-icon{background:var(--accent-glow);width:40px;height:40px;color:var(--accent);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.contact-link-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.09em;font-size:.72rem;font-weight:600;font-family:var(--mono-font)}.contact-link-value{color:var(--text-primary);font-size:.92rem;font-weight:600}.contact-link-arrow{color:var(--text-muted);flex-shrink:0;margin-left:auto;transition:transform .2s}.contact-chatbot-cta{align-items:stretch;display:flex}.chatbot-cta-inner{background:var(--gradient-bg);border:1px solid var(--border-accent);text-align:center;border-radius:24px;flex-direction:column;align-items:center;gap:.9rem;width:100%;padding:2.25rem 1.75rem;display:flex}.chatbot-cta-icon{background:var(--accent);color:#fff;width:60px;height:60px;box-shadow:0 8px 28px var(--accent-glow);border-radius:18px;justify-content:center;align-items:center;display:flex}.chatbot-cta-inner h3{color:var(--text-primary);font-size:1.2rem}.chatbot-cta-inner p{color:var(--text-secondary);font-size:.88rem;line-height:1.65}.footer{text-align:center;border-top:1px solid var(--border);color:var(--text-muted);padding-top:3rem;font-size:.88rem}.chatbot-button{background:var(--accent);color:#fff;width:56px;height:56px;box-shadow:0 4px 20px var(--accent-glow);border-radius:50%;justify-content:center;align-items:center;transition:transform .2s,background-color .2s,box-shadow .2s;display:flex}.chatbot-button:hover{background:var(--accent-hover);box-shadow:0 8px 30px var(--accent-glow);transform:scale(1.08)}.chat-header{background:var(--accent);color:#fff;justify-content:space-between;align-items:center;padding:1rem 1.25rem;font-size:.93rem;font-weight:600;display:flex}.close-chat{color:#fff;opacity:.8;background:0 0;transition:opacity .2s;display:flex}.chat-message.bot{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border);border-bottom-left-radius:4px;align-self:flex-start}.chat-message.bot.error{color:#ef4444;background:#ef444414;border-color:#ef444433}.chat-input{border:1px solid var(--border);background:var(--bg-primary);color:var(--text-primary);border-radius:20px;outline:none;flex:1;padding:.62rem 1rem;font-family:Outfit,sans-serif;font-size:.88rem;transition:border-color .2s}.send-button{background:var(--accent);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;transition:background-color .2s;display:flex}@keyframes typing-bounce{0%,60%,to{opacity:.4;transform:translateY(0)}30%{opacity:1;transform:translateY(-6px)}}.bg-orb-1,.bg-orb-2,.bg-orb-3{pointer-events:none;z-index:0;border-radius:50%;position:fixed}.bg-orb-1{background:radial-gradient(circle, var(--accent-glow) 0%, transparent 65%);width:55vw;height:55vw;animation:20s ease-in-out infinite orb-drift-1;top:-20%;left:-10%}.bg-orb-2{background:radial-gradient(circle, var(--accent-glow-2) 0%, transparent 65%);width:60vw;height:60vw;animation:25s ease-in-out infinite orb-drift-2;bottom:-20%;right:-10%}.bg-orb-3{background:radial-gradient(circle,#8b5cf612 0%,#0000 65%);width:32vw;height:32vw;animation:17s ease-in-out infinite orb-drift-3;top:38%;left:48%}@keyframes orb-drift-1{0%,to{transform:translate(0)}33%{transform:translate(3%,4%)}66%{transform:translate(-2%,2%)}}@keyframes orb-drift-2{0%,to{transform:translate(0)}33%{transform:translate(-4%,-3%)}66%{transform:translate(2%,-5%)}}@keyframes orb-drift-3{0%,to{transform:translate(-50%)}50%{transform:translate(-50%,-8%)}}.bg-grid{z-index:0;pointer-events:none;background-image:radial-gradient(var(--border) 1px, transparent 1px);opacity:.6;background-size:40px 40px;position:fixed;inset:0}@media (width<=900px){.about-grid{grid-template-columns:1fr;gap:3rem}.about-image-col{order:-1}.about-image-frame{width:260px;height:260px}.about-avatar{width:240px;height:240px}.contact-grid{grid-template-columns:1fr}}@media (width<=768px){.nav-links{background:var(--nav-bg);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border-bottom:1px solid var(--border);flex-direction:column;gap:.2rem;padding:.75rem;display:none;position:absolute;top:100%;left:0;right:0}.nav-links.open,.hamburger{display:flex}.hero{padding-top:6rem}.background-avatar-container{opacity:.1;width:100%;right:0}.title{font-size:2.6rem}.projects-grid{grid-template-columns:1fr}.chatbot-window{width:calc(100vw - 3rem)}.section{padding:5rem 0}.skills-grid{grid-template-columns:1fr 1fr}}@media (width<=480px){.hero-cta{flex-direction:column;align-items:stretch}.btn-primary,.btn-secondary{justify-content:center}.skills-grid{grid-template-columns:1fr}.about-image-frame{width:220px;height:220px}.about-avatar{width:200px;height:200px}}@media (width<=900px){.hero-content,.about-content,.hero-cta,.contact-links,.contact-chatbot-cta,.chatbot-cta-inner{z-index:50;isolation:isolate;position:relative}.btn-primary,.btn-secondary,a.btn-primary,a.btn-secondary,button.btn-primary,button.btn-secondary,.chatbot-button,.contact-link{z-index:100!important;pointer-events:auto!important;touch-action:manipulation!important;-webkit-tap-highlight-color:#7c3aed4d!important;cursor:pointer!important;position:relative!important}.theme-toggle{min-width:48px;min-height:48px;z-index:250!important;pointer-events:auto!important;touch-action:manipulation!important;padding:.6rem!important}.theme-toggle *,.background-avatar-container,.background-avatar-container *,.animated-avatar-wrapper,.animated-avatar-wrapper *,.avatar-glow,.funny-avatar-image,.about-image-col,.about-image-frame,.about-image-glow,.about-avatar,.bg-orb-1,.bg-orb-2,.bg-orb-3,.bg-grid,.bg-shape-1,.bg-shape-2{pointer-events:none!important}.bg-orb-1,.bg-orb-2,.bg-orb-3,.bg-grid,.bg-shape-1,.bg-shape-2{display:none!important}.background-avatar-container{opacity:.18!important;z-index:-1!important;pointer-events:none!important;width:100%!important;height:45vh!important;display:block!important;position:absolute!important;inset:auto 0 0!important}.background-avatar-container *{pointer-events:none!important}.chatbot-window.hidden{display:none!important}}[data-theme=dark] .background-avatar-container{opacity:.7}.greeting{color:var(--accent);align-items:center;gap:.5rem;margin-bottom:.5rem;font-size:1.25rem;font-weight:600;display:flex}.title{margin-bottom:1rem;font-size:4rem;line-height:1.1}.subtitle{color:var(--text-secondary);margin-bottom:2rem;font-size:1.25rem;line-height:1.6}.hero-image-container{flex:1;justify-content:center;align-items:center;display:flex;position:relative}.hero-image{object-fit:contain;filter:drop-shadow(0 20px 30px #00000026);width:100%;max-width:400px}.glow-circle{background:var(--accent-glow);filter:blur(80px);z-index:-1;border-radius:50%;width:400px;height:400px;position:absolute}.chatbot-wrapper{z-index:100;flex-direction:column;align-items:flex-end;gap:1rem;display:flex;position:fixed;bottom:2rem;right:2rem}.chatbot-button{background:var(--accent);color:#fff;width:60px;height:60px;box-shadow:0 4px 14px 0 var(--accent-glow);cursor:pointer;pointer-events:auto;touch-action:manipulation;-webkit-tap-highlight-color:transparent;border:none;border-radius:50%;justify-content:center;align-items:center;transition:transform .2s,background-color .2s;display:flex}.chatbot-button:hover{background:var(--accent-hover);transform:scale(1.05)}.chatbot-window{background:var(--bot-bg);width:350px;height:450px;box-shadow:var(--shadow);border:1px solid var(--border);transform-origin:100% 100%;border-radius:16px;flex-direction:column;transition:opacity .3s,transform .3s cubic-bezier(.175,.885,.32,1.275);display:flex;overflow:hidden}.chatbot-window.hidden{opacity:0;pointer-events:none;transform:scale(.8)translateY(20px)}.chat-header{background:var(--accent);color:#fff;justify-content:space-between;align-items:center;padding:1rem;font-weight:600;display:flex}.close-chat{color:#fff;opacity:.8;background:0 0;display:flex}.close-chat:hover{opacity:1}.chat-body{flex-direction:column;flex:1;gap:1rem;padding:1rem;display:flex;overflow-y:auto}.chat-message{white-space:pre-wrap;word-break:break-word;border-radius:12px;max-width:80%;padding:.75rem 1rem;font-size:.9rem;line-height:1.6}.chat-message.bot{background:var(--bg-primary);color:var(--text-primary);border-bottom-left-radius:4px;align-self:flex-start}.chat-message.user{background:var(--accent);color:#fff;border-bottom-right-radius:4px;align-self:flex-end}.chat-input-area{border-top:1px solid var(--border);background:var(--bot-bg);gap:.5rem;padding:1rem;display:flex}.chat-input{border:1px solid var(--border);background:var(--bg-primary);color:var(--text-primary);border-radius:20px;outline:none;flex:1;padding:.75rem 1rem;font-family:inherit}.chat-input:focus{border-color:var(--accent)}.send-button{background:var(--accent);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;transition:background-color .2s;display:flex}.send-button:hover{background:var(--accent-hover)}.send-button:disabled{opacity:.5;cursor:not-allowed}.chat-input:disabled{opacity:.6;cursor:not-allowed}.typing-indicator{align-items:center;gap:5px;display:flex}.typing-indicator span{background:var(--accent);border-radius:50%;width:8px;height:8px;animation:1.2s ease-in-out infinite typing-bounce}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}.chat-message.bot.error{color:#ef4444;background:#ef44441a}.bg-shape-1{background:radial-gradient(circle, var(--accent-glow) 0%, transparent 70%);z-index:0;pointer-events:none;width:50vw;height:50vw;position:absolute;top:-10%;left:-5%}.bg-shape-2{z-index:0;pointer-events:none;background:radial-gradient(circle,#8b5cf626 0%,#0000 70%);width:60vw;height:60vw;position:absolute;bottom:-10%;right:-5%}@media (width<=768px){.background-avatar-container{opacity:.2;width:100%;bottom:-10%;right:0}.hero{text-align:center;flex-direction:column;justify-content:center;padding-top:4rem}.greeting{justify-content:center}.title{font-size:3rem}.chatbot-window{width:calc(100vw - 4rem)}}
