.hero-section{--bento-gap: 1.25rem;--bento-inner: 1.25rem;--bento-inner-lg: 1.5rem;--ease-apple: cubic-bezier(.25, .46, .45, .94);--ease-apple-smooth: cubic-bezier(.4, 0, .2, 1);--delay-identity: 0;--delay-insight: 160;--delay-blog-graph: 240;--delay-contact: 280;--status-indicator-color: var(--additive, hsl(142 50% 45%));--touch-target-min: 2.75rem;--hero-photo-size: clamp(240px, 55vw, 340px);--hero-photo-fade-overlap: 2.5rem}@media(min-width:768px){.hero-section{--bento-gap: 1.75rem}}.bento-grid{display:grid;gap:var(--bento-gap);grid-template-columns:1fr}.bento-hero{--delay: var(--delay-identity)}.bento-insight{--delay: var(--delay-insight)}.bento-blog-graph{--delay: var(--delay-blog-graph);display:none}.bento-contact{--delay: var(--delay-contact)}@media(min-width:580px){.bento-grid{grid-template-columns:2fr 1fr;grid-template-rows:auto auto 13rem}.bento-hero{grid-column:1 / 3;grid-row:1}.bento-insight{grid-column:1 / 3;grid-row:2}.bento-blog-graph{grid-column:1;grid-row:3;display:flex;overflow:hidden}.bento-contact{grid-column:2;grid-row:3}}.bento-card{position:relative;padding:var(--bento-inner);border-radius:16px;border:1px solid color-mix(in srgb,var(--border) 80%,transparent);background:color-mix(in srgb,var(--background) 95%,var(--muted) 5%);box-shadow:0 2px 8px #0000000f,0 1px 2px #0000000a;transition:box-shadow .3s var(--ease-apple),border-color .25s var(--ease-apple),transform .3s var(--ease-apple),background .3s var(--ease-apple)}@media(hover:hover)and (pointer:fine){.bento-card:not(.bento-hero):before{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(550px circle at var(--spotlight-x, -999px) var(--spotlight-y, -999px),color-mix(in srgb,var(--primary) 9%,transparent),transparent 70%);pointer-events:none;z-index:1;opacity:0;transition:opacity .4s var(--ease-apple)}.bento-card:not(.bento-hero):hover:before{opacity:1}}.bento-hero{padding:0;overflow:hidden;display:flex;flex-direction:column}.bento-hero__photo{position:relative;width:100%;height:var(--hero-photo-size);flex-shrink:0;overflow:hidden}.bento-hero__photo .hero-img-inner{position:relative;z-index:1;width:100%;height:100%}.bento-hero__photo .hero-img-frame{position:absolute;left:6%;top:8%;width:90%;height:90%}.bento-hero__photo .hero-img-frame img{width:100%;height:100%}@media(max-width:639px){.bento-hero__photo{mask-image:linear-gradient(to bottom,black 45%,transparent 95%);-webkit-mask-image:linear-gradient(to bottom,black 45%,transparent 95%);margin-bottom:calc(var(--hero-photo-fade-overlap) * -1)}.bento-hero__identity{padding-top:calc(var(--bento-inner-lg) + var(--hero-photo-fade-overlap) + 1rem)}}.bento-hero__identity{padding:var(--bento-inner-lg);display:flex;flex-direction:column;position:relative;flex:1}.bento-hero__identity-content{flex:1;min-width:0;display:flex;flex-direction:column;position:relative;z-index:1}@media(min-width:640px){.bento-hero{flex-direction:row}.bento-hero__photo{width:clamp(200px,30%,300px);height:auto}.bento-hero__identity:after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:0;background-image:repeating-linear-gradient(-45deg,color-mix(in srgb,var(--muted-foreground) 20%,transparent) 0px,color-mix(in srgb,var(--muted-foreground) 20%,transparent) 1px,transparent 1px,transparent 52px);mask-image:linear-gradient(to left,black 0%,transparent 65%);-webkit-mask-image:linear-gradient(to left,black 0%,transparent 65%)}}.bento-insight{display:flex;flex-direction:column;padding:0;overflow:hidden}.insight-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.insight-item-link{display:flex;align-items:center;gap:1rem;padding:.75rem var(--bento-inner-lg);text-decoration:none;outline:none}.insight-list li:first-child .insight-item-link{padding-top:1rem}.insight-list li+li .insight-item-link{border-top:1px solid color-mix(in srgb,var(--border) 30%,transparent)}.insight-item-link:focus-visible{outline:2px solid var(--ring);outline-offset:-2px}.insight-item-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:.375rem}.insight-item-title{font-size:clamp(.875rem,.8rem + .25vw,.9375rem);font-weight:600;line-height:1.4;letter-spacing:-.015em;color:var(--foreground);display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;transition:color .2s var(--ease-apple)}.insight-item-link:hover .insight-item-title,.insight-item-link:focus-visible .insight-item-title{color:var(--primary-hover)}.insight-item-meta{display:flex;align-items:center;gap:.3125rem;font-size:.6875rem;color:color-mix(in srgb,var(--muted-foreground) 55%,transparent)}.insight-live-badge{display:inline-flex;align-items:center;gap:.25rem;font-size:.625rem;font-family:var(--font-mono, ui-monospace, monospace);color:color-mix(in srgb,#34d399 75%,transparent);letter-spacing:.02em}.insight-live-dot{position:relative;display:inline-flex;width:.375rem;height:.375rem;flex-shrink:0}.insight-live-dot-core{display:inline-flex;width:100%;height:100%;border-radius:9999px;background:#34d399}@media(prefers-reduced-motion:no-preference){.insight-live-dot-ping{position:absolute;inset:0;border-radius:9999px;background:#34d399;opacity:.7;animation:insight-ping 1.5s cubic-bezier(0,0,.2,1) infinite}@keyframes insight-ping{75%,to{transform:scale(2);opacity:0}}}.insight-item-arrow{flex-shrink:0;width:.8125rem;height:.8125rem;color:var(--primary-hover);opacity:0;translate:-2px 2px;transition:opacity .18s var(--ease-apple),translate .18s var(--ease-apple)}.insight-item-link:hover .insight-item-arrow,.insight-item-link:focus-visible .insight-item-arrow{opacity:.8;translate:0 0}.insight-empty{display:flex;align-items:center;justify-content:center;min-height:5rem;font-size:.875rem;color:color-mix(in srgb,var(--muted-foreground) 70%,transparent)}.bento-footer{padding:.25rem var(--bento-inner-lg) .75rem;border-top:1px solid color-mix(in srgb,var(--border) 45%,transparent)}.insight-footer-link{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:var(--touch-target-min);font-size:.8125rem;font-weight:500;color:var(--muted-foreground);text-decoration:none;transition:color .2s var(--ease-apple)}.insight-footer-link:hover{color:var(--primary-hover)}.insight-footer-link:focus-visible{outline:2px solid var(--ring);outline-offset:2px;border-radius:.25rem}.insight-footer-arrow{width:.875rem;height:.875rem;flex-shrink:0;transition:translate .2s var(--ease-apple)}.insight-footer-link:hover .insight-footer-arrow{translate:2px -2px}.panel-title{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace;font-size:.625rem;letter-spacing:.02em;color:var(--muted-foreground)}.identity-role{display:inline-flex;align-items:center;gap:.5rem;margin-bottom:1rem;margin-top:0}.identity-role.panel-title{font-size:.6875rem;font-weight:500;letter-spacing:.03em}.identity-role__dot{position:relative;flex-shrink:0;width:.5rem;height:.5rem;border-radius:50%;background:var(--status-indicator-color);box-shadow:0 0 color-mix(in srgb,var(--status-indicator-color) 40%,transparent)}.identity-role__dot:before{content:"";position:absolute;inset:0;border-radius:50%;background:var(--status-indicator-color);opacity:.5}@media(prefers-reduced-motion:no-preference){.identity-role__dot:before{animation:identity-dot-pulse 2s var(--ease-apple) infinite}.identity-role__dot{animation:identity-dot-glow 2s var(--ease-apple) infinite}}@keyframes identity-dot-pulse{0%,to{transform:scale(1);opacity:.5}50%{transform:scale(2);opacity:0}}@keyframes identity-dot-glow{0%,to{box-shadow:0 0 color-mix(in srgb,var(--status-indicator-color) 40%,transparent)}50%{box-shadow:0 0 0 4px color-mix(in srgb,var(--status-indicator-color) 0%,transparent)}}.identity-role__sep{margin:0 .4em;color:color-mix(in srgb,var(--muted-foreground) 50%,transparent)}.identity-title{font-size:clamp(1.875rem,1rem + 2.5vw,3rem)}.identity-title__line{white-space:nowrap}.identity-title .text-primary{paint-order:stroke fill;-webkit-text-stroke:1.5px hsl(187 34% 40%)}[data-theme=dark] .identity-title .text-primary{-webkit-text-stroke:1px hsl(185 15% 50%)}@supports (backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px)){.bento-card{backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%)}html[data-theme=dark] .bento-card{backdrop-filter:blur(20px) saturate(150%);-webkit-backdrop-filter:blur(20px) saturate(150%)}}@media(prefers-reduced-motion:no-preference){.bento-card:hover{transform:translateY(-1px);box-shadow:0 4px 16px #0000001a,0 2px 4px #00000012;border-color:color-mix(in srgb,var(--primary) 35%,transparent)}.bento-hero:hover{transform:none}.bento-card:active{transform:translateY(0);transition-duration:.15s}}.bento-card:focus-visible{outline:2px solid var(--ring);outline-offset:2px;box-shadow:inset 1px 1px color-mix(in srgb,white 8%,transparent),0 0 0 4px color-mix(in srgb,var(--ring) 20%,transparent),0 1px 3px #0000000a}html[data-theme=light] .bento-card{border-color:#7ab0b8}html[data-theme=dark] .bento-card{background:color-mix(in srgb,var(--background) 98%,var(--muted) 2%);border-color:color-mix(in srgb,var(--primary) 30%,transparent);box-shadow:inset 1px 1px #ffffff0a,0 1px 3px #0006,0 .5px 1px #0000004d}html[data-theme=dark] .bento-card:hover{background:color-mix(in srgb,var(--background) 96%,var(--muted) 4%);transform:translateY(-1px);box-shadow:inset 1px 1px #ffffff0f,0 4px 16px #00000080,0 2px 4px #00000059;border-color:color-mix(in srgb,var(--primary) 45%,transparent)}html[data-theme=dark] .bento-card:active{transform:translateY(0);background:color-mix(in srgb,var(--background) 97%,var(--muted) 3%)}html[data-theme=dark] .bento-hero:hover{transform:none}@media(min-width:640px){html[data-theme=dark] .bento-hero__identity:after{background-image:repeating-linear-gradient(-45deg,color-mix(in srgb,var(--muted-foreground) 11%,transparent) 0px,color-mix(in srgb,var(--muted-foreground) 11%,transparent) 1px,transparent 1px,transparent 52px)}}@media(prefers-reduced-motion:no-preference){.bento-card{animation:bentoFadeIn .7s var(--ease-apple-smooth) both;animation-delay:calc(var(--delay, 0) * 1ms);opacity:0}@keyframes bentoFadeIn{0%{opacity:0;transform:translateY(20px) scale(.96);filter:blur(4px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}}@media(prefers-reduced-motion:reduce){.bento-card{opacity:1;animation:none}}.hero-section.hero-skip-entrance .bento-card{opacity:1;animation:none}.reach-root{display:flex;flex-direction:column;height:100%}.reach-list{flex:1;display:flex;flex-direction:column}.reach-item{display:flex;align-items:center;gap:.625rem;padding:.5625rem .25rem;text-decoration:none;outline:none}.reach-item+.reach-item{border-top:1px solid color-mix(in srgb,var(--border) 30%,transparent)}.reach-item:focus-visible{outline:2px solid var(--ring);outline-offset:2px;border-radius:4px}.reach-item-icon{width:.875rem;height:.875rem;color:color-mix(in srgb,var(--muted-foreground) 65%,transparent);flex-shrink:0;transition:color .2s var(--ease-apple)}.reach-item:hover .reach-item-icon{color:var(--primary-hover)}.reach-item-label{flex:1;font-size:.8125rem;font-weight:500;color:var(--foreground);letter-spacing:-.01em;transition:color .2s var(--ease-apple)}.reach-item:hover .reach-item-label{color:var(--primary-hover)}.reach-item-arrow{width:.625rem;height:.625rem;flex-shrink:0;color:var(--muted-foreground);opacity:0;translate:-2px 2px;transition:opacity .18s var(--ease-apple),translate .18s var(--ease-apple)}.reach-item:hover .reach-item-arrow,.reach-email:hover .reach-item-arrow{opacity:.5;translate:0 0}.reach-email{display:flex;align-items:center;gap:.625rem;margin-top:auto;padding:.75rem .25rem;border-top:1px solid color-mix(in srgb,var(--border) 45%,transparent);text-decoration:none;outline:none;min-height:var(--touch-target-min)}@media(min-width:768px){.reach-email{min-height:0}}.reach-email:focus-visible{outline:2px solid var(--ring);outline-offset:2px;border-radius:4px}.reach-email-icon{width:1rem;height:1rem;color:var(--primary);flex-shrink:0;transition:color .2s var(--ease-apple)}.reach-email:hover .reach-email-icon{color:var(--primary-hover)}.reach-email-address{flex:1;min-width:0;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace;font-size:.75rem;font-weight:500;color:var(--primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:.01em;transition:color .2s var(--ease-apple)}.reach-email:hover .reach-email-address{color:var(--primary-hover)}html[data-theme=light] .reach-email-address{color:color-mix(in srgb,var(--primary) 45%,black)}html[data-theme=light] .reach-email:hover .reach-email-address{color:color-mix(in srgb,var(--primary) 35%,black)}@media(prefers-reduced-motion:reduce){.reach-item-icon,.reach-item-label,.reach-item-arrow,.reach-email{transition:none}}.github-card[data-astro-cid-uhwiwup6]{display:flex;flex-direction:column;height:100%}.github-header[data-astro-cid-uhwiwup6]{display:flex;align-items:center;justify-content:space-between;margin-bottom:.875rem}.github-header__link[data-astro-cid-uhwiwup6]{display:inline-flex;align-items:center;gap:.3125rem;text-decoration:none;color:var(--foreground);transition:color .2s var(--ease-apple, ease)}.github-header__link[data-astro-cid-uhwiwup6]:hover{color:var(--primary-hover)}.github-header__link[data-astro-cid-uhwiwup6]:focus-visible{outline:2px solid var(--ring);outline-offset:3px;border-radius:3px}.github-header__icon[data-astro-cid-uhwiwup6]{width:.875rem;height:.875rem;color:var(--muted-foreground);flex-shrink:0;transition:color .2s var(--ease-apple, ease)}.github-header__link[data-astro-cid-uhwiwup6]:hover .github-header__icon[data-astro-cid-uhwiwup6]{color:var(--primary-hover)}.github-header__username[data-astro-cid-uhwiwup6]{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace;font-size:.75rem;font-weight:500;letter-spacing:-.01em}.github-header__arrow[data-astro-cid-uhwiwup6]{width:.625rem;height:.625rem;flex-shrink:0;opacity:0;translate:-2px 2px;transition:opacity .18s var(--ease-apple, ease),translate .18s var(--ease-apple, ease)}.github-header__link[data-astro-cid-uhwiwup6]:hover .github-header__arrow[data-astro-cid-uhwiwup6]{opacity:.6;translate:0 0}.github-header__stat[data-astro-cid-uhwiwup6]{display:flex;flex-direction:column;align-items:flex-end;gap:0}.github-header__stat-num[data-astro-cid-uhwiwup6]{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace;font-size:.8125rem;font-weight:600;line-height:1;color:var(--foreground);letter-spacing:-.02em}.github-header__stat-label[data-astro-cid-uhwiwup6]{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace;font-size:.5rem;letter-spacing:.05em;text-transform:uppercase;color:var(--muted-foreground);line-height:1.4}.heatmap-wrap[data-astro-cid-uhwiwup6]{flex:1;display:flex;flex-direction:column;gap:.35rem;min-height:0;padding-bottom:.75rem}.month-row[data-astro-cid-uhwiwup6]{display:grid;grid-template-columns:repeat(var(--cols),1fr);height:.9375rem}.month-label[data-astro-cid-uhwiwup6]{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace;font-size:.5rem;color:color-mix(in srgb,var(--muted-foreground) 55%,transparent);white-space:nowrap;line-height:1;align-self:center}.heatmap-grid[data-astro-cid-uhwiwup6]{display:grid;grid-auto-flow:column;grid-template-rows:repeat(7,1fr);grid-template-columns:repeat(var(--cols),1fr);aspect-ratio:26 / 7;width:100%;gap:3px}.cell[data-astro-cid-uhwiwup6]{border-radius:2px;transition:transform .15s ease,filter .15s ease}.NONE[data-astro-cid-uhwiwup6]{background:color-mix(in srgb,var(--muted-foreground) 14%,transparent)}.FIRST_QUARTILE[data-astro-cid-uhwiwup6]{background:color-mix(in srgb,var(--primary) 22%,transparent)}.SECOND_QUARTILE[data-astro-cid-uhwiwup6]{background:color-mix(in srgb,var(--primary) 48%,transparent)}.THIRD_QUARTILE[data-astro-cid-uhwiwup6]{background:color-mix(in srgb,var(--primary) 72%,transparent)}.FOURTH_QUARTILE[data-astro-cid-uhwiwup6]{background:var(--primary);box-shadow:0 0 4px color-mix(in srgb,var(--primary) 45%,transparent)}.cell[data-astro-cid-uhwiwup6]:hover{transform:scale(1.4);z-index:10;filter:brightness(1.3);cursor:crosshair}.github-empty[data-astro-cid-uhwiwup6]{flex:1;display:flex;align-items:center;justify-content:center;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace;font-size:.625rem;letter-spacing:.1em;text-transform:uppercase;color:color-mix(in srgb,var(--muted-foreground) 40%,transparent)}@media(prefers-reduced-motion:reduce){.cell[data-astro-cid-uhwiwup6]{transition:none}}
