.sr-only[data-astro-cid-fe4j42sm]{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@font-face{font-family:Space Grotesk;src:url(/fonts/space-grotesk-var.woff2)format("woff2");font-weight:300 700;font-style:normal;font-display:swap}@font-face{font-family:Inter;src:url(/fonts/inter-var.woff2)format("woff2");font-weight:100 900;font-style:normal;font-display:swap}:root{color-scheme:light dark;--prim-white:oklch(100% 0 0);--prim-slate-50:oklch(96.8% .007 247.9);--prim-slate-100:oklch(94.7% .011 256.7);--prim-slate-200:oklch(92.9% .013 255.5);--prim-slate-300:oklch(90.6% .015 251.2);--prim-slate-400:oklch(71.1% .035 256.8);--prim-slate-500:oklch(63.4% .035 254.1);--prim-slate-600:oklch(52.4% .036 257.3);--prim-slate-700:oklch(44.6% .037 257.3);--prim-slate-900:oklch(20.8% .04 265.8);--prim-night-950:oklch(15.4% .023 262.5);--prim-night-900:oklch(18.3% .031 263.4);--prim-night-800:oklch(20% .035 261.4);--prim-night-700:oklch(22% .042 264.8);--prim-night-650:oklch(22% .046 263);--prim-night-600:oklch(25.5% .052 264.3);--prim-night-500:oklch(27.6% .053 263.8);--prim-night-400:oklch(32.2% .054 262.2);--prim-night-300:oklch(43.6% .07 263);--prim-steel-600:oklch(52.9% .075 263.6);--prim-steel-400:oklch(62.1% .047 256);--prim-steel-300:oklch(75.2% .041 257.9);--prim-steel-200:oklch(94.4% .015 257.2);--prim-blue-900:oklch(37.9% .138 265.5);--prim-blue-800:oklch(42.4% .181 265.6);--prim-blue-700:oklch(48.8% .217 264.4);--prim-blue-600:oklch(54.6% .215 262.9);--prim-blue-500:oklch(62.3% .188 259.8);--prim-blue-400:oklch(71.4% .143 254.6);--prim-blue-200:oklch(77.2% .115 263.8);--prim-sky-400:oklch(75.4% .139 232.7);--prim-cyan-800:oklch(45% .077 224.3);--prim-cyan-700:oklch(52% .094 223.1);--prim-cyan-600:oklch(60.9% .111 221.7);--prim-cyan-400:oklch(79.7% .134 211.5);--prim-cyan-300:oklch(86.5% .115 207.1);--prim-green-900:oklch(39.3% .09 152.5);--prim-green-600:oklch(62.7% .17 149.2);--prim-green-400:oklch(77.3% .153 163.2);--prim-green-300:oklch(84.5% .13 165);--prim-amber-800:oklch(47.3% .125 46.2);--prim-amber-600:oklch(66.6% .157 58.3);--prim-amber-400:oklch(83.7% .164 84.4);--prim-amber-300:oklch(87.9% .153 91.6);--prim-red-700:oklch(50.5% .19 27.5);--prim-red-600:oklch(57.7% .215 27.3);--prim-red-400:oklch(71.1% .166 22.2);--prim-red-300:oklch(80.8% .103 19.6);--prim-violet-700:oklch(49.1% .241 292.6);--prim-violet-600:oklch(54.1% .247 293);--prim-violet-400:oklch(70.9% .159 293.5);--prim-violet-300:oklch(81.1% .101 293.6);--prim-teal-700:oklch(51.1% .086 186.4);--prim-teal-600:oklch(60% .104 184.7);--prim-teal-400:oklch(78.5% .133 181.9);--font-sans:"Inter", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-display:"Space Grotesk", "Inter", ui-sans-serif, system-ui, sans-serif;--font-mono:ui-monospace, "SF Mono", "Cascadia Code", "JetBrains Mono", monospace;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-4xl:2.25rem;--text-display:clamp(2rem, 1.5rem + 2.5vw, 3rem);--text-panel-title:clamp(1.375rem, 1.2rem + .7vw, 1.5rem);--leading-tight:1.1;--leading-snug:1.3;--leading-normal:1.5;--leading-relaxed:1.7;--tracking-display:-.03em;--tracking-tight:-.02em;--tracking-wide:.025em;--tracking-caps:.08em;--weight-normal:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--weight-extrabold:800;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-field-inner:var(--space-2);--space-field:var(--space-4);--space-group:var(--space-6);--space-section:var(--space-8);--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--radius-full:9999px;--shadow-xs:0 1px 2px light-dark(oklch(20.8% .04 265.8/.05),oklch(0% 0 0/.35));--shadow-sm:0 1px 2px light-dark(oklch(20.8% .04 265.8/.06),oklch(0% 0 0/.4)), 0 1px 3px -1px light-dark(oklch(20.8% .04 265.8/.06),oklch(0% 0 0/.3));--shadow-md:0 1px 2px light-dark(oklch(20.8% .04 265.8/.06),oklch(0% 0 0/.4)), 0 6px 16px -4px light-dark(oklch(20.8% .04 265.8/.11),oklch(0% 0 0/.45));--shadow-lg:0 2px 4px light-dark(oklch(20.8% .04 265.8/.06),oklch(0% 0 0/.4)), 0 12px 32px -8px light-dark(oklch(20.8% .04 265.8/.14),oklch(0% 0 0/.5));--shadow-xl:0 4px 8px light-dark(oklch(20.8% .04 265.8/.08),oklch(0% 0 0/.45)), 0 24px 56px -12px light-dark(oklch(20.8% .04 265.8/.18),oklch(0% 0 0/.55));--shadow-inset-top:inset 0 1px 0 light-dark(oklch(100% 0 0/.6),oklch(100% 0 0/.06));--ease-standard:cubic-bezier(.2, 0, 0, 1);--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--duration-fast:.12s;--duration-normal:.2s;--duration-slow:.32s;--animate-slide-up:fsp-slide-up var(--duration-normal) var(--ease-out) both;--animate-pop:fsp-pop var(--duration-normal) var(--ease-spring) both;--animate-sweep:fsp-scan-sweep 2.8s var(--ease-standard) infinite;--animate-shimmer:fsp-shimmer 1.6s var(--ease-standard) infinite;--bp-sm:640px;--bp-md:768px;--bp-lg:1024px;--container-max:1120px;--container-narrow:720px;--container-panel:920px;--container-prose:68ch;--header-height:64px;--target-min:44px;--target-field:48px;--size-32:32px;--z-nav:10;--z-sticky:200;--z-overlay:300;--z-consent:400;--color-bg:light-dark(var(--prim-slate-50),var(--prim-night-900));--color-bg-subtle:light-dark(var(--prim-slate-100),var(--prim-night-650));--color-surface:light-dark(var(--prim-white),var(--prim-night-700));--color-surface-hover:light-dark(var(--prim-slate-50),var(--prim-night-500));--color-surface-raised:light-dark(var(--prim-white),var(--prim-night-600));--color-surface-sunken:light-dark(var(--prim-slate-200),var(--prim-night-950));--color-overlay:light-dark(color-mix(in oklch, var(--prim-slate-900) 45%, transparent),oklch(0% 0 0/.6));--gradient-ambient:radial-gradient(150% 600px at 50% -160px, light-dark(color-mix(in oklch, var(--prim-blue-500) 9%, transparent),color-mix(in oklch, var(--prim-blue-500) 13%, transparent)), transparent 70%);--color-text:light-dark(var(--prim-slate-900),var(--prim-steel-200));--color-text-secondary:light-dark(var(--prim-slate-700),var(--prim-steel-300));--color-text-tertiary:light-dark(var(--prim-slate-600),var(--prim-steel-400));--color-text-on-primary:var(--prim-white);--color-border:light-dark(var(--prim-slate-300),var(--prim-night-400));--color-border-strong:light-dark(var(--prim-slate-400),var(--prim-night-300));--color-border-focus:light-dark(var(--prim-blue-600),var(--prim-sky-400));--color-primary:light-dark(var(--prim-blue-700),var(--prim-blue-600));--color-primary-text:light-dark(var(--prim-blue-700),var(--prim-blue-200));--color-primary-hover:light-dark(var(--prim-blue-800),var(--prim-blue-500));--color-primary-active:light-dark(var(--prim-blue-900),var(--prim-blue-400));--color-primary-subtle:light-dark(color-mix(in oklch, var(--prim-blue-700) 8%, transparent),color-mix(in oklch, var(--prim-blue-500) 18%, transparent));--color-primary-subtle-text:light-dark(var(--prim-blue-800),var(--prim-blue-200));--color-primary-solid:var(--color-primary);--color-primary-solid-hover:var(--color-primary-hover);--color-primary-solid-active:var(--color-primary-active);--color-accent:light-dark(var(--prim-cyan-600),var(--prim-cyan-400));--color-accent-hover:light-dark(var(--prim-cyan-700),var(--prim-cyan-300));--color-accent-subtle:light-dark(color-mix(in oklch, var(--prim-cyan-600) 12%, transparent),color-mix(in oklch, var(--prim-cyan-400) 14%, transparent));--color-accent-subtle-text:light-dark(var(--prim-cyan-800),var(--prim-cyan-400));--color-success:light-dark(var(--prim-green-600),var(--prim-green-400));--color-success-subtle:light-dark(color-mix(in oklch, var(--prim-green-600) 14%, transparent),color-mix(in oklch, var(--prim-green-400) 14%, transparent));--color-success-text:light-dark(var(--prim-green-900),var(--prim-green-300));--color-warning:light-dark(var(--prim-amber-600),var(--prim-amber-400));--color-warning-subtle:light-dark(color-mix(in oklch, var(--prim-amber-600) 12%, transparent),color-mix(in oklch, var(--prim-amber-400) 12%, transparent));--color-warning-text:light-dark(var(--prim-amber-800),var(--prim-amber-300));--color-danger:light-dark(var(--prim-red-600),var(--prim-red-400));--color-danger-subtle:light-dark(color-mix(in oklch, var(--prim-red-600) 10%, transparent),color-mix(in oklch, var(--prim-red-400) 14%, transparent));--color-danger-text:light-dark(var(--prim-red-700),var(--prim-red-300));--button-bg:var(--color-primary);--button-bg-hover:var(--color-primary-hover);--button-bg-active:var(--color-primary-active);--button-text:var(--color-text-on-primary);--button-border:transparent;--button-ghost-text:var(--color-text-secondary);--button-ghost-bg-hover:var(--color-surface-hover);--nav-active-bg:var(--color-primary);--nav-active-text:var(--color-text-on-primary);--ad-min-height:120px;--color-selection-bg:light-dark(color-mix(in oklch, var(--prim-cyan-600) 22%, transparent),color-mix(in oklch, var(--prim-cyan-400) 22%, transparent));--input-bg:light-dark(var(--prim-white),var(--prim-night-800));--input-border:light-dark(var(--prim-slate-500),var(--prim-steel-600));--input-border-focus:var(--color-border-focus);--input-text:var(--color-text);--card-bg:var(--color-surface);--card-border:var(--color-border);--focus-ring:2px solid var(--color-border-focus);--focus-halo:0 0 0 4px color-mix(in oklch, var(--color-border-focus) 22%, transparent);--tile-primary-fg:light-dark(var(--prim-blue-700),var(--prim-blue-200));--tile-primary-bg:light-dark(color-mix(in oklch, var(--prim-blue-700) 10%, transparent),color-mix(in oklch, var(--prim-blue-500) 18%, transparent));--tile-accent-fg:light-dark(var(--prim-cyan-800),var(--prim-cyan-400));--tile-accent-bg:light-dark(color-mix(in oklch, var(--prim-cyan-600) 12%, transparent),color-mix(in oklch, var(--prim-cyan-400) 16%, transparent));--tile-purple-fg:light-dark(var(--prim-violet-700),var(--prim-violet-300));--tile-purple-bg:light-dark(color-mix(in oklch, var(--prim-violet-600) 10%, transparent),color-mix(in oklch, var(--prim-violet-400) 18%, transparent));--tile-green-fg:light-dark(var(--prim-green-900),var(--prim-green-300));--tile-green-bg:light-dark(color-mix(in oklch, var(--prim-green-600) 14%, transparent),color-mix(in oklch, var(--prim-green-400) 16%, transparent));--tile-teal-fg:light-dark(var(--prim-teal-700),var(--prim-teal-400));--tile-teal-bg:light-dark(color-mix(in oklch, var(--prim-teal-600) 12%, transparent),color-mix(in oklch, var(--prim-teal-400) 16%, transparent));--tile-tutorials-fg:var(--tile-primary-fg);--tile-tutorials-bg:var(--tile-primary-bg);--tile-privacy-fg:var(--tile-green-fg);--tile-privacy-bg:var(--tile-green-bg);--tile-comparisons-fg:var(--tile-accent-fg);--tile-comparisons-bg:var(--tile-accent-bg);--tile-guides-fg:var(--tile-purple-fg);--tile-guides-bg:var(--tile-purple-bg)}:root[data-theme=light]{color-scheme:light}:root[data-theme=dark]{color-scheme:dark}@keyframes fsp-slide-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fsp-pop{0%{transform:scale(.8)}to{transform:scale(1)}}@keyframes fsp-scanline{0%,to{opacity:.9}50%{opacity:.35}}@keyframes fsp-scan-sweep{0%,to{opacity:0;top:12%}8%,92%{opacity:1}50%{top:calc(88% - 3px)}}@keyframes fsp-spin{to{transform:rotate(360deg)}}@keyframes fsp-shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}@keyframes fsp-frame-capture{0%{border-color:var(--color-success);box-shadow:0 0 0 4px color-mix(in oklch, var(--color-success) 25%, transparent)}to{border-color:var(--color-border);box-shadow:none}}@keyframes fsp-view-out{to{opacity:0}}@keyframes fsp-view-in{0%{opacity:0;transform:translateY(6px)}}@media (prefers-contrast:more){:root{--color-border:var(--color-border-strong)}}@media (forced-colors:active){:root{--color-border-focus:Highlight}}@media (prefers-reduced-motion:reduce){:root{--animate-slide-up:none;--animate-pop:none;--animate-sweep:none;--animate-shimmer:none}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth}body{font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--color-text);background-color:var(--color-bg);flex-direction:column;min-height:100vh;display:flex}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:var(--weight-semibold);line-height:var(--leading-tight);color:var(--color-text)}h1{font-size:clamp(var(--text-2xl), 5.5vw, var(--text-4xl))}h2{font-size:var(--text-3xl)}h3{font-size:var(--text-2xl)}h4{font-size:var(--text-xl)}p{line-height:var(--leading-relaxed)}a{color:var(--color-primary-text);text-decoration:none}a:hover{text-decoration:underline}img,picture,svg{max-width:100%;height:auto;display:block}::selection{background:var(--color-selection-bg)}.fsp-blog-main{width:100%;max-width:var(--container-max);padding-inline:var(--space-4);padding-block:var(--space-10) var(--space-16);flex:1;margin-inline:auto}.fsp-blog-narrow{max-width:var(--container-narrow);margin-inline:auto}:focus-visible{outline:var(--focus-ring);outline-offset:2px;border-radius:var(--radius-sm)}.fsp-blog-prose{max-width:100%}.fsp-blog-prose a{text-decoration:underline}.fsp-blog-prose h2{margin-block-start:var(--space-12);margin-block-end:var(--space-4)}.fsp-blog-prose h3{margin-block-start:var(--space-8);margin-block-end:var(--space-3)}.fsp-blog-prose p{margin-block-end:var(--space-4)}.fsp-blog-prose a{text-underline-offset:.15em;text-decoration:underline}.fsp-blog-prose ul,.fsp-blog-prose ol{margin-block-end:var(--space-4);padding-inline-start:var(--space-6)}.fsp-blog-prose li{margin-block-end:var(--space-2)}.fsp-blog-prose code{font-family:var(--font-mono);font-size:var(--text-sm);background:var(--color-bg-subtle);padding-inline:var(--space-1);border-radius:var(--radius-sm)}.fsp-blog-prose pre{background:var(--color-surface-sunken);padding:var(--space-4);border-radius:var(--radius-md);margin-block-end:var(--space-4);overflow-x:auto}.fsp-blog-prose pre code{background:0 0;padding:0}.fsp-blog-prose blockquote{border-inline-start:3px solid var(--color-primary);margin-block:var(--space-4);color:var(--color-text-secondary);padding-inline-start:var(--space-4);font-style:italic}.fsp-blog-prose img{border-radius:var(--radius-lg);margin-block:var(--space-6)}.fsp-skip-link{inset-inline-start:-9999px;min-height:var(--target-min);padding:var(--space-2) var(--space-4);background:var(--color-primary-solid);color:var(--color-text-on-primary);font-weight:var(--weight-semibold);z-index:var(--z-overlay);align-items:center;text-decoration:none;display:inline-flex;position:absolute;top:0}.fsp-skip-link:focus{inset-inline-start:var(--space-2);top:var(--space-2);border-radius:0 0 var(--radius-md) 0}.fsp-ad-slot{min-height:var(--ad-min-height);margin:var(--space-5) 0;text-align:center;place-content:center;gap:var(--space-1);color:var(--color-text-secondary);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);display:grid}.fsp-ad-slot>span,.fsp-ad-slot .fsp-ad-label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-caps)}.fsp-ad-slot small{font-size:var(--text-xs)}.fsp-ad-slot[hidden]{display:none}.fsp-consent{z-index:var(--z-consent);inset-inline-start:50%;bottom:var(--space-4);width:min(560px, calc(100% - var(--space-6)));justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-5);background:color-mix(in srgb, var(--color-surface-raised) 94%, transparent);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl), var(--shadow-inset-top);-webkit-backdrop-filter:blur(16px)saturate(1.4);flex-wrap:wrap;display:flex;position:fixed;transform:translate(-50%)}.fsp-consent[hidden]{display:none}.fsp-consent :where(p,.fsp-consent-text){min-width:220px;font-size:var(--text-sm);line-height:var(--leading-normal);flex:1}.fsp-consent-actions{gap:var(--space-2);display:flex}.fsp-header{z-index:var(--z-sticky);justify-content:space-between;align-items:center;gap:var(--space-4);min-block-size:var(--header-height);padding-inline:var(--space-4);background:color-mix(in srgb, var(--color-bg) 88%, transparent);-webkit-backdrop-filter:blur(12px);border-block-end:1px solid var(--color-border);display:flex;position:sticky;inset-block-start:0}@media (width>=640px){.fsp-header{padding-inline:var(--space-6)}}@media (width>=1024px){.fsp-header{padding-inline:var(--space-8)}}.fsp-header-inner{inline-size:100%;max-inline-size:var(--container-max);justify-content:space-between;align-items:center;gap:var(--space-4);margin-inline:auto;display:flex}.fsp-brand{align-items:center;gap:var(--space-2);font-size:var(--text-xl);font-weight:var(--weight-extrabold);letter-spacing:var(--tracking-tight);color:var(--color-text);text-decoration:none;display:inline-flex}.fsp-brand:hover{text-decoration:none}.fsp-brand-mark{inline-size:var(--size-32);block-size:var(--size-32);border-radius:var(--radius-sm);flex-shrink:0}.fsp-brand-accent{color:var(--color-primary-text)}.fsp-nav{align-items:center;gap:var(--space-1);flex-wrap:wrap;display:flex}.fsp-nav-link{padding-inline:var(--space-3);padding-block:var(--space-2);border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:var(--text-sm);font-weight:var(--weight-medium);background-image:linear-gradient(var(--color-accent), var(--color-accent));transition:background var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out), background-size var(--duration-normal) var(--ease-out);background-position:0 100%;background-repeat:no-repeat;background-size:0% 2px;text-decoration:none}.fsp-nav-link:hover{background-color:var(--color-surface-hover);color:var(--color-text);background-size:100% 2px}.fsp-nav-link[aria-current=page]{color:var(--color-text);background-size:100% 2px}.fsp-header-actions{align-items:center;gap:var(--space-2);display:flex}.fsp-blog-footer{border-block-start:1px solid var(--color-border);background:var(--color-surface);padding-block:var(--space-8);padding-inline:var(--space-4);margin-block-start:auto}.fsp-blog-footer-inner{max-width:var(--container-max);gap:var(--space-6);flex-wrap:wrap;justify-content:space-between;align-items:center;margin-inline:auto;display:flex}.fsp-blog-footer-links{gap:var(--space-4);flex-wrap:wrap;display:flex}.fsp-blog-footer-links a{color:var(--color-text-secondary);font-size:var(--text-sm)}.fsp-blog-footer-copy{color:var(--color-text-tertiary);font-size:var(--text-xs)}.fsp-lang-select{appearance:none;background:var(--input-bg);border:1px solid var(--input-border);border-radius:var(--radius-md);color:var(--input-text);font-size:var(--text-sm);min-block-size:var(--target-min);padding-inline:var(--space-3);padding-block:var(--space-2);cursor:pointer;text-align:start;transition:border-color var(--duration-fast) var(--ease-out);font-family:inherit}.fsp-lang-select:hover{border-color:var(--input-border-focus)}.fsp-lang-noscript{gap:var(--space-2);flex-wrap:wrap;display:flex}.fsp-lang-noscript a{font-size:var(--text-sm);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);border:1px solid var(--color-border)}.fsp-theme-toggle{background:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);color:var(--color-text-secondary);cursor:pointer;padding:var(--space-2);width:var(--target-min);height:var(--target-min);transition:color var(--duration-fast) var(--ease-out);border:0;justify-content:center;align-items:center;display:flex}.fsp-theme-toggle:hover{color:var(--color-text)}.fsp-icon-moon,[data-theme=dark] .fsp-icon-sun{display:none}[data-theme=dark] .fsp-icon-moon{display:block}@media (prefers-color-scheme:dark){:root:not([data-theme]) .fsp-icon-sun{display:none}:root:not([data-theme]) .fsp-icon-moon{display:block}}.fsp-breadcrumb{align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-text-secondary);flex-wrap:wrap;margin-block-end:var(--space-6);display:flex}.fsp-breadcrumb a{color:var(--color-text-secondary)}.fsp-breadcrumb a:hover{color:var(--color-primary-text);text-decoration:none}.fsp-breadcrumb-sep{color:var(--color-text-tertiary)}[dir=rtl] .fsp-rtl-flip{display:inline-block;transform:scaleX(-1)}.fsp-breadcrumb-current{color:var(--color-text);font-weight:var(--weight-medium)}.fsp-blog-toc{top:calc(var(--header-height) + var(--space-4));max-height:calc(100vh - var(--header-height) - var(--space-8));padding-inline:var(--space-4);align-self:start;position:sticky;overflow-y:auto}.fsp-blog-toc-title{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:var(--tracking-wide);margin-block-end:var(--space-3)}.fsp-blog-toc ul{gap:var(--space-1);flex-direction:column;padding:0;list-style:none;display:flex}.fsp-blog-toc a{font-size:var(--text-sm);color:var(--color-text-secondary);padding-inline:var(--space-2);padding-block:var(--space-1);border-radius:var(--radius-sm);border-inline-start:2px solid #0000;display:block}.fsp-blog-toc a:hover{color:var(--color-primary-text);background:var(--color-primary-subtle);text-decoration:none}.fsp-blog-toc .fsp-toc-h3{font-size:var(--text-xs);padding-inline-start:var(--space-4)}.fsp-blog-article-grid{gap:var(--space-8);grid-template-columns:1fr;display:grid}@media (width>=1024px){.fsp-blog-article-grid{grid-template-columns:minmax(0,1fr) 240px}.fsp-blog-toc{order:2;grid-column:2}.fsp-blog-article-content{order:1;grid-column:1}}.fsp-blog-article-content{max-inline-size:68ch}.fsp-blog-article-meta{gap:var(--space-4);color:var(--color-text-secondary);font-size:var(--text-sm);flex-wrap:wrap;align-items:center;margin-block-end:var(--space-6);display:flex}.fsp-blog-article-meta-item{align-items:center;gap:var(--space-1);display:flex}.fsp-blog-article-title{font-size:var(--text-4xl);margin-block-end:var(--space-3)}.fsp-blog-article-description{font-size:var(--text-lg);color:var(--color-text-secondary);margin-block-end:var(--space-6)}.fsp-blog-article-cover{border-radius:var(--radius-xl);width:100%;margin-block-end:var(--space-8)}.fsp-app-cta{gap:var(--space-2);padding:var(--space-5);margin-block:var(--space-6);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-primary-subtle);flex-direction:column;display:flex}.fsp-app-cta-title{font-size:var(--text-lg);font-weight:var(--weight-semibold);color:var(--color-primary-subtle-text)}.fsp-app-cta-note{font-size:var(--text-sm);color:var(--color-primary-subtle-text)}.fsp-app-cta-link{align-self:flex-start}.fsp-related-articles{margin-block-start:var(--space-12)}.fsp-related-articles-title{font-size:var(--text-xl);margin-block-end:var(--space-4)}.fsp-related-articles-grid{gap:var(--space-5);grid-template-columns:1fr;display:grid}@media (width>=640px){.fsp-related-articles-grid{grid-template-columns:repeat(3,1fr)}}.fsp-article-card{--cover-fg:var(--color-primary-text);--cover-bg:var(--color-primary-subtle);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-sm);transition:transform var(--duration-normal) var(--ease-out), box-shadow var(--duration-normal) var(--ease-out), border-color var(--duration-normal) var(--ease-out);flex-direction:column;display:flex;position:relative;overflow:hidden}.fsp-article-card[data-category=tutorials]{--cover-fg:var(--tile-tutorials-fg);--cover-bg:var(--tile-tutorials-bg)}.fsp-article-card[data-category=privacy]{--cover-fg:var(--tile-privacy-fg);--cover-bg:var(--tile-privacy-bg)}.fsp-article-card[data-category=comparisons]{--cover-fg:var(--tile-comparisons-fg);--cover-bg:var(--tile-comparisons-bg)}.fsp-article-card[data-category=guides]{--cover-fg:var(--tile-guides-fg);--cover-bg:var(--tile-guides-bg)}@media (hover:hover){.fsp-article-card:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-lg);transform:translateY(-2px)}}.fsp-article-card:focus-within{border-color:var(--color-border-focus)}.fsp-article-card-cover{aspect-ratio:2;color:var(--cover-fg);background:var(--cover-bg);justify-content:center;align-items:center;display:flex;position:relative}.fsp-article-card-cover:before{content:"";inset-inline:var(--space-5);border-block-start:2px solid color-mix(in srgb, var(--cover-fg) 45%, transparent);position:absolute;top:50%}.fsp-article-card-cover svg{inline-size:var(--space-16);block-size:var(--space-16);opacity:.55;transition:transform var(--duration-normal) var(--ease-spring)}.fsp-article-card:hover .fsp-article-card-cover svg{transform:scale(1.06)}.fsp-article-card-cover--photo:before{display:none}.fsp-article-card-cover--photo img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.fsp-article-card-body{padding:var(--space-5);gap:var(--space-3);flex-direction:column;flex:1;display:flex}.fsp-article-card-badge{font-size:var(--text-xs);font-weight:var(--weight-medium);padding-inline:var(--space-2);padding-block:var(--space-1);border-radius:var(--radius-full);background:var(--cover-bg);color:var(--cover-fg);align-self:flex-start}.fsp-article-card-title{font-size:var(--text-lg);line-height:var(--leading-snug)}.fsp-article-card-title a{color:var(--color-text);transition:color var(--duration-fast) var(--ease-out)}.fsp-article-card-title a:after{content:"";position:absolute;inset:0}.fsp-article-card:hover .fsp-article-card-title a{color:var(--color-primary-text)}.fsp-article-card-excerpt{font-size:var(--text-sm);color:var(--color-text-secondary);-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.fsp-article-card-foot{justify-content:space-between;align-items:baseline;gap:var(--space-2);flex-wrap:wrap;margin-block-start:auto;padding-block-start:var(--space-2);display:flex}.fsp-article-card-meta{gap:var(--space-2);font-size:var(--text-xs);color:var(--color-text-tertiary);display:flex}.fsp-article-card-more{align-items:center;gap:var(--space-1);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-primary-text);display:inline-flex}.fsp-category-filter{gap:var(--space-2);flex-wrap:wrap;margin-block-end:var(--space-6);display:flex}.fsp-category-filter a{font-size:var(--text-sm);font-weight:var(--weight-medium);padding-inline:var(--space-3);padding-block:var(--space-1);border-radius:var(--radius-full);border:1px solid var(--color-border);color:var(--color-text-secondary)}.fsp-category-filter a:hover{border-color:var(--color-primary);color:var(--color-primary-text);text-decoration:none}.fsp-category-filter a.is-active{background:var(--color-primary-solid);color:var(--color-text-on-primary);border-color:var(--color-primary)}.fsp-pagination{justify-content:center;align-items:center;gap:var(--space-2);margin-block-start:var(--space-8);display:flex}.fsp-pagination a,.fsp-pagination span{min-width:var(--target-min);height:var(--target-min);padding-inline:var(--space-2);border-radius:var(--radius-md);font-size:var(--text-sm);border:1px solid var(--color-border);color:var(--color-text-secondary);justify-content:center;align-items:center;display:flex}.fsp-pagination a:hover{border-color:var(--color-primary);color:var(--color-primary-text);text-decoration:none}.fsp-pagination .is-current{background:var(--color-primary-solid);color:var(--color-text-on-primary);border-color:var(--color-primary)}.fsp-pagination .is-disabled{opacity:.4;pointer-events:none}.fsp-blog-index-header{animation:var(--animate-slide-up);margin-block-end:var(--space-10)}.fsp-blog-index-title{font-size:var(--text-4xl);font-weight:var(--weight-bold);letter-spacing:var(--tracking-tight);margin-block-end:var(--space-3)}.fsp-blog-index-subtitle{font-size:var(--text-lg);line-height:var(--leading-relaxed);color:var(--color-text);max-inline-size:var(--container-narrow)}.fsp-blog-articles-grid{gap:var(--space-6);grid-template-columns:1fr;display:grid}@media (width>=640px){.fsp-blog-articles-grid{grid-template-columns:repeat(2,1fr)}}@media (width>=1024px){.fsp-blog-articles-grid{grid-template-columns:repeat(3,1fr)}}.fsp-page-header{animation:var(--animate-slide-up);margin-block-end:var(--space-10)}.fsp-page-title{font-size:var(--text-4xl);font-weight:var(--weight-bold);letter-spacing:var(--tracking-tight);margin-block-end:var(--space-3)}.fsp-page-subtitle{font-size:var(--text-lg);line-height:var(--leading-relaxed);color:var(--color-text);max-inline-size:var(--container-narrow)}.fsp-legal-note{padding:var(--space-4);border:1px dashed var(--color-border-strong);border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:var(--text-sm);margin-block-end:var(--space-6)}.fsp-btn{align-items:center;gap:var(--space-2);font-family:inherit;font-size:var(--text-sm);font-weight:var(--weight-semibold);min-block-size:var(--target-min);padding-inline:var(--space-4);padding-block:var(--space-2);border-radius:var(--radius-md);border:1px solid var(--button-border);background:var(--button-bg);color:var(--button-text);cursor:pointer;transition:background var(--duration-fast) var(--ease-out);text-decoration:none;display:inline-flex}.fsp-btn:hover{background:var(--button-bg-hover);text-decoration:none}.fsp-btn-ghost{border-color:var(--color-border);color:var(--button-ghost-text);background:0 0}.fsp-btn-ghost:hover{background:var(--button-ghost-bg-hover)}.fsp-ad-slot{min-height:0;margin-block:0;display:none}html[data-fsp-ads] .fsp-ad-slot,.fsp-ad-slot:has(ins[data-fsp-queued]),.fsp-ad-slot:has(ins[data-ad-status]){margin-block:var(--space-8);min-height:100px;display:grid}.fsp-ad-slot:has(ins[data-ad-status=unfilled]){display:none}.fsp-ad-label{font-size:var(--text-xs);font-weight:var(--weight-medium);letter-spacing:.05em;text-transform:uppercase;color:var(--color-text-secondary);margin-block-end:var(--space-1);display:none}html[data-fsp-ads] .fsp-ad-label,.fsp-ad-slot:has(ins[data-fsp-queued]) .fsp-ad-label,.fsp-ad-slot:has(ins[data-ad-status]) .fsp-ad-label{display:block}.fsp-ad-feed{grid-column:1/-1}html[data-fsp-ads] .fsp-ad-feed,.fsp-ad-feed:has(ins[data-fsp-queued]),.fsp-ad-feed:has(ins[data-ad-status]){padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-sunken);text-align:center;min-height:160px}.fsp-rss-link{align-items:center;gap:var(--space-1);font-size:var(--text-sm);color:var(--color-text-secondary);display:inline-flex}.fsp-rss-link:hover{color:var(--color-primary-text);text-decoration:none}@media (width<=639.98px){.fsp-header-inner{gap:var(--space-2);flex-wrap:wrap}.fsp-brand-text{display:none}.fsp-nav{-webkit-overflow-scrolling:touch;scrollbar-width:none;justify-content:flex-start;gap:var(--space-1);flex-wrap:nowrap;order:3;inline-size:100%;overflow-x:auto}.fsp-nav::-webkit-scrollbar{display:none}.fsp-nav-link{padding-inline:var(--space-2);padding-block:var(--space-1);font-size:var(--text-xs);white-space:nowrap;flex-shrink:0}}@media (pointer:coarse){.fsp-category-filter a{min-height:var(--target-min);align-items:center;display:inline-flex}}@media print{.fsp-skip-link,.fsp-header,.fsp-blog-footer,.fsp-breadcrumb,.fsp-blog-toc,.fsp-ad-slot,.fsp-consent,.fsp-category-filter,.fsp-pagination,.fsp-related-articles,.fsp-app-cta{display:none}.fsp-blog-main{padding-block:0}.fsp-blog-article-grid{display:block}.fsp-article-card-cover,.fsp-blog-article-cover{display:none}.fsp-blog-prose a[href^=http]:after{content:" (" attr(href) ")";font-size:var(--text-xs);color:var(--color-text-secondary)}}
