@layer components{.hero__name{min-height:50px;font:400 44px/50px var(--ff-hand);letter-spacing:.01em;cursor:default;display:inline-grid;position:relative;overflow:hidden}.hero__name span{transition:transform .52s var(--ease-lift), opacity .52s var(--ease-lift);white-space:normal;grid-area:1/1}.hero__name:hover span:first-child,.hero__name:focus-visible span:first-child{opacity:0;transform:translateY(-100%)}.hero__role{color:var(--muted);margin-top:4px;font-size:17px}.hero__role b{color:var(--fg-2);font-weight:500}.hero__intro{color:var(--fg-2);max-width:54ch;margin-top:16px;font-size:16.5px;line-height:1.6}.hero__meta{flex-wrap:wrap;align-items:center;gap:8px;margin-top:20px;display:flex}.portrait__card{background:var(--paper);box-shadow:var(--sh-paper);transition:transform .6s var(--ease-lift), box-shadow .6s var(--ease-lift);transform-style:preserve-3d;border-radius:6px;padding:8px 8px 30px;position:relative;transform:rotate(3deg)}.portrait:hover .portrait__card{box-shadow:var(--sh-3);transform:rotate(0)translateY(-4px)scale(1.02)}.portrait__img{aspect-ratio:1;background:#ddd;border-radius:3px;position:relative;overflow:hidden}.portrait__img img{object-fit:cover;width:100%;height:100%;transition:opacity .6s var(--ease-out), transform .9s var(--ease-out);position:absolute;inset:0}.portrait__img img+img{opacity:0}.portrait:hover .portrait__img img+img{opacity:1}.portrait:hover .portrait__img img:first-child{transform:scale(1.06)}.portrait__cap{text-align:center;font:15px/1 var(--ff-hand);color:var(--paper-ink);position:absolute;bottom:6px;left:0;right:0}.portrait__tape{clip-path:polygon(3% 0,97% 4%,100% 100%,0 96%);background:#ffecaab3;width:64px;height:20px;margin-left:-32px;position:absolute;top:-10px;left:50%;transform:rotate(-4deg);box-shadow:0 1px 2px #0000001f}.portrait__note{font:18px/1 var(--ff-hand);color:var(--muted);pointer-events:none;flex-direction:column;align-items:flex-end;gap:0;display:flex;position:absolute;bottom:6px;left:-96px;transform:rotate(-6deg)}.portrait__note svg{width:52px;height:30px;color:var(--muted);margin-right:-8px}.bcard__title{font:600 15.5px/1.3 var(--ff-sans);letter-spacing:-.015em}.bcard__text{font-size:13.5px;line-height:1.5}.bcard__label{font:500 10.5px/1.2 var(--ff-mono);letter-spacing:.12em;text-transform:uppercase}.bcard__foot{justify-content:space-between;align-items:center;gap:8px;display:flex}.bcard__go{align-items:center;gap:4px;font-size:12.5px;font-weight:600;display:inline-flex}.bcard__go svg{width:13px;height:13px;transition:transform var(--t) var(--ease-out)}.bcard:hover .bcard__go svg{transform:translate(2px,-2px)}.bcard--blue{background:var(--p-blue);color:var(--p-blue-ink);grid-area:about;justify-content:flex-end}.bcard--blue .bento-chip{position:absolute;top:14px;right:14px}.bcard--blue .bcard__text{color:var(--p-blue-ink-2)}.bcard--pink{background:var(--p-pink);color:var(--p-pink-ink);grid-area:role}.bcard--pink .bcard__label,.bcard--pink .bcard__text{color:var(--p-pink-ink-2)}.bcard--green{background:var(--p-green);color:var(--p-green-ink);grid-area:welcome}.bcard--yellow{background:var(--p-yellow);color:var(--p-yellow-ink);grid-area:build}.bcard--yellow .bcard__text{color:var(--p-yellow-ink-2)}.bcard--brown{background:var(--p-brown);color:var(--p-brown-ink);grid-area:tools}.bcard--brown .bcard__text,.bcard--brown .bcard__label{color:var(--p-brown-ink-2)}.bcard--lavender{background:var(--p-lavender);color:var(--p-lavender-ink);grid-area:clock}.bcard--lavender .bcard__label,.bcard--lavender .bcard__text{color:var(--p-lavender-ink-2)}.bcard--github{background:var(--bg-elev);border:1px solid var(--line);color:var(--fg);grid-area:github}.bcard--github .bcard__label{color:var(--subtle)}.bcard--cta{background:var(--accent-fill);color:#fff;grid-area:cta}.bcard--cta .bcard__text{color:#f0ebff}.bento-chip{border-radius:var(--r-full);color:#2b2006;height:28px;transition:transform var(--t-fast) var(--ease-spring);background:#ffd166;align-self:flex-end;align-items:center;gap:4px;padding:0 12px;font-size:13px;font-weight:600;display:inline-flex;box-shadow:0 1px #0000001a}.bcard:hover .bento-chip{transform:translateY(-2px)rotate(-2deg)}.bcard__logo{background:#fff;border-radius:50%;place-items:center;width:34px;height:34px;display:grid;box-shadow:0 1px 2px #0000001f}.bcard__logo img{object-fit:contain;width:20px;height:20px}.bcard--photo:hover .pstack__btn,.pstack__btn:focus-visible{opacity:1}.bcard--github .big{font:600 18px/1 var(--ff-mono);letter-spacing:-.03em;margin-right:2px}.bcard--github .bcard__text{color:var(--muted);font-size:12.5px}.marquee__row{padding-block:6px;display:flex;overflow:hidden}.marquee__track{animation:marquee var(--dur,46s) linear infinite;flex:none;gap:12px;padding-right:12px;display:flex}.marquee__track>[role=listitem]{display:flex}.marquee__row--rev .marquee__track{animation-direction:reverse}.marquee:not([data-hover-pause=off]):hover .marquee__track,.marquee-wrap.is-paused .marquee__track{animation-play-state:paused}.marquee-wrap{position:relative}.logo-chip{background:var(--bg-elev);border:1px solid var(--line);min-width:132px;height:68px;transition:border-color var(--t), transform var(--t) var(--ease-spring), background var(--t);border-radius:16px;flex:none;justify-content:center;align-items:center;gap:10px;padding:0 24px;display:inline-flex;position:relative}.logo-chip img{height:calc(30px * var(--s,1));object-fit:contain;filter:grayscale()brightness(1.7)contrast(.9);opacity:.72;width:auto;max-width:min(150px,100%);max-height:40px;transition:opacity var(--t), transform var(--t) var(--ease-spring), filter var(--t)}[data-theme=light] .logo-chip img{filter:grayscale()brightness(.55)contrast(1.1);opacity:.75}.logo-chip img.logo-invert-dark{filter:invert()grayscale()brightness(1.5)}.logo-chip__name{letter-spacing:-.01em;color:var(--fg-2);white-space:nowrap;transition:color var(--t);font-size:14px;font-weight:600}.logo-chip:hover{border-color:var(--line-strong);background:var(--surface);transform:translateY(-2px)}.logo-chip:hover img{filter:none;opacity:1;transform:scale(1.05)}[data-theme=light] .logo-chip:hover img{filter:none}.logo-chip:hover img.logo-invert-dark{filter:invert()hue-rotate(180deg)brightness(1.15)}[data-theme=light] .logo-chip:hover img.logo-invert-dark{filter:none}.logo-chip:hover .logo-chip__name{color:var(--fg)}.logo-chip[data-style=color] img{filter:none;opacity:1}.logo-chip[data-style=color] img.logo-invert-dark{filter:invert()hue-rotate(180deg)brightness(1.15)}[data-theme=light] .logo-chip[data-style=color] img.logo-invert-dark{filter:none}.logo-chip[data-style=color] .logo-chip__name{color:var(--fg)}.marquee__ctrl{color:var(--subtle);justify-content:space-between;align-items:center;gap:6px 14px;margin-top:12px;font-size:12.5px;display:flex}.marquee__btns{flex:none;align-items:center;gap:6px 14px;display:flex}.marquee__cap{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.logo-chip.is-current{border-color:var(--accent-line);background:var(--surface)}.marquee__ctrl button{border-radius:var(--r-full);height:28px;color:var(--muted);align-items:center;gap:6px;padding:0 10px;display:inline-flex}.marquee__ctrl button:hover{background:var(--surface-hover);color:var(--fg)}.marquee__ctrl svg{width:13px;height:13px}.marquee__ctrl .arrow-link{color:var(--muted);font-size:12.5px}.marquee__ctrl .arrow-link:hover{color:var(--fg)}.mq-preview{z-index:20;background:var(--bg-elev);border:1px solid var(--line-strong);width:232px;box-shadow:var(--sh-3);pointer-events:none;opacity:0;visibility:hidden;transform-origin:50% 100%;transition:opacity .18s var(--ease-out), transform .26s var(--ease-spring), visibility 0s linear .18s, left .22s var(--ease-out);border-radius:16px;padding:6px;position:absolute;top:0;left:0;transform:translateY(calc(-100% - 2px))scale(.94)}.mq-preview.is-on{opacity:1;visibility:visible;transition:opacity .18s var(--ease-out), transform .26s var(--ease-spring), visibility 0s, left .22s var(--ease-out);transform:translateY(calc(-100% - 10px))}.mq-preview:after{content:"";background:var(--bg-elev);border:solid var(--line-strong);border-width:0 1px 1px 0;width:12px;height:12px;margin-left:-6px;position:absolute;bottom:-6px;left:50%;transform:rotate(45deg)}.mq-preview__img{aspect-ratio:16/10;background:var(--surface);border-radius:11px;display:none;overflow:hidden}.mq-preview.has-img .mq-preview__img{display:block}.mq-preview__img img{object-fit:cover;object-position:top;width:100%;height:100%}.mq-preview__body{gap:2px;padding:8px 6px 4px;display:grid}.mq-preview__body b{color:var(--fg);font-size:14px;font-weight:600}.mq-preview__project{font:500 10.5px/1.3 var(--ff-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--accent-text)}.mq-preview__project:empty{display:none}.mq-preview__note{color:var(--muted);font-size:12.5px;line-height:1.4}.slide.is-current:hover .browser{transform:translateY(-4px)scale(1.015)}.slide__actions .btn{height:36px;padding:0 12px;font-size:13px}@media (max-width:720px){.hero__name{min-height:46px;font-size:38px;line-height:46px}.portrait__note{align-items:flex-start;bottom:30px;left:auto;right:-112px;transform:rotate(4deg)}.portrait__note svg{margin:0 0 0 -8px;transform:scaleX(-1)}.bcard--tools,.bcard--cta{justify-content:flex-start;gap:14px}.bcard--cta{gap:22px}.bento .bcard--yellow .bcard__text{display:none}.bento .bcard--blue .bento-chip{top:auto;bottom:14px;right:14px}.bento .bcard--blue>div{display:none}.logo-chip{border-radius:13px;gap:8px;min-width:0;height:52px;padding:0 16px}.logo-chip img{height:calc(24px * var(--s,1));max-width:124px;max-height:30px}.logo-chip__name{font-size:12.5px}.marquee__track{gap:8px;padding-right:8px}.marquee__row{padding-block:2px}.bento .bcard--blue .bcard__text{display:none}}@media (max-width:350px){.hero__meta .socials a{width:30px}}@media (max-width:380px){.hero__name{font-size:34px}.portrait__note{display:none}}@media (prefers-reduced-motion:reduce){.marquee__row,.marquee__track,.marquee__track>[role=listitem]{display:contents}.marquee .logo-chip{min-width:0;height:56px;padding:0 18px}.marquee__track[aria-hidden=true],.marquee__ctrl button{display:none}}:root[data-motion=off] .marquee .logo-chip{min-width:0;height:56px;padding:0 18px}:root[data-motion=off] .marquee__track[aria-hidden=true],:root[data-motion=off] .marquee__ctrl button{display:none}.meta-pill{border-radius:var(--r-full);background:var(--bg-elev);border:1px solid var(--line);height:32px;color:var(--fg-2);align-items:center;gap:8px;padding:0 12px;font-size:13px;display:inline-flex}.meta-pill svg{width:14px;height:14px;color:var(--muted)}.meta-pill--link:hover{border-color:var(--line-strong);background:var(--surface)}.ladder{font:500 11px/1 var(--ff-mono);color:var(--p-pink-ink-2);align-items:center;gap:6px;margin-top:8px;display:flex}.ladder__step{background:#2a0f3312;border-radius:6px;padding:4px 7px}.ladder__step--now{background:var(--p-pink-ink);color:var(--p-pink)}.ladder__step{white-space:nowrap;gap:3px;line-height:1;display:grid}.ladder__step small{font-size:9.5px}.ladder svg{width:12px;height:12px}.welcome{font:400 23px/1.3 var(--ff-hand);letter-spacing:.015em}.pstack{position:absolute;inset:0}.pstack__img{object-fit:cover;opacity:0;width:100%;height:100%;transition:opacity .9s var(--ease-out), transform 6s linear;position:absolute;inset:0;transform:scale(1.06)}.pstack__img.is-active{opacity:1;transform:scale(1)}.pstack:after{content:"";pointer-events:none;background:linear-gradient(#0000 55%,#0000009e);position:absolute;inset:0}.pstack__cap{z-index:2;color:#fff;font:17px/1.15 var(--ff-hand);text-shadow:0 1px 2px #0006;justify-content:space-between;align-items:flex-end;gap:8px;display:flex;position:absolute;bottom:12px;left:14px;right:14px}.pstack__dots{gap:4px;padding-bottom:3px;display:flex}.pstack__dots i{width:5px;height:5px;transition:width var(--t) var(--ease-out), background var(--t);background:#ffffff73;border-radius:4px}.pstack__dots i.is-active{background:#fff;width:14px}.pstack__btn{z-index:3;color:#fff;opacity:0;width:28px;height:28px;transition:opacity var(--t);background:#00000073;border-radius:50%;place-items:center;display:grid;position:absolute;top:10px;right:10px}.pstack__btn svg{width:13px;height:13px}.sticky-note{z-index:5;background:var(--paper);width:114px;color:var(--paper-ink);font:17px/1.15 var(--ff-hand);text-align:center;box-shadow:var(--sh-paper);transform:rotate(var(--rot,-8deg));cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;animation:sticky-in .45s var(--ease-out) .3s both;border-radius:2px 2px 14px;padding:18px 12px 14px;position:absolute;top:-16px;left:-36px}.sticky-note:before{content:"";background:radial-gradient(circle at 35% 35%, #c4b5ff, var(--accent-fill));border-radius:50%;width:11px;height:11px;margin-left:-5px;position:absolute;top:6px;left:50%;box-shadow:0 2px 2px #00000059}.sticky-note:after{content:"";background:linear-gradient(135deg,#e9e2d2 50%,#0000 50%);border-radius:0 0 14px;width:16px;height:16px;position:absolute;bottom:0;right:0}.sticky-note.is-dragging{cursor:grabbing;transform:rotate(var(--rot,-8deg)) scale(1.06);box-shadow:var(--sh-3)}.sticky-note small{font:500 9.5px/1 var(--ff-mono);letter-spacing:.08em;text-transform:uppercase;color:#5e574c;margin-top:4px;display:block}.dock{background:#ffffffeb;border-radius:14px;align-items:flex-end;gap:6px;width:max-content;max-width:100%;margin:0;padding:6px;list-style:none;display:flex;box-shadow:0 4px 18px #0000002e,inset 0 1px #fff}.dock__item{width:32px;height:32px;transition:transform .18s var(--ease-spring);transform-origin:bottom;background:#f4f4f5;border-radius:9px;place-items:center;display:grid;position:relative}.dock__item svg{width:17px;height:17px}.dock__item:hover{z-index:2;transform:scale(1.35)translateY(-5px)}.dock__item:hover+.dock__item{transform:scale(1.14)}.dock__item:has(+.dock__item:hover){transform:scale(1.14)}.dock__tip{color:#fff;font:500 10.5px/1 var(--ff-sans);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity var(--t-fast), transform var(--t-fast);background:#18181b;border-radius:6px;padding:4px 8px;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)translateY(4px)}.dock__item:hover .dock__tip{opacity:1;transform:translate(-50%)translateY(0)}.clock-card{flex-direction:row;align-items:center;gap:14px}.aclock{width:74px;height:74px;box-shadow:inset 0 0 0 2px var(--p-lavender-ink), 0 3px 0 #1b124040;background:#fff;border-radius:50%;flex:none;position:relative}.aclock i{transform-origin:50% 100%;background:var(--p-lavender-ink);border-radius:3px;position:absolute;bottom:50%;left:50%}.aclock .h{width:3.5px;height:20px;margin-left:-1.75px}.aclock .m{width:2.5px;height:28px;margin-left:-1.25px}.aclock .s{background:var(--accent-fill);width:1.5px;height:30px;margin-left:-.75px}.aclock:after{content:"";background:var(--accent-fill);border-radius:50%;width:7px;height:7px;margin:-3.5px;position:absolute;top:50%;left:50%}.aclock b{transform-origin:50% 32px;background:#1b124059;width:2px;height:5px;margin-left:-1px;position:absolute;top:5px;left:50%}.clock-card__time{font:600 24px/1 var(--ff-mono);letter-spacing:-.02em}.clock-card__time small{margin-left:3px;font-size:12px;font-weight:500}.showcase{position:relative}.showcase__viewport{scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;border-radius:var(--r-xl);grid-auto-columns:86%;grid-auto-flow:column;gap:14px;scroll-padding-inline:0;display:grid;overflow-x:auto}.showcase__viewport::-webkit-scrollbar{display:none}.slide{scroll-snap-align:start;border-radius:var(--r-xl);background:var(--bg-elev);border:1px solid var(--line);min-height:360px;transition:opacity var(--t-slow) var(--ease-out), filter var(--t-slow) var(--ease-out);grid-template-columns:1.4fr 1fr;gap:0;display:grid;overflow:hidden}.slide:not(.is-current){opacity:.55;filter:saturate(.7);cursor:pointer}.slide:not(.is-current):hover{opacity:.8}.slide__body{flex-direction:column;gap:12px;min-width:0;padding:24px;display:flex}.slide__brand{align-items:center;gap:10px;height:34px;display:flex}.slide__brand img{object-fit:contain;width:auto;max-width:120px;height:26px}.slide__kicker{font:500 11px/1.4 var(--ff-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--subtle)}.slide__period{white-space:nowrap}.slide__title{font:400 28px/1.08 var(--ff-serif);letter-spacing:-.01em}.slide__text{color:var(--fg-2);font-size:14px;line-height:1.55}.slide__metrics{gap:8px;margin-top:auto;display:grid}.slide__actions{flex-wrap:wrap;gap:8px;display:flex}.showcase__bar{justify-content:space-between;align-items:center;gap:12px;margin-top:14px;display:flex}.showcase__tabs{flex-wrap:wrap;gap:5px;min-width:0;display:flex}.showcase__tab{border-radius:var(--r-full);background:var(--bg-elev);border:1px solid var(--line);height:40px;color:var(--muted);transition:color var(--t-fast), border-color var(--t-fast), background var(--t-fast);flex:none;align-items:center;gap:7px;padding:0 11px 0 5px;font-size:13px;display:inline-flex;position:relative;overflow:hidden}.showcase__tab:hover{color:var(--fg);background:var(--surface)}.showcase__mark{background:#fff;border-radius:50%;flex:none;place-items:center;width:30px;height:30px;display:grid;box-shadow:inset 0 0 0 1px #00000014}.showcase__mark img{object-fit:contain;width:22px;height:22px}.showcase__mark--wide{border-radius:var(--r-full);width:auto;min-width:30px;padding:0 8px}.showcase__mark--wide img{width:auto;max-width:48px;height:12px}.showcase__tab[aria-current=true]{color:var(--fg);border-color:var(--line-strong);background:var(--surface)}.showcase__tab:after{content:"";height:2px;width:calc(var(--prog,0) * 100%);background:var(--accent);position:absolute;bottom:0;left:0}.showcase__tab:not([aria-current=true]):after{width:0}.showcase__nav{flex:none;gap:6px;display:flex}.quote-row{grid-template-columns:1fr 150px;align-items:center;gap:28px;display:grid}.turntable{color:var(--muted);justify-items:center;gap:10px;display:grid;position:relative}.turntable__plinth{width:132px;height:112px;transition:transform var(--t-slow) var(--ease-lift);background:linear-gradient(160deg,#3a2f26,#241c16);border-radius:14px;display:block;position:relative;transform:rotate(-3deg);box-shadow:inset 0 1px #ffffff14,0 10px 24px #00000059}.turntable:hover .turntable__plinth,.turntable:focus-visible .turntable__plinth{transform:rotate(0)translateY(-3px)}.turntable__note{text-align:center;font:15px/1.15 var(--ff-hand);letter-spacing:.01em;justify-items:center;max-width:150px;display:grid}.turntable__note b{color:var(--fg);font-size:17px;font-weight:400}@media (max-width:720px){.clock-card{flex-direction:column;align-items:flex-start;gap:8px}.aclock{width:54px;height:54px}.aclock .h{height:14px}.aclock .m{height:20px}.aclock .s{height:22px}.aclock b{transform-origin:50% 22px;height:4px;top:4px}.sticky-note{cursor:default;touch-action:auto;-webkit-user-select:auto;user-select:auto;--rot:-5deg;width:104px;padding:16px 8px 10px;font-size:15px;top:16px;left:14px}.welcome{font-size:19px}.dock__item{width:30px;height:30px}.slide{grid-template-columns:1fr;min-height:0}.showcase__viewport{grid-auto-columns:88%;gap:10px}.showcase__bar{flex-direction:column;align-items:stretch}.showcase__tabs{scrollbar-width:none;scroll-snap-type:x proximity;scroll-padding-inline:var(--gutter);margin-inline:calc(var(--gutter) * -1);padding:2px var(--gutter) 4px;-webkit-mask-image:linear-gradient(90deg, transparent, #000 var(--gutter), #000 calc(100% - 28px), transparent);-webkit-mask-image:linear-gradient(90deg, transparent, #000 var(--gutter), #000 calc(100% - 28px), transparent);mask-image:linear-gradient(90deg, transparent, #000 var(--gutter), #000 calc(100% - 28px), transparent);flex-wrap:nowrap;overflow-x:auto}.showcase__tabs::-webkit-scrollbar{display:none}.showcase__tab{scroll-snap-align:start}.showcase__nav{justify-content:flex-end}.quote-row{grid-template-columns:1fr;gap:18px}.turntable{grid-template-columns:auto 1fr;place-items:center start;gap:14px}.turntable__note{text-align:left;justify-items:start;max-width:none}.slide__body{padding:18px}.slide__title{font-size:25px}.showcase__tab{height:38px}.bcard__label{font-size:11.5px}.bcard--spotify .spotify__progress,.sticky-note small{font-size:11px}}@media (pointer:coarse){.showcase__tab{height:44px}.meta-pill{height:40px}.meta-pill--link{position:relative}.meta-pill--link:before{content:"";position:absolute;inset:-3px 0}.marquee__ctrl button{position:relative}.marquee__ctrl button:before{content:"";position:absolute;inset:-8px -4px}}@media (pointer:coarse) and (max-width:350px){.hero__meta .socials a:before{inset:-6px -7px}}@media (prefers-reduced-motion:reduce){.aclock .s{display:none}}:root[data-motion=off] .aclock .s{display:none}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){:root:not([data-motion=off]) .bcard--tools{view-timeline:--tools-card block}:root:not([data-motion=off]) .dock__item{animation:linear both dock-settle;animation-timeline:--tools-card;animation-range:entry entry 60%}:root:not([data-motion=off]) .dock__item:nth-child(2){animation-range:entry 5% entry 65%}:root:not([data-motion=off]) .dock__item:nth-child(3){animation-range:entry 10% entry 70%}:root:not([data-motion=off]) .dock__item:nth-child(4){animation-range:entry 15% entry 75%}:root:not([data-motion=off]) .dock__item:nth-child(5){animation-range:entry 20% entry 80%}:root:not([data-motion=off]) .dock__item:nth-child(6){animation-range:entry 25% entry 85%}:root:not([data-motion=off]) .dock__item:nth-child(7){animation-range:entry 30% entry 90%}:root:not([data-motion=off]) .dock__item:nth-child(n+8){animation-range:entry 35% entry 95%}}}@keyframes dock-settle{0%{opacity:0;translate:0 10px}to{opacity:1;translate:0}}@media (prefers-reduced-motion:no-preference){:root:not([data-motion=off]) .bcard--pink .ladder>span:not(:first-child)>svg{transform-origin:0;animation:hm-touch-draw .38s var(--ease-out) calc(.16s + (var(--k,1) - 1) * .42s) backwards}:root:not([data-motion=off]) .bcard--pink .ladder>span:not(:first-child)>.ladder__step{animation:hm-touch-step .52s var(--ease-spring) calc(.42s + (var(--k,1) - 1) * .42s) backwards}:root:not([data-motion=off]) .bcard--photo .hm-photo-first{animation:4.6s cubic-bezier(.3,.1,.3,1) backwards hm-touch-drift}:root:not([data-motion=off]) .bcard--green .welcome{position:relative}:root:not([data-motion=off]) .bcard--green .welcome:before,:root:not([data-motion=off]) .bcard--green .welcome:after{content:"";background:linear-gradient(90deg, transparent, var(--card-bg,var(--p-green)) 30px);transform-origin:100%;pointer-events:none;animation:.64s cubic-bezier(.45,0,.35,1) .14s backwards hm-touch-ink;position:absolute;left:-32px;right:-6px;scale:0 1}:root:not([data-motion=off]) .bcard--green .welcome:before{height:calc(1.3em + 4px);top:-4px}:root:not([data-motion=off]) .bcard--green .welcome:after{animation-duration:.86s;animation-delay:.6s;top:1.3em;bottom:-3px}:root:not([data-motion=off]) .bcard--spotify .vinyl{animation:hm-touch-record 1.1s var(--ease-out) .15s backwards}:root:not([data-motion=off]) .bcard--yellow>div>:is(.bcard__title,.bcard__text),:root:not([data-motion=off]) .bcard--yellow>.bcard__go{animation:hm-touch-rise .56s var(--ease-out) 80ms backwards}:root:not([data-motion=off]) .bcard--yellow>div>.bcard__text{animation-delay:.17s}:root:not([data-motion=off]) .bcard--yellow>.bcard__go{animation-delay:.26s}:root:not([data-motion=off]) .bcard--yellow>:is(.hm-badge-top,.hm-badge-corner){animation:hm-touch-stamp .52s var(--ease-out) .38s backwards}:root:not([data-motion=off]) .bcard--tools .bcard__label{animation:hm-touch-slide .6s var(--ease-out) 60ms backwards}:root:not([data-motion=off]) .bcard--github .mini-graph>i:is(.lvl-1,.lvl-2,.lvl-3,.lvl-4){animation:hm-touch-light .64s var(--ease-out) backwards}:root:not([data-motion=off]) .bcard--github .mini-graph>i:nth-child(n+15){animation-delay:40ms}:root:not([data-motion=off]) .bcard--github .mini-graph>i:nth-child(n+29){animation-delay:80ms}:root:not([data-motion=off]) .bcard--github .mini-graph>i:nth-child(n+43){animation-delay:.12s}:root:not([data-motion=off]) .bcard--github .mini-graph>i:nth-child(n+57){animation-delay:.16s}:root:not([data-motion=off]) .bcard--github .mini-graph>i:nth-child(n+71){animation-delay:.2s}:root:not([data-motion=off]) .bcard--github .mini-graph>i:nth-child(n+85){animation-delay:.24s}:root:not([data-motion=off]) .bcard--github .mini-graph>i:nth-child(n+99){animation-delay:.28s}:root:not([data-motion=off]) .bcard--github .mini-graph>i:nth-child(n+113){animation-delay:.32s}:root:not([data-motion=off]) .bcard--github .mini-graph>i:nth-child(n+127){animation-delay:.36s}:root:not([data-motion=off]) .bcard--github .mini-graph>i:nth-child(n+141){animation-delay:.4s}:root:not([data-motion=off]) .bcard--github .mini-graph>i:nth-child(n+155){animation-delay:.44s}:root:not([data-motion=off]) .bcard--github .mini-graph>i:nth-child(n+169){animation-delay:.48s}:root:not([data-motion=off]) .bcard--github .mini-graph>i:nth-child(n+183){animation-delay:.52s}:root:not([data-motion=off]) .bcard--github .mini-graph>i:nth-child(n+197){animation-delay:.56s}:root:not([data-motion=off]) .bcard--github .mini-graph>i:nth-child(n+211){animation-delay:.6s}:root:not([data-motion=off]) .bcard--github .mini-graph>i:nth-child(n+225){animation-delay:.64s}:root:not([data-motion=off]) .bcard--github .mini-graph>i:nth-child(n+239){animation-delay:.68s}:root:not([data-motion=off]) .bcard--github .mini-graph>i:nth-child(n+253){animation-delay:.72s}:root:not([data-motion=off]) .bcard--github .mini-graph>i:nth-child(n+267){animation-delay:.76s}:root:not([data-motion=off]) .bcard--github .mini-graph>i:nth-child(n+281){animation-delay:.8s}:root:not([data-motion=off]) .bcard--github .mini-graph>i:nth-child(n+295){animation-delay:.84s}:root:not([data-motion=off]) .bcard--github .mini-graph>i:nth-child(n+309){animation-delay:.88s}:root:not([data-motion=off]) .bcard--github .mini-graph>i:nth-child(n+323){animation-delay:.92s}:root:not([data-motion=off]) .bcard--github .mini-graph>i:nth-child(n+337){animation-delay:.96s}:root:not([data-motion=off]) .bcard--github .mini-graph>i:nth-child(n+351){animation-delay:1s}:root:not([data-motion=off]) .bcard--cta .bcard__go svg{animation:hm-touch-nudge 1.2s var(--ease-out) .3s backwards}:root:not([data-motion=off]) .bcard--cta:hover:not(:has(.hm-cta-book:hover)) .bcard__go svg{animation:hm-touch-nudge 1.2s var(--ease-out) .3s backwards, hm-nudge .56s var(--ease-out)}:root:not([data-motion=off]) .aclock .s.hm-sweep{animation:60s linear infinite spin}}@keyframes hm-touch-draw{0%{scale:0 1}}@keyframes hm-touch-step{0%{opacity:0;scale:.8}}@keyframes hm-touch-drift{0%{scale:1.08}}@keyframes hm-touch-ink{0%{scale:1}}@keyframes hm-touch-record{0%{translate:38px 32px;rotate:34deg}}@keyframes hm-touch-rise{0%{opacity:0;translate:0 8px}}@keyframes hm-touch-stamp{0%{opacity:0;scale:1.4}}@keyframes hm-touch-slide{0%{opacity:0;translate:-10px}}@keyframes hm-touch-light{0%{opacity:.12}}@keyframes hm-touch-nudge{0%,40%,to{translate:0}20%{translate:3px -3px}64%{translate:1.5px -1.5px}}@keyframes hm-nudge{45%{translate:2px -2px}}}.hm-hero-solo{grid-template-columns:minmax(0,1fr)}.hm-handle-name:after{content:attr(data-handle);content:attr(data-handle) / "";white-space:nowrap;color:var(--accent-text);opacity:0;transition:transform .52s var(--ease-lift), opacity .52s var(--ease-lift);grid-area:1/1;transform:translateY(100%)}.hm-handle-name:hover:after,.hm-handle-name:focus-visible:after{opacity:1;transform:none}@media (min-width:721px){.hm-hero-meta>.np-pill--hero{flex:0 auto;max-width:100%}.hm-hero-meta>.socials{flex:none}.hm-portrait>.portrait__note{flex-direction:row;align-items:flex-end;top:calc(100% + 2px);bottom:auto;left:-22px;transform:rotate(-4deg)}.hm-portrait>.portrait__note svg{margin:0 0 6px 3px;transform:scaleY(-1)}}.hm-resume{white-space:nowrap;align-items:center;gap:6px;width:auto;padding:0 10px 0 8px;font-size:13.5px;font-weight:500;line-height:1;display:inline-flex}@media (pointer:coarse){.hm-resume:before{inset:-6px 0}}.hm-bento-grid{grid-template-areas:var(--bento-areas);grid-template-rows:var(--bento-rows)}@media (max-width:720px){.hm-bento-grid{grid-template-areas:var(--bento-areas-sm);grid-template-rows:var(--bento-rows-sm)}}.hm-bento-auto{grid-template-rows:none;grid-template-areas:none;grid-auto-rows:minmax(150px,auto);grid-auto-flow:dense}.hm-bento-auto>.bcard{grid-area:auto}.hm-bento-top{margin-top:36px}.hm-build-text{-webkit-line-clamp:4;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}@media (max-width:720px){.hm-build-text{display:none}}.hm-clamp3{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.hm-note-bare>.bento-chip{top:auto;bottom:14px}.hm-tools-tight{justify-content:flex-start;gap:18px}.hm-bento-grid .ticker.is-over,.hm-bento-auto .ticker.is-over{-webkit-mask-image:linear-gradient(90deg,#0000 0,#000 12px calc(100% - 16px),#0000);mask-image:linear-gradient(90deg,#0000 0,#000 12px calc(100% - 16px),#0000)}@media (max-width:400px){.hm-ladder{gap:5px;font-size:10px}.hm-ladder>span>.ladder__step{padding:3px 5px}}@media (max-width:360px){.hm-ladder svg{display:none}}@media (max-width:391px){.hm-dock>li:nth-child(n+9){display:none}}@media (max-width:355px){.hm-dock>li:nth-child(n+8){display:none}}.hm-dock-text{width:auto;font:600 10.5px/1 var(--ff-sans);color:#3f3f46;white-space:nowrap;padding:0 8px}.hm-graph-sm{display:none}@media (max-width:720px){.hm-graph-lg{display:none}.hm-graph-sm{display:grid}}.hm-feat{gap:28px;margin-block:4px 0;padding:0;list-style:none;display:grid}.hm-row{border-radius:14px;grid-template-columns:clamp(240px,41%,360px) minmax(0,1fr);align-items:center;gap:32px;display:grid;position:relative}.hm-media{aspect-ratio:16/10;border-radius:var(--r);box-shadow:var(--sh-1);transition:transform .6s var(--ease-lift), box-shadow .6s var(--ease-lift);position:relative;overflow:hidden}.hm-media>.stage{border-radius:inherit;position:absolute;inset:0}.hm-media .browser{width:84%;transition:transform .6s var(--ease-lift);transform:translateY(9%)}.hm-row:hover .hm-media,.hm-row:focus-within .hm-media{box-shadow:var(--sh-3);transform:translateY(-3px)}.hm-row:hover .hm-media .browser,.hm-row:focus-within .hm-media .browser{transform:translateY(4%)scale(1.03)}.hm-media .sv video{opacity:0;transition:opacity .4s var(--ease-out)}.hm-is-playing .hm-media .sv video{opacity:1}.hm-play{z-index:3;color:#fff;height:22px;font:500 10px/1 var(--ff-mono);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:0;transition:opacity var(--t);background:#00000080;border-radius:6px;align-items:center;gap:5px;padding:0 7px;display:inline-flex;position:absolute;bottom:8px;right:8px}.hm-play svg{width:10px;height:10px}.hm-row:hover .hm-play,.hm-row:focus-within .hm-play{opacity:1}.hm-body{flex-direction:column;min-width:0;padding-top:2px;display:flex}.hm-brand{align-items:center;height:22px;margin-bottom:10px;display:flex}.hm-brand img{object-fit:contain;object-position:left center;width:auto;max-width:150px;height:22px}.hm-title{font:600 17px/1.3 var(--ff-sans);letter-spacing:-.015em;color:var(--fg)}.hm-stretch:after{content:"";z-index:1;border-radius:16px;position:absolute;inset:-6px}.hm-stretch:focus-visible{outline:none}.hm-stretch:focus-visible:after{outline:2px solid var(--ring,var(--accent-text));outline-offset:2px}.hm-kicker{font:500 11px/1.4 var(--ff-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--subtle);margin-top:4px}.hm-text{color:var(--fg-2);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:8px;font-size:14.5px;line-height:1.55;display:-webkit-box;overflow:hidden}.hm-metrics{flex-wrap:wrap;gap:6px;margin-top:12px;display:flex}.hm-metrics>.metric-chip{padding:6px 9px;font-size:12px}.hm-metrics>.metric-chip b{font-size:13.5px}@media (min-width:721px){.hm-metrics>.metric-chip{min-width:0;max-width:100%}.hm-metrics>.metric-chip span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}}.hm-actions{align-items:center;gap:16px;margin-top:12px;font-size:13.5px;font-weight:500;display:flex}.hm-more{color:var(--fg);align-items:center;gap:5px;display:inline-flex}.hm-more svg{width:14px;height:14px;transition:transform var(--t) var(--ease-out)}.hm-row:hover .hm-more svg{transform:translate(3px)}.hm-visit{z-index:2;color:var(--muted);border-radius:6px;align-items:center;gap:4px;display:inline-flex;position:relative}.hm-visit:hover{color:var(--fg)}.hm-visit svg{width:13px;height:13px}@media (max-width:720px){.hm-feat{gap:32px}.hm-row{grid-template-columns:minmax(0,1fr);gap:14px}}.hm-stack{flex-wrap:wrap;gap:6px;margin:auto 0 0;padding:0;list-style:none;display:flex}.hm-rail{overscroll-behavior-x:contain;scrollbar-width:none;--fade-s:0px;--fade-e:0px;-webkit-mask-image:linear-gradient(90deg, transparent, #000 var(--fade-s), #000 calc(100% - var(--fade-e)), transparent);-webkit-mask-image:linear-gradient(90deg, transparent, #000 var(--fade-s), #000 calc(100% - var(--fade-e)), transparent);mask-image:linear-gradient(90deg, transparent, #000 var(--fade-s), #000 calc(100% - var(--fade-e)), transparent);flex-wrap:nowrap;flex:0 auto;padding-block:2px;position:relative;overflow-x:auto}.hm-rail::-webkit-scrollbar{display:none}.hm-rail[data-fade-start=true]{--fade-s:28px}.hm-rail[data-fade-end=true]{--fade-e:36px}@media (max-width:720px){.hm-rail{--fade-s:var(--gutter);--fade-e:0px}.hm-rail[data-fade-end=true]{--fade-e:28px}}.hm-viewport>.slide{position:relative}.hm-viewport>.slide:not(.is-current){opacity:1;filter:none}.hm-viewport>.slide:not(.is-current)>.stage{opacity:.5;filter:saturate(.7);transition:opacity var(--t-slow) var(--ease-out), filter var(--t-slow) var(--ease-out)}.hm-viewport>.slide:not(.is-current):hover>.stage{opacity:.8}.hm-turntable>.turntable__note{width:max-content;max-width:240px}.hm-turntable>.turntable__note>*{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}@media (max-width:720px){.hm-turntable>.turntable__note{width:auto;min-width:0;max-width:100%}}@media (min-width:721px){.hm-stamps:after{display:none}.hm-stamps{-webkit-mask-image:linear-gradient(#000 calc(100% - 72px),#0000 calc(100% - 4px));mask-image:linear-gradient(#000 calc(100% - 72px),#0000 calc(100% - 4px));-webkit-mask-position:50% 100%;mask-position:50% 100%;-webkit-mask-size:calc(100% + 120px) calc(100% + 80px);mask-size:calc(100% + 120px) calc(100% + 80px);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-clip:no-clip;mask-clip:no-clip}}.hm-pstack-next{z-index:1;border-radius:inherit;cursor:pointer;background:0 0;border:0;position:absolute;inset:0}.hm-pstack-next:focus-visible{outline:2px solid var(--ring,var(--accent-text));outline-offset:-4px}@media (max-width:380px){.hm-portrait>.portrait__note{font-size:16px;display:flex;right:-96px}.hm-portrait>.portrait__note svg{width:44px;height:26px}}.hm-bento-grid .spotify__body,.hm-bento-auto .spotify__body{max-width:none}.hm-bento-grid .spotify__title,.hm-bento-auto .spotify__title{white-space:normal;max-width:calc(100% - 18px)}.hm-bento-grid .spotify__title .ticker,.hm-bento-auto .spotify__title .ticker{-webkit-line-clamp:2;line-clamp:2;white-space:normal;-webkit-box-orient:vertical;display:-webkit-box;-webkit-mask-image:none;mask-image:none}.hm-bento-grid .spotify__title .ticker .ticker__track,.hm-bento-auto .spotify__title .ticker .ticker__track{width:auto;animation:none;display:inline}.hm-bento-grid .spotify__title .ticker .ticker__item,.hm-bento-auto .spotify__title .ticker .ticker__item{padding-right:0}.hm-bento-grid .spotify__title .ticker .ticker__item--copy,.hm-bento-auto .spotify__title .ticker .ticker__item--copy{display:none}.hm-bento-grid .spotify__artist,.hm-bento-auto .spotify__artist,.hm-bento-grid .spotify__links,.hm-bento-auto .spotify__links{max-width:calc(100% - 64px)}.hm-bento-grid .bcard--spotify .vinyl,.hm-bento-auto .bcard--spotify .vinyl{bottom:-56px;right:-54px}@media (min-width:721px){.hm-clock-card{grid-template-columns:auto minmax(0,1fr);grid-template-areas:"clock head""text text";align-content:space-between;align-items:center;gap:10px 14px;display:grid}.hm-clock-card>.aclock{grid-area:clock;width:60px;height:60px}.hm-clock-card>.aclock .h{height:16px}.hm-clock-card>.aclock .m{height:22px}.hm-clock-card>.aclock .s{height:24px}.hm-clock-card>.aclock b{transform-origin:50% 26px;height:4px;top:4px}.hm-clock-head{grid-area:head;min-width:0}.hm-clock-text{grid-area:text;font-size:13px;line-height:1.4}}@media (max-width:720px){.hm-clock-text{margin-top:-4px}}@media (min-width:721px){.hm-rail[data-fade-end=true]{--fade-e:64px}}.hm-closing:not(:has(~.section)){margin-bottom:-72px}.bcard.hm-accent{background:var(--card-bg);color:var(--card-ink)}.bcard.hm-accent :focus-visible{--ring:var(--card-ink)}.bcard.hm-accent .bcard__text,.bcard.hm-accent .bcard__label,.bcard.hm-accent .ladder{color:var(--card-ink-2)}.bcard.hm-accent .ladder__step{background:color-mix(in oklab, var(--card-ink) 9%, transparent)}.bcard.hm-accent .ladder__step--now{background:var(--card-ink);color:var(--card-bg)}.bcard--github.hm-accent,.bcard--spotify.hm-accent{border-color:#0000}.bcard--github.hm-accent .mini-graph i{background:color-mix(in oklab, var(--card-ink) 13%, transparent)}.bcard--spotify.hm-accent .spotify__state,.bcard--spotify.hm-accent .spotify__artist,.bcard--spotify.hm-accent .spotify__progress{color:var(--card-ink-2)}.bcard--spotify.hm-accent .spotify__state .eq i{background:var(--card-ink-2)}.bcard--spotify.hm-accent .spotify__logo{fill:var(--card-ink)}.bcard--spotify.hm-accent .spotify__listen{color:var(--card-ink)}.bcard--spotify.hm-accent .spotify__bar{background:color-mix(in oklab, var(--card-ink) 18%, transparent)}.bcard--spotify.hm-accent .spotify__bar i{background:var(--card-ink)}.bcard--spotify.hm-accent .pa-play,.bcard--spotify.hm-accent .pa-play.is-active{--pa-fill:var(--card-ink);--pa-on:var(--card-bg)}.hm-np-link{z-index:1;border-radius:inherit;position:absolute;inset:0}.bcard--spotify>.hm-np-link:focus-visible{outline-color:var(--accent-text)}.hm-np-linked .spotify__body,.hm-np-linked .spotify__progress{pointer-events:none}.hm-np-linked .spotify__body :is(a,button){pointer-events:auto}.bcard.hm-np-linked:hover{box-shadow:var(--sh-2);transform:translateY(-3px)rotate(-.4deg)}.bcard--spotify .spotify__links{flex-wrap:wrap;row-gap:0}.spotify__diary{white-space:nowrap;color:#57575f;align-items:center;gap:3px;min-height:24px;margin-top:2px;font-size:12px;font-weight:500;display:inline-flex}.spotify__diary .icon-sm{width:12px;height:12px;transition:transform var(--t) var(--ease-out)}.spotify__diary:hover{color:var(--spotify-ink);text-underline-offset:2px;text-decoration:underline}.spotify__diary:hover .icon-sm{transform:translate(2px)}.bcard--spotify.hm-accent .spotify__diary{color:var(--card-ink-2)}.bcard--spotify.hm-accent .spotify__diary:hover{color:var(--card-ink)}.bcard--spotify .hm-np-note{font:400 12px/1.35 var(--ff-sans);white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.hm-badge-photo{background:var(--surface);border-radius:50%;flex:none;width:34px;height:34px;display:block;overflow:hidden;box-shadow:0 0 0 2px #ffffffbf,0 1px 3px #0000002e}.hm-badge-photo img{object-fit:cover;width:100%;height:100%;display:block}.hm-badge-top,.hm-badge-corner{position:absolute;right:14px}.hm-badge-top{top:14px}.hm-badge-corner{bottom:14px}.hm-with-badge{padding-right:42px}:root:not([data-theme=light]) .bcard__logo.hm-logo-themed{background:var(--surface);box-shadow:inset 0 0 0 1px var(--line-strong), 0 1px 2px #0000004d}.bento-chip.hm-chip-art{gap:6px;padding-left:3px}.hm-chip-face{background:#fff;border-radius:50%;flex:none;place-items:center;width:22px;height:22px;display:grid;overflow:hidden}.hm-chip-face img{object-fit:cover;width:100%;height:100%;display:block}.hm-chip-face.hm-chip-face--logo img{object-fit:contain;width:16px;height:16px}.hm-bento-auto>.hm-wide{grid-column:span 2}.hm-gh-count{gap:2px;display:grid}.hm-gh-note{color:var(--subtle);white-space:nowrap;text-overflow:ellipsis;font-size:11.5px;line-height:1.3;overflow:hidden}.bcard.hm-accent .hm-gh-note{color:var(--card-ink-2)}:root:not([data-theme=light]) .showcase__mark.hm-mark-themed{background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--line-strong)}.hm-stamp-photo{background:var(--surface)}.hm-stamp-photo img{object-fit:cover;transition:transform var(--t-slow) var(--ease-lift)}.stamp:hover .hm-stamp-photo img{transform:scale(1.06)}.stamp__meta .tag .icon-sm{width:11px;height:11px}@media (min-width:721px){.stamp.hm-stamp-featured{border-color:var(--accent-line)}}@media (pointer:coarse){.hm-visit:before,.spotify__listen:before{content:"";position:absolute;inset:-11px -8px}.spotify__listen{position:relative}}@media (max-width:720px){.hm-dock-text{font-size:11px}}.hm-cta-foot{flex-wrap:wrap;align-items:center;column-gap:14px;display:flex}.hm-cta-book{z-index:2;white-space:nowrap;color:#f0ebff;align-items:center;gap:4px;font-size:12.5px;font-weight:500;line-height:16px;display:inline-flex;position:relative}.hm-cta-book:before{content:"";position:absolute;inset:-4px -2px}.hm-cta-book:focus-visible{outline-offset:1px}.hm-cta-book svg{width:13px;height:13px;transition:transform var(--t) var(--ease-out)}.hm-cta-book:hover{color:#fff;text-underline-offset:2px;text-decoration:underline}.hm-cta-book:hover svg{transform:translate(2px,-2px)}.bcard--cta:has(.hm-cta-book:hover) .bcard__go svg{transform:none}.bcard--cta:not(.hm-accent) .hm-cta-book:focus-visible{--ring:#fff}.bcard.hm-accent .hm-cta-book{color:var(--card-ink-2)}.bcard.hm-accent .hm-cta-book:hover{color:var(--card-ink)}@media (pointer:coarse){.hm-cta-book:before{inset:-4px -8px -14px}}.hm-card-link{z-index:1;border-radius:inherit;position:absolute;inset:0}.hm-card-link:focus-visible{outline:none}.bcard:has(>.hm-card-link:focus-visible){outline:2px solid var(--ring,var(--accent-text));outline-offset:3px}.bcard.hm-card-linked:hover{box-shadow:var(--sh-2);transform:translateY(-3px)rotate(-.4deg)}
.hm-portrait .portrait__hit{width:100%;color:inherit;font:inherit;text-align:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:6px;padding:0;display:block}.hm-portrait .portrait__hit:focus-visible{outline:none}.hm-portrait .portrait__hit:focus-visible .portrait__card{outline:2px solid var(--ring,var(--accent-text));outline-offset:3px}.hm-portrait .portrait__card,.hm-portrait .portrait__img{display:block}.portrait.hm-portrait .portrait__img img.portrait__swap{object-fit:contain;background:var(--paper);opacity:0;transition:opacity .45s var(--ease-out);transform:none}.portrait.hm-portrait .portrait__img img:first-child,.portrait.hm-portrait:hover .portrait__img img:first-child{transform:none}@media (hover:hover) and (pointer:fine){.portrait.hm-portrait:hover .portrait__img img.portrait__swap{opacity:1}}.portrait.hm-portrait .portrait__hit:focus-visible .portrait__img img.portrait__swap,.portrait.hm-portrait[data-open] .portrait__img img.portrait__swap{opacity:1}.hm-offscreen-pause[data-offscreen] .marquee__track,.hm-offscreen-pause:focus-within .marquee__track{animation-play-state:paused}
@property --hm-n{syntax:"<integer>";inherits:true;initial-value:0}@keyframes hm-demo-frame{0%,93%{opacity:1}to{opacity:0}}@keyframes hm-pick-in{0%{opacity:0;transform:translateY(-12px)scale(.92)}}@keyframes hm-fade{0%{opacity:0}}@keyframes hm-rise-in{0%{opacity:0;transform:translateY(6px)}}@keyframes hm-ring-in{0%{opacity:0;transform:scale(.86)}}@keyframes hm-arc{0%{stroke-dashoffset:100px}}@keyframes hm-count{0%{--hm-n:0}}@keyframes hm-key{0%{font-size:0}}@keyframes hm-shown{0%{opacity:1}}@keyframes hm-blink{50%{opacity:0}}@keyframes hm-press{45%{transform:scale(.9)}}@keyframes hm-pop{0%{opacity:0;transform:scale(.6)}}@keyframes hm-fly{0%{opacity:0;transform:translate(0)rotate(0)scale(.8)}12%{opacity:1}to{opacity:0;transform:translate(14px,-62px)rotate(-10deg)scale(1.05)}}@layer components{.bcard--match{grid-area:match}.bcard--song{grid-area:song}.bcard--reading{grid-area:reading}.hm-f-blank{background:color-mix(in oklab, currentColor 14%, transparent);display:block}.hm-demo{display:grid}.hm-demo__frame{grid-area:1/1;min-width:0}.hm-demo__frame:not([data-on]){visibility:hidden}.hm-demo[data-run]>.hm-demo__frame[data-on]{animation:hm-demo-frame var(--period,5.6s) linear both}.hm-demo[data-run]:not([data-play])>.hm-demo__frame,.hm-demo[data-run]:not([data-play])>.hm-demo__frame *,.hm-demo[data-run]:not([data-play])>.hm-demo__frame :before{animation-play-state:paused}.bcard--match{--tm-ink-2:var(--muted);--tm-ring:var(--accent);--tm-chip:color-mix(in oklab, var(--bg-elev) 86%, transparent);background:radial-gradient(120% 140% at 100% 0%, color-mix(in oklab, var(--accent) 20%, transparent), transparent 62%), color-mix(in oklab, var(--accent) 11%, var(--bg-elev));border:1px solid color-mix(in oklab, var(--accent) 20%, var(--line));color:var(--fg);container-type:inline-size}.bcard--match.hm-accent{--tm-ink-2:var(--card-ink-2);--tm-ring:var(--card-ink);--tm-chip:#ffffffb8;border-color:#0000}@supports (color:lab(0% 0 0)){.bcard--match.hm-accent{--tm-chip:lab(100% -.0000298023 .0000119209/.72)}}.hm-tm{flex:1;grid-template-rows:auto 1fr;grid-template-areas:"copy""stage";row-gap:12px;min-height:0;display:grid}.hm-tm__copy{grid-area:copy;min-width:0}.hm-tm__copy>.bcard__go{margin-top:4px}.hm-tm__kicker{color:var(--tm-ink-2);align-items:center;gap:7px;margin-bottom:5px;display:flex}.hm-tm__mark{fill:none;width:20px;height:12px;stroke:var(--tm-ring);stroke-width:1.6px;flex:none}.hm-tm__mark path{fill:color-mix(in oklab, var(--tm-ring) 45%, transparent);stroke:none}.hm-tm__title{text-wrap:balance}.hm-tm__text{color:var(--tm-ink-2);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:2px;display:-webkit-box;overflow:hidden}.hm-tm__stage{grid-area:stage;align-self:end;min-width:0}.hm-tm__frame{grid-template-columns:fit-content(48%) auto minmax(0,auto);justify-content:space-between;align-items:center;column-gap:14px;display:grid}.hm-tm__to{width:15px;height:15px;color:color-mix(in oklab, currentColor 42%, transparent)}.hm-tm__picks{gap:4px;min-width:0;margin:0;padding:0;list-style:none;display:grid}.hm-tm__pick{min-width:0;display:flex;position:relative}.hm-tm__slot{border:1.5px dashed color-mix(in oklab, currentColor 32%, transparent);opacity:0;border-radius:50%;width:24px;height:24px;position:absolute;top:1px;left:1px}.hm-tm__chip{border-radius:var(--r-full);background:var(--tm-chip);min-width:0;max-width:100%;height:26px;box-shadow:inset 0 0 0 1px color-mix(in oklab, currentColor 9%, transparent), 0 1px 2px #0000000f;align-items:center;gap:7px;padding:0 11px 0 1px;display:flex}.hm-tm__face{object-fit:cover;border-radius:50%;flex:none;width:24px;height:24px}.hm-tm__name{white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:12.5px;font-weight:500;line-height:1.2;overflow:hidden}.hm-tm__result{align-items:center;gap:12px;min-width:0;display:flex}.hm-tm__ring{flex:none;place-items:center;width:60px;height:60px;display:grid;position:relative}.hm-tm__ring svg{width:100%;height:100%;position:absolute;inset:0;overflow:visible;transform:rotate(-90deg)}.hm-tm__track{fill:none;stroke:color-mix(in oklab, currentColor 10%, transparent);stroke-width:6px}.hm-tm__arc{fill:none;stroke:var(--tm-ring);stroke-width:6px;stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:calc(100 - var(--score,0))}.hm-tm__num{font:400 21px/1 var(--ff-serif);letter-spacing:-.02em;font-variant-numeric:tabular-nums;align-items:baseline;display:flex}.hm-tm__num:before{--hm-n:var(--score,0);counter-reset:hm-n var(--hm-n);content:counter(hm-n)}.hm-tm__num small{font:500 10px/1 var(--ff-sans);color:var(--tm-ink-2);margin-left:1px}.hm-tm__verdict{min-width:0;max-width:6.5em;font:400 15.5px/1.12 var(--ff-serif);letter-spacing:-.01em;text-wrap:balance}.hm-tm__frame--still .hm-tm__pick{align-items:center;gap:7px;height:26px}.hm-tm__frame--still .hm-tm__slot{opacity:1;flex:none;position:static}.hm-tm__name--blank{background:color-mix(in oklab, currentColor 12%, transparent);border-radius:4px;width:64px;height:7px;display:block}.hm-tm__frame--still .hm-tm__ring{box-shadow:inset 0 0 0 6px color-mix(in oklab, currentColor 10%, transparent);border-radius:50%}.hm-tm__venn{fill:none;width:34px;height:20px;stroke:var(--tm-ring);stroke-width:1.4px}.hm-tm__venn path{fill:color-mix(in oklab, var(--tm-ring) 40%, transparent);stroke:none}.hm-demo[data-run]>[data-on] .hm-tm__slot{animation:hm-shown calc(.48s + var(--k,0) * .27s) steps(1, end) both}.hm-demo[data-run]>[data-on] .hm-tm__chip{animation:hm-pick-in .56s var(--ease-spring) both;animation-delay:calc(.24s + var(--k,0) * .27s)}.hm-demo[data-run]>[data-on] .hm-tm__to{animation:.32s ease-out .98s both hm-fade}.hm-demo[data-run]>[data-on] .hm-tm__ring{animation:hm-ring-in .42s var(--ease-out) both;animation-delay:1.06s}.hm-demo[data-run]>[data-on] .hm-tm__arc{animation:hm-arc 1.3s var(--ease-out) both;animation-delay:1.16s}.hm-demo[data-run]>[data-on] .hm-tm__num:before{animation:hm-count 1.3s var(--ease-out) both;animation-delay:1.16s}.hm-demo[data-run]>[data-on] .hm-tm__verdict{animation:hm-rise-in .48s var(--ease-out) both;animation-delay:2.26s}@container (min-width:520px){.hm-tm{grid-template:"copy stage"1fr/minmax(0,1fr) minmax(0,1.35fr);column-gap:32px}.hm-tm__copy{flex-direction:column;display:flex}.hm-tm__copy>.bcard__go{margin-top:auto}.hm-tm__title{max-width:14em;font-size:17px}.hm-tm__stage{align-self:center}}@container (max-width:340px){.hm-tm__frame{column-gap:10px}.hm-tm__result{text-align:center;flex-direction:column;gap:7px}.hm-tm__verdict{max-width:7.6em;font-size:13.5px}}.bcard--song{--sg-bg:color-mix(in oklab, var(--p-orange) 52%, #fff4ec);--sg-ink:var(--p-orange-ink);--sg-ink-2:var(--p-orange-ink-2);background:var(--sg-bg);color:var(--sg-ink);container-type:inline-size}.bcard--song.hm-accent{--sg-bg:var(--card-bg);--sg-ink:var(--card-ink);--sg-ink-2:var(--card-ink-2)}.hm-sg{flex:1;grid-template-rows:auto 1fr auto;grid-template-areas:"copy""stage""foot";row-gap:14px;min-height:0;display:grid}.hm-sg__copy{grid-area:copy;min-width:0}.hm-sg__lede{color:var(--sg-ink-2);margin-top:3px}.hm-sg__stage{grid-area:stage;align-self:center;min-width:0}.hm-sg__foot{flex-wrap:wrap;grid-area:foot;align-items:baseline;gap:3px 12px;display:flex}.hm-sg__proof{font:500 10.5px/1.3 var(--ff-mono);letter-spacing:.04em;color:var(--sg-ink-2)}.hm-sg__field{border-radius:var(--r-full);height:32px;box-shadow:inset 0 0 0 1px color-mix(in oklab, var(--sg-ink) 12%, transparent);color:var(--sg-ink);background:#ffffff9e;align-items:center;gap:7px;padding:0 12px 0 11px;font-size:13px;line-height:1;display:flex;position:relative}.hm-sg__glass{opacity:.66;flex:none;width:14px;height:14px}.hm-sg__q{white-space:pre;align-items:center;min-width:0;font-weight:500;display:inline-flex;overflow:hidden}.hm-sg__key{font-size:13px}.hm-sg__caret{opacity:0;flex:none;width:1.5px;height:15px;margin-left:1px;position:relative}.hm-sg__caret:before{content:"";background:currentColor;border-radius:1px;position:absolute;inset:0}.hm-sg__ph{color:var(--sg-ink-2);opacity:0;pointer-events:none;position:absolute;left:35px}.hm-sg__ph--on{opacity:.9}.hm-sg__hit{color:#18181b;background:#ffffffd6;border-radius:11px;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:9px;margin-top:8px;padding:6px 7px 6px 6px;display:grid;box-shadow:0 1px 2px #0d17361a,0 4px 12px -6px #0d17362e}.hm-sg__art{object-fit:cover;border-radius:5px;width:36px;height:36px}.hm-sg__meta{min-width:0;display:grid}.hm-sg__title,.hm-sg__by{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.hm-sg__title{font-size:12.5px;font-weight:600;line-height:1.3}.hm-sg__by{color:#5b5b63;font-size:11.5px;line-height:1.3}.hm-sg__send{border-radius:var(--r-full);color:#fff;height:26px;font:600 11.5px/1 var(--ff-sans);background:#18181b;display:grid;position:relative}.hm-sg__send-label{grid-area:1/1;justify-content:center;align-items:center;gap:4px;padding:0 10px 0 11px;display:inline-flex}.hm-sg__send-label .icon{width:12px;height:12px}.hm-sg__send-label--go{opacity:0}.hm-sg__send-label--done .icon{stroke-width:2.6px}.hm-sg__plane{width:15px;height:15px;color:var(--sg-ink);opacity:0;pointer-events:none;margin-top:-8px;position:absolute;top:50%;right:9px}.hm-sg__frame{--t0:.42s;--ty:85ms;--t-hit:calc(var(--t0) + var(--n,8) * var(--ty) + .36s);--t-press:calc(var(--t-hit) + .95s);--t-sent:calc(var(--t-press) + .2s)}.hm-demo[data-run]>[data-on] .hm-sg__ph{animation:hm-shown var(--t0) steps(1, end) both}.hm-demo[data-run]>[data-on] .hm-sg__key{animation:1ms step-end both hm-key;animation-delay:calc(var(--t0) + var(--c,0) * var(--ty))}.hm-demo[data-run]>[data-on] .hm-sg__caret{animation:hm-shown var(--t-hit) steps(1, end) both}.hm-demo[data-run]>[data-on] .hm-sg__caret:before{animation:.9s step-end infinite hm-blink}.hm-demo[data-run]>[data-on] .hm-sg__hit{animation:hm-rise-in .44s var(--ease-out) both;animation-delay:var(--t-hit)}.hm-demo[data-run]>[data-on] .hm-sg__send{animation:.3s ease-in-out both hm-press;animation-delay:var(--t-press)}.hm-demo[data-run]>[data-on] .hm-sg__send-label--go{animation:hm-shown var(--t-sent) steps(1, end) both}.hm-demo[data-run]>[data-on] .hm-sg__send-label--done{animation:hm-pop .38s var(--ease-spring) both;animation-delay:var(--t-sent)}.hm-demo[data-run]>[data-on] .hm-sg__plane{animation:hm-fly 1.1s var(--ease-out) both;animation-delay:var(--t-sent)}@container (min-width:380px){.hm-sg{grid-template:"copy stage"1fr"foot stage"/minmax(0,1fr) minmax(0,1.12fr);gap:10px 22px}}@container (min-width:560px){.hm-sg{column-gap:36px}.hm-sg__heading{font-size:17px}}.bcard--reading{--rd-ink-2:#6b6356;color:var(--paper-ink);background:radial-gradient(130% 90% at 50% 38%,#fbf6ec 0,#f0e7d6 100%);box-shadow:inset 0 0 0 1px #2a262017;container-type:inline-size}.bcard--reading.hm-accent{--rd-ink-2:var(--card-ink-2);background:var(--card-bg);box-shadow:none}.hm-rd{flex:1;grid-template-rows:auto 1fr auto;grid-template-areas:"kicker""desk""copy";gap:10px;min-height:0;display:grid}.hm-rd__kicker{color:var(--rd-ink-2);grid-area:kicker}.hm-rd__desk{grid-area:desk;place-items:center;min-height:0;display:grid;position:relative}.hm-rd__copy{flex-direction:column;grid-area:copy;min-width:0;display:flex}.hm-rd__title{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.hm-rd__author{color:var(--rd-ink-2);white-space:nowrap;text-overflow:ellipsis;margin-top:1px;overflow:hidden}.hm-rd__note{color:var(--rd-ink-2);margin-top:4px;font-size:12.5px;line-height:1.4}.hm-rd__copy>.bcard__go{margin-top:10px}.hm-rd__face{aspect-ratio:var(--ar,2 / 3);background:var(--cv,#d8d2c4);transition:transform var(--t-slow) var(--ease-lift);border-radius:2px 4px 4px 2px;grid-area:1/1;display:block;position:relative;overflow:hidden}.hm-rd__face img{object-fit:cover;width:100%;height:100%;display:block}.hm-rd__face:after{content:"";pointer-events:none;background:linear-gradient(90deg,#00000047 0,#00000014 3%,#ffffff29 5%,#0000 9% 94%,#0000001a);position:absolute;inset:0}.hm-rd__book{z-index:3;width:116px;transform:rotate(-6deg);box-shadow:0 1px 1px #2a262040,0 10px 18px -6px #2a262080,0 26px 34px -22px #2a26208c}.hm-rd__fan{width:84px;box-shadow:0 1px 1px #2a262033,0 6px 14px -6px #2a262073}.hm-rd__fan--1{z-index:2;transform:translate(38px,-12px)rotate(9deg)}.hm-rd__fan--2{z-index:1;transform:translate(-36px,-4px)rotate(-12deg)}.hm-rd__fan--3{z-index:0;transform:translate(6px,-32px)rotate(3deg)}a.bcard--reading:hover .hm-rd__book{transform:rotate(-2deg)translateY(-5px)}a.bcard--reading:hover .hm-rd__fan--1{transform:translate(44px,-14px)rotate(12deg)}a.bcard--reading:hover .hm-rd__fan--2{transform:translate(-42px,-6px)rotate(-15deg)}.hm-rd__face--made{color:var(--cv-ink,var(--paper-ink));flex-direction:column;justify-content:space-between;padding:9px 8px 8px 11px;display:flex}.hm-rd__made-title{font:400 12px/1.15 var(--ff-serif);-webkit-line-clamp:4;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.hm-rd__made-by{font:500 7px/1.2 var(--ff-mono);letter-spacing:.08em;text-transform:uppercase;opacity:.8}.hm-rd__fan.hm-rd__face--made .hm-rd__made-title{font-size:9.5px}@container (min-width:250px){.hm-rd{grid-template:"desk kicker""desk copy"1fr/136px minmax(0,1fr);gap:6px 18px}.hm-rd__desk{min-height:160px}.hm-rd__copy{justify-content:flex-end}.hm-rd__book{width:88px}.hm-rd__fan{width:64px}.hm-rd__fan--1{transform:translate(30px,-10px)rotate(9deg)}.hm-rd__fan--2{transform:translate(-28px,-3px)rotate(-12deg)}.hm-rd__fan--3{transform:translate(4px,-24px)rotate(3deg)}}@media (min-width:721px){.hm-rd:not([data-tall]) .hm-rd__fan{display:none}.hm-rd:not([data-tall]) .hm-rd__book{width:56px}.hm-rd:not([data-tall]) .hm-rd__desk{min-height:0}}}@media (prefers-reduced-motion:reduce){.hm-demo *,.hm-demo :before,.hm-demo>.hm-demo__frame{animation:none!important}}:root[data-motion=off] .hm-demo *,:root[data-motion=off] .hm-demo :before,:root[data-motion=off] .hm-demo>.hm-demo__frame{animation:none!important}
