@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:400;font-display:block;src:url(/fonts/source-serif-4-latin-ext-400-normal.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:400;font-display:block;src:url(/fonts/source-serif-4-latin-400-normal.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Serif 4";font-style:italic;font-weight:400;font-display:block;src:url(/fonts/source-serif-4-latin-ext-400-italic.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Serif 4";font-style:italic;font-weight:400;font-display:block;src:url(/fonts/source-serif-4-latin-400-italic.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:500;font-display:block;src:url(/fonts/source-serif-4-latin-ext-500-normal.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:500;font-display:block;src:url(/fonts/source-serif-4-latin-500-normal.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:600;font-display:block;src:url(/fonts/source-serif-4-latin-ext-600-normal.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:600;font-display:block;src:url(/fonts/source-serif-4-latin-600-normal.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:700;font-display:block;src:url(/fonts/source-serif-4-latin-ext-700-normal.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:700;font-display:block;src:url(/fonts/source-serif-4-latin-700-normal.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Serif 4 Fallback";src:local(Georgia),local(Times New Roman);size-adjust:97%;ascent-override:91%;descent-override:23%;line-gap-override:0%}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/plus-jakarta-sans-latin-ext-400-normal.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/plus-jakarta-sans-latin-400-normal.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/plus-jakarta-sans-latin-ext-400-italic.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/plus-jakarta-sans-latin-400-italic.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/plus-jakarta-sans-latin-ext-500-normal.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/plus-jakarta-sans-latin-500-normal.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/plus-jakarta-sans-latin-ext-600-normal.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/plus-jakarta-sans-latin-600-normal.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/plus-jakarta-sans-latin-ext-700-normal.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/plus-jakarta-sans-latin-700-normal.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans Fallback;src:local(Segoe UI),local(Helvetica Neue),local(Arial);size-adjust:98%;ascent-override:93%;descent-override:25%;line-gap-override:0%}@layer tokens,base,components,utilities;@layer tokens{:root{--pink-50:#ffebf3;--pink-100:#ffdbe9;--pink-200:#ffc2d9;--pink-300:#fe9fc3;--pink-400:#ff7aac;--pink-500:#d13d76;--pink-600:#b32357;--pink-700:#901443;--pink-800:#760530;--yellow-50:#fffceb;--yellow-100:#fff5c2;--yellow-200:#ffef9e;--yellow-300:#ffe875;--yellow-400:#ffdf3d;--yellow-500:#f6c823;--yellow-600:#d09c0b;--yellow-700:#966208;--yellow-800:#704c06;--blue-50:#ebf3ff;--blue-100:#cce2ff;--blue-200:#99c5ff;--blue-300:#57a0ff;--blue-400:#2885fd;--blue-500:#006af5;--blue-600:#0450b4;--blue-700:#033c87;--blue-800:#052f66;--red-50:#ffeceb;--red-100:#ffe2e0;--red-200:#fdc2be;--red-300:#f87e77;--red-400:#f54238;--red-500:#c9160d;--red-600:#a3120a;--red-700:#880d07;--red-800:#63110d;--teal-50:#eefcfa;--teal-100:#d8f8f2;--teal-200:#b4f3e7;--teal-300:#7bead6;--teal-400:#3ddabe;--teal-500:#19ac91;--teal-600:#067560;--teal-700:#0d594b;--teal-800:#0e4037;--grey-0:#fff;--grey-50:#f4f4f8;--grey-100:#ebebf1;--grey-200:#dcdce5;--grey-300:#c5c5d1;--grey-400:#a8a8b6;--grey-500:#6a697c;--grey-600:#4d4c5c;--grey-700:#302f3b;--grey-800:#1c1b23;--grey-900:#121117;--accent:var(--pink-500);--accent-hover:var(--pink-400);--accent-press:var(--pink-600);--fg-1:var(--grey-900);--fg-2:var(--grey-600);--fg-3:var(--grey-500);--fg-disabled:var(--grey-300);--fg-on-brand:#fff;--fg-on-dark:#fff;--fg-link:var(--grey-900);--fg-prose-link-underline:var(--grey-400);--fg-prose-link-underline-hover:var(--grey-700);--fg-success:var(--teal-600);--fg-warning:var(--yellow-800);--fg-danger:var(--red-600);--bg-page:var(--grey-0);--bg-surface:var(--grey-0);--bg-muted:var(--grey-50);--bg-sunken:var(--grey-100);--bg-brand:var(--pink-500);--bg-dark:var(--grey-900);--bg-success:var(--teal-100);--bg-warning:var(--yellow-100);--bg-danger:var(--red-100);--border-subtle:var(--grey-100);--border-default:var(--grey-200);--border-strong:var(--grey-400);--border-focus:var(--grey-900);--font-ui:"Plus Jakarta Sans", "Plus Jakarta Sans Fallback", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-display:"Source Serif 4", "Source Serif 4 Fallback", Georgia, "Times New Roman", serif;--font-mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--fs-12:.75rem;--fs-13:.8125rem;--fs-14:.875rem;--fs-15:.9375rem;--fs-16:1rem;--fs-18:1.125rem;--fs-20:1.25rem;--fs-22:1.375rem;--fs-24:1.5rem;--fs-28:1.75rem;--fs-32:2rem;--fs-40:2.5rem;--fs-48:3rem;--fs-56:3.5rem;--fs-64:4rem;--fs-80:5rem;--text-caption:var(--fs-12);--text-sm:var(--fs-14);--text-body:var(--fs-16);--text-prose:clamp(1.0625rem, .15vw + 1rem, 1.125rem);--text-md:var(--fs-18);--text-lg:var(--fs-20);--text-xl:var(--fs-24);--text-2xl:var(--fs-32);--text-3xl:var(--fs-48);--text-4xl:var(--fs-64);--text-brand:clamp(1.125rem, 1rem + .35vw, 1.375rem);--text-brand-sub:var(--fs-13);--text-display-sm:clamp(1.25rem, 1.1rem + .45vw, 1.5rem);--text-display-md:clamp(1.75rem, 1.35rem + 1.1vw, 2.25rem);--text-display-lg:clamp(2.5rem, 1.75rem + 2.5vw, 3.5rem);--text-display-xl:clamp(3rem, 2rem + 4vw, 5.5rem);--lh-tight:1.1;--lh-display:1.15;--lh-snug:1.3;--lh-normal:1.5;--lh-prose:1.62;--lh-relaxed:1.65;--lh-brand:1.2;--lh-brand-sub:1.4;--tracking-tight:-.012em;--tracking-display:-.015em;--tracking-normal:0;--tracking-prose:.004em;--tracking-wide:.015em;--tracking-label:.08em;--radius-xs:4px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--radius-2xl:24px;--radius-3xl:32px;--radius-pill:999px;--radius-action:12px;--radius-action-sm:10px;--radius-action-lg:14px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-20:80px;--space-24:96px;--shadow-xs:0 1px 2px #1211170a;--shadow-sm:0 2px 4px #1211170f, 0 1px 2px #1211170a;--shadow-md:0 6px 16px #12111714;--shadow-lg:0 12px 32px #1211171f;--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--dur-fast:.12s;--dur:.2s;--dur-slow:.36s;--site-max-width:1280px;--site-gutter:32px;--site-gutter-narrow:16px;--border-width-interactive:2px;--border-width-divider:1px;--product-card-radius:4px;--product-card-border-width:2px;--cover-ratio:16 / 9;--gap-xs:var(--space-1);--gap-sm:var(--space-2);--gap-md:var(--space-4);--gap-lg:var(--space-6);--gap-xl:var(--space-10);--section-gap-tight:48px;--section-gap-default:64px;--section-gap-loose:96px}}@layer base{*,:before,:after{box-sizing:border-box}html,body{margin:0;padding:0}html{overflow-x:clip}img,svg,video{max-width:100%;display:block}button{font:inherit;cursor:pointer}input,textarea,select{font:inherit}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}html,body{background:var(--bg-page);color:var(--fg-1);scroll-behavior:smooth}body{font-family:var(--font-ui);font-size:var(--text-body);font-kerning:normal;font-feature-settings:"kern" 1,"liga" 1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:var(--lh-normal);color:var(--fg-1);background:var(--bg-page);text-rendering:optimizelegibility}a{color:var(--fg-link);text-decoration:none}}@layer utilities{.heading-huge,.heading-extra-large,.heading-large{font-family:var(--font-display);color:var(--fg-1);font-weight:600}.heading-medium,.heading-small{font-family:var(--font-display);color:var(--fg-1);font-weight:500}.heading-huge{letter-spacing:var(--tracking-display);font-size:64px;line-height:1.05}.heading-extra-large{letter-spacing:var(--tracking-display);font-size:48px;line-height:1.08}.heading-large{letter-spacing:var(--tracking-tight);font-size:32px;line-height:1.12}.heading-medium{letter-spacing:var(--tracking-tight);font-size:24px;line-height:1.2}.heading-small{letter-spacing:var(--tracking-normal);font-size:20px;line-height:1.25}.heading-huge em,.heading-extra-large em,.heading-large em,.heading-medium em,.heading-small em{font-style:italic;font-weight:400}h1,.h1{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:600;line-height:var(--lh-display);color:var(--fg-1);letter-spacing:var(--tracking-display)}h2,.h2{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:600;line-height:var(--lh-display);color:var(--fg-1);letter-spacing:var(--tracking-tight)}h3,.h3{font-family:var(--font-display);font-size:var(--text-xl);font-weight:500;line-height:var(--lh-brand);color:var(--fg-1);letter-spacing:var(--tracking-tight)}h4,.h4{font-family:var(--font-display);font-size:var(--text-lg);font-weight:500;line-height:var(--lh-brand);color:var(--fg-1);letter-spacing:var(--tracking-normal)}h5,.h5{font-family:var(--font-ui);font-size:var(--text-body);font-weight:600;line-height:var(--lh-snug);color:var(--fg-1)}p,.body-default{font-family:var(--font-ui);font-size:var(--text-prose);font-weight:400;line-height:var(--lh-prose);color:var(--fg-1);letter-spacing:var(--tracking-prose)}.body-large{font-family:var(--font-ui);font-size:var(--text-lg);font-weight:400;line-height:var(--lh-relaxed);color:var(--fg-1);letter-spacing:var(--tracking-normal)}.body-large.body-semibold{letter-spacing:-.005em;font-weight:600}.body-large.body-semibold-italic{letter-spacing:-.0025em;font-style:italic;font-weight:600}.body-small{font-family:var(--font-ui);color:var(--fg-1);letter-spacing:.005em;font-size:14px;font-weight:400;line-height:1.5}.body-caption{font-family:var(--font-ui);color:var(--fg-1);letter-spacing:.01em;font-size:12px;font-weight:400;line-height:16px}.body-large strong,.body-default strong,.body-small strong,.body-caption strong,p strong{font-weight:600}.link-large{font-family:var(--font-ui);color:inherit;letter-spacing:0;text-underline-offset:3px;font-size:20px;font-weight:600;line-height:28px;text-decoration:underline;text-decoration-thickness:1.5px}.link-default{font-family:var(--font-ui);color:inherit;letter-spacing:.005em;text-underline-offset:3px;font-size:16px;font-weight:600;line-height:24px;text-decoration:underline;text-decoration-thickness:1.5px}.link-small{font-family:var(--font-ui);color:inherit;letter-spacing:.01em;text-underline-offset:3px;font-size:14px;font-weight:600;line-height:20px;text-decoration:underline;text-decoration-thickness:1.5px}.button-label-large,.button-label-medium{font-family:var(--font-ui);letter-spacing:.005em;font-size:18px;font-weight:600;line-height:24px}.button-label-small{font-family:var(--font-ui);letter-spacing:.0125em;font-size:14px;font-weight:600;line-height:16px}.button-label-extra-small{font-family:var(--font-ui);letter-spacing:.015em;font-size:12px;font-weight:600;line-height:12px}.display-xl{font-family:var(--font-display);font-size:var(--text-4xl);letter-spacing:-.005em;font-weight:500;line-height:1}.display-lg{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:500;line-height:var(--lh-snug)}.display-md{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:500;line-height:var(--lh-snug);letter-spacing:var(--tracking-wide)}.display-sm{font-family:var(--font-display);font-size:var(--text-xl);font-weight:500;line-height:var(--lh-snug);letter-spacing:.0125em}.display-xl em,.display-lg em,.display-md em,.display-sm em{font-style:italic;font-weight:400}.body{font-family:var(--font-ui);font-size:var(--text-body);font-weight:400;line-height:var(--lh-snug);color:var(--fg-1)}.body-lg{font-size:var(--text-lg);line-height:var(--lh-relaxed)}.body-sm{font-size:var(--text-sm);line-height:var(--lh-snug)}.body-xs{font-size:var(--text-caption);line-height:var(--lh-snug)}.label{font-size:var(--text-sm);font-weight:500;line-height:var(--lh-snug);color:var(--fg-1)}.label-sm{font-size:var(--text-caption);font-weight:500;line-height:var(--lh-snug)}.caption{font-family:var(--font-ui);font-size:var(--text-caption);font-weight:400;line-height:var(--lh-snug);color:var(--fg-2)}.eyebrow{font-family:var(--font-ui);font-size:var(--fs-13);color:var(--fg-2);text-transform:uppercase;letter-spacing:var(--tracking-label);font-weight:600;line-height:1}code,kbd,.mono{font-family:var(--font-mono);font-size:.95em}}@layer components{.tag{font-family:var(--font-ui);color:var(--fg-1);background:var(--bg-surface);border:2px solid var(--border-default);transition:border-color var(--dur) var(--ease-out);border-radius:999px;align-items:center;gap:6px;padding:6px 10px;font-size:12px;font-weight:600;text-decoration:none;display:inline-flex}.tag:hover{border-color:var(--grey-900)}.tag[data-accent=pink]{color:var(--pink-700);background:var(--pink-50);border-color:var(--pink-200)}.tag[data-accent=teal]{color:var(--teal-700);background:var(--teal-50);border-color:var(--teal-200)}.tag[data-accent=blue]{color:var(--blue-700);background:var(--blue-50);border-color:var(--blue-200)}.tag[data-accent=yellow]{color:var(--yellow-800);background:var(--yellow-50);border-color:var(--yellow-200)}a.tag.tag--topic,.tagcloud a.tag.tag--topic,.post-row__meta a.tag.tag--topic,.post-text__meta a.tag.tag--topic,.popular__meta a.tag.tag--topic,.archive-item__meta a.tag.tag--topic,.related-card__meta a.tag.tag--topic,.post-tags a.tag.tag--topic{color:color-mix(in srgb,var(--tag-color) 82%,black);background:color-mix(in srgb,var(--tag-color) 14%,white);border-color:color-mix(in srgb,var(--tag-color) 38%,white)}a.tag.tag--topic:hover,.tagcloud a.tag.tag--topic:hover,.post-row__meta a.tag.tag--topic:hover,.post-text__meta a.tag.tag--topic:hover,.popular__meta a.tag.tag--topic:hover,.archive-item__meta a.tag.tag--topic:hover,.related-card__meta a.tag.tag--topic:hover,.post-tags a.tag.tag--topic:hover{border-color:color-mix(in srgb,var(--tag-color) 65%,black)}.tagcloud a.tag.tag--topic span{color:color-mix(in srgb,var(--tag-color) 55%,var(--fg-3))}.chip--topic:not(.is-active){color:color-mix(in srgb,var(--tag-color) 82%,black);background:color-mix(in srgb,var(--tag-color) 14%,white);border-color:color-mix(in srgb,var(--tag-color) 38%,white)}.chip--topic:not(.is-active):hover{border-color:color-mix(in srgb,var(--tag-color) 65%,black)}.chip--topic:not(.is-active) .chip__count{color:color-mix(in srgb,var(--tag-color) 70%,black);background:color-mix(in srgb,var(--tag-color) 12%,white)}}@layer components{.skip-link{z-index:100;font-family:var(--font-ui);color:var(--fg-1);background:var(--bg-surface);border:2px solid var(--grey-900);border-radius:var(--radius-action-sm);box-shadow:var(--shadow-md);transition:transform var(--dur) var(--ease-out);padding:10px 16px;font-size:14px;font-weight:600;text-decoration:none;position:fixed;top:12px;left:12px;transform:translateY(-200%)}.skip-link:focus{outline:2px solid var(--accent);outline-offset:2px;transform:translateY(0)}.reading-progress{z-index:60;pointer-events:none;background:0 0;width:100%;height:3px;position:fixed;top:0;left:0}.reading-progress__bar{background:var(--accent);width:0%;height:100%;transition:width 80ms linear}.site-header{z-index:50;border-bottom:1px solid var(--border-subtle);background:#fffffff5;position:sticky;top:0}.site-header__inner{max-width:var(--site-max-width);padding:18px var(--site-gutter);align-items:center;gap:32px;margin:0 auto;display:flex}.site-header__brand{min-width:0;color:var(--fg-1);align-items:center;gap:12px;text-decoration:none;display:flex}.site-header__brand:hover .site-header__family{color:var(--grey-800)}.site-header__brand svg{width:auto;height:22px;color:var(--fg-1)}.site-header__sep{background:var(--border-default);width:1px;height:22px}.site-header__lockup{min-width:0;line-height:var(--lh-brand);gap:1px;display:grid}.site-header__name{font-family:var(--font-display);font-size:var(--text-brand);font-weight:700;line-height:var(--lh-brand);text-overflow:ellipsis;letter-spacing:var(--tracking-tight);white-space:nowrap;gap:.28em;display:flex;overflow:hidden}.site-header__given{color:var(--blue-600)}.site-header__family{color:var(--grey-900);transition:color var(--dur) var(--ease-out)}.site-header__role{font-family:var(--font-ui);font-size:var(--text-brand-sub);font-weight:400;line-height:var(--lh-brand-sub);color:var(--fg-3);text-overflow:ellipsis;letter-spacing:var(--tracking-normal);white-space:nowrap;display:block;overflow:hidden}.site-header__nav{align-items:center;gap:4px;margin-left:auto;display:flex}.site-header__nav a{font-family:var(--font-ui);font-size:var(--text-sm);color:var(--fg-2);border-radius:var(--radius-action-sm);transition:color var(--dur) var(--ease-out),background var(--dur) var(--ease-out),border-color var(--dur) var(--ease-out);background:0 0;border:2px solid #0000;align-items:center;padding:7px 12px;font-weight:500;text-decoration:none;display:inline-flex}.site-header__nav a:hover:not(.is-active){color:var(--fg-1);background:var(--grey-50);border-color:var(--border-default)}.site-header__nav a.is-active{color:var(--fg-1);background:var(--grey-100);border-color:var(--grey-900);font-weight:600}@media (max-width:640px){.site-header__inner{padding:14px var(--site-gutter-narrow);gap:16px}.site-header__nav a{padding:6px 10px;font-size:13px}}.site-footer{background:var(--bg-page);border-top:1px solid var(--border-subtle);margin-top:48px}.site-footer__inner{max-width:var(--site-max-width);padding:40px var(--site-gutter) 60px;font-family:var(--font-ui);color:var(--fg-3);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px 32px;margin:0 auto;font-size:13px;display:flex}.site-footer__nav,.site-footer__social{flex-wrap:wrap;gap:12px 20px;display:flex}.site-footer__nav a,.site-footer__social a{color:var(--fg-2);text-decoration:none}.site-footer__nav a:hover,.site-footer__social a:hover{color:var(--fg-1)}.social-icon{flex-shrink:0;width:16px;height:16px}.social-link{align-items:center;gap:6px;display:inline-flex}@media (max-width:640px){.site-footer__inner{flex-direction:column;align-items:flex-start}}@media (max-width:480px){.site-footer__inner{padding-right:var(--site-gutter-narrow);padding-left:var(--site-gutter-narrow)}}}
