.sr-only{position:absolute;margin:-1px;padding:0;inline-size:1px;block-size:1px;overflow:hidden;clip:rect(0,0,0,0);border-width:0;white-space:nowrap}:root{--color-default-border:light-dark(hsl(204 8% 55%), hsl(215 15% 45%));--color-default-bg:light-dark(hsl(200 20% 97%), hsl(215 25% 13%));--color-default-text:light-dark(hsl(204 8% 14%), hsl(0 0% 100%));--color-info-border:light-dark(hsl(200 78% 46%), hsl(234 100% 60%));--color-info-bg:light-dark(hsl(198 100% 94%), hsl(234 54% 20%));--color-info-text:light-dark(hsl(200 96% 27%), hsl(0 0% 100%));--color-success-border:light-dark(hsl(160 61% 41%), hsl(101 82% 63%));--color-success-bg:light-dark(hsl(160 71% 96%), hsl(101 39% 22%));--color-success-text:light-dark(hsl(170 96% 15%), hsl(0 0% 100%));--color-warning-border:light-dark(hsl(35 75% 49%), hsl(41 82% 63%));--color-warning-bg:light-dark(hsl(48 100% 96%), hsl(41 39% 22%));--color-warning-text:light-dark(hsl(15 85% 30%), hsl(0 0% 100%));--color-error-border:light-dark(hsl(355 73% 51%), hsl(339 82% 63%));--color-error-bg:light-dark(hsl(0 100% 94%), hsl(339 39% 22%));--color-error-text:light-dark(hsl(350 94% 19%), hsl(0 0% 100%));--color-pulse-default:100, 100, 100;--color-pulse-info:0, 122, 255;--color-pulse-success:52, 199, 89;--color-pulse-warning:255, 149, 0;--color-pulse-error:255, 59, 48}:root{--animation-timing:cubic-bezier(.165, .84, .44, 1);--animation-duration-hover:.5s;--animation-duration-pulse:2s}@keyframes pulse{0%{box-shadow:0 0 rgba(var(--pulse-color, 0, 0, 0),.7)}70%{box-shadow:0 0 0 6px rgba(var(--pulse-color, 0, 0, 0),0)}to{box-shadow:0 0 rgba(var(--pulse-color, 0, 0, 0),0)}}@keyframes boop{0%{transform:scale(1) rotate(0)}25%{transform:scale(var(--scaleAmount, 1.1)) rotate(calc(-1*var(--rotateAmount, 10deg)))}50%{transform:scale(calc(var(--scaleAmount, 1.1) - .05)) rotate(calc(var(--rotateAmount, 10deg)/2))}75%{transform:scale(calc(var(--scaleAmount, 1.1) - .08)) rotate(calc(-1*var(--rotateAmount, 10deg)/4))}to{transform:scale(1) rotate(0)}}@keyframes bouncing{0%{transform:translateY(0)}25%{transform:translateY(-5px)}50%{transform:translateY(0)}75%{transform:translateY(-2px)}to{transform:translateY(0)}}@keyframes rotate{0%{transform:rotate(0)}50%{transform:rotate(var(--rotateAmount, 10deg))}to{transform:rotate(0)}}@media (prefers-reduced-motion:no-preference){.animate-boop:where(:hover,:focus-visible){animation:boop var(--animation-duration-hover) var(--animation-timing) forwards}.animate-bouncing:where(:hover,:focus-visible){animation:bouncing var(--animation-duration-hover) var(--animation-timing) forwards}.animate-rotate:where(:hover,:focus-visible){animation:rotate var(--animation-duration-hover) var(--animation-timing) forwards}.animate-boop-svg:where(:hover,:focus-visible) svg{animation:boop var(--animation-duration-hover) var(--animation-timing) forwards}.animate-bouncing-svg:where(:hover,:focus-visible) svg{animation:bouncing var(--animation-duration-hover) var(--animation-timing) forwards}.animate-rotate-svg:where(:hover,:focus-visible) svg{animation:rotate var(--animation-duration-hover) var(--animation-timing) forwards}.animation-pulse{--pulse-iteration-count:var(--pulse-iterations, 3);animation:pulse var(--animation-duration-pulse) var(--animation-timing) var(--pulse-iteration-count)}}@media (prefers-reduced-motion:reduce){.animate-boop:where(:hover,:focus-visible),.animate-bouncing:where(:hover,:focus-visible),.animate-rotate:where(:hover,:focus-visible),.animate-boop-svg:where(:hover,:focus-visible) svg,.animate-bouncing-svg:where(:hover,:focus-visible) svg,.animate-rotate-svg:where(:hover,:focus-visible) svg{transform:none;animation:none}.animation-pulse{animation:none;box-shadow:0 0 0 2px rgba(var(--pulse-color, 0, 0, 0),.3)}}[data-astro-cid-ynhdw64j]:where(.card){--transition-duration:.3s;--transition-easing:cubic-bezier(.165, .84, .44, 1);display:flex;position:relative;flex-direction:column;border:2px solid light-dark(hsl(0 0% 10%),hsl(0 0% 90%));border-radius:.5rem;max-inline-size:60ch;block-size:100%;overflow:hidden}[data-astro-cid-ynhdw64j]:where(.card:hover),[data-astro-cid-ynhdw64j]:where(.card:focus-within){box-shadow:0 0 0 .25rem}[data-astro-cid-ynhdw64j]:where(.card:focus-within) a[data-astro-cid-ynhdw64j]:focus{outline:0;box-shadow:none;text-decoration:none}[data-astro-cid-ynhdw64j]:where(.image){block-size:250px;overflow:clip}[data-astro-cid-ynhdw64j]:where(.image img){inline-size:100%;block-size:100%;-o-object-fit:cover;object-fit:cover}@media (prefers-reduced-motion:no-preference){[data-astro-cid-ynhdw64j]:where(.image img){transition:transform var(--transition-duration) var(--transition-easing)}}[data-astro-cid-ynhdw64j]:where(.content){display:flex;flex-grow:1;flex-direction:column;gap:.5rem;padding-inline:1rem;padding-block:1rem}[data-astro-cid-ynhdw64j]:where(.card a){color:currentColor;font-size:1.5rem;text-decoration:none}[data-astro-cid-ynhdw64j]:where(.card a:hover),[data-astro-cid-ynhdw64j]:where(.card a:focus-visible){text-decoration:underline;text-underline-offset:4px}[data-astro-cid-ynhdw64j]:where(.card:has(a:hover,a:focus-visible) .image img){transform:scale(1.05)}a[data-astro-cid-ynhdw64j]:after{position:absolute;inset:0;content:""}[data-astro-cid-ynhdw64j]:where(.meta){order:-1;margin-block-start:.5rem}[data-astro-cid-ynhdw64j]:where(.card .meta) span{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}[data-astro-cid-ynhdw64j]:where(.card .meta:empty){display:none}[data-astro-cid-ynhdw64j]:where(.card .description){font-size:1rem}[data-astro-cid-ynhdw64j]:where(.card .description:empty){display:none}[data-astro-cid-ynhdw64j]:where(.card .footer){margin-block-start:auto;padding-block-start:1rem}ul{display:grid;grid-template-columns:1fr;grid-gap:4rem}@media (min-width:550px){ul{grid-template-columns:repeat(2,1fr);grid-gap:2rem}}@media (min-width:950px){ul{grid-template-columns:repeat(3,1fr)}}body .card h3{font-size:1.2rem;padding-bottom:.5rem;line-height:1.5rem}body .card p{padding-bottom:.5rem}body .card img{width:100%;height:200px;-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center;border-radius:.5rem .5rem 0 0}body .card figure{margin:0;padding:0;aspect-ratio:16/9;overflow:hidden}body .card .post-content .post-meta{font-size:.875rem;color:#6b7280;display:flex;align-items:center;flex-wrap:wrap;gap:.5rem}body .card .post-content .source-badge{font-size:.75rem;font-weight:600;padding:.25rem .5rem;border-radius:.375rem;text-transform:uppercase;letter-spacing:.05em}body .card .post-content .source-badge.devto{background-color:#0a0a0a;color:#fff}body .card .post-content .source-badge.featured{background-color:#7c3aed;color:#fff}