:root{--color-bg-primary: #FAF7F2;--color-bg-secondary: #F0EDE6;--color-bg-tertiary: #E8E3DA;--color-bg-card: #FFFFFF;--color-bg-code: #F5F2EB;--color-bg-nav: rgba(250, 247, 242, .92);--color-text-primary: #1A1A1A;--color-text-secondary: #4A4A4A;--color-text-tertiary: #7A7A7A;--color-text-muted: #9A9A9A;--color-text-inverse: #FAF7F2;--color-accent: #C7522A;--color-accent-hover: #A8421F;--color-accent-light: rgba(199, 82, 42, .08);--color-accent-mid: rgba(199, 82, 42, .15);--color-border: #DDD8CF;--color-border-light: #EBE7DF;--color-border-accent: var(--color-accent);--color-success: #2D7D46;--color-info: #2563EB;--shadow-sm: 0 1px 2px rgba(26, 26, 26, .04);--shadow-md: 0 4px 12px rgba(26, 26, 26, .06);--shadow-lg: 0 8px 30px rgba(26, 26, 26, .08);--shadow-xl: 0 20px 60px rgba(26, 26, 26, .1);--font-heading: "Sora", system-ui, -apple-system, sans-serif;--font-body: "Inter", system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 2rem;--text-4xl: 2.75rem;--text-5xl: 3.5rem;--leading-tight: 1.15;--leading-snug: 1.3;--leading-normal: 1.6;--leading-relaxed: 1.75;--tracking-tight: -.02em;--tracking-normal: 0;--tracking-wide: .04em;--tracking-wider: .08em;--weight-regular: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--space-24: 6rem;--space-32: 8rem;--container-max: 1200px;--container-narrow: 900px;--nav-height: 64px;--section-gap: var(--space-24);--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 9999px;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--duration-fast: .15s;--duration-normal: .25s;--duration-slow: .4s;--z-base: 1;--z-dropdown: 10;--z-sticky: 100;--z-overlay: 1000;--z-modal: 2000;--z-toast: 3000}[data-theme=dark]{--color-bg-primary: #141414;--color-bg-secondary: #1C1C1C;--color-bg-tertiary: #252525;--color-bg-card: #1E1E1E;--color-bg-code: #1A1A1A;--color-bg-nav: rgba(20, 20, 20, .92);--color-text-primary: #E8E4DF;--color-text-secondary: #B0ACA5;--color-text-tertiary: #807C76;--color-text-muted: #5A5752;--color-text-inverse: #1A1A1A;--color-accent: #E07A5F;--color-accent-hover: #E8917A;--color-accent-light: rgba(224, 122, 95, .1);--color-accent-mid: rgba(224, 122, 95, .18);--color-border: #2E2E2E;--color-border-light: #222222;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .2);--shadow-md: 0 4px 12px rgba(0, 0, 0, .3);--shadow-lg: 0 8px 30px rgba(0, 0, 0, .35);--shadow-xl: 0 20px 60px rgba(0, 0, 0, .4)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:100%;scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(var(--nav-height) + var(--space-8))}body{font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--color-text-primary);background-color:var(--color-bg-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;overflow-x:hidden;transition:background-color var(--duration-slow) var(--ease-out),color var(--duration-slow) var(--ease-out)}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit;color:inherit}p{overflow-wrap:break-word}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);overflow-wrap:break-word;line-height:var(--leading-tight)}a{color:inherit;text-decoration:none}ul,ol{list-style:none}button{cursor:pointer;background:none;border:none}:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px;border-radius:var(--radius-sm)}::selection{background:var(--color-accent-mid);color:var(--color-text-primary)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.container{width:100%;max-width:var(--container-max);margin-inline:auto;padding-inline:var(--space-6)}.container--narrow{max-width:var(--container-narrow)}.section{padding-block:var(--section-gap);position:relative}.section__header{margin-bottom:var(--space-12)}.section__label{display:inline-flex;align-items:center;gap:var(--space-2);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:var(--weight-medium);letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--color-accent);margin-bottom:var(--space-3)}.section__label:before{content:"";display:block;width:24px;height:1px;background:var(--color-accent)}.section__title{font-size:var(--text-3xl);font-weight:var(--weight-bold);letter-spacing:var(--tracking-tight);color:var(--color-text-primary)}.section__subtitle{font-size:var(--text-lg);color:var(--color-text-secondary);margin-top:var(--space-3);max-width:600px}.divider{height:1px;background:var(--color-border);border:none;margin-block:var(--space-16)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.skip-link{position:absolute;top:-100%;left:var(--space-4);z-index:var(--z-modal);padding:var(--space-3) var(--space-6);background:var(--color-accent);color:#fff;font-weight:var(--weight-semibold);border-radius:0 0 var(--radius-md) var(--radius-md);transition:top var(--duration-fast)}.skip-link:focus{top:0}.nav{position:fixed;top:0;left:0;right:0;z-index:var(--z-sticky);height:var(--nav-height);background:var(--color-bg-nav);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--color-border-light);transition:background-color var(--duration-slow) var(--ease-out),border-color var(--duration-slow) var(--ease-out),box-shadow var(--duration-normal) var(--ease-out)}.nav.scrolled{box-shadow:var(--shadow-sm)}.nav__inner{display:flex;align-items:center;justify-content:space-between;height:100%;max-width:var(--container-max);margin-inline:auto;padding-inline:var(--space-6)}.nav__brand{display:flex;align-items:center;gap:var(--space-3);font-family:var(--font-heading);font-weight:var(--weight-bold);font-size:var(--text-lg);color:var(--color-text-primary);letter-spacing:var(--tracking-tight)}.nav__monogram{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:var(--color-accent);color:#fff;font-family:var(--font-heading);font-weight:var(--weight-bold);font-size:var(--text-sm);border-radius:var(--radius-md);letter-spacing:0}.nav__status{display:inline-flex;align-items:center;gap:var(--space-2);font-family:var(--font-mono);font-size:.65rem;font-weight:var(--weight-medium);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--color-success);background:#2d7d4614;padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);border:1px solid rgba(45,125,70,.15)}.nav__status-dot{width:6px;height:6px;background:var(--color-success);border-radius:50%;animation:pulse-dot 2s ease-in-out infinite}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.4}}.nav__links{display:flex;align-items:center;gap:var(--space-1)}.nav__link{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text-secondary);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);transition:color var(--duration-fast),background var(--duration-fast);position:relative}.nav__link:hover,.nav__link:focus-visible{color:var(--color-text-primary);background:var(--color-accent-light)}.nav__link.active{color:var(--color-accent)}.nav__actions{display:flex;align-items:center;gap:var(--space-3)}.theme-toggle{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:var(--radius-md);color:var(--color-text-secondary);transition:color var(--duration-fast),background var(--duration-fast)}.theme-toggle:hover{color:var(--color-text-primary);background:var(--color-accent-light)}.theme-toggle svg{width:18px;height:18px;transition:transform var(--duration-normal) var(--ease-spring)}.theme-toggle:hover svg{transform:rotate(15deg)}[data-theme=dark] .theme-toggle__sun{display:block}[data-theme=dark] .theme-toggle__moon{display:none}[data-theme=light] .theme-toggle__sun,:root:not([data-theme]) .theme-toggle__sun{display:none}[data-theme=light] .theme-toggle__moon,:root:not([data-theme]) .theme-toggle__moon{display:block}.nav__hamburger{display:none;flex-direction:column;justify-content:center;align-items:center;width:38px;height:38px;gap:5px;border-radius:var(--radius-md)}.nav__hamburger span{display:block;width:20px;height:2px;background:var(--color-text-primary);border-radius:2px;transition:transform var(--duration-normal) var(--ease-out),opacity var(--duration-fast)}.nav__hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}.nav__hamburger.open span:nth-child(2){opacity:0}.nav__hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--weight-semibold);padding:var(--space-3) var(--space-6);border-radius:var(--radius-md);transition:all var(--duration-normal) var(--ease-out);white-space:nowrap;position:relative;overflow:hidden}.btn:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:currentColor;opacity:0;transition:opacity var(--duration-fast)}.btn:hover:after{opacity:.06}.btn:active{transform:scale(.97)}.btn svg{width:16px;height:16px;flex-shrink:0}.btn--primary{background:var(--color-accent);color:#fff;border:1px solid var(--color-accent)}.btn--primary:hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover)}.btn--secondary{background:transparent;color:var(--color-text-primary);border:1px solid var(--color-border)}.btn--secondary:hover{border-color:var(--color-text-tertiary);background:var(--color-accent-light)}.btn--ghost{background:transparent;color:var(--color-text-secondary);border:1px solid transparent;padding:var(--space-2) var(--space-3)}.btn--ghost:hover{color:var(--color-text-primary);background:var(--color-accent-light)}.btn--sm{padding:var(--space-2) var(--space-4);font-size:var(--text-xs)}.tag{display:inline-flex;align-items:center;gap:var(--space-1);font-family:var(--font-mono);font-size:.7rem;font-weight:var(--weight-medium);letter-spacing:var(--tracking-wide);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);background:var(--color-bg-secondary);color:var(--color-text-secondary);border:1px solid var(--color-border-light);transition:all var(--duration-fast)}.tag--accent{background:var(--color-accent-light);color:var(--color-accent);border-color:var(--color-accent-mid)}.tag-list{display:flex;flex-wrap:wrap;gap:var(--space-2)}.card{background:var(--color-bg-card);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);padding:var(--space-8);transition:border-color var(--duration-normal) var(--ease-out),box-shadow var(--duration-normal) var(--ease-out),transform var(--duration-normal) var(--ease-out)}.card:hover{border-color:var(--color-border);box-shadow:var(--shadow-md)}.card--interactive:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.card__eyebrow{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:var(--weight-medium);letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--color-accent);margin-bottom:var(--space-3)}.card__title{font-size:var(--text-xl);font-weight:var(--weight-bold);color:var(--color-text-primary);margin-bottom:var(--space-2)}.card__description{color:var(--color-text-secondary);line-height:var(--leading-relaxed);font-size:var(--text-sm)}.tooltip-wrap{position:relative}.tooltip{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%) translateY(4px);padding:var(--space-2) var(--space-3);background:var(--color-text-primary);color:var(--color-text-inverse);font-size:var(--text-xs);font-weight:var(--weight-medium);border-radius:var(--radius-md);white-space:nowrap;pointer-events:none;opacity:0;transition:opacity var(--duration-fast),transform var(--duration-fast) var(--ease-out);z-index:var(--z-dropdown)}.tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:5px solid transparent;border-top-color:var(--color-text-primary)}.tooltip.show{opacity:1;transform:translate(-50%) translateY(0)}.hero{min-height:calc(100vh - var(--nav-height));display:flex;align-items:center;padding-top:var(--nav-height)}.hero__content{max-width:780px}.hero__greeting{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--color-accent);letter-spacing:var(--tracking-wide);margin-bottom:var(--space-4);font-weight:var(--weight-medium)}.hero__name{font-size:clamp(2rem,4.5vw,3.25rem);font-weight:var(--weight-bold);letter-spacing:var(--tracking-tight);line-height:var(--leading-tight);color:var(--color-text-primary);margin-bottom:var(--space-5);word-break:break-word}.hero__name span{color:var(--color-accent)}.hero__tagline{font-size:var(--text-xl);color:var(--color-text-secondary);line-height:var(--leading-normal);max-width:640px;margin-bottom:var(--space-10)}.hero__proof{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-bottom:var(--space-10)}.hero__proof-item{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text-secondary);padding:var(--space-2) var(--space-4);background:var(--color-bg-secondary);border:1px solid var(--color-border-light);border-radius:var(--radius-md)}.hero__proof-item svg{width:14px;height:14px;color:var(--color-accent);flex-shrink:0}.hero__actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3)}.experience__timeline{display:flex;flex-direction:column;gap:var(--space-12)}.exp-card{display:grid;grid-template-columns:200px 1fr;gap:var(--space-8);position:relative}.exp-card__meta{position:relative}.exp-card__period{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-tertiary);letter-spacing:var(--tracking-wide);margin-bottom:var(--space-2)}.exp-card__company{font-family:var(--font-heading);font-size:var(--text-base);font-weight:var(--weight-bold);color:var(--color-text-primary);margin-bottom:var(--space-1)}.exp-card__role{font-size:var(--text-sm);color:var(--color-accent);font-weight:var(--weight-medium)}.exp-card__location{font-size:var(--text-xs);color:var(--color-text-muted);margin-top:var(--space-1)}.exp-card__body{display:flex;flex-direction:column;gap:var(--space-6)}.project-card{background:var(--color-bg-card);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);padding:var(--space-6);transition:all var(--duration-normal) var(--ease-out);cursor:default}.project-card:hover{border-color:var(--color-border);box-shadow:var(--shadow-md)}.project-card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-4)}.project-card__name{font-family:var(--font-heading);font-size:var(--text-lg);font-weight:var(--weight-bold);color:var(--color-text-primary)}.project-card__type{font-family:var(--font-mono);font-size:.65rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:var(--tracking-wider);background:var(--color-bg-secondary);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);white-space:nowrap;flex-shrink:0}.project-card__bullets{display:flex;flex-direction:column;gap:var(--space-3);margin-bottom:var(--space-5)}.project-card__bullet{display:flex;gap:var(--space-3);font-size:var(--text-sm);color:var(--color-text-secondary);line-height:var(--leading-relaxed)}.project-card__bullet:before{content:"";display:block;width:5px;height:5px;background:var(--color-accent);border-radius:50%;margin-top:.55em;flex-shrink:0}.project-card__impact{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--color-success);background:#2d7d460f;padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);border:1px solid rgba(45,125,70,.12);margin-bottom:var(--space-4)}.project-card__impact svg{width:12px;height:12px}.skills__tabs{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-8);border-bottom:1px solid var(--color-border-light);padding-bottom:var(--space-4)}.skills__tab{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text-tertiary);padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);transition:all var(--duration-fast);position:relative}.skills__tab:hover{color:var(--color-text-primary);background:var(--color-accent-light)}.skills__tab.active{color:var(--color-accent);background:var(--color-accent-light)}.skills__panel{display:none}.skills__panel.active{display:block;animation:fadeSlideIn .3s var(--ease-out)}@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.skills__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:var(--space-3)}.skill-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-bg-card);border:1px solid var(--color-border-light);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--color-text-secondary);transition:all var(--duration-fast)}.skill-item:hover{border-color:var(--color-accent-mid);background:var(--color-accent-light);color:var(--color-text-primary);transform:translateY(-1px)}.skill-item__dot{width:6px;height:6px;border-radius:50%;background:var(--color-accent);flex-shrink:0}.education__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:var(--space-6)}.edu-card{background:var(--color-bg-card);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);padding:var(--space-6);display:flex;gap:var(--space-4);transition:border-color var(--duration-fast)}.edu-card:hover{border-color:var(--color-border)}.edu-card__icon{width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:var(--color-accent-light);border-radius:var(--radius-md);color:var(--color-accent);flex-shrink:0}.edu-card__icon svg{width:20px;height:20px}.edu-card__degree{font-family:var(--font-heading);font-size:var(--text-base);font-weight:var(--weight-bold);color:var(--color-text-primary);margin-bottom:var(--space-1)}.edu-card__school{font-size:var(--text-sm);color:var(--color-text-secondary);margin-bottom:var(--space-1)}.edu-card__period{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-muted)}.footer{background:var(--color-bg-secondary);border-top:1px solid var(--color-border-light);padding-block:var(--space-16)}.footer__grid{display:grid;grid-template-columns:1fr auto;gap:var(--space-8);align-items:start}.footer__heading{font-family:var(--font-heading);font-size:var(--text-3xl);font-weight:var(--weight-bold);letter-spacing:var(--tracking-tight);color:var(--color-text-primary);margin-bottom:var(--space-4)}.footer__sub{font-size:var(--text-base);color:var(--color-text-secondary);margin-bottom:var(--space-8);max-width:460px}.footer__contact-list{display:flex;flex-direction:column;gap:var(--space-4)}.footer__contact-item{display:flex;align-items:center;gap:var(--space-3);font-size:var(--text-sm);color:var(--color-text-secondary);transition:color var(--duration-fast)}.footer__contact-item:hover{color:var(--color-accent)}.footer__contact-item svg{width:18px;height:18px;flex-shrink:0;color:var(--color-accent)}.footer__bottom{margin-top:var(--space-12);padding-top:var(--space-6);border-top:1px solid var(--color-border-light);display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.footer__copyright{font-size:var(--text-xs);color:var(--color-text-muted)}.footer__attribution{font-size:var(--text-xs);color:var(--color-text-muted);display:flex;align-items:center;gap:var(--space-2)}.footer__attribution a{color:var(--color-accent);font-weight:var(--weight-medium);transition:opacity var(--duration-fast)}.footer__attribution a:hover{opacity:.8}.reveal{opacity:0;transform:translateY(24px);transition:opacity .6s var(--ease-out),transform .6s var(--ease-out)}.reveal.visible{opacity:1;transform:translateY(0)}.reveal--delay-1{transition-delay:.1s}.reveal--delay-2{transition-delay:.2s}.reveal--delay-3{transition-delay:.3s}.reveal--delay-4{transition-delay:.4s}.hero__telemetry{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-3);padding:var(--space-2) var(--space-4);background:var(--color-bg-code);border:1px solid var(--color-border);border-radius:var(--radius-md);margin-bottom:var(--space-6);font-family:var(--font-mono);font-size:.72rem;color:var(--color-text-secondary)}.hero__telemetry-item{display:inline-flex;align-items:center;gap:var(--space-2)}.hero__telemetry-item strong{color:var(--color-text-primary);font-weight:var(--weight-semibold)}.hero__telemetry-sep{color:var(--color-border);-webkit-user-select:none;user-select:none}.ai-tools-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-6);margin-top:var(--space-8)}.ai-tool-card{background:var(--color-bg-card);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);padding:var(--space-6);transition:all var(--duration-normal) var(--ease-out);position:relative;overflow:hidden}.ai-tool-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--color-accent),transparent);opacity:0;transition:opacity var(--duration-normal)}.ai-tool-card:hover{border-color:var(--color-accent);transform:translateY(-3px);box-shadow:var(--shadow-lg)}.ai-tool-card:hover:before{opacity:1}.ai-tool-card__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-3)}.ai-tool-card__badge{font-family:var(--font-mono);font-size:.65rem;letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--color-accent);background:var(--color-accent-light);padding:2px 8px;border-radius:var(--radius-full)}.ai-tool-card__icon{width:38px;height:38px;border-radius:var(--radius-md);background:var(--color-bg-secondary);display:flex;align-items:center;justify-content:center;color:var(--color-accent);margin-bottom:var(--space-3)}.ai-tool-card__title{font-family:var(--font-heading);font-size:var(--text-base);font-weight:var(--weight-bold);color:var(--color-text-primary);margin-bottom:var(--space-2)}.ai-tool-card__desc{font-size:var(--text-xs);color:var(--color-text-secondary);line-height:var(--leading-relaxed);margin-bottom:var(--space-4)}.ai-tool-card__tags{display:flex;flex-wrap:wrap;gap:var(--space-1)}.ai-chat-launcher{position:fixed;bottom:var(--space-6);right:var(--space-6);z-index:var(--z-modal);display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);background:var(--color-text-primary);color:var(--color-text-inverse);border:1px solid var(--color-border);border-radius:var(--radius-full);box-shadow:var(--shadow-xl);font-family:var(--font-heading);font-size:var(--text-sm);font-weight:var(--weight-semibold);cursor:pointer;transition:transform var(--duration-fast) var(--ease-spring),box-shadow var(--duration-fast) var(--ease-out)}.ai-chat-launcher:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 12px 35px #00000040}.ai-chat-launcher__dot{width:8px;height:8px;background:#27c93f;border-radius:50%;box-shadow:0 0 8px #27c93f;animation:pulse-dot 1.5s infinite}.ai-chat-launcher svg{width:16px;height:16px;color:var(--color-accent)}.ai-chat-window{position:fixed;bottom:calc(var(--space-6) + 54px);right:var(--space-6);width:380px;max-width:calc(100vw - 32px);height:540px;max-height:calc(100vh - 120px);background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);z-index:var(--z-modal);display:flex;flex-direction:column;overflow:hidden;opacity:0;pointer-events:none;transform:translateY(16px) scale(.96);transition:opacity var(--duration-normal) var(--ease-out),transform var(--duration-normal) var(--ease-spring)}.ai-chat-window.open{opacity:1;pointer-events:auto;transform:translateY(0) scale(1)}.ai-chat-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border-light)}.ai-chat-header__profile{display:flex;align-items:center;gap:var(--space-3)}.ai-chat-header__avatar{width:32px;height:32px;border-radius:var(--radius-md);background:var(--color-accent);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--font-heading);font-weight:var(--weight-bold);font-size:var(--text-xs)}.ai-chat-header__info{display:flex;flex-direction:column}.ai-chat-header__name{font-family:var(--font-heading);font-size:var(--text-sm);font-weight:var(--weight-bold);color:var(--color-text-primary);line-height:1.2}.ai-chat-header__sub{font-family:var(--font-mono);font-size:.65rem;color:var(--color-success);display:flex;align-items:center;gap:4px}.ai-chat-header__actions{display:flex;gap:var(--space-1)}.ai-chat-header__btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);color:var(--color-text-tertiary);transition:all var(--duration-fast)}.ai-chat-header__btn:hover{background:var(--color-accent-light);color:var(--color-text-primary)}.ai-chat-header__btn svg{width:14px;height:14px}.ai-chat-body{flex:1;padding:var(--space-4);overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-3);font-size:var(--text-xs)}.ai-msg{display:flex;flex-direction:column;max-width:86%;animation:fadeIn .25s var(--ease-out)}.ai-msg--bot{align-self:flex-start;background:var(--color-bg-secondary);color:var(--color-text-primary);padding:var(--space-3);border-radius:var(--radius-lg) var(--radius-lg) var(--radius-lg) var(--radius-sm);border:1px solid var(--color-border-light);line-height:var(--leading-normal)}.ai-msg--user{align-self:flex-end;background:var(--color-accent);color:#fff;padding:var(--space-3);border-radius:var(--radius-lg) var(--radius-lg) var(--radius-sm) var(--radius-lg);line-height:var(--leading-normal)}.ai-msg__actions{display:flex;flex-wrap:wrap;gap:var(--space-1);margin-top:var(--space-2);padding-top:var(--space-2);border-top:1px dashed var(--color-border-light)}.ai-msg__action-btn{display:inline-flex;align-items:center;gap:4px;font-family:var(--font-mono);font-size:.65rem;padding:3px 8px;background:var(--color-bg-card);color:var(--color-accent);border:1px solid var(--color-accent-mid);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--duration-fast)}.ai-msg__action-btn:hover{background:var(--color-accent);color:#fff}.ai-chips{padding:var(--space-2) var(--space-4);display:flex;flex-wrap:wrap;gap:var(--space-1);border-top:1px solid var(--color-border-light);background:var(--color-bg-primary)}.ai-chip{font-family:var(--font-mono);font-size:.65rem;padding:3px 8px;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-full);color:var(--color-text-secondary);cursor:pointer;transition:all var(--duration-fast);white-space:nowrap}.ai-chip:hover{border-color:var(--color-accent);color:var(--color-accent);background:var(--color-accent-light)}.ai-chat-input-wrap{display:flex;align-items:center;padding:var(--space-2) var(--space-3);background:var(--color-bg-secondary);border-top:1px solid var(--color-border-light);gap:var(--space-2)}.ai-chat-input{flex:1;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);font-size:var(--text-xs);color:var(--color-text-primary);outline:none}.ai-chat-input:focus{border-color:var(--color-accent)}.ai-chat-send{width:32px;height:32px;background:var(--color-accent);color:#fff;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background var(--duration-fast);flex-shrink:0}.ai-chat-send:hover{background:var(--color-accent-hover)}.ai-chat-send svg{width:14px;height:14px}.ai-typing{display:inline-flex;gap:4px;padding:var(--space-2)}.ai-typing span{width:5px;height:5px;background:var(--color-text-tertiary);border-radius:50%;animation:typingBounce 1.2s infinite ease-in-out}.ai-typing span:nth-child(2){animation-delay:.2s}.ai-typing span:nth-child(3){animation-delay:.4s}@keyframes typingBounce{0%,80%,to{transform:translateY(0)}40%{transform:translateY(-5px)}}.cmd-palette-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:var(--z-modal);display:flex;align-items:flex-start;justify-content:center;padding-top:15vh;opacity:0;pointer-events:none;transition:opacity var(--duration-normal) var(--ease-out)}.cmd-palette-backdrop.open{opacity:1;pointer-events:auto}.cmd-palette{width:540px;max-width:calc(100vw - 32px);background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);overflow:hidden;transform:translateY(-8px) scale(.98);transition:transform var(--duration-normal) var(--ease-spring)}.cmd-palette-backdrop.open .cmd-palette{transform:translateY(0) scale(1)}.cmd-palette__input-wrap{display:flex;align-items:center;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border-light);gap:var(--space-3)}.cmd-palette__input-wrap svg{width:18px;height:18px;color:var(--color-accent)}.cmd-palette__input{flex:1;border:none;background:transparent;font-family:var(--font-body);font-size:var(--text-base);color:var(--color-text-primary);outline:none}.cmd-palette__kbd{font-family:var(--font-mono);font-size:.65rem;padding:2px 6px;background:var(--color-bg-secondary);border:1px solid var(--color-border-light);border-radius:4px;color:var(--color-text-tertiary)}.cmd-palette__list{max-height:320px;overflow-y:auto;padding:var(--space-2)}.cmd-palette__item{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--color-text-secondary);cursor:pointer;transition:all var(--duration-fast)}.cmd-palette__item:hover,.cmd-palette__item.selected{background:var(--color-accent-light);color:var(--color-text-primary)}.cmd-palette__item-label{display:flex;align-items:center;gap:var(--space-3)}.cmd-palette__item-label svg{width:16px;height:16px;color:var(--color-accent)}.hero__grid{display:grid;grid-template-columns:minmax(0,1fr) 290px;align-items:center;gap:var(--space-10)}.hero__content{min-width:0}.hero__avatar-wrap{position:relative;display:flex;justify-content:flex-end;width:100%}.hero__avatar-frame{position:relative;width:100%;max-width:280px;border-radius:var(--radius-xl);padding:10px;background:var(--color-bg-card);border:1px solid var(--color-border);box-shadow:var(--shadow-xl);display:flex;flex-direction:column;transition:transform var(--duration-normal) var(--ease-out),border-color var(--duration-normal),box-shadow var(--duration-normal)}.hero__avatar-frame:hover{border-color:var(--color-accent);transform:translateY(-4px);box-shadow:0 20px 40px #00000024}.hero__avatar-top-pill{position:absolute;top:18px;left:18px;z-index:2;background:#0f172ad9;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.18);padding:4px 10px;border-radius:var(--radius-full);display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:.7rem;font-weight:var(--weight-medium);color:#fff;box-shadow:0 4px 12px #00000040;pointer-events:none}.hero__avatar-img{width:100%;height:auto;aspect-ratio:1 / 1.08;object-fit:cover;border-radius:calc(var(--radius-xl) - 4px);display:block;background:var(--color-bg-secondary)}.hero__avatar-meta{padding:var(--space-3) var(--space-2) var(--space-1);display:flex;flex-direction:column;gap:6px}.hero__avatar-role{font-family:var(--font-heading);font-weight:var(--weight-bold);font-size:var(--text-sm);color:var(--color-text-primary);letter-spacing:var(--tracking-tight);white-space:nowrap}.hero__avatar-tags{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.hero__avatar-pill{font-family:var(--font-mono);font-size:.68rem;padding:2px 7px;border-radius:var(--radius-sm);background:var(--color-bg-secondary);border:1px solid var(--color-border-light);color:var(--color-text-secondary);font-weight:var(--weight-medium);white-space:nowrap}.hero__avatar-pill--accent{background:var(--color-accent-subtle);border-color:transparent;color:var(--color-accent);font-weight:var(--weight-semibold)}.hero__avatar-sub{font-size:.73rem;color:var(--color-text-tertiary);font-family:var(--font-body)}@media(max-width:860px){:root{--section-gap: var(--space-16)}#cmd-palette-trigger,.nav__status,.nav__actions .btn--secondary{display:none}.nav__hamburger{display:flex}.nav.menu-open{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background:var(--color-bg-primary)!important}.nav__links{display:none;position:fixed;top:var(--nav-height);left:0;right:0;bottom:0;width:100vw;height:calc(100vh - var(--nav-height));height:calc(100dvh - var(--nav-height));background-color:var(--color-bg-primary)!important;flex-direction:column;padding:var(--space-6) var(--space-6) var(--space-12);gap:var(--space-3);z-index:999999;border-top:1px solid var(--color-border);box-shadow:0 30px 60px #0006;overflow-y:auto;-webkit-overflow-scrolling:touch}.nav__links.open{display:flex!important}.nav__links .nav__link{font-size:var(--text-lg);font-weight:var(--weight-semibold);padding:var(--space-3) var(--space-4);color:var(--color-text-primary);background:var(--color-bg-secondary);border:1px solid var(--color-border-light);border-radius:var(--radius-md);display:block;text-align:left;transition:all var(--duration-fast)}.nav__links .nav__link:hover,.nav__links .nav__link.active{color:var(--color-accent);border-color:var(--color-accent);background:var(--color-accent-light)}.hero{min-height:auto;padding-top:calc(var(--nav-height) + var(--space-6));padding-bottom:var(--space-12)}.hero__grid{grid-template-columns:1fr;gap:var(--space-6)}.hero__avatar-wrap{order:-1;justify-content:center;width:100%;margin-bottom:var(--space-2)}.hero__avatar-frame{max-width:250px;margin-inline:auto}.hero__avatar-img{width:100%;height:auto;aspect-ratio:1 / 1.08}.hero__name{font-size:clamp(2rem,8vw,2.75rem);line-height:1.15;margin-bottom:var(--space-4)}.hero__tagline{font-size:var(--text-base);margin-bottom:var(--space-6)}.hero__telemetry{gap:var(--space-2);font-size:.68rem;padding:var(--space-2) var(--space-3);line-height:1.5}.hero__telemetry-sep{display:none}.hero__proof{gap:var(--space-2);margin-bottom:var(--space-6)}.hero__proof-item{font-size:var(--text-xs);padding:var(--space-1) var(--space-3)}.hero__actions{flex-direction:column;align-items:stretch;width:100%;gap:var(--space-3)}.hero__actions .btn{width:100%;justify-content:center}.exp-card{grid-template-columns:1fr;gap:var(--space-4)}.exp-card__meta{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-2) var(--space-4);padding-bottom:var(--space-3);border-bottom:1px solid var(--color-border-light)}.project-card,.card{padding:var(--space-5)}.skills__grid{grid-template-columns:1fr 1fr}.education__grid,.footer__grid{grid-template-columns:1fr}.footer__bottom{flex-direction:column;text-align:center;gap:var(--space-2)}}@media(max-width:640px){:root{--section-gap: var(--space-12)}.container{padding-inline:var(--space-4)}.section__title{font-size:var(--text-xl)}.footer__heading{font-size:var(--text-2xl)}}@media(max-width:420px){.hero__name{font-size:var(--text-2xl)}.hero__avatar-frame{max-width:220px}.hero__avatar-top-pill{top:14px;left:14px;font-size:.65rem;padding:3px 8px}.skills__grid{grid-template-columns:1fr}.skills__tabs{gap:var(--space-1)}.skills__tab{font-size:var(--text-xs);padding:var(--space-1) var(--space-3)}}@media(min-width:1400px){.hero__name{font-size:3.75rem}.container{padding-inline:var(--space-8)}}
