:root{--bg:#050508;--bg-card:#ffffff0a;--bg-card-solid:#0e0e18;--bg-darker:#030306;--bg-nav:#050508d9;--bg-overlay:#050508eb;--bg-footer:#0000004d;--primary:#00f5ff;--secondary:#8b5cf6;--accent:#ec4899;--success:#10b981;--warning:#f59e0b;--on-primary:#000;--primary-rgb:0, 245, 255;--secondary-rgb:139, 92, 246;--accent-rgb:236, 72, 153;--text-heading:#f8fafc;--text:#e2e8f0;--text-secondary:#94a3b8;--text-muted:#64748b;--border:#ffffff14;--border-accent:#00f5ff33;--border-divider:#ffffff0d;--grid-line:#ffffff04;--gradient-primary:linear-gradient(135deg, #00f5ff, #8b5cf6);--gradient-secondary:linear-gradient(135deg, #8b5cf6, #ec4899);--shadow-glow:0 0 40px #00f5ff26;--shadow-card:0 8px 32px #0006;--font-main:"Inter", "Outfit", system-ui, -apple-system, "Segoe UI", sans-serif;--font-display:"Outfit", "Inter", system-ui, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;--nav-height:70px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;font-size:16px}@supports (overflow-x:clip){html,body{overflow-x:clip}}body{font-family:var(--font-main);background-color:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6;transition:background-color .3s;overflow-x:hidden}img{max-width:100%;display:block}button,input,textarea{font:inherit;color:inherit}a{color:inherit}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg-darker)}::-webkit-scrollbar-thumb{background:rgba(var(--primary-rgb), .5);border-radius:3px}::selection{background:var(--primary);color:var(--on-primary)}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.app{min-height:100vh;position:relative}.container{max-width:1280px;margin:0 auto;padding-inline:24px}.section{padding-block:100px;position:relative}.grid-bg{background-image:linear-gradient(var(--grid-line) 1px, transparent 1px), linear-gradient(90deg, var(--grid-line) 1px, transparent 1px);pointer-events:none;background-size:60px 60px;position:absolute;inset:0}.glow-blob{filter:blur(50px);pointer-events:none;border-radius:50%;position:absolute}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.section-heading{margin-bottom:56px}.section-heading--center{text-align:center}.section-heading--center .section-subtitle{margin-inline:auto}.section-tag{font-family:var(--font-mono);color:var(--primary);letter-spacing:.15em;text-transform:uppercase;border:1px solid rgba(var(--primary-rgb), .25);background:rgba(var(--primary-rgb), .06);border-radius:100px;align-items:center;gap:8px;margin-bottom:20px;padding:6px 14px;font-size:.75rem;font-weight:500;display:inline-flex}.section-title{font-family:var(--font-display);color:var(--text-heading);margin-bottom:16px;font-size:clamp(2rem,4vw,3rem);font-weight:800;line-height:1.15}.section-subtitle{color:var(--text-secondary);max-width:640px;font-size:1.1rem;line-height:1.7}.gradient-text{background:var(--gradient-primary);-webkit-text-fill-color:transparent;color:#0000;-webkit-background-clip:text;background-clip:text}.scatter{display:inline-block}.scatter-word{white-space:nowrap;margin-right:.28em;display:inline-block}.scatter-letter{display:inline-block}.scatter-icon{vertical-align:middle;margin-right:.5em;line-height:0;display:inline-block}.logo-mark{background:var(--gradient-primary);width:36px;height:36px;color:var(--on-primary);font-family:var(--font-display);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;font-size:.9rem;font-weight:800;display:flex}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:14px}.icon-box{border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.tone-primary{color:var(--primary);background:rgba(var(--primary-rgb), .08);border:1px solid rgba(var(--primary-rgb), .2)}.tone-secondary{color:var(--secondary);background:rgba(var(--secondary-rgb), .08);border:1px solid rgba(var(--secondary-rgb), .2)}.tone-accent{color:var(--accent);background:rgba(var(--accent-rgb), .08);border:1px solid rgba(var(--accent-rgb), .2)}.tech-badge{background:rgba(var(--primary-rgb), .07);border:1px solid rgba(var(--primary-rgb), .15);color:var(--primary);white-space:nowrap;border-radius:100px;align-items:center;gap:5px;padding:5px 12px;font-size:.78rem;font-weight:500;display:inline-flex}.tech-badge--mono{font-family:var(--font-mono);padding:3px 9px;font-size:.72rem}.status-available{color:#10b981;white-space:nowrap;background:#10b9811a;border:1px solid #10b9814d;border-radius:100px;align-items:center;gap:6px;padding:6px 14px;font-size:.75rem;font-weight:600;display:inline-flex}.pulse-dot{background:#10b981;border-radius:50%;width:7px;height:7px;animation:2s ease-in-out infinite pulse-glow}.btn-primary,.btn-secondary,.btn-ghost{cursor:pointer;white-space:nowrap;border-radius:12px;justify-content:center;align-items:center;gap:10px;padding:14px 28px;font-size:.9rem;font-weight:700;text-decoration:none;transition:background .3s,border-color .3s,color .3s,box-shadow .3s;display:inline-flex}.btn-primary{background:var(--gradient-primary);color:var(--on-primary);box-shadow:0 4px 24px rgba(var(--primary-rgb), .25);isolation:isolate;border:none;position:relative;overflow:hidden}.btn-primary:before{content:"";background:var(--gradient-secondary);opacity:0;z-index:-1;transition:opacity .3s;position:absolute;inset:0}.btn-primary:hover:before{opacity:1}.btn-primary:disabled{cursor:default;opacity:.8}.btn-secondary{color:var(--text);border:1px solid var(--border-accent);background:0 0;padding:13px 27px;font-weight:600}.btn-secondary:hover{background:rgba(var(--primary-rgb), .08);border-color:var(--primary);color:var(--primary)}.btn-ghost{background:var(--bg-card);border:1px solid var(--border);color:var(--text-secondary);padding:13px 20px;font-weight:600}.btn-ghost:hover,.btn-ghost.is-active{border-color:rgba(var(--primary-rgb), .4);color:var(--primary)}.btn-sm{gap:6px;padding:8px 18px;font-size:.82rem}.social-links{flex-wrap:wrap;gap:12px;display:flex}.social-link{background:var(--bg-card);border:1px solid var(--border);width:44px;height:44px;color:var(--text-secondary);border-radius:12px;justify-content:center;align-items:center;text-decoration:none;transition:border-color .3s,color .3s;display:flex}.social-link:hover{border-color:rgba(var(--primary-rgb), .5);color:var(--primary)}.avatar-flip{perspective:1000px;cursor:pointer;background:0 0;border:none;border-radius:50%;width:100%;height:100%;display:block}.avatar-flip-inner{width:100%;height:100%;transform-style:preserve-3d;transition:transform .8s cubic-bezier(.34,1.56,.64,1);display:block;position:relative}.avatar-flip.is-flipped .avatar-flip-inner{transform:rotateY(180deg)}@media (hover:hover){.avatar-flip:hover .avatar-flip-inner{transform:rotateY(180deg)}}.avatar-face{backface-visibility:hidden;background:linear-gradient(135deg, rgba(var(--primary-rgb), .1), rgba(var(--secondary-rgb), .1));border-radius:50%;display:block;position:absolute;inset:0;overflow:hidden}.avatar-back{transform:rotateY(180deg)}.avatar-face img{object-fit:cover;width:100%;height:100%}.avatar-monogram{width:100%;height:100%;font-family:var(--font-display);letter-spacing:.02em;justify-content:center;align-items:center;font-size:4rem;font-weight:800;display:flex}.avatar-back .avatar-monogram{background:var(--gradient-primary);color:var(--on-primary)}.form-label{color:var(--text-secondary);letter-spacing:.03em;margin-bottom:8px;font-size:.85rem;font-weight:600;display:block}.form-input{background:var(--bg-card);border:1px solid var(--border);width:100%;color:var(--text);resize:vertical;border-radius:12px;outline:none;padding:14px 18px;font-size:.95rem;transition:border-color .3s,box-shadow .3s}.form-input::placeholder{color:var(--text-muted)}.form-input:focus{border-color:rgba(var(--primary-rgb), .5);box-shadow:0 0 0 3px rgba(var(--primary-rgb), .08)}.skill-bar{background:var(--border);border-radius:100px;height:6px;overflow:hidden}.skill-bar-fill{border-radius:100px;height:100%}@keyframes pulse-glow{0%,to{opacity:.5}50%{opacity:1}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}.spin{animation:1s linear infinite spin}.cursor-blink{color:var(--primary);animation:1s step-end infinite blink}@media (width<=768px){.section{padding-block:64px}.section-heading{margin-bottom:40px}.container{padding-inline:16px}}@media (width<=480px){.section{padding-block:52px}}.page-loader{z-index:10000;background:var(--bg);flex-direction:column;justify-content:center;align-items:center;gap:20px;display:flex;position:fixed;inset:0}.page-loader-mark{border-radius:16px;width:60px;height:60px;font-size:1.2rem}.page-loader-text{font-family:var(--font-display);letter-spacing:.1em;font-size:1rem;font-weight:700}.page-loader-dots{gap:6px;display:flex}.page-loader-dots span{background:var(--primary);border-radius:50%;width:6px;height:6px}.cursor-glow{background:radial-gradient(circle, rgba(var(--primary-rgb), .05) 0%, transparent 70%);pointer-events:none;z-index:0;border-radius:50%;width:400px;height:400px;position:fixed;top:0;left:0}.theme-switcher{z-index:9000;position:fixed;bottom:28px;right:28px}.theme-switcher-trigger{cursor:pointer;background:var(--gradient-primary);width:52px;height:52px;color:var(--on-primary);box-shadow:0 4px 24px rgba(var(--primary-rgb), .35);border:none;border-radius:16px;justify-content:center;align-items:center;animation:2.4s ease-in-out infinite trigger-pulse;display:flex}@keyframes trigger-pulse{0%,to{box-shadow:0 4px 20px rgba(var(--primary-rgb), .25)}50%{box-shadow:0 4px 32px rgba(var(--primary-rgb), .55)}}.theme-panel{background:var(--bg-card-solid);border:1px solid var(--border);width:280px;max-width:calc(100vw - 32px);box-shadow:var(--shadow-card), 0 0 40px rgba(var(--primary-rgb), .08);border-radius:20px;padding:20px;position:absolute;bottom:68px;right:0}.theme-panel-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.theme-panel-title{font-family:var(--font-display);color:var(--primary);align-items:center;gap:8px;font-size:.95rem;font-weight:700;display:flex}.theme-panel-count{color:var(--text-muted);font-size:.72rem;font-family:var(--font-mono)}.theme-grid{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.theme-option{background:var(--bg-card);border:1px solid var(--border);cursor:pointer;color:var(--text-secondary);text-align:left;border-radius:12px;align-items:center;gap:8px;min-width:0;padding:10px 12px;font-size:.78rem;font-weight:500;transition:border-color .15s;display:flex}.theme-option:hover{border-color:var(--border-accent)}.theme-option.is-active{border-width:1.5px;font-weight:700}.theme-option-label{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.theme-dots{flex-shrink:0;gap:3px;display:flex}.theme-dots span{border-radius:50%;width:10px;height:10px}.theme-panel-footer{background:rgba(var(--primary-rgb), .05);border:1px solid rgba(var(--primary-rgb), .12);text-align:center;color:var(--text-muted);font-size:.72rem;font-family:var(--font-mono);border-radius:10px;margin-top:14px;padding:8px 12px}.theme-panel-footer strong{color:var(--primary);font-weight:600}@media (width<=640px){.theme-switcher{bottom:12px;right:12px}.theme-switcher-trigger{border-radius:10px;width:38px;height:38px}.theme-switcher-trigger svg{width:16px;height:16px}.theme-panel{border-radius:12px;width:230px;max-width:calc(100vw - 24px);padding:10px;bottom:46px;right:0}.theme-panel-header{margin-bottom:10px}.theme-panel-title{font-size:.8rem}.theme-grid{gap:5px}.theme-option{border-radius:6px;gap:4px;padding:5px 6px;font-size:.68rem}.theme-dots span{width:6px;height:6px}.theme-panel-footer{margin-top:8px;padding:5px;font-size:.65rem}}.resume-overlay{z-index:9500;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#000000a6;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.resume-dialog{background:var(--bg-card-solid);border:1px solid var(--border);width:100%;max-width:900px;height:min(90dvh,1000px);box-shadow:var(--shadow-card);border-radius:20px;flex-direction:column;display:flex;overflow:hidden}.resume-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;padding:16px 20px;display:flex}.resume-heading{align-items:center;gap:12px;min-width:0;display:flex}.resume-icon{background:rgba(var(--primary-rgb), .1);border:1px solid rgba(var(--primary-rgb), .25);width:40px;height:40px;color:var(--primary)}.resume-heading h3{font-family:var(--font-display);color:var(--text-heading);font-size:1.1rem;line-height:1.2}.resume-heading p{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:.8rem;overflow:hidden}.resume-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.resume-close{background:var(--bg-card);border:1px solid var(--border);width:38px;height:38px;color:var(--text-secondary);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;display:flex}.resume-close:hover{color:var(--primary);border-color:var(--border-accent)}.resume-body{background:var(--bg-darker);flex:1}.resume-frame{border:none;width:100%;height:100%;display:block}.resume-mobile{text-align:center;height:100%;color:var(--text-secondary);flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:24px;display:flex}.resume-mobile svg{color:var(--primary)}@media (width<=768px){.resume-overlay{padding:16px}.resume-dialog{height:auto;min-height:280px}.resume-header{flex-wrap:wrap}.resume-hide-sm{display:none}}.footer{border-top:1px solid var(--border);background:var(--bg-footer);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);position:relative}.footer-line{background:linear-gradient(90deg, transparent, var(--primary), var(--secondary), var(--accent), transparent);height:1px;position:absolute;inset:0 0 auto}.footer-inner{padding-block:40px 24px}.footer-grid{grid-template-columns:1.5fr 1fr 1fr;gap:40px;margin-bottom:40px;display:grid}.footer-logo{align-items:center;gap:10px;margin-bottom:14px;display:flex}.footer-name{font-family:var(--font-display);font-size:1rem;font-weight:700}.footer-tagline{color:var(--text-secondary);max-width:300px;margin-bottom:18px;font-size:.87rem;line-height:1.7}.footer-social{border-radius:8px;width:36px;height:36px}.footer-heading{color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;margin-bottom:14px;font-size:.78rem;font-weight:700}.footer-list{flex-direction:column;gap:8px;list-style:none;display:flex}.footer-link{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;padding:2px 0;font-size:.87rem;transition:color .3s}.footer-link:hover{color:var(--primary)}.footer-tech{color:var(--text-secondary);align-items:center;gap:6px;font-size:.85rem;display:flex}.footer-tech svg{color:var(--primary)}.footer-bottom{border-top:1px solid var(--border-divider);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding-top:24px;display:flex}.footer-copy{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:6px;font-size:.83rem;display:flex}.footer-copy span{color:var(--primary);font-weight:600}.footer-heart{color:#ec4899;fill:#ec4899}@media (width<=768px){.footer-grid{grid-template-columns:1fr 1fr;gap:28px}.footer-brand{grid-column:1/-1}}@media (width<=360px){.footer-grid{grid-template-columns:1fr}.footer-bottom{text-align:center;justify-content:center}}.navbar{z-index:100;background:linear-gradient(135deg, rgba(var(--primary-rgb), .055), rgba(var(--secondary-rgb), .055)), var(--bg-nav);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid rgba(var(--primary-rgb), .19);transition:background .4s,box-shadow .4s;position:fixed;inset:0 0 auto}.navbar.is-scrolled{background:linear-gradient(135deg, rgba(var(--primary-rgb), .1), rgba(var(--secondary-rgb), .1)), var(--bg-nav);box-shadow:var(--shadow-card)}.navbar-inner{height:var(--nav-height);justify-content:space-between;align-items:center;gap:8px;display:flex}.navbar-logo{cursor:pointer;background:0 0;border:none;flex-shrink:0;align-items:center;gap:8px;display:flex}.navbar-logo-text{font-family:var(--font-display);white-space:nowrap;font-size:1.1rem;font-weight:700}.navbar-links{align-items:center;gap:4px;display:flex}.navbar-link{cursor:pointer;color:var(--text-secondary);background:0 0;border:none;border-radius:8px;padding:8px 14px;font-size:.88rem;font-weight:500;transition:color .3s,background-color .3s;position:relative}.navbar-link:hover,.navbar-link.is-active{color:var(--primary)}.navbar-link.is-active{background-color:rgba(var(--primary-rgb), .08)}.navbar-indicator{background:var(--primary);border-radius:100px;width:18px;height:2px;position:absolute;bottom:4px;left:calc(50% - 9px)}.navbar-actions{flex-shrink:0;align-items:center;gap:10px;display:flex}.navbar-menu-btn{background:var(--bg-card);border:1px solid var(--border);cursor:pointer;color:var(--text-secondary);border-radius:8px;padding:8px;display:none}.navbar-drawer{background:var(--bg-overlay);-webkit-backdrop-filter:blur(20px);border-top:1px solid var(--border);overflow:hidden}.navbar-drawer-inner{max-height:calc(100vh - var(--nav-height));max-height:calc(100dvh - var(--nav-height));flex-direction:column;gap:6px;padding:16px 20px;display:flex;overflow-y:auto}.navbar-drawer-link{text-align:left;cursor:pointer;width:100%;color:var(--text-secondary);background:0 0;border:1px solid #0000;border-radius:12px;justify-content:space-between;align-items:center;padding:12px 18px;font-size:.95rem;font-weight:600;display:flex}.navbar-drawer-link.is-active{background:rgba(var(--primary-rgb), .12);border-color:rgba(var(--primary-rgb), .25);color:var(--primary)}@media (width<=1180px){.navbar-status{display:none}}@media (width<=1080px){.navbar-links{display:none}.navbar-menu-btn{display:flex}}@media (width<=640px){.navbar-hire{display:none}.navbar-actions{gap:6px}.navbar-btn{padding:6px 12px;font-size:.78rem}.navbar-logo-text{font-size:.95rem}}@media (width<=380px){.navbar-logo-text{display:none}}@media (width<=340px){.navbar-btn span{display:none}.navbar-btn{padding:8px 10px}}.about{overflow:hidden}.about-blob{aspect-ratio:1;background:radial-gradient(circle, rgba(var(--secondary-rgb), .08), transparent 70%);width:min(300px,70vw);top:20%;right:10%}.about-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);align-items:center;gap:clamp(32px,6vw,80px);display:grid;position:relative}.about-visual{aspect-ratio:1;justify-content:center;align-items:center;width:min(420px,100%);margin-inline:auto;display:flex;position:relative;container-type:inline-size}.about-ring{border-radius:50%;position:absolute}.about-ring--outer{border:1px dashed rgba(var(--primary-rgb), .12);inset:5%}.about-ring--inner{border:1px dashed rgba(var(--secondary-rgb), .12);inset:14.3%}.about-avatar{z-index:1;aspect-ratio:1;border:2px solid rgba(var(--primary-rgb), .25);width:66.7%;box-shadow:0 0 80px rgba(var(--primary-rgb), .12), 0 0 40px rgba(var(--secondary-rgb), .1);border-radius:50%;position:relative}.about-avatar .avatar-monogram{font-size:22cqi}.about-badge{z-index:2;background:var(--bg-card-solid);max-width:48%;font-family:var(--font-mono);white-space:nowrap;text-overflow:ellipsis;border:1px solid;border-radius:8px;padding:.5em 1em;font-size:clamp(.6rem,2.9cqi,.75rem);font-weight:600;position:absolute;overflow:hidden}.about-badge--1{top:14%;left:0}.about-badge--2{top:22%;right:0}.about-badge--3{bottom:18%;left:2%}.about-badge--4{bottom:10%;right:2%}.about-content{flex-direction:column;gap:28px;min-width:0;display:flex}.about-content .section-heading{margin-bottom:0}.about-bio{color:var(--text-secondary);font-size:clamp(.95rem,.9rem + .25vw,1.05rem);line-height:1.8}.about-traits{flex-wrap:wrap;gap:10px;display:flex}.about-trait{background:var(--bg-card);color:var(--text-secondary);border:1px solid;border-radius:10px;align-items:center;gap:7px;padding:8px 14px;font-size:.83rem;font-weight:500;display:inline-flex}.about-info{grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr));gap:12px;display:grid}.about-info-card{border-radius:12px;min-width:0;padding:14px 16px}.about-info-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;align-items:center;gap:6px;margin-bottom:4px;font-size:.72rem;font-weight:500;display:flex}.about-info-label svg{color:var(--primary)}.about-info-value{color:var(--text);overflow-wrap:anywhere;font-size:.9rem;font-weight:600}.about-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.about-stat{text-align:center;min-width:0;padding:16px 8px}.about-stat-value{font-family:var(--font-display);overflow-wrap:anywhere;font-size:clamp(1.15rem,1rem + .6vw,1.4rem);font-weight:800}.about-stat-label{color:var(--text-muted);margin-top:4px;font-size:.72rem;line-height:1.3}.about-certs-title{font-family:var(--font-display);color:var(--text-heading);margin-bottom:12px;font-size:1rem;font-weight:700}.about-certs{grid-template-columns:repeat(auto-fill,minmax(min(240px,100%),1fr));gap:12px;display:grid}.about-cert{align-items:center;gap:12px;padding:12px 14px;text-decoration:none;transition:border-color .3s;display:flex}a.about-cert:hover{border-color:var(--border-accent)}.about-cert-icon{border-radius:10px;width:36px;height:36px}.about-cert-text{flex-direction:column;flex:1;min-width:0;display:flex}.about-cert-name{color:var(--text);overflow-wrap:anywhere;font-size:.85rem;font-weight:600}.about-cert-meta{color:var(--text-muted);font-size:.75rem}.about-cert-link{color:var(--text-muted);flex-shrink:0}@media (width<=900px){.about-grid{grid-template-columns:minmax(0,1fr);gap:40px}.about-visual{width:min(380px,100%)}}@media (width<=640px){.about-content{gap:22px}.about-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}}.chat{overflow:hidden}.chat-panel{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:24px;max-width:800px;margin:0 auto;position:relative;overflow:hidden}.chat-quick{border-bottom:1px solid var(--border);padding:20px 24px}.chat-quick-title{color:var(--text-secondary);align-items:center;gap:6px;margin-bottom:12px;font-size:.875rem;font-weight:600;display:flex}.chat-quick-title svg{color:var(--primary)}.chat-chips{flex-wrap:wrap;gap:8px;display:flex}.chat-chip{background:rgba(var(--secondary-rgb), .08);border:1px solid rgba(var(--secondary-rgb), .15);color:var(--text-secondary);cursor:pointer;border-radius:8px;padding:8px 14px;font-size:.8125rem;transition:background .2s,color .2s,border-color .2s}.chat-chip:hover{background:rgba(var(--secondary-rgb), .15);border-color:var(--secondary);color:var(--text)}.chat-messages{overscroll-behavior:contain;flex-direction:column;gap:16px;height:clamp(240px,45vh,340px);padding:24px;display:flex;overflow-y:auto}.chat-row{width:100%;display:flex}.chat-row--user{justify-content:flex-end}.chat-bubble-wrap{gap:12px;max-width:85%;display:flex}.chat-row--user .chat-bubble-wrap{flex-direction:row-reverse}.chat-avatar{background:var(--gradient-secondary);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.chat-row--user .chat-avatar{background:var(--gradient-primary);color:var(--on-primary)}.chat-bubble{white-space:pre-line;overflow-wrap:anywhere;border-radius:16px;padding:12px 18px;font-size:.9rem;line-height:1.55}.chat-row--ai .chat-bubble{background:var(--bg-card);border:1px solid var(--border);color:var(--text);border-top-left-radius:2px}.chat-row--user .chat-bubble{background:var(--gradient-primary);color:var(--on-primary);border-top-right-radius:2px}.chat-time{color:var(--text-muted);margin-top:6px;font-size:.68rem}.chat-row--user .chat-time{text-align:right}.chat-typing{align-items:center;gap:4px;padding:14px 20px;display:flex}.chat-typing span{background:var(--secondary);border-radius:50%;width:8px;height:8px;animation:1.4s ease-in-out infinite both dot-bounce}.chat-typing span:first-child{animation-delay:-.32s}.chat-typing span:nth-child(2){animation-delay:-.16s}@keyframes dot-bounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.chat-input-bar{border-top:1px solid var(--border);align-items:center;gap:16px;padding:20px 24px;display:flex}.chat-input-wrap{flex:1;position:relative}.chat-input{border:1px solid var(--border);background:var(--bg-card-solid);width:100%;color:var(--text);border-radius:12px;outline:none;padding:14px 50px 14px 18px;font-size:.9rem;transition:border-color .2s,box-shadow .2s}.chat-input::placeholder{color:var(--text-muted)}.chat-input:focus{border-color:var(--secondary);box-shadow:0 0 10px rgba(var(--secondary-rgb), .2)}.chat-input-wrap--no-mic .chat-input{padding-right:18px}.chat-mic{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:4px;display:flex;position:absolute;top:50%;right:12px;translate:0 -50%}.chat-mic:hover{color:var(--secondary)}.chat-mic.is-recording{color:#ef4444;animation:1.2s ease-in-out infinite pulse-glow}.chat-send{background:var(--gradient-secondary);color:#fff;width:44px;height:44px;box-shadow:0 4px 12px rgba(var(--secondary-rgb), .2);cursor:pointer;border:none;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;transition:transform .2s,box-shadow .2s,opacity .2s;display:flex}.chat-send:hover:not(:disabled){box-shadow:0 6px 16px rgba(var(--secondary-rgb), .4);transform:translateY(-2px)}.chat-send:disabled{opacity:.4;cursor:not-allowed}.chat-highlights{grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:24px;max-width:1000px;margin:48px auto 0;display:grid}.chat-highlight{text-align:center;border-radius:16px;padding:24px;transition:transform .3s,border-color .3s}.chat-highlight:hover{border-color:rgba(var(--secondary-rgb), .3);transform:translateY(-5px)}.chat-highlight svg{color:var(--secondary);margin:0 auto 12px;display:block}.chat-highlight h3{color:var(--text);margin-bottom:8px;font-size:1rem;font-weight:700}.chat-highlight p{color:var(--text-muted);font-size:.82rem;line-height:1.5}@media (width<=640px){.chat-quick{padding:16px}.chat-messages{height:clamp(240px,45vh,320px);padding:16px}.chat-panel{border-radius:18px}.chat-chip{padding:7px 12px;font-size:.78rem}.chat-bubble-wrap{max-width:94%}.chat-input-bar{gap:10px;padding:14px 16px}}.contact{overflow:hidden}.contact-blob{filter:blur(60px);background:radial-gradient(circle, rgba(var(--primary-rgb), .06), transparent 70%);width:400px;height:400px;bottom:10%;left:10%}.contact-grid{grid-template-columns:1fr 1.6fr;align-items:start;gap:48px;display:grid;position:relative}.contact-info{flex-direction:column;gap:20px;min-width:0;display:flex}.contact-card{align-items:center;gap:14px;padding:16px 20px;text-decoration:none;transition:border-color .3s,transform .3s;display:flex}a.contact-card:hover{border-color:var(--border-accent);transform:translate(6px)}.contact-card-icon{width:42px;height:42px}.contact-card-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;font-weight:500;display:block}.contact-card-value{color:var(--text);overflow-wrap:anywhere;margin-top:2px;font-size:.9rem;font-weight:600;display:block}.contact-socials{padding:20px}.contact-socials-title{color:var(--text-secondary);margin-bottom:14px;font-size:.85rem;font-weight:600}.contact-social-row .social-link{border-radius:10px;flex:1;min-width:44px}.contact-availability{background:linear-gradient(135deg, #10b98114, rgba(var(--primary-rgb), .06));border:1px solid #10b98140;border-radius:14px;padding:20px}.contact-availability-head{color:#10b981;align-items:center;gap:8px;margin-bottom:8px;font-size:.88rem;font-weight:700;display:flex}.contact-availability p{color:var(--text-secondary);font-size:.82rem;line-height:1.6}.contact-form-card{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:24px;padding:36px}.contact-form-title{font-family:var(--font-display);color:var(--text-heading);margin-bottom:6px;font-size:1.3rem;font-weight:700}.contact-form-subtitle{color:var(--text-secondary);margin-bottom:28px;font-size:.87rem}.contact-fields{grid-template-columns:1fr 1fr;gap:16px;display:grid}.contact-field--full{grid-column:1/-1}.contact-honeypot{display:none}.contact-submit{width:100%;margin-top:20px}.contact-alert{text-align:center;border-radius:10px;justify-content:center;align-items:center;gap:8px;margin-top:14px;padding:12px 16px;font-size:.85rem;display:flex}.contact-alert svg{flex-shrink:0}.contact-alert--success{color:#10b981;background:#10b98114;border:1px solid #10b98133}.contact-alert--error{color:#ef4444;background:#ef444414;border:1px solid #ef444440}@media (width<=900px){.contact-grid{grid-template-columns:1fr}}@media (width<=640px){.contact-fields{grid-template-columns:1fr}.contact-form-card{padding:24px 20px}}.experience{background:rgba(var(--secondary-rgb), .01);overflow-x:clip}.experience-blob{filter:blur(60px);background:radial-gradient(circle, rgba(var(--secondary-rgb), .05), transparent 70%);width:600px;height:600px;margin-left:-300px;top:10%;left:50%}.experience-layout{grid-template-columns:1fr 1fr;align-items:start;gap:80px;display:grid;position:relative}.experience-aside{top:calc(var(--nav-height) + 30px);position:sticky}.experience-aside .section-heading{margin-bottom:32px}.experience-milestones{flex-direction:column;gap:12px;list-style:none;display:flex}.experience-milestone{color:var(--text-secondary);align-items:center;gap:12px;font-size:.85rem;display:flex}.experience-year{width:56px;height:28px;font-family:var(--font-mono);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;font-size:.72rem;font-weight:700;display:flex}.experience-note{background:linear-gradient(135deg, rgba(var(--accent-rgb), .06), rgba(var(--secondary-rgb), .06));border:1px solid rgba(var(--accent-rgb), .2);border-radius:16px;margin-top:32px;padding:20px}.experience-note-emoji{margin-bottom:8px;font-size:1.5rem}.experience-note-title{color:var(--text-heading);margin-bottom:6px;font-size:.95rem;font-weight:600}.experience-note-text{color:var(--text-secondary);font-size:.85rem;line-height:1.6}.timeline{position:relative}.timeline-line{background:linear-gradient(to bottom, transparent, var(--primary), var(--secondary), var(--accent), transparent);transform-origin:top;width:2px;position:absolute;top:20px;bottom:20px;left:23px}.timeline-item{margin-bottom:36px;padding-left:80px;position:relative}.timeline-item:last-child{margin-bottom:0}.timeline-dot{z-index:1;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;display:flex;position:absolute;top:20px;left:12px}.timeline-dot-core{background:#fff;border-radius:50%;width:8px;height:8px}.timeline-card{border-radius:16px;padding:20px 24px}.timeline-card-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px;display:flex}.timeline-card-title{align-items:center;gap:10px;min-width:0;display:flex}.timeline-icon{border:1px solid;border-radius:10px;width:36px;height:36px}.timeline-title{color:var(--text-heading);font-size:1rem;font-weight:700;line-height:1.2}.timeline-org{margin-top:2px;font-size:.82rem;font-weight:600}.timeline-period{font-family:var(--font-mono);white-space:nowrap;border:1px solid;border-radius:8px;flex-shrink:0;padding:4px 10px;font-size:.72rem;font-weight:600}.timeline-desc{color:var(--text-secondary);margin-bottom:12px;font-size:.87rem;line-height:1.7}.timeline-skills{flex-wrap:wrap;gap:6px;display:flex}.timeline-skill{font-family:var(--font-mono);border:1px solid;border-radius:100px;padding:3px 10px;font-size:.72rem;font-weight:500}@media (width<=900px){.experience-layout{grid-template-columns:1fr;gap:40px}.experience-aside{position:static}}@media (width<=640px){.timeline-item{margin-bottom:24px;padding-left:32px}.timeline-dot{width:18px;height:18px;top:16px;left:0}.timeline-line{left:8px}.timeline-card{border-radius:14px;padding:14px 16px}.timeline-card-head{flex-direction:column;gap:8px}}.hero{align-items:center;min-height:100svh;display:flex;position:relative;overflow:hidden}.hero-blob-layer{pointer-events:none;position:absolute;inset:0}.hero-blob{filter:blur(40px);border-radius:50%;position:absolute}.hero-blob--primary{aspect-ratio:1;background:radial-gradient(circle, rgba(var(--primary-rgb), .12), transparent 70%);width:min(420px,80vw);top:10%;left:5%}.hero-blob--secondary{aspect-ratio:1;background:radial-gradient(circle, rgba(var(--secondary-rgb), .12), transparent 70%);width:min(380px,70vw);top:20%;right:5%}.hero-blob--accent{aspect-ratio:1;filter:blur(50px);background:radial-gradient(circle, rgba(var(--accent-rgb), .08), transparent 70%);width:min(300px,60vw);bottom:10%;left:30%}.hero-content{z-index:1;width:100%;position:relative}.hero-inner{padding-block:calc(var(--nav-height) + 40px) 110px}.hero-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:clamp(32px,6vw,80px);display:grid}.hero-text{flex-direction:column;gap:28px;min-width:0;display:flex;container-type:inline-size}.hero-text .section-tag{max-width:100%;margin-bottom:0}.hero-title{font-family:var(--font-display);color:var(--text-heading);overflow-wrap:anywhere;margin-bottom:16px;font-size:clamp(2rem,11cqi,4rem);font-weight:800;line-height:1.1}.hero-role{color:var(--text-secondary);min-height:2em;font-size:clamp(1.05rem,.9rem + 1vw,1.5rem);font-weight:600}.hero-summary{color:var(--text-secondary);max-width:540px;font-size:clamp(.95rem,.9rem + .25vw,1.05rem);line-height:1.8}.hero-stats{flex-wrap:wrap;gap:12px 24px;display:flex}.hero-stat{align-items:center;gap:8px;display:flex}.hero-stat-value{font-family:var(--font-display);font-size:1.4rem;font-weight:800}.hero-stat-label{color:var(--text-muted);font-size:.85rem}.hero-actions{flex-wrap:wrap;gap:14px;display:flex}.hero-visual-wrap{min-width:0}.hero-visual{aspect-ratio:1;justify-content:center;align-items:center;width:min(480px,100%);margin-inline:auto;display:flex;position:relative;container-type:inline-size}.hero-ring{border:1px dashed rgba(var(--primary-rgb), .15);border-radius:50%;position:absolute}.hero-ring--outer{width:87.5%;height:87.5%}.hero-ring--inner{border-color:rgba(var(--secondary-rgb), .12);width:70.8%;height:70.8%}.hero-orbit{width:0;height:0;position:absolute;top:50%;left:50%}.hero-orbit-slot{--badge-size:clamp(38px, 11.7cqi, 56px);width:var(--badge-size);height:var(--badge-size);left:calc(var(--badge-size) / -2);top:calc(var(--badge-size) / -2);transform:rotate(var(--angle)) translateY(-39.5cqi) rotate(calc(-1 * var(--angle)));position:absolute}.hero-orbit-spin{justify-content:center;align-items:center;width:100%;height:100%;display:flex}.hero-orbit-badge{white-space:nowrap;background:var(--bg-card-solid);text-align:center;width:max-content;min-width:100%;height:100%;font-family:var(--font-mono);box-shadow:0 0 16px var(--badge-glow);cursor:default;border:1px solid;border-radius:25%;justify-content:center;align-items:center;padding-inline:5px;font-size:clamp(.5rem,2.4cqi,.64rem);font-weight:700;line-height:1.1;display:flex}.hero-avatar{z-index:2;aspect-ratio:1;border:2px solid rgba(var(--primary-rgb), .3);width:45.8%;box-shadow:0 0 60px rgba(var(--primary-rgb), .15), 0 0 120px rgba(var(--secondary-rgb), .1);border-radius:50%;position:relative}.hero-avatar .avatar-monogram{font-size:18cqi}.hero-code-tag{z-index:3;background:var(--bg-card-solid);border:1px solid rgba(var(--primary-rgb), .2);font-family:var(--font-mono);color:var(--primary);white-space:nowrap;border-radius:10px;padding:.7em 1em;font-size:clamp(.6rem,2.6cqi,.72rem);position:absolute}.hero-code-tag--top{top:1%;right:0}.hero-code-tag--bottom{color:var(--secondary);border-color:rgba(var(--secondary-rgb), .2);bottom:1%;left:0}.hero-pills{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:64px;display:flex}.hero-scroll{z-index:1;cursor:pointer;color:var(--text-muted);letter-spacing:.1em;text-transform:uppercase;background:0 0;border:none;flex-direction:column;align-items:center;gap:8px;font-size:.75rem;display:flex;position:absolute;bottom:28px;left:50%;translate:-50%}.hero-scroll svg{color:var(--primary)}@media (width<=900px){.hero-grid{grid-template-columns:minmax(0,1fr);gap:40px}.hero-visual{width:min(440px,100%)}}@media (height<=560px){.hero-scroll{display:none}.hero-inner{padding-bottom:48px}}@media (width<=640px){.hero-inner{padding-bottom:48px}.hero-text{gap:22px}.hero-code-tag,.hero-scroll{display:none}.hero-pills{gap:8px;margin-top:24px}}@media (width<=480px){.hero-actions{gap:10px}.hero-actions>*{flex:auto}.hero-stat-value{font-size:1.2rem}}.projects-blob{filter:blur(60px);background:radial-gradient(circle, rgba(var(--primary-rgb), .06), transparent 70%);width:450px;height:450px;top:20%;right:5%}.projects-filters{flex-wrap:wrap;justify-content:center;gap:8px;margin:-24px 0 44px;display:flex}.projects-filter{border:1px solid var(--border);background:var(--bg-card);color:var(--text-secondary);white-space:nowrap;cursor:pointer;border-radius:100px;flex-shrink:0;align-items:center;gap:6px;padding:8px 20px;font-size:.83rem;font-weight:600;transition:border-color .3s,background .3s,color .3s,box-shadow .3s;display:flex}.projects-filter.is-active{border-color:var(--primary);background:rgba(var(--primary-rgb), .12);color:var(--primary);box-shadow:0 0 15px rgba(var(--primary-rgb), .2)}.projects-grid{grid-template-columns:repeat(auto-fill,minmax(min(340px,100%),1fr));align-items:stretch;gap:28px;display:grid}.project-card{background:var(--bg-card);border:1px solid var(--border);border-radius:20px;flex-direction:column;height:100%;transition:border-color .3s,box-shadow .3s;display:flex;overflow:hidden}.project-card:hover{border-color:var(--border-accent);box-shadow:var(--shadow-card), 0 0 25px rgba(var(--primary-rgb), .15)}.project-banner{flex-shrink:0;justify-content:center;align-items:center;height:170px;display:flex;position:relative;overflow:hidden}.project-banner:after{content:"";pointer-events:none;background:linear-gradient(#00000073,#0000001a 55%,#00000040);position:absolute;inset:0}.project-image{object-fit:cover;width:100%;height:100%;transition:transform .5s;position:absolute;inset:0}.project-card:hover .project-image{transform:scale(1.05)}.project-emoji{z-index:1;filter:drop-shadow(0 4px 12px #0006);font-size:3.2rem;transition:transform .35s cubic-bezier(.34,1.56,.64,1);position:relative}.project-card:hover .project-emoji{transform:scale(1.15)rotate(4deg)}.project-badges{z-index:2;justify-content:space-between;align-items:center;gap:8px;display:flex;position:absolute;top:12px;left:12px;right:12px}.project-status{font-family:var(--font-mono);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid;border-radius:100px;align-items:center;gap:5px;padding:4px 10px;font-size:.72rem;font-weight:700;display:inline-flex}.project-status--live{color:#34d399;background:#06281eb3;border-color:#10b98180}.project-status--api{color:#38bdf8;background:#061e2db3;border-color:#0ea5e980}.project-status--progress{color:#fbbf24;background:#2d1e05b3;border-color:#f59e0b80}.project-status--other{color:#f8fafc;background:#0000008c;border-color:#ffffff40}.project-live-dot{background:#10b981;border-radius:50%;width:6px;height:6px;box-shadow:0 0 8px #10b981}.project-featured{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#f59e0b;background:#0009;border:1px solid #f59e0b66;border-radius:100px;align-items:center;gap:4px;padding:4px 10px;font-size:.7rem;font-weight:700;display:flex}.project-body{flex-direction:column;flex-grow:1;justify-content:space-between;padding:20px 24px 24px;display:flex}.project-title-row{justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:4px;display:flex}.project-title{font-family:var(--font-display);color:var(--text-heading);font-size:1.2rem;font-weight:700;line-height:1.25}.project-category{border:1px solid var(--border);background:var(--bg-card);color:var(--text-muted);white-space:nowrap;border-radius:6px;padding:2px 8px;font-size:.7rem;font-weight:600}.project-subtitle{color:var(--primary);margin-bottom:12px;font-size:.8rem;font-weight:600;line-height:1.3}.project-description{color:var(--text-secondary);margin-bottom:14px;font-size:.85rem;line-height:1.6}.project-highlight{background:linear-gradient(135deg, rgba(var(--primary-rgb), .05), rgba(var(--secondary-rgb), .05));border-left:3px solid var(--primary);color:var(--text);border-radius:0 10px 10px 0;margin-bottom:16px;padding:10px 14px;font-size:.8rem;font-weight:500;line-height:1.5}.project-highlight strong{color:var(--primary)}.project-features-wrap{margin-bottom:16px}.project-toggle{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;padding:0;font-size:.8rem;font-weight:600;display:flex}.project-toggle:hover{color:var(--primary)}.project-features{flex-direction:column;gap:6px;padding-top:10px;list-style:none;display:flex;overflow:hidden}.project-features li{color:var(--text-secondary);align-items:flex-start;gap:6px;font-size:.78rem;line-height:1.4;display:flex}.project-features svg{color:var(--primary);flex-shrink:0;margin-top:2px}.project-tech{flex-wrap:wrap;gap:6px;margin-bottom:20px;display:flex}.project-links{border-top:1px solid var(--border-divider);gap:10px;padding-top:12px;display:flex}.project-link{border:1px solid var(--border);background:var(--bg-card);color:var(--text-secondary);border-radius:10px;flex:1;justify-content:center;align-items:center;gap:6px;padding:9px 14px;font-size:.82rem;font-weight:600;text-decoration:none;transition:border-color .3s,color .3s,background .3s;display:flex}.project-link:hover{border-color:var(--text-muted);color:var(--text)}.project-link--live{background:linear-gradient(135deg, rgba(var(--primary-rgb), .15), rgba(var(--secondary-rgb), .15));border-color:rgba(var(--primary-rgb), .3);color:var(--primary)}.project-link--live:hover{border-color:var(--primary);color:var(--primary)}.project-link--disabled,.project-link--disabled:hover{border-color:var(--border);color:var(--text-muted);cursor:default}@media (width<=640px){.projects-filters{gap:6px;margin:-16px 0 32px}.projects-filter{padding:7px 14px;font-size:.8rem}.projects-grid{gap:20px}.project-banner{height:150px}.project-body{padding:18px 18px 20px}.project-title-row{flex-wrap:wrap}}.skills{background:rgba(var(--primary-rgb), .01)}.skills-blob{background:radial-gradient(circle, rgba(var(--primary-rgb), .06), transparent 70%);width:300px;height:300px;top:30%;left:0}.skills-featured{border:1px solid;border-radius:20px;align-items:center;gap:24px;margin-bottom:40px;padding:28px;display:flex;position:relative;overflow:hidden}.skills-featured-emoji{border-radius:20px;width:80px;height:80px;font-size:2rem}.skills-featured-body{flex:1;min-width:0}.skills-featured-head{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:8px;display:flex}.skills-featured-head h3{font-family:var(--font-display);color:var(--text-heading);font-size:1.3rem;font-weight:700}.skills-level-pill{font-family:var(--font-mono);border:1px solid;border-radius:100px;padding:2px 12px;font-size:.75rem;font-weight:700}.skills-featured-body p{color:var(--text-secondary);margin-bottom:12px;font-size:.9rem;line-height:1.6}.skills-featured-bar{max-width:400px}.skills-tabs{background:var(--bg-card);border:1px solid var(--border);border-radius:14px;flex-wrap:wrap;gap:8px;width:fit-content;max-width:100%;margin-bottom:36px;padding:6px;display:flex}.skills-tab{color:var(--text-secondary);white-space:nowrap;cursor:pointer;background:0 0;border:none;border-radius:10px;justify-content:center;align-items:center;gap:7px;padding:10px 20px;font-size:.88rem;font-weight:600;transition:background .3s,color .3s,box-shadow .3s;display:flex}.skills-tab:hover{color:var(--primary)}.skills-tab.is-active{background:linear-gradient(135deg, rgba(var(--primary-rgb), .15), rgba(var(--secondary-rgb), .15));color:var(--primary);box-shadow:0 0 20px rgba(var(--primary-rgb), .1)}.skills-bars{grid-template-columns:1fr 1fr;column-gap:40px;display:grid}.skill-row{margin-bottom:20px}.skill-row-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.skill-name{color:var(--text);align-items:center;gap:8px;font-size:.9rem;font-weight:600;display:flex}.skill-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.skill-level{font-family:var(--font-mono);font-size:.78rem;font-weight:700}.skills-badges{flex-wrap:wrap;gap:10px;display:flex}.skills-badge{color:var(--text-secondary);cursor:default;border-radius:10px;align-items:center;gap:6px;padding:10px 18px;font-size:.85rem;font-weight:500;display:inline-flex}.skills-badge svg{color:var(--primary)}@media (width<=768px){.skills-bars{column-gap:28px}}@media (width<=640px){.skills-featured{flex-direction:column;align-items:flex-start;gap:16px;padding:22px}.skills-featured-emoji{width:64px;height:64px;font-size:1.6rem}.skills-featured-head h3{font-size:1.1rem}.skills-bars{grid-template-columns:minmax(0,1fr)}.skills-tabs{width:100%}.skills-tab{flex:auto;padding:8px 12px;font-size:.82rem}}.floating-assistant{z-index:8500;pointer-events:none;flex-direction:row-reverse;align-items:flex-end;gap:12px;display:flex;position:fixed;bottom:80px;right:80px}@media (width<=640px){.floating-assistant{bottom:85px;right:16px}}.floating-assistant-btn{cursor:pointer;z-index:2;pointer-events:auto;background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:flex;position:relative}.floating-robot-area{pointer-events:auto}.bot-img-wrapper{background:radial-gradient(circle at 30% 30%,#1e1e28e6,#0a0a0ff2);border:2px solid #00f2fee6;border-radius:50%;justify-content:center;align-items:center;width:80px;height:80px;transition:transform .3s,box-shadow .3s;display:flex;position:relative;overflow:hidden;transform:perspective(600px)rotateX(15deg)rotateY(-5deg);box-shadow:0 8px 24px #00f2fe66,inset -8px -8px 16px #000000b3,inset 8px 8px 16px #ffffff4d}.bot-img-wrapper:hover{transform:perspective(600px)rotateX(0)rotateY(0)scale(1.05);box-shadow:0 12px 32px #00f2fe99,inset -8px -8px 16px #000c,inset 8px 8px 16px #fff6}.bot-img-wrapper:after{content:"";pointer-events:none;z-index:10;background:linear-gradient(#fff9 0%,#ffffff0d 90%,#0000 100%);border-radius:50% 50% 10% 10%/50% 50% 20% 20%;height:35%;position:absolute;top:4%;left:8%;right:8%}@media (width<=640px){.bot-img-wrapper{width:65px;height:65px}}.bot-mascot-img{object-fit:contain;width:95%;height:95%;image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges;filter:drop-shadow(0 12px 10px #000c)contrast(1.25)saturate(1.25);border-radius:50%;position:relative}@media (prefers-reduced-motion:no-preference){.bot-img-wrapper{animation:3s ease-in-out infinite live-breathe}}@keyframes live-breathe{0%,to{transform:perspective(600px)rotateX(15deg)rotateY(-5deg)scale(1);box-shadow:inset -8px -8px 16px #000000b3,inset 8px 8px 16px #ffffff4d}50%{transform:perspective(600px)rotateX(10deg)rotateY(-2deg)scale(1.02);box-shadow:inset -8px -8px 16px #0009,inset 8px 8px 16px #fff6}}.bot-shadow{z-index:1;background:radial-gradient(#00f2fe99 0%,#0000 70%);border-radius:50%;width:40px;height:8px;position:absolute;bottom:-6px;left:50%;transform:translate(-50%)}@media (prefers-reduced-motion:no-preference){.bot-shadow{animation:3s ease-in-out infinite shadow-breathe}}@keyframes shadow-breathe{0%,to{opacity:.6;transform:translate(-50%)scale(1)}50%{opacity:.3;transform:translate(-50%)scale(1.2)}}.floating-greeting-bubble{-webkit-backdrop-filter:blur(16px);cursor:pointer;color:#f8f9fa;z-index:1;pointer-events:auto;background:linear-gradient(135deg,#141419d9 0%,#1e1e28f2 100%);border:1px solid #00f2fe66;border-radius:32px 32px 8px;max-width:180px;margin-bottom:16px;padding:10px 28px 10px 14px;font-size:.75rem;line-height:1.3;transition:box-shadow .3s,border-color .3s,background .3s;animation:4s ease-in-out infinite float-bubble;position:relative;box-shadow:0 8px 32px #0000004d,0 4px 16px #00f2fe26,inset 0 0 10px #00f2fe0d}.floating-greeting-bubble:before{content:"";z-index:1;background:#1e1e28fa;border-top:1px solid #00f2fe4d;border-right:1px solid #00f2fe4d;border-top-right-radius:2px;width:12px;height:12px;position:absolute;bottom:16px;right:-6px;transform:rotate(45deg)}@keyframes float-bubble{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.floating-greeting-bubble:hover{background:linear-gradient(135deg,#19191ee6 0%,#23232dfa 100%);border-color:#00f2fe99;animation-play-state:paused;box-shadow:0 12px 40px #0006,0 6px 24px #00f2fe40,inset 0 0 16px #00f2fe1a}@media (width<=640px){.floating-greeting-bubble{border-radius:18px;max-width:170px;margin-bottom:12px;padding:8px 24px 8px 12px;font-size:.75rem}.floating-greeting-bubble:before{width:10px;height:10px;bottom:12px;right:-5px}}.floating-greeting-close{width:22px;height:22px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;transition:color .2s,background .2s;display:flex;position:absolute;top:4px;right:4px}.floating-greeting-close:hover{color:var(--text);background:#ffffff1a}
