.tl{--_ink: var(--tl-ink, CanvasText);--_surface: var(--tl-surface, Canvas);--_accent: var(--tl-accent, LinkText);--_muted: var(--tl-muted, color-mix(in oklch, CanvasText 55%, Canvas));--_border: var(--tl-border, ButtonBorder);--_card-width: min(var(--tl-card-width, 22rem), 92cqw);--_radius: var(--tl-radius, .75rem);--_edge-fade: var(--tl-edge-fade, 0px);position:relative;overflow:hidden;width:100%;height:100%;min-height:24rem;container-type:size;color:var(--_ink);background:var(--_surface);border:1px solid var(--_border);border-radius:var(--_radius);mask-image:linear-gradient(to right,transparent,black var(--_edge-fade),black calc(100% - var(--_edge-fade)),transparent),linear-gradient(to bottom,transparent,black var(--_edge-fade),black calc(100% - var(--_edge-fade)),transparent);mask-composite:intersect;font:inherit;touch-action:none}.tl[data-state=panel]{--_edge-fade: 0px}.tl-stage{position:absolute;inset:0}.tl-axis{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}.tl-axis-stop-edge{stop-color:var(--_accent);stop-opacity:0}.tl-axis-stop-near{stop-color:var(--_accent);stop-opacity:.85}.tl-axis-stop-far{stop-color:var(--_accent);stop-opacity:.1}.tl-axis-lane,.tl-axis-mark{fill:var(--_surface)}.tl-mark{position:absolute;top:0;left:0;color:var(--_muted);font-variant-numeric:tabular-nums;white-space:nowrap;pointer-events:none}.tl-band-grad{--_cat: var(--tl-cat, var(--_muted))}.tl-band-stop{stop-color:var(--_cat)}.tl-band-alpha-edge{stop-opacity:0}.tl-band-alpha-full{stop-opacity:.9}.tl-band-alpha-out{stop-opacity:0}.tl-card{position:absolute;top:0;left:0;width:0;height:0;will-change:transform,opacity;--_stem: .9rem;--_cat: var(--tl-cat, var(--_accent))}.tl-card:after{content:"";position:absolute;left:-3px;bottom:-3px;width:6px;height:6px;border-radius:50%;background:var(--_cat);box-shadow:0 0 0 2px var(--_surface);opacity:var(--_near, 1)}.tl-card-surface{position:absolute;left:0;bottom:0;margin-bottom:var(--_stem);width:var(--_card-width);--_park-x: 6cqw;--_park-y: 3cqh;--_pick-x: 8cqw;--_pick-y: 8cqh;--_dx: calc(-1 * var(--_park-x));--_dy: calc(-1 * var(--_park-y));--_lift: 0rem;transform:translate(var(--_dx),var(--_dy)) translateY(calc(-1 * var(--_lift)));--_bob: .28rem;animation:tl-card-bob 4.2s ease-in-out infinite;background:var(--_surface);border:1px solid var(--_border);--_stripe: 3px;border-inline-start:var(--_stripe) solid var(--_cat);border-radius:var(--_radius);padding:.6rem .85rem .6rem .9rem;--_shadow-y: .6rem;--_shadow-blur: 1.4rem;--_shadow-spread: -.5rem;--_shadow-a: 45%;box-shadow:0 var(--_shadow-y) var(--_shadow-blur) var(--_shadow-spread) rgb(0 0 0 / var(--_shadow-a));transition:transform .35s cubic-bezier(.22,1,.36,1),box-shadow .2s ease,border-color .15s ease}.tl-card-date{color:var(--_muted);font-size:.8rem;font-variant-numeric:tabular-nums}.tl-card-title{margin:.15rem 0 0;font-size:1rem;font-weight:700;line-height:1.3}.tl-card-lede,.tl-card-more,.tl-card-cta,.tl-card-media{display:none}.tl[data-state=focused] .tl-card[data-focused],.tl[data-state=panel] .tl-card[data-focused]{--_card-width: min(28rem, 92cqw)}.tl[data-narrow][data-state=focused] .tl-card[data-focused],.tl[data-narrow][data-state=panel] .tl-card[data-focused]{--_card-width: min(28rem, 78cqw)}.tl[data-narrow] .tl-card[data-focused] .tl-card-surface{--_pick-x: 0cqw;--_pick-y: 0cqh;--_rise: clamp( 0rem, calc(var(--_spare-above, 0px) - var(--_edge-fade) / var(--_focus-scale, 1) - var(--_bob)), 8rem );--_lift: var(--_rise);--_shadow-y: calc(.6rem + var(--_lift) * .175);--_shadow-blur: calc(1.4rem + var(--_lift) * .2);--_shadow-spread: -.6rem;--_shadow-a: 30%}@media(hover:hover){.tl[data-narrow] .tl-card[data-focused] .tl-card-surface:hover{--_lift: calc(var(--_rise) + .45rem)}}.tl[data-narrow] .tl-card[data-focused] .tl-card-surface:active{--_lift: calc(var(--_rise) - .3rem);--_shadow-a: 45%}.tl[data-narrow] .tl-card[data-focused] .tl-card-surface:before{content:"";position:absolute;left:calc(-1 * var(--_stripe));top:calc(100% - var(--_radius));width:var(--_stripe);height:calc(var(--_lift) + var(--_stem) + var(--_bob) + var(--_radius));background:linear-gradient(to bottom,var(--_cat),color-mix(in oklch,var(--_cat) 25%,transparent))}@keyframes tl-card-bob{0%,to{translate:0 0}50%{translate:0 calc(-1 * var(--_bob))}}.tl-card:nth-of-type(3n+2) .tl-card-surface{animation-delay:-1.4s}.tl-card:nth-of-type(3n+3) .tl-card-surface{animation-delay:-2.8s}@media(hover:hover){.tl-card-surface:hover{--_lift: .55rem;--_shadow-y: .95rem;--_shadow-blur: 2rem;--_shadow-a: 38%}}.tl-card-surface:active{--_lift: -.08rem;--_shadow-y: .25rem;--_shadow-blur: .6rem;--_shadow-a: 55%}.tl-card[data-focused] .tl-card-surface{--_dx: var(--_pick-x);--_dy: var(--_pick-y);--_lift: .4rem;--_shadow-y: 1rem;--_shadow-blur: 2.2rem;--_shadow-spread: -.6rem;--_shadow-a: 55%;border-color:var(--_cat)}@media(hover:hover){.tl-card[data-focused] .tl-card-surface:hover{--_lift: .8rem;--_shadow-y: 1.4rem;--_shadow-blur: 2.8rem;--_shadow-a: 45%}}.tl-card[data-focused] .tl-card-surface:active{--_lift: -.08rem;--_shadow-y: .25rem;--_shadow-blur: .6rem;--_shadow-a: 55%}.tl:focus,.tl:focus-visible{outline:none}.tl:focus-visible .tl-card[data-focused] .tl-card-surface{box-shadow:0 var(--_shadow-y) var(--_shadow-blur) var(--_shadow-spread) rgb(0 0 0 / var(--_shadow-a)),0 0 0 3px color-mix(in oklch,var(--_cat) 32%,transparent)}.tl[data-state=focused] .tl-card[data-focused] .tl-card-lede,.tl[data-state=focused] .tl-card[data-focused] .tl-card-more,.tl[data-state=focused] .tl-card[data-focused] .tl-card-media{display:block}.tl[data-state=focused] .tl-card[data-focused] .tl-card-cta{display:inline-flex}.tl[data-state=focused] .tl-card[data-focused]:has(.tl-card-cta) .tl-card-date,.tl[data-state=focused] .tl-card[data-focused]:has(.tl-card-cta) .tl-card-title{padding-inline-end:2.6rem}.tl-card-lede{margin-top:.4rem}.tl-card-media{width:100%;height:auto;max-height:16rem;object-fit:cover;object-position:top;margin-top:.5rem;border-radius:calc(var(--_radius) * .6)}.tl-card-more{margin-top:.5rem;padding:0;border:none;background:none;font:inherit;color:var(--_accent);font-weight:600;cursor:pointer}.tl-card-more:focus-visible{text-decoration:underline}@media(hover:hover){.tl-card-more:hover{text-decoration:underline}}.tl-card-cta{position:absolute;top:.55rem;right:.55rem;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border:1px solid color-mix(in oklch,var(--_cat) 55%,transparent);border-radius:999px;background:var(--_surface);color:var(--_cat);font-size:1rem;line-height:1;text-decoration:none;-webkit-tap-highlight-color:transparent;transition:background-color .15s ease,border-color .15s ease}.tl-card-cta:focus-visible{background:color-mix(in oklch,var(--_cat) 12%,transparent);border-color:var(--_cat);outline:none}@media(hover:hover){.tl-card-cta:hover{background:color-mix(in oklch,var(--_cat) 12%,transparent);border-color:var(--_cat)}}.tl-card-cta-arrow{transition:transform .15s ease}.tl-card-cta:focus-visible .tl-card-cta-arrow{transform:translate(.1rem,-.1rem)}@media(hover:hover){.tl-card-cta:hover .tl-card-cta-arrow{transform:translate(.1rem,-.1rem)}}@media(prefers-reduced-motion:reduce){.tl-card-cta-arrow{transition:none}}.tl-cluster{position:absolute;top:0;left:0;transform-origin:0 50%;color:var(--_muted);font-size:.8rem;white-space:nowrap}.tl-gap{position:absolute;top:0;left:0;box-sizing:border-box;transform-origin:100% 100%;padding-bottom:.14rem;border-bottom:1px solid color-mix(in oklch,var(--_muted) 55%,transparent);color:var(--_muted);font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap;pointer-events:none}.tl-panel{position:absolute;inset:0 0 0 auto;width:min(32rem,100%);overflow-y:auto;padding:2rem;background:var(--_surface);border-left:1px solid var(--_border)}.tl-panel[hidden]{display:none}.tl-nav-svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:15}.tl-nav-stop-lit{stop-color:color-mix(in oklch,var(--_accent) 84%,white)}.tl-nav-stop-dim{stop-color:color-mix(in oklch,var(--_accent) 76%,black)}.tl-nav-arrow{--_lift: var(--tl-nav-lift, .011);--_state: 1;--_cast-a: 1;--_cast-s: 1;opacity:var(--tl-nav-fade, .72);transition:opacity .15s ease}.tl-nav-arrow.is-active{--_state: 2;--_cast-a: .6;--_cast-s: 1.18}.tl-nav-arrow.is-pressed{--_state: 0;--_cast-a: 1.3;--_cast-s: .86}.tl-nav-arrow.is-disabled{--_state: 0;--_cast-a: 0;opacity:calc(var(--tl-nav-fade, .72) * .4)}.tl-nav-face{transform:translateY(calc(var(--_lift) * var(--_state) * -1px));transition:transform .26s cubic-bezier(.22,1,.36,1)}.tl-nav-arrow.is-active .tl-nav-face{filter:brightness(1.12)}.tl-nav-bob{animation:tl-nav-bob 3.8s ease-in-out infinite}@keyframes tl-nav-bob{0%,to{transform:translateY(0)}50%{transform:translateY(calc(var(--_lift) * -.6px))}}.tl-nav-shadow-cast{transform-box:fill-box;transform-origin:center;animation:tl-nav-shadow-bob 3.8s ease-in-out infinite}.tl-nav-arrow+.tl-nav-arrow .tl-nav-bob,.tl-nav-arrow+.tl-nav-arrow .tl-nav-shadow-cast{animation-delay:-1.7s}@keyframes tl-nav-shadow-bob{0%,to{opacity:1;transform:scale(1)}50%{opacity:.62;transform:scale(1.14)}}.tl-nav-shadow{fill:var(--tl-nav-shadow-color, rgb(0 0 0 / .62));transform-box:fill-box;transform-origin:center;opacity:calc(.5 * var(--_cast-a));transform:scale(var(--_cast-s));transition:opacity .26s ease,transform .26s cubic-bezier(.22,1,.36,1)}.tl-nav{position:absolute;inset:0;pointer-events:none;z-index:20}.tl-nav-btn{all:unset;position:absolute;transform:translate(-50%,-50%);pointer-events:auto;cursor:pointer}.tl[data-state=panel] .tl-nav,.tl[data-state=panel] .tl-nav-svg{display:none}.tl-nav-btn:focus-visible{outline:2px solid var(--_accent);outline-offset:2px;border-radius:.4rem}.tl-nav-btn:disabled{cursor:default}.tl-reduced .tl-nav-bob,.tl-reduced .tl-nav-shadow-cast,.tl-reduced .tl-card-surface{animation:none}@media(prefers-reduced-motion:reduce){.tl-card,.tl-cluster{will-change:auto}.tl-card-surface{transition:none;animation:none}.tl-nav-bob,.tl-nav-shadow-cast{animation:none}.tl-nav-face,.tl-nav-shadow{transition:none}}.tl-host[data-astro-cid-zhxkjw2l]{--tl-ink: var(--rp-text);--tl-surface: var(--rp-surface);--tl-accent: var(--rp-structure);--tl-muted: var(--rp-soft);--tl-border: var(--rp-hl-med);block-size:min(80vh,44rem)}.tl-region[data-astro-cid-zhxkjw2l]{container:tl-bar / inline-size;--cat-job: var(--rp-gold);--cat-project: var(--rp-rose);--cat-blog: var(--rp-iris)}.tl-region[data-astro-cid-zhxkjw2l] [data-category=job]{--tl-cat: var(--cat-job)}.tl-region[data-astro-cid-zhxkjw2l] [data-category=project]{--tl-cat: var(--cat-project)}.tl-region[data-astro-cid-zhxkjw2l] [data-category=blog]{--tl-cat: var(--cat-blog)}.tl-toolbar[data-astro-cid-zhxkjw2l]{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1.25rem;margin-block-end:.9rem;font-family:var(--font-serif);position:relative;z-index:1}.tl-toolbar[data-astro-cid-zhxkjw2l][hidden]{display:none}.tl-region[data-astro-cid-zhxkjw2l] .tl-chips{display:flex;flex-wrap:wrap;gap:.4rem}.tl-region[data-astro-cid-zhxkjw2l] .tl-chip{--chip: var(--rp-structure);display:inline-flex;align-items:center;position:relative;gap:.45rem;padding:.28rem .7rem;border:1px solid color-mix(in oklch,var(--chip) 45%,transparent);border-radius:999px;background:none;color:var(--rp-text);font:inherit;font-size:.84rem;cursor:pointer;transition:background-color .15s ease,border-color .15s ease,opacity .15s ease}.tl-region[data-astro-cid-zhxkjw2l] .tl-chip:before{content:"";inline-size:.6rem;block-size:.6rem;border-radius:50%;background:var(--chip)}.tl-region[data-astro-cid-zhxkjw2l] .tl-chip:after{content:"";position:absolute;inset-inline:0;inset-block-start:50%;block-size:44px;transform:translateY(-50%)}.tl-region[data-astro-cid-zhxkjw2l] .tl-chip[data-category=job]{--chip: var(--cat-job)}.tl-region[data-astro-cid-zhxkjw2l] .tl-chip[data-category=project]{--chip: var(--cat-project)}.tl-region[data-astro-cid-zhxkjw2l] .tl-chip[data-category=blog]{--chip: var(--cat-blog)}.tl-region[data-astro-cid-zhxkjw2l] .tl-chip[aria-pressed=true]{background:color-mix(in oklch,var(--chip) 14%,transparent);border-color:var(--chip)}.tl-region[data-astro-cid-zhxkjw2l] .tl-chip[aria-pressed=false]{opacity:.55}.tl-region[data-astro-cid-zhxkjw2l] .tl-chip[aria-pressed=false]:before{background:color-mix(in oklch,var(--chip) 30%,var(--rp-muted))}.tl-region[data-astro-cid-zhxkjw2l] .tl-chip:focus-visible{outline:2px solid var(--chip);outline-offset:2px}@container tl-bar (width < 23rem){.tl-region[data-astro-cid-zhxkjw2l] .tl-chips{gap:.25rem}.tl-region[data-astro-cid-zhxkjw2l] .tl-chip{gap:.3rem;padding-inline:.4rem}.tl-region[data-astro-cid-zhxkjw2l] .tl-chip:before{inline-size:.5rem;block-size:.5rem}}.tl-region[data-astro-cid-zhxkjw2l] .tl-years{display:inline-flex;align-items:center;gap:.6rem}.tl-region[data-astro-cid-zhxkjw2l] .tl-year{display:inline-flex;align-items:center;gap:.35rem;color:var(--rp-muted);font-size:.8rem}.tl-region[data-astro-cid-zhxkjw2l] .tl-year select{padding:.15rem .35rem;border:1px solid var(--rp-hl-med);border-radius:.4rem;background:var(--rp-surface);color:var(--rp-text);font:inherit;font-size:.84rem;font-variant-numeric:tabular-nums;cursor:pointer}.tl-region[data-astro-cid-zhxkjw2l] .tl-year select:focus-visible{outline:2px solid var(--rp-structure);outline-offset:1px}.tl-fallback{list-style:none;padding:0}
