*,:after,:before{box-sizing:border-box}*{-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}html{scroll-padding-top:80px}a[href],button{transition:transform .2s cubic-bezier(.4,0,.2,1),opacity .2s ease,background-color .2s ease,box-shadow .2s ease}a[href]:active,button:active{transform:scale(.96);transition-duration:.1s}input,select,textarea{transition:border-color .2s ease,box-shadow .2s ease}@media (max-width:768px){a[href],button{min-height:44px}}[data-theme=dark] ::selection{background-color:#BCA88D!important;color:#3E3F29!important}[data-theme=dark] ::-moz-selection{background-color:#BCA88D!important;color:#3E3F29!important}[data-theme=light] ::selection{background-color:#3E3F29!important;color:#BCA88D!important}[data-theme=light] ::-moz-selection{background-color:#3E3F29!important;color:#BCA88D!important}code,h1,h2,h3,h4,h5,h6,input,p,pre,span,textarea{-webkit-user-select:text;-moz-user-select:text;user-select:text}[data-cursor-interactive],[data-radix-toggle-group-item],[role=button],a,button{cursor:pointer}[data-cursor-interactive]:hover,[role=button]:hover,a:hover,button:hover{opacity:.9}[role=button]:focus,a:focus,button:focus{outline:2px solid var(--brand-alpha-strong);outline-offset:2px;border-radius:4px}html{text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth}body{-webkit-overflow-scrolling:touch;overflow-x:hidden;background-color:var(--page-background,#0b0b0f);transition:background-color .2s ease,color .2s ease}:root{color-scheme:light dark}@media (prefers-reduced-motion:reduce){body{transition:none}}:focus-visible{outline:2px solid var(--brand-alpha-strong);outline-offset:2px;border-radius:4px}::selection{background:var(--brand-alpha-weak);color:var(--brand-on-background-strong)}[data-radix-popper-content-wrapper],[data-radix-tooltip-content],[role=dialog],[role=menu]{transform:translateZ(0);will-change:transform,opacity}img{height:auto;max-width:100%}:root{--cursor-update-interval:8ms;--cursor-smoothing:0;--tech-tooltip-bg:rgba(18,24,40,0.92);--tech-tooltip-text:#f8fafc;--tech-tooltip-border:rgba(255,255,255,0.12);--tech-tooltip-shadow:0 12px 30px rgba(0,0,0,0.35)}html[data-theme=light]{--tech-tooltip-bg:rgba(255,255,255,0.95);--tech-tooltip-text:#0f172a;--tech-tooltip-border:rgba(0,0,0,0.08);--tech-tooltip-shadow:0 10px 24px rgba(15,23,42,0.18)}header div[data-background],header div[data-border],header div[data-radius],header div[data-shadow],header>div>div>div{padding:4px 8px!important;border-radius:12px!important;background:var(--neutral-alpha-weak,rgba(255,255,255,.15))!important;backdrop-filter:blur(14px) saturate(120%);-webkit-backdrop-filter:blur(14px) saturate(120%);border:none!important;box-shadow:0 3px 8px rgba(0,0,0,.08),0 1px 3px rgba(0,0,0,.06)!important;transition:background-color .14s ease,box-shadow .14s ease!important;will-change:background-color,border-color,box-shadow;transform:translateZ(0)}header div[data-background]:hover,header div[data-border]:hover,header div[data-radius]:hover,header div[data-shadow]:hover,header>div>div>div:hover{background:var(--neutral-alpha-weak,rgba(255,255,255,.18))!important;box-shadow:0 4px 10px rgba(0,0,0,.08)!important}header{background:transparent!important;padding:8px!important;border:none!important}header [data-radix-toggle-group-item],header a.radius-m,header button.radius-m{border-radius:12px!important;transition:all .25s cubic-bezier(.34,1.56,.64,1)!important;will-change:background-color,box-shadow,transform;position:relative}header [data-radix-toggle-group-item][data-state=on],header a.radius-m[aria-current=page],header button.radius-m[aria-current=page]{background:rgba(255,255,255,.65)!important;-webkit-backdrop-filter:blur(24px) saturate(150%)!important;backdrop-filter:blur(24px) saturate(150%)!important;box-shadow:0 4px 12px rgba(0,0,0,.12),0 2px 4px rgba(0,0,0,.08),inset 0 1px 0 rgba(255,255,255,.4)!important;transform:none!important;border-radius:12px!important}header [data-radix-toggle-group-item][data-state=on]:after{content:"";position:absolute;bottom:-8px;left:50%;transform:translateX(-50%);width:4px;height:4px;border-radius:50%;background:currentColor;opacity:.8;animation:dotPulse 2s ease-in-out infinite}@keyframes dotPulse{0%,to{opacity:.8;transform:translateX(-50%) scale(1)}50%{opacity:1;transform:translateX(-50%) scale(1.2)}}html[data-theme=light] header [data-radix-toggle-group-item][data-state=on]{background:rgba(0,0,0,.1)!important;box-shadow:0 4px 12px rgba(0,0,0,.08),0 2px 4px rgba(0,0,0,.05),inset 0 1px 0 rgba(255,255,255,.6)!important}@media (hover:hover) and (pointer:fine){header [data-radix-toggle-group-item]:hover{background:rgba(255,255,255,.2)!important;transform:none!important;box-shadow:none!important}header [data-radix-toggle-group-item][data-state=on]:hover{background:rgba(255,255,255,.75)!important;transform:none!important;box-shadow:none!important}html[data-theme=light] header [data-radix-toggle-group-item][data-state=on]:hover{background:rgba(0,0,0,.14)!important}}header [data-theme-toggle]{padding:4px!important;border-radius:8px!important;transition:none!important;will-change:background-color;transform:translateZ(0)}header [data-theme-toggle]:hover{background:var(--brand-alpha-weak,rgba(59,130,246,.08))!important}header [data-line]{background:var(--neutral-alpha-medium,rgba(255,255,255,.15))!important;opacity:.4!important}html[data-theme=dark] header div[data-background],html[data-theme=dark] header div[data-border],html[data-theme=dark] header div[data-radius],html[data-theme=dark] header div[data-shadow],html[data-theme=dark] header>div>div>div{background:rgba(255,255,255,.08)!important;border:none!important;-webkit-backdrop-filter:blur(24px)!important;backdrop-filter:blur(24px)!important;box-shadow:0 4px 16px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.15)!important}html[data-theme=dark] header div[data-background]:hover,html[data-theme=dark] header div[data-border]:hover,html[data-theme=dark] header div[data-radius]:hover,html[data-theme=dark] header div[data-shadow]:hover,html[data-theme=dark] header>div>div>div:hover{background:rgba(255,255,255,.12)!important;transform:translateY(-1px);transition:all .18s cubic-bezier(.4,0,.2,1)}header [data-radix-toggle-group-item]:active,header button:active{transform:none!important;transition-duration:.1s!important}@media (max-width:768px){header div[data-background],header div[data-border],header div[data-radius],header div[data-shadow],header>div>div>div{padding:4px 8px!important;border-radius:12px!important}header [data-radix-toggle-group-item]{padding:6px 14px!important;border-radius:12px!important;transform:none!important;transition:background-color .2s ease,color .2s ease,box-shadow .2s ease;box-shadow:none!important;background:rgba(255,255,255,.08)!important;color:inherit!important}html[data-theme=light] header [data-radix-toggle-group-item]{background:rgba(0,0,0,.06)!important}header [data-radix-toggle-group-item]:active,header [data-radix-toggle-group-item]:hover,header [data-radix-toggle-group-item][data-state=on],header [data-radix-toggle-group-item][data-state=on]:active,header [data-radix-toggle-group-item][data-state=on]:hover{transform:none!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.2)!important;background:rgba(255,255,255,.18)!important;color:var(--brand-on-background-strong,#fff)!important}html[data-theme=light] header [data-radix-toggle-group-item]:active,html[data-theme=light] header [data-radix-toggle-group-item]:hover,html[data-theme=light] header [data-radix-toggle-group-item][data-state=on],html[data-theme=light] header [data-radix-toggle-group-item][data-state=on]:active,html[data-theme=light] header [data-radix-toggle-group-item][data-state=on]:hover{background:rgba(0,0,0,.14)!important;color:var(--neutral-on-background-strong,#0f172a)!important;box-shadow:inset 0 0 0 1px rgba(0,0,0,.08)!important}header [data-theme-toggle]{padding:6px!important;border-radius:12px!important}}@keyframes navSlideIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:no-preference){header div[data-background],header div[data-border],header div[data-radius],header div[data-shadow],header>div>div>div{animation:navSlideIn .6s cubic-bezier(.34,1.56,.64,1)}}@media (hover:hover) and (pointer:fine){header>div{transition:background-color .2s ease}header:hover>div{transform:none}}[data-cursor-interactive]:hover{background:var(--brand-alpha-medium,rgba(59,130,246,.15))!important;transition:background-color .12s ease,transform .12s ease;transform:scale(.98);box-shadow:0 8px 28px rgba(17,24,39,.12),0 2px 6px rgba(17,24,39,.08)}[data-theme=light] [data-cursor-interactive]:hover{background:rgba(59,130,246,.2)!important}[data-cursor-interactive]:hover:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at var(--cursor-x,50%) var(--cursor-y,50%),rgba(59,130,246,.14) 0,rgba(59,130,246,.09) 26%,rgba(139,92,246,.08) 52%,transparent 70%);pointer-events:none;border-radius:inherit;z-index:-1;mix-blend-mode:screen;filter:blur(4px)}.Mask_mask__5dDBu{background:radial-gradient(circle at 30% 30%,rgba(59,130,246,.22),transparent 60%),radial-gradient(circle at 70% 70%,rgba(139,92,246,.18),transparent 55%)!important}[data-theme=light] .Mask_mask__5dDBu{background:radial-gradient(circle at 30% 30%,rgba(59,130,246,.24),transparent 60%),radial-gradient(circle at 70% 70%,rgba(139,92,246,.18),transparent 55%)!important}:root{transition:background-color .3s cubic-bezier(.4,0,.2,1),color .3s cubic-bezier(.4,0,.2,1);will-change:background-color,color}@supports (view-transition-name:root){::view-transition-new(root),::view-transition-old(root){animation-duration:.35s;animation-timing-function:cubic-bezier(.4,0,.2,1)}::view-transition-old(root){animation-name:theme-fade-out}::view-transition-new(root){animation-name:theme-fade-in}}@keyframes theme-fade-out{0%{opacity:1}to{opacity:0}}@keyframes theme-fade-in{0%{opacity:0}to{opacity:1}}.theme-transitioning,.theme-transitioning *{transition:background-color .3s cubic-bezier(.4,0,.2,1),color .3s cubic-bezier(.4,0,.2,1),border-color .3s cubic-bezier(.4,0,.2,1),fill .3s cubic-bezier(.4,0,.2,1),stroke .3s cubic-bezier(.4,0,.2,1)!important;will-change:background-color,color,border-color}html.theme-transitioning{overflow-x:hidden}.theme-transitioning{contain:layout style paint}.tech-pill-row{align-items:center;gap:8px;column-gap:10px}.tech-line{line-height:1.6}.tech-line__text{display:inline-flex;align-items:center;gap:8px 10px;flex-wrap:wrap;max-width:100%}.tech-pill{padding:2px 6px;background:linear-gradient(135deg,rgba(255,255,255,.05),rgba(255,255,255,.015));border:1px solid var(--neutral-alpha-medium,rgba(255,255,255,.16));border-radius:999px;box-shadow:0 3px 10px var(--neutral-alpha-weak);color:var(--neutral-on-background-strong);font-size:var(--text-size-label-xs);line-height:1.1;transition:transform .12s ease,border-color .12s ease,box-shadow .12s ease,background-color .12s ease}.tech-pill--inline{display:inline-flex;align-items:center;gap:6px}.tech-pill:hover{transform:translateY(-1px);border-color:var(--brand-alpha-strong);box-shadow:0 6px 14px var(--brand-alpha-weak);background:linear-gradient(135deg,rgba(255,255,255,.1),rgba(255,255,255,.035))}.tech-pill__label{font-weight:600;letter-spacing:.01em}.tech-pill--icon-only{padding:6px;min-width:36px;min-height:36px;display:inline-flex;align-items:center;justify-content:center;position:relative}.avatar-wrapper{position:relative;display:inline-block;overflow:visible}.avatar-dual{display:grid;width:160px;height:160px;overflow:hidden;background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.4),rgba(226,232,240,.6))}.avatar-dual,.avatar-dual .avatar-img{position:relative;border-radius:50%;box-shadow:0 10px 24px rgba(0,0,0,.14),0 2px 6px rgba(0,0,0,.1)}.avatar-dual .avatar-img{grid-area:1/1;width:100%;height:100%;object-fit:cover;display:block;opacity:1;transition:opacity .2s ease,transform .2s ease;will-change:opacity,filter,transform;background:radial-gradient(circle at 50% 50%,rgba(255,255,255,.65),rgba(226,232,240,.75))}.avatar-dual .avatar-img--dark,html[data-theme=dark] .avatar-dual .avatar-img--light{opacity:0}html[data-theme=dark] .avatar-dual .avatar-img--dark,html[data-theme=light] .avatar-dual .avatar-img--light{opacity:1}html[data-theme=light] .avatar-dual .avatar-img--dark{opacity:0}@media (prefers-color-scheme:dark){.avatar-dual .avatar-img--light{opacity:0}.avatar-dual .avatar-img--dark{opacity:1}}@media (prefers-color-scheme:light){.avatar-dual .avatar-img--light{opacity:1}.avatar-dual .avatar-img--dark{opacity:0}}.waka-inline{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}:root{--waka-dot-right:542px;--waka-dot-bottom:11px}.waka-badge-anchor{bottom:var(--waka-dot-bottom)!important;right:var(--waka-dot-right)!important;transform:translate(50%,50%)!important;width:18px;height:18px;pointer-events:auto}.waka-badge,.waka-badge-anchor{position:absolute;display:inline-flex;align-items:center;justify-content:center}.waka-badge{inset:0;transform:translate(-50%,-50%);width:14px;height:14px;border-radius:50%;background:rgba(0,0,0,.55);border:1px solid rgba(255,255,255,.12);box-shadow:0 6px 14px rgba(0,0,0,.35);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.avatar-wrapper .waka-inline{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;pointer-events:none!important}.avatar-wrapper .waka-badge-anchor{position:absolute!important;transform:translate(50%,50%)!important;width:18px!important;height:18px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;pointer-events:auto!important}.avatar-wrapper .waka-badge{position:absolute!important;inset:0!important;transform:translate(-50%,-50%)!important;width:14px!important;height:14px!important}.avatar-wrapper .waka-badge-anchor{right:var(--waka-dot-right)!important;bottom:var(--waka-dot-bottom)!important}.waka-label{font-weight:600;letter-spacing:.01em}@media (max-width:768px){.waka-tooltip{bottom:64px;right:8px;left:auto;transform:translateY(8px);max-width:min(260px,90vw);width:max-content}.waka-tooltip--open{transform:translate(0)}}:root{--waka-tooltip-bg:linear-gradient(135deg,var(--brand-alpha-weak,rgba(186,194,208,0.12)) 0%,var(--accent-alpha-weak,rgba(139,92,246,0.12)) 100%);--waka-tooltip-border:var(--brand-alpha-medium,rgba(59,130,246,0.24));--waka-tooltip-shadow:0 12px 26px rgba(0,0,0,0.18),inset 0 1px 0 rgba(255,255,255,0.08);--waka-tooltip-text:var(--neutral-on-background-strong,#f8fafc);--waka-tooltip-subtext:var(--neutral-on-background-medium,rgba(203,213,225,0.85))}.waka-tooltip{position:absolute;bottom:10px;right:-260px;min-width:200px;max-width:240px;padding:14px 16px;border-radius:14px;background:var(--waka-tooltip-bg);color:var(--waka-tooltip-text);border:1px solid var(--waka-tooltip-border);box-shadow:var(--waka-tooltip-shadow);-webkit-backdrop-filter:blur(16px) saturate(150%);backdrop-filter:blur(16px) saturate(150%);opacity:0;transform:translateY(8px);pointer-events:none;transition:opacity .14s ease,transform .14s ease}[data-radix-tooltip-content],[data-radix-tooltip-content] *{color:var(--waka-tooltip-text)!important;background:var(--waka-tooltip-bg)!important;border:1px solid var(--waka-tooltip-border)!important;box-shadow:var(--waka-tooltip-shadow)!important;-webkit-backdrop-filter:blur(16px) saturate(150%)!important;backdrop-filter:blur(16px) saturate(150%)!important}.waka-tooltip--open{opacity:1;transform:translateY(0);pointer-events:auto}.waka-tooltip__status{display:flex;align-items:center;gap:8px;flex-wrap:nowrap;font-weight:600;margin-bottom:8px}.waka-tooltip__meta{font-size:var(--text-size-label-m);color:var(--waka-tooltip-subtext)}.waka-tooltip__status .waka-dot--off+.waka-status-text{color:#ef4444;text-shadow:0 0 12px rgba(239,68,68,.45);animation:waka-off-text 1.8s ease-in-out infinite}.waka-tooltip__status .waka-dot--off+.waka-status-text:after{content:" · Taking a coding break";color:inherit;opacity:.9}.waka-editor,.waka-status-text{white-space:nowrap}.waka-editor{display:inline-flex;align-items:center;gap:6px}.waka-editor__icon{width:16px;height:16px;object-fit:contain}.waka-editor__label{white-space:nowrap}.waka-dot{width:10px;height:10px;border-radius:50%;display:inline-flex;box-shadow:0 0 0 0 rgba(0,0,0,.2);animation:waka-pulse 1.8s ease-in-out infinite}.waka-dot--on{background:#22c55e;box-shadow:0 0 0 0 rgba(34,197,94,.4)}.waka-dot--off{background:#ef4444;box-shadow:0 0 0 0 rgba(239,68,68,.3);animation:waka-off-dot 1.8s ease-in-out infinite}@keyframes waka-pulse{0%{transform:scale(.95);box-shadow:0 0 0 0 rgba(34,197,94,.4)}70%{transform:scale(1);box-shadow:0 0 0 12px rgba(34,197,94,0)}to{transform:scale(.95);box-shadow:0 0 0 0 rgba(34,197,94,0)}}@keyframes waka-off-dot{0%,to{transform:scale(.95);box-shadow:0 0 0 0 rgba(239,68,68,.4)}60%{transform:scale(1.05);box-shadow:0 0 0 10px rgba(239,68,68,0)}}@keyframes waka-off-text{0%,to{opacity:.8}50%{opacity:1}}@media (prefers-color-scheme:light){:root{--waka-tooltip-bg:linear-gradient(135deg,rgba(59,130,246,0.06),rgba(139,92,246,0.06));--waka-tooltip-border:rgba(59,130,246,0.18);--waka-tooltip-shadow:0 12px 22px rgba(15,23,42,0.14),inset 0 1px 0 rgba(255,255,255,0.65);--waka-tooltip-text:var(--neutral-on-background-strong,#0f172a);--waka-tooltip-subtext:var(--neutral-on-background-medium,rgba(15,23,42,0.72))}.waka-editor,.waka-editor__label,.waka-status-text,.waka-tooltip__status{font-weight:700}.waka-tooltip__meta{color:var(--waka-tooltip-subtext)!important}.waka-dot--on{background:#1db954;box-shadow:0 0 0 0 rgba(29,185,84,.32)}.waka-dot--off{background:#4b5563;box-shadow:0 0 0 0 rgba(75,85,99,.28)}}html[data-theme=light]{--waka-tooltip-bg:linear-gradient(135deg,rgba(59,130,246,0.06),rgba(139,92,246,0.06));--waka-tooltip-border:rgba(59,130,246,0.18);--waka-tooltip-shadow:0 12px 22px rgba(15,23,42,0.14),inset 0 1px 0 rgba(255,255,255,0.65);--waka-tooltip-text:var(--neutral-on-background-strong,#0f172a);--waka-tooltip-subtext:var(--neutral-on-background-medium,rgba(15,23,42,0.72))}html[data-theme=light] .waka-tooltip{background:var(--waka-tooltip-bg);color:var(--waka-tooltip-text);border:1px solid var(--waka-tooltip-border);box-shadow:var(--waka-tooltip-shadow);-webkit-backdrop-filter:blur(16px) saturate(150%);backdrop-filter:blur(16px) saturate(150%)}html[data-theme=light] .waka-tooltip,html[data-theme=light] .waka-tooltip *{color:var(--waka-tooltip-text)!important}html[data-theme=light] [data-radix-tooltip-content],html[data-theme=light] [data-radix-tooltip-content] *{color:var(--waka-tooltip-text)!important;background:var(--waka-tooltip-bg)!important;border:1px solid var(--waka-tooltip-border)!important;box-shadow:var(--waka-tooltip-shadow)!important;-webkit-backdrop-filter:blur(16px) saturate(150%)!important;backdrop-filter:blur(16px) saturate(150%)!important}html[data-theme=light] .waka-editor,html[data-theme=light] .waka-editor__label,html[data-theme=light] .waka-status-text,html[data-theme=light] .waka-tooltip__status{font-weight:700}html[data-theme=light] .waka-tooltip__meta{color:var(--waka-tooltip-subtext)!important}html[data-theme=light] .waka-dot--on{background:#22c55e;box-shadow:0 0 0 0 rgba(34,197,94,.28)}html[data-theme=light] .waka-dot--off{background:#ef4444;box-shadow:0 0 0 0 rgba(239,68,68,.28)}@media (max-width:720px){.tech-line__text{flex-wrap:wrap}}.project-section{padding:20px;border:none;box-shadow:none}.project-grid{grid-template-columns:repeat(auto-fit,minmax(360px,1fr));margin-top:12px}@media (min-width:960px){.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.project-card{background:rgba(255,255,255,.04);transition:transform .16s ease,box-shadow .16s ease}.project-card:hover{transform:translateY(-3px);box-shadow:0 22px 48px rgba(0,0,0,.32)}.project-card__media{position:relative;border-bottom:1px solid rgba(255,255,255,.06)}.project-card__media .project-card__media-el,.project-card__media img,.project-card__media video{width:100%;height:210px;object-fit:cover;display:block}.project-card__media-fallback{display:grid;place-items:center;height:210px;background:rgba(59,130,246,.12)}.project-card__gradient{display:none}.project-card__body{padding:16px}.project-footer{gap:10px}.project-card__links a{background:rgba(255,255,255,.06);border-radius:10px;padding:4px;border:1px solid rgba(255,255,255,.12)}.project-card__links a:hover{background:rgba(255,255,255,.14)}.experience-tech-row,.project-tech-row{font-size:13px;color:var(--neutral-on-background-weak,#cbd5e1)}.tech-chip{border-radius:10px;background:rgba(255,255,255,.06)}.project-cta{margin-left:auto}html[data-theme=light] .project-section{background:transparent;border:none;box-shadow:none}html[data-theme=light] .project-card{display:flex;flex-direction:column}html[data-theme=light] .project-card__links a{background:rgba(0,0,0,.04);border:1px solid rgba(0,0,0,.08)}html[data-theme=light] .experience-tech-row,html[data-theme=light] .project-tech-row{color:#475569}html[data-theme=light] .tech-chip{border:1px solid rgba(0,0,0,.08);color:#0f172a}html[data-theme=light] .project-status{background:rgba(22,163,74,.12);border-color:rgba(22,163,74,.3);color:#14532d}html[data-theme=light] .project-status--warn{background:rgba(234,179,8,.16);border-color:rgba(234,179,8,.35);color:#92400e}html[data-theme=light] .project-status--info{background:rgba(59,130,246,.16);border-color:rgba(59,130,246,.35);color:#1d4ed8}.experience-section{padding:0;border-radius:0;border:none;background:transparent;box-shadow:none}.experience-card{display:flex;flex-direction:column;gap:12px;padding:14px;border-radius:12px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.03)}.experience-pill{border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.08)}.experience-pill--ghost{background:rgba(148,163,184,.14);border-color:rgba(148,163,184,.28)}.experience-status{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:10px;border:1px solid rgba(34,197,94,.35);background:rgba(34,197,94,.14);color:#bbf7d0;font-size:12px}.experience-status-dot{width:8px;height:8px;border-radius:50%;background:#22c55e}.experience-list{margin-left:0;padding-left:18px}.experience-list li{position:relative;list-style:none}.experience-list li:before{content:"•";position:absolute;left:-14px;color:var(--brand-alpha-strong,#60a5fa)}html[data-theme=light] .experience-section{border:none;background:transparent;box-shadow:none}html[data-theme=light] .experience-card{border:1px solid rgba(0,0,0,.08);background:rgba(255,255,255,.95)}html[data-theme=light] .experience-pill{border:1px solid rgba(0,0,0,.08);color:#0f172a}html[data-theme=light] .experience-pill--ghost{background:rgba(148,163,184,.16);border-color:rgba(148,163,184,.28)}html[data-theme=light] .experience-status{background:rgba(22,163,74,.12);border-color:rgba(22,163,74,.3);color:#14532d}.project-card{border-radius:16px;background:rgba(14,18,28,.92);overflow:hidden;box-shadow:0 16px 32px rgba(0,0,0,.26)}.project-card__body{flex:1 1;display:flex;flex-direction:column;gap:12px}.project-card__links .icon-button,.project-card__links a{width:36px;height:36px;border:1px solid rgba(255,255,255,.18)}.project-status{gap:8px;padding:6px 10px;font-size:12px}.project-status-dot{width:8px;height:8px;border-radius:50%;background:#22c55e}html[data-theme=light] .project-card{background:#ffffff;border:1px solid rgba(0,0,0,.08);box-shadow:0 14px 30px rgba(0,0,0,.12)}.project-section{padding:12px;border-radius:18px;background:transparent}.project-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));grid-gap:18px;gap:18px;width:100%}.project-card{display:flex;flex-direction:column;gap:14px;padding:22px;min-height:340px;border-radius:18px;border:1px solid rgba(255,255,255,.12);background:rgba(14,20,32,.55);box-shadow:0 20px 42px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.05);content-visibility:auto;contain-intrinsic-size:340px}.project-card,html[data-theme=light] .project-card{backdrop-filter:blur(16px) saturate(140%);-webkit-backdrop-filter:blur(16px) saturate(140%)}html[data-theme=light] .project-card{background:rgba(255,255,255,.72);border:1px solid rgba(0,0,0,.06);box-shadow:0 18px 28px rgba(0,0,0,.08),inset 0 1px 0 rgba(255,255,255,.5)}.project-card__media{border-radius:14px;overflow:hidden}.project-card__links{display:inline-flex;gap:10px;justify-content:flex-end}.project-card__links .icon-button,.project-card__links a{width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.06);flex-wrap:nowrap}html[data-theme=light] .project-card__links .icon-button,html[data-theme=light] .project-card__links a{border:1px solid rgba(0,0,0,.1);background:rgba(0,0,0,.04)}.project-card__links--tight{gap:6px}.project-tech-row{display:flex;flex-wrap:wrap;gap:8px;padding-bottom:6px}.tech-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:12px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.05);font-size:12px}html[data-theme=light] .tech-chip{border-color:rgba(0,0,0,.12);background:rgba(0,0,0,.04)}.tech-chip__icon{width:20px;height:20px;object-fit:contain;display:block}.tech-chip__letter{font-weight:700;font-size:13px}.tech-chip--icon-only{padding:8px;min-width:38px;min-height:38px;justify-content:center;position:relative}@media (hover:hover) and (pointer:fine){.tech-chip--icon-only:after,.tech-pill--icon-only:after{content:attr(data-label);position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%);white-space:nowrap;background:var(--tech-tooltip-bg);color:var(--tech-tooltip-text);padding:6px 10px;border-radius:8px;font-size:12px;letter-spacing:.01em;opacity:0;pointer-events:none;transition:opacity .12s ease,transform .12s ease;box-shadow:var(--tech-tooltip-shadow);border:1px solid var(--tech-tooltip-border);z-index:3}.tech-chip--icon-only:focus-visible:after,.tech-chip--icon-only:hover:after,.tech-pill--icon-only:focus-visible:after,.tech-pill--icon-only:hover:after{opacity:1;transform:translate(-50%,-2px)}}@media (max-width:640px){.project-card{padding:16px;gap:12px}.project-card__header{flex-direction:column;align-items:flex-start;gap:10px}.project-card__links{width:100%;justify-content:flex-start;gap:10px}.project-tech-row{gap:10px}.project-footer{flex-direction:column;align-items:flex-start;gap:10px}.project-footer__cta{margin-left:0;width:100%}.experience-card__header{flex-direction:column;align-items:flex-start;gap:10px}.experience-card__meta{justify-content:flex-start;width:100%;gap:10px}}.project-card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.project-card__links{display:flex;flex-direction:row;align-items:center;gap:8px;margin-left:auto;flex-wrap:nowrap;flex-shrink:0}@media (max-width:720px){.project-card__header{align-items:flex-start;flex-wrap:wrap}.project-card__links{margin-left:auto}}@media (max-width:600px){.project-card__header{flex-direction:row;align-items:flex-start;flex-wrap:wrap;gap:8px}.project-card__links{margin-left:auto;gap:8px}}.project-status{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:10px;border:1px solid rgba(34,197,94,.35);background:rgba(34,197,94,.14);color:#bbf7d0;font-size:11.5px}.project-status-dot,.project-status__dot{display:inline-block;width:10px;height:10px;min-width:10px;min-height:10px;flex-shrink:0;aspect-ratio:1/1;border-radius:50%;background:currentColor}.project-status--warn{border-color:rgba(234,179,8,.4);background:rgba(234,179,8,.16);color:#fef3c7}.project-status--info{border-color:rgba(59,130,246,.4);background:rgba(59,130,246,.16);color:#dbeafe}.project-footer{display:flex;align-items:center;gap:12px;flex-wrap:nowrap;margin-top:auto;padding-top:4px}.project-footer__cta{margin-left:auto}.experience-card-shell{border:1px solid rgba(255,255,255,.12);background:rgba(14,20,32,.55);border-radius:18px;box-shadow:0 20px 42px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.05);content-visibility:auto;contain-intrinsic-size:260px}.experience-card-shell,html[data-theme=light] .experience-card-shell{backdrop-filter:blur(16px) saturate(140%);-webkit-backdrop-filter:blur(16px) saturate(140%)}html[data-theme=light] .experience-card-shell{background:rgba(255,255,255,.72);border:1px solid rgba(0,0,0,.06);box-shadow:0 18px 28px rgba(0,0,0,.08),inset 0 1px 0 rgba(255,255,255,.5)}.experience-card__header{gap:8px}.experience-card__meta{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.experience-pill{padding:6px 10px;border-radius:10px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.06);font-size:12px}html[data-theme=light] .experience-pill{background:rgba(0,0,0,.04);border-color:rgba(0,0,0,.12)}.experience-pill--muted{opacity:.85}.experience-tech-row{display:flex;flex-wrap:wrap;gap:8px}@media (max-width:720px){.project-card__links{width:100%;justify-content:flex-start}.project-footer{align-items:flex-start;flex-direction:column}}@media (max-width:600px){.project-section{padding:10px}.project-grid{grid-template-columns:1fr;gap:14px}.project-card{padding:18px;min-height:auto;box-shadow:0 6px 12px rgba(0,0,0,.18);backdrop-filter:none;-webkit-backdrop-filter:none;border-color:rgba(255,255,255,.08)}.project-card__links{gap:6px}.tech-chip{padding:6px 9px;gap:6px;font-size:12px}.project-status{padding:4px 10px;font-size:11px}.experience-card-shell{padding:14px;box-shadow:0 6px 12px rgba(0,0,0,.18);backdrop-filter:none;-webkit-backdrop-filter:none;border-color:rgba(255,255,255,.08)}.experience-card__meta{justify-content:flex-start}}[class*=techSliderReverse],[class*=techSlider]{padding-bottom:6px}[class*=techBubble]{padding-top:8px;padding-bottom:8px;align-items:center}.typing-mobile{display:none;color:var(--neutral-on-background-weak,#6b7280)}@media (max-width:720px){.typing-desktop{display:none}.typing-mobile{display:inline}}