.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-hero-photo: 80;--delay-insight: 160;--delay-connect: 240;--delay-blog-graph: 280;--delay-bike: 320;--status-indicator-color: var(--additive, hsl(142 50% 45%));--touch-target-min: 2.75rem;--bento-uniform-height: 12.5rem;--hero-photo-size: 340px}@media(min-width:768px){.hero-section{--bento-gap: 1.75rem}}.bento-grid{display:grid;gap:var(--bento-gap);grid-template-columns:1fr}.bento-identity{--delay: var(--delay-identity)}.bento-hero-photo{--delay: var(--delay-hero-photo)}.bento-insight{--delay: var(--delay-insight)}.bento-connect{--delay: var(--delay-connect)}.bento-blog-graph{--delay: var(--delay-blog-graph)}.bento-bike{--delay: var(--delay-bike)}@media(min-width:768px){.bento-grid{grid-template-columns:3fr 4.25fr 2.75fr;grid-template-rows:auto auto minmax(var(--bento-uniform-height),auto)}.bento-hero-photo{grid-column:1;grid-row:1}.bento-identity{grid-column:2 / 4;grid-row:1}.bento-insight{grid-column:1 / 4;grid-row:2}.bento-connect{grid-column:1;grid-row:3}.bento-blog-graph{grid-column:2;grid-row:3}.bento-bike{grid-column:3;grid-row:3}}.bento-card{padding:var(--bento-inner);border-radius:16px;border:1px solid color-mix(in srgb,var(--border) 55%,transparent);background:color-mix(in srgb,var(--background) 95%,var(--muted) 5%);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);box-shadow:inset 1px 1px color-mix(in srgb,white 8%,transparent),0 1px 3px #0000000a,0 .5px 1px #00000005;transition:box-shadow .3s var(--ease-apple),border-color .25s var(--ease-apple),transform .3s var(--ease-apple),background .3s var(--ease-apple)}.bento-hero-photo{padding:0;overflow:hidden;position:relative;width:100%;height:var(--hero-photo-size);margin:0 auto}@media(min-width:768px){.bento-hero-photo{max-width:unset;height:auto;margin:0}}.bento-hero-photo .hero-img-inner{position:relative;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%;object-fit:contain;object-position:center}.bento-hero-photo .glitch{position:relative;overflow:hidden}.bento-hero-photo .glitch__img{position:relative;z-index:1;display:block;width:100%;height:100%;object-fit:contain;object-position:center}.bento-hero-photo .glitch__layers{position:absolute;z-index:2;inset:0;pointer-events:none}.bento-hero-photo .glitch__layer{position:absolute;inset:0;background-image:var(--glitch-bg);background-repeat:no-repeat;background-position:center;background-size:contain}@media(prefers-reduced-motion:no-preference){.bento-hero-photo .glitch{animation:glitch-vibrate 5.5s infinite linear}.bento-hero-photo .glitch__layer--1{transform:translate(-7%);animation:glitch-anim-1 5.5s infinite linear alternate}.bento-hero-photo .glitch__layer--2{transform:translate(5%) translateY(4%);animation:glitch-anim-2 5.8s -1.2s infinite linear alternate}.bento-hero-photo .glitch__layer--flash{transform:translate(5%);animation:glitch-anim-flash 1.4s infinite linear}}@media(prefers-reduced-motion:reduce){.bento-hero-photo .glitch{animation:none}.bento-hero-photo .glitch__layer{animation:none;opacity:0}}@keyframes glitch-anim-1{0%{clip-path:polygon(0 0%,100% 0%,100% 5%,0 5%)}10%{clip-path:polygon(0 15%,100% 15%,100% 15%,0 15%)}20%{clip-path:polygon(0 10%,100% 10%,100% 20%,0 20%)}30%{clip-path:polygon(0 1%,100% 1%,100% 2%,0 2%)}40%{clip-path:polygon(0 35%,100% 35%,100% 35%,0 35%)}50%{clip-path:polygon(0 45%,100% 45%,100% 46%,0 46%)}60%{clip-path:polygon(0 50%,100% 50%,100% 70%,0 70%)}70%{clip-path:polygon(0 70%,100% 70%,100% 70%,0 70%)}80%{clip-path:polygon(0 80%,100% 80%,100% 80%,0 80%)}90%{clip-path:polygon(0 50%,100% 50%,100% 55%,0 55%)}to{clip-path:polygon(0 60%,100% 60%,100% 70%,0 70%)}}@keyframes glitch-anim-2{0%{clip-path:polygon(0 15%,100% 15%,100% 30%,0 30%)}15%{clip-path:polygon(0 3%,100% 3%,100% 3%,0 3%)}25%{clip-path:polygon(0 8%,100% 8%,100% 20%,0 20%)}30%{clip-path:polygon(0 20%,100% 20%,100% 20%,0 20%)}45%{clip-path:polygon(0 45%,100% 45%,100% 45%,0 45%)}50%{clip-path:polygon(0 50%,100% 50%,100% 57%,0 57%)}65%{clip-path:polygon(0 60%,100% 60%,100% 60%,0 60%)}75%{clip-path:polygon(0 80%,100% 80%,100% 80%,0 80%)}80%{clip-path:polygon(0 40%,100% 40%,100% 60%,0 60%)}95%{clip-path:polygon(0 45%,100% 45%,100% 60%,0 60%)}to{clip-path:polygon(0 11%,100% 11%,100% 15%,0 15%)}}@keyframes glitch-vibrate{0%{transform:translate(0)}12.5%{transform:translate(-1.5px,.75px)}25%{transform:translate(0)}37.5%{transform:translate(1.5px,-.75px)}50%{transform:translate(0)}62.5%{transform:translate(-1.5px,-.75px)}75%{transform:translate(0)}87.5%{transform:translate(1.5px,.75px)}to{transform:translate(0)}}@keyframes glitch-anim-flash{0%{opacity:.22}20%,to{opacity:0}}.bento-identity{padding:var(--bento-inner-lg);display:flex;flex-direction:column}.bento-identity__content{flex:1;min-width:0;display:flex;flex-direction:column}.bento-insight{display:flex;flex-direction:column;min-height:0;padding:var(--bento-inner-lg)}.insight-carousel{flex:1;display:flex;flex-direction:column;min-height:0}.insight-carousel-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.5rem;position:relative;z-index:1}.insight-carousel-nav{display:flex;align-items:center;gap:.25rem}.insight-carousel-nav-btn{display:inline-flex;align-items:center;justify-content:center;width:var(--touch-target-min, 2.75rem);height:var(--touch-target-min, 2.75rem);min-width:var(--touch-target-min, 2.75rem);min-height:var(--touch-target-min, 2.75rem);border-radius:.625rem;border:1px solid color-mix(in srgb,var(--border) 60%,transparent);background:color-mix(in srgb,var(--muted) 40%,transparent);color:var(--muted-foreground);cursor:pointer;transition:border-color .25s var(--ease-apple),background .25s var(--ease-apple),color .25s var(--ease-apple),transform .2s var(--ease-apple);position:relative}@media(min-width:768px){.insight-carousel-nav-btn{width:2.5rem;height:2.5rem;min-width:2.5rem;min-height:2.5rem}}.insight-carousel-nav-btn:hover:not(:disabled){border-color:color-mix(in srgb,var(--primary) 50%,transparent);background:color-mix(in srgb,var(--primary) 12%,transparent);color:var(--foreground);transform:scale(1.05)}.insight-carousel-nav-btn:active:not(:disabled){transform:scale(.98);transition-duration:.1s}.insight-carousel-nav-btn:focus-visible{outline:2px solid var(--ring);outline-offset:2px;background:color-mix(in srgb,var(--ring) 15%,transparent)}.insight-carousel-nav-btn:disabled{opacity:.35;cursor:not-allowed;pointer-events:none}.insight-carousel-track{position:relative;z-index:0;flex:1;min-height:7.5rem;-webkit-overflow-scrolling:touch;scroll-behavior:smooth}.insight-slide{position:absolute;inset:0;display:flex;flex-direction:column;opacity:0;visibility:hidden;pointer-events:none;user-select:none;-webkit-user-select:none}@media(prefers-reduced-motion:no-preference){.insight-slide{transition:opacity .35s var(--ease-apple-smooth),visibility .35s var(--ease-apple-smooth),transform .35s var(--ease-apple-smooth);transform:translate(8px)}.insight-slide[data-visible=true]{transform:translate(0)}}.insight-slide[data-visible=true]{opacity:1;visibility:visible;pointer-events:auto}.insight-slide-number{position:absolute;top:-.15rem;right:0;font-size:4rem;font-weight:800;line-height:1;color:color-mix(in srgb,var(--foreground) 4%,transparent);user-select:none;pointer-events:none}[data-theme=dark] .insight-slide-number{color:color-mix(in srgb,var(--foreground) 6%,transparent)}.insight-slide-content{flex:1;display:flex;flex-direction:column;gap:.35rem;padding:.25rem 0;min-height:5rem;user-select:none}.insight-slide-title-link{text-decoration:none;transition:color .25s var(--ease-apple);display:flex;align-items:center;border-radius:.375rem;padding:.5rem 0;margin:-.5rem 0;min-height:var(--touch-target-min, 2.75rem)}.insight-slide-title{font-size:clamp(.875rem,.8125rem + .25vw,.9375rem);font-weight:600;line-height:1.4;letter-spacing:-.01em;color:var(--foreground);display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;transition:color .25s var(--ease-apple)}.insight-slide-title-link:hover .insight-slide-title{color:var(--primary)}.insight-slide-title-link:focus-visible{outline:2px solid var(--ring);outline-offset:4px;border-radius:.5rem}.insight-slide-desc{font-size:clamp(.8125rem,1vw + .7rem,.875rem);line-height:1.4;color:var(--muted-foreground);display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.insight-slide-meta{font-size:.75rem;color:var(--muted-foreground);margin-top:auto;padding-top:.25rem;display:flex;align-items:center;gap:.5rem}@media(min-width:768px){.insight-slide-meta{font-size:.6875rem}}.bento-footer{margin-top:.5rem;padding-top:.5rem;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.bento-footer a{display:inline-flex;align-items:center;gap:.25rem;min-height:var(--touch-target-min, 2.75rem);padding:.375rem .5rem;margin:-.375rem -.5rem;border-radius:.375rem}.bento-footer a:focus-visible{outline:2px solid var(--ring);outline-offset: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(--identity-dot-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}.particle-card{border-left:3px solid color-mix(in srgb,var(--primary) 35%,transparent);transition:border-left-color .4s var(--ease-apple),transform .3s var(--ease-apple)}.particle-card:hover{border-left-color:color-mix(in srgb,var(--primary) 70%,transparent);transform:translate(2px)}.particle-card:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.particle-card .particle-title{font-weight:600;letter-spacing:-.02em}.particle-card .particle-tagline{font-size:.75rem;color:var(--muted-foreground);letter-spacing:.01em}.particle-card .particle-tagline:before{content:"· ";color:color-mix(in srgb,var(--primary) 50%,var(--muted-foreground));font-weight:600}.lastfm-card .particle-tagline:before{content:none}.lastfm-card{border-left:none;position:relative;overflow:hidden;padding:var(--bento-inner);--reflector-rotation: 0deg}.lastfm-card:before{content:"";position:absolute;inset:-200%;z-index:0;border-radius:50%;pointer-events:none;background:conic-gradient(from 0deg at 50% 50%,transparent 0deg,color-mix(in srgb,var(--primary) 20%,transparent) 60deg,color-mix(in srgb,var(--primary) 16%,transparent) 120deg,transparent 180deg,color-mix(in srgb,var(--foreground) 10%,transparent) 240deg,transparent 300deg,transparent 360deg);opacity:.85;will-change:transform;transform:rotate(var(--reflector-rotation))}@media(min-width:768px){.lastfm-card:before{inset:-150%}}:global(html:not([data-theme=dark])) .lastfm-card:before{background:conic-gradient(from 0deg at 50% 50%,transparent 0deg,color-mix(in srgb,var(--muted-foreground) 18%,transparent) 60deg,color-mix(in srgb,var(--muted-foreground) 14%,transparent) 120deg,transparent 180deg,color-mix(in srgb,var(--primary) 20%,transparent) 240deg,transparent 300deg,transparent 360deg);opacity:.85}@media(prefers-reduced-motion:no-preference){.lastfm-card:before{animation:lastfm-reflector-rotate 15s linear infinite;transition:none}}@keyframes lastfm-reflector-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.lastfm-card:before{animation:none;will-change:auto;transform:none;transition:none;background:radial-gradient(ellipse 100% 80% at 0% 100%,color-mix(in srgb,var(--primary) 14%,transparent) 0%,transparent 60%),radial-gradient(ellipse 80% 100% at 100% 0%,color-mix(in srgb,var(--foreground) 8%,transparent) 0%,transparent 55%)}}.lastfm-card>*{position:relative;z-index:1}.lastfm-track-name{font-size:.8125rem;font-weight:600;line-height:1.3;color:var(--foreground);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.lastfm-artist{display:block;font-size:.75rem;color:var(--muted-foreground);margin-top:.125rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lastfm-now{display:inline-flex;align-items:center;gap:.25rem;font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--primary);margin-left:.375rem}.lastfm-now-dot{width:4px;height:4px;border-radius:50%;background:var(--primary);box-shadow:0 0 color-mix(in srgb,var(--primary) 40%,transparent)}@media(prefers-reduced-motion:no-preference){.lastfm-now-dot{animation:lastfm-pulse 1.8s var(--ease-apple) infinite}}@keyframes lastfm-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.2)}}@media(prefers-reduced-motion:no-preference){.bento-card:hover{transform:translateY(-1px);box-shadow:inset 1px 1px color-mix(in srgb,white 12%,transparent),0 4px 16px #00000014,0 2px 4px #0000000a;border-color:color-mix(in srgb,var(--border) 75%,transparent)}.bento-hero-photo: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}:global(html[data-theme=dark]) .bento-card{background:color-mix(in srgb,var(--background) 98%,var(--muted) 2%);border-color:color-mix(in srgb,var(--border) 60%,transparent);backdrop-filter:blur(20px) saturate(100%);-webkit-backdrop-filter:blur(20px) saturate(100%);box-shadow:inset 1px 1px #ffffff0a,0 1px 3px #0006,0 .5px 1px #0000004d}:global(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(--border) 70%,transparent)}:global(html[data-theme=dark]) .bento-card:active{transform:translateY(0);background:color-mix(in srgb,var(--background) 97%,var(--muted) 3%)}:global(html[data-theme=dark]) .bento-hero-photo:hover{transform:none}@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}.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}.sr-only:focus{position:fixed;width:auto;height:auto;padding:.75rem 1rem;margin:0;overflow:visible;clip:auto;white-space:normal;background:var(--primary);color:var(--primary-foreground);border-radius:.5rem;z-index:9999;font-weight:600;box-shadow:0 4px 12px #00000026}.selfhost-card[data-astro-cid-fppuzrf5]{flex-direction:column;height:100%}.selfhost-grid[data-astro-cid-fppuzrf5]{display:grid;grid-template-columns:repeat(2,1fr);gap:.125rem .75rem;align-content:start}.activity-graph[data-astro-cid-uhwiwup6]{display:none;flex-direction:column;gap:.75rem;min-height:0;padding:var(--bento-inner)}@media(min-width:768px){.activity-graph[data-astro-cid-uhwiwup6]{display:flex}}.activity-graph__header[data-astro-cid-uhwiwup6]{flex-shrink:0;display:flex;align-items:baseline;gap:.35rem}.activity-graph__hint[data-astro-cid-uhwiwup6]{font-size:.5625rem;font-weight:500;color:color-mix(in srgb,var(--muted-foreground) 55%,transparent);text-transform:lowercase}.activity-graph__chart[data-astro-cid-uhwiwup6]{flex:1;display:flex;align-items:center;min-height:6rem;--activity-bar-height: 60px}.activity-graph__columns[data-astro-cid-uhwiwup6]{display:flex;align-items:flex-end;gap:.25rem;height:100%;width:100%}.activity-graph__column[data-astro-cid-uhwiwup6]{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;gap:.25rem}.activity-graph__bar-wrap[data-astro-cid-uhwiwup6]{width:100%;max-width:1.5rem;height:var(--activity-bar-height);display:flex;align-items:flex-end;justify-content:center}.activity-graph__bar[data-astro-cid-uhwiwup6]{width:100%;height:calc(var(--bar-height, 0) * 1%);min-height:0;border-radius:2px;background:color-mix(in srgb,var(--primary) 45%,transparent);transition:background .2s ease}.activity-graph__column[data-astro-cid-uhwiwup6]:hover .activity-graph__bar[data-astro-cid-uhwiwup6]{background:color-mix(in srgb,var(--primary) 65%,transparent)}.activity-graph__bar--empty[data-astro-cid-uhwiwup6]{background:color-mix(in srgb,var(--muted-foreground) 18%,transparent)}.activity-graph__column--empty[data-astro-cid-uhwiwup6]:hover .activity-graph__bar--empty[data-astro-cid-uhwiwup6]{background:color-mix(in srgb,var(--muted-foreground) 22%,transparent)}.activity-graph__month[data-astro-cid-uhwiwup6]{font-size:.5625rem;font-weight:500;letter-spacing:.02em;color:color-mix(in srgb,var(--muted-foreground) 75%,transparent);text-transform:uppercase;white-space:nowrap}
