@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{--lightningcss-light:initial;--lightningcss-dark: ;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 var(--lightningcss-light,oklch(20.8% .04 265.8/.05))var(--lightningcss-dark,oklch(0% 0 0/.35));--shadow-sm:0 1px 2px var(--lightningcss-light,oklch(20.8% .04 265.8/.06))var(--lightningcss-dark,oklch(0% 0 0/.4)), 0 1px 3px -1px var(--lightningcss-light,oklch(20.8% .04 265.8/.06))var(--lightningcss-dark,oklch(0% 0 0/.3));--shadow-md:0 1px 2px var(--lightningcss-light,oklch(20.8% .04 265.8/.06))var(--lightningcss-dark,oklch(0% 0 0/.4)), 0 6px 16px -4px var(--lightningcss-light,oklch(20.8% .04 265.8/.11))var(--lightningcss-dark,oklch(0% 0 0/.45));--shadow-lg:0 2px 4px var(--lightningcss-light,oklch(20.8% .04 265.8/.06))var(--lightningcss-dark,oklch(0% 0 0/.4)), 0 12px 32px -8px var(--lightningcss-light,oklch(20.8% .04 265.8/.14))var(--lightningcss-dark,oklch(0% 0 0/.5));--shadow-xl:0 4px 8px var(--lightningcss-light,oklch(20.8% .04 265.8/.08))var(--lightningcss-dark,oklch(0% 0 0/.45)), 0 24px 56px -12px var(--lightningcss-light,oklch(20.8% .04 265.8/.18))var(--lightningcss-dark,oklch(0% 0 0/.55));--shadow-inset-top:inset 0 1px 0 var(--lightningcss-light,oklch(100% 0 0/.6))var(--lightningcss-dark,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}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}:root{--color-bg:var(--lightningcss-light,var(--prim-slate-50))var(--lightningcss-dark,var(--prim-night-900));--color-bg-subtle:var(--lightningcss-light,var(--prim-slate-100))var(--lightningcss-dark,var(--prim-night-650));--color-surface:var(--lightningcss-light,var(--prim-white))var(--lightningcss-dark,var(--prim-night-700));--color-surface-hover:var(--lightningcss-light,var(--prim-slate-50))var(--lightningcss-dark,var(--prim-night-500));--color-surface-raised:var(--lightningcss-light,var(--prim-white))var(--lightningcss-dark,var(--prim-night-600));--color-surface-sunken:var(--lightningcss-light,var(--prim-slate-200))var(--lightningcss-dark,var(--prim-night-950));--color-overlay:var(--lightningcss-light,color-mix(in oklch, var(--prim-slate-900) 45%, transparent))var(--lightningcss-dark,oklch(0% 0 0/.6));--gradient-ambient:radial-gradient(150% 600px at 50% -160px, var(--lightningcss-light,color-mix(in oklch, var(--prim-blue-500) 9%, transparent))var(--lightningcss-dark,color-mix(in oklch, var(--prim-blue-500) 13%, transparent)), transparent 70%);--color-text:var(--lightningcss-light,var(--prim-slate-900))var(--lightningcss-dark,var(--prim-steel-200));--color-text-secondary:var(--lightningcss-light,var(--prim-slate-700))var(--lightningcss-dark,var(--prim-steel-300));--color-text-tertiary:var(--lightningcss-light,var(--prim-slate-600))var(--lightningcss-dark,var(--prim-steel-400));--color-text-on-primary:var(--prim-white);--color-border:var(--lightningcss-light,var(--prim-slate-300))var(--lightningcss-dark,var(--prim-night-400));--color-border-strong:var(--lightningcss-light,var(--prim-slate-400))var(--lightningcss-dark,var(--prim-night-300));--color-border-focus:var(--lightningcss-light,var(--prim-blue-600))var(--lightningcss-dark,var(--prim-sky-400));--color-primary:var(--lightningcss-light,var(--prim-blue-700))var(--lightningcss-dark,var(--prim-blue-600));--color-primary-text:var(--lightningcss-light,var(--prim-blue-700))var(--lightningcss-dark,var(--prim-blue-200));--color-primary-hover:var(--lightningcss-light,var(--prim-blue-800))var(--lightningcss-dark,var(--prim-blue-500));--color-primary-active:var(--lightningcss-light,var(--prim-blue-900))var(--lightningcss-dark,var(--prim-blue-400));--color-primary-subtle:var(--lightningcss-light,color-mix(in oklch, var(--prim-blue-700) 8%, transparent))var(--lightningcss-dark,color-mix(in oklch, var(--prim-blue-500) 18%, transparent));--color-primary-subtle-text:var(--lightningcss-light,var(--prim-blue-800))var(--lightningcss-dark,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:var(--lightningcss-light,var(--prim-cyan-600))var(--lightningcss-dark,var(--prim-cyan-400));--color-accent-hover:var(--lightningcss-light,var(--prim-cyan-700))var(--lightningcss-dark,var(--prim-cyan-300));--color-accent-subtle:var(--lightningcss-light,color-mix(in oklch, var(--prim-cyan-600) 12%, transparent))var(--lightningcss-dark,color-mix(in oklch, var(--prim-cyan-400) 14%, transparent));--color-accent-subtle-text:var(--lightningcss-light,var(--prim-cyan-800))var(--lightningcss-dark,var(--prim-cyan-400));--color-success:var(--lightningcss-light,var(--prim-green-600))var(--lightningcss-dark,var(--prim-green-400));--color-success-subtle:var(--lightningcss-light,color-mix(in oklch, var(--prim-green-600) 14%, transparent))var(--lightningcss-dark,color-mix(in oklch, var(--prim-green-400) 14%, transparent));--color-success-text:var(--lightningcss-light,var(--prim-green-900))var(--lightningcss-dark,var(--prim-green-300));--color-warning:var(--lightningcss-light,var(--prim-amber-600))var(--lightningcss-dark,var(--prim-amber-400));--color-warning-subtle:var(--lightningcss-light,color-mix(in oklch, var(--prim-amber-600) 12%, transparent))var(--lightningcss-dark,color-mix(in oklch, var(--prim-amber-400) 12%, transparent));--color-warning-text:var(--lightningcss-light,var(--prim-amber-800))var(--lightningcss-dark,var(--prim-amber-300));--color-danger:var(--lightningcss-light,var(--prim-red-600))var(--lightningcss-dark,var(--prim-red-400));--color-danger-subtle:var(--lightningcss-light,color-mix(in oklch, var(--prim-red-600) 10%, transparent))var(--lightningcss-dark,color-mix(in oklch, var(--prim-red-400) 14%, transparent));--color-danger-text:var(--lightningcss-light,var(--prim-red-700))var(--lightningcss-dark,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:var(--lightningcss-light,color-mix(in oklch, var(--prim-cyan-600) 22%, transparent))var(--lightningcss-dark,color-mix(in oklch, var(--prim-cyan-400) 22%, transparent));--input-bg:var(--lightningcss-light,var(--prim-white))var(--lightningcss-dark,var(--prim-night-800));--input-border:var(--lightningcss-light,var(--prim-slate-500))var(--lightningcss-dark,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:var(--lightningcss-light,var(--prim-blue-700))var(--lightningcss-dark,var(--prim-blue-200));--tile-primary-bg:var(--lightningcss-light,color-mix(in oklch, var(--prim-blue-700) 10%, transparent))var(--lightningcss-dark,color-mix(in oklch, var(--prim-blue-500) 18%, transparent));--tile-accent-fg:var(--lightningcss-light,var(--prim-cyan-800))var(--lightningcss-dark,var(--prim-cyan-400));--tile-accent-bg:var(--lightningcss-light,color-mix(in oklch, var(--prim-cyan-600) 12%, transparent))var(--lightningcss-dark,color-mix(in oklch, var(--prim-cyan-400) 16%, transparent));--tile-purple-fg:var(--lightningcss-light,var(--prim-violet-700))var(--lightningcss-dark,var(--prim-violet-300));--tile-purple-bg:var(--lightningcss-light,color-mix(in oklch, var(--prim-violet-600) 10%, transparent))var(--lightningcss-dark,color-mix(in oklch, var(--prim-violet-400) 18%, transparent));--tile-green-fg:var(--lightningcss-light,var(--prim-green-900))var(--lightningcss-dark,var(--prim-green-300));--tile-green-bg:var(--lightningcss-light,color-mix(in oklch, var(--prim-green-600) 14%, transparent))var(--lightningcss-dark,color-mix(in oklch, var(--prim-green-400) 16%, transparent));--tile-teal-fg:var(--lightningcss-light,var(--prim-teal-700))var(--lightningcss-dark,var(--prim-teal-400));--tile-teal-bg:var(--lightningcss-light,color-mix(in oklch, var(--prim-teal-600) 12%, transparent))var(--lightningcss-dark,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]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;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{scroll-behavior:smooth;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{min-height:100vh;font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;background-color:var(--color-bg);background-image:var(--gradient-ambient);color:var(--color-text);transition:background-color var(--duration-normal) var(--ease-out), color var(--duration-normal) var(--ease-out);background-repeat:no-repeat}button,input,select,textarea{font:inherit}button{color:inherit}img,picture,svg{max-width:100%;display:block}.fsp-icon{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;flex:none}:focus-visible{outline:var(--focus-ring);outline-offset:2px;border-radius:var(--radius-sm);box-shadow:var(--focus-halo)}::view-transition-old(root){animation:fsp-view-out .15s var(--ease-out) both}::view-transition-new(root){animation:fsp-view-in .15s var(--ease-out) both}h1,h2,h3,.fsp-eyebrow,.fsp-header-brand,.fsp-footer-logo,.fsp-card-title,.fsp-section-title,.fsp-feature-card strong,.fsp-kind{font-family:var(--font-display)}::selection{background:var(--color-selection-bg)}.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-app{max-width:var(--container-max);padding:0 var(--space-5) calc(var(--space-16) + var(--target-min));margin-inline:auto}@media (width>=768px){.fsp-app{padding:0 var(--space-8) var(--space-16)}}.fsp-header{z-index:var(--z-sticky);align-items:center;gap:var(--space-3);min-height:var(--header-height);margin-inline:calc(-1 * var(--space-5));padding-inline:var(--space-5);background:color-mix(in srgb, var(--color-bg) 82%, transparent);-webkit-backdrop-filter:blur(16px)saturate(1.5);border-bottom:1px solid var(--color-border);display:flex;position:sticky;top:0}@media (width>=768px){.fsp-header{margin-inline:calc(-1 * var(--space-8));padding-inline:var(--space-8);gap:var(--space-6)}}.fsp-header-brand{align-items:center;gap:var(--space-2);min-height:var(--target-min);color:var(--color-text);font-weight:var(--weight-bold);font-size:var(--text-lg);letter-spacing:var(--tracking-tight);white-space:nowrap;text-decoration:none;display:inline-flex}.fsp-header-brand svg{width:26px;height:26px;color:var(--color-primary);fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round}.fsp-header-nav{justify-content:center;gap:var(--space-1);flex:1;display:none}@media (width>=768px){.fsp-header-nav{display:flex}}.fsp-header-nav button,.fsp-header-nav a{align-items:center;gap:var(--space-2);min-height:var(--target-min);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);color:var(--color-text-secondary);font-weight:var(--weight-medium);font-size:var(--text-base);cursor:pointer;transition:background var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out);background:0 0;border:0;font-family:inherit;text-decoration:none;display:inline-flex}.fsp-header-nav .fsp-icon{width:18px;height:18px}.fsp-header-nav button:hover,.fsp-header-nav a:hover{background:var(--color-surface-hover);color:var(--color-text)}.fsp-header-nav button[aria-current=true],.fsp-header-nav a[aria-current=true]{color:var(--color-primary-text);background:var(--color-primary-subtle);font-weight:var(--weight-semibold)}.fsp-header-actions{align-items:center;gap:var(--space-2);margin-inline-start:auto;display:flex}@media (width>=768px){.fsp-header-actions{margin-inline-start:0}}.fsp-icon-button{min-width:var(--target-min);min-height:var(--target-min);padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text-secondary);font-weight:var(--weight-bold);font-size:var(--text-xs);cursor:pointer;box-shadow:var(--shadow-xs);transition:background var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-out);place-items:center;display:grid}.fsp-icon-button:hover{background:var(--color-surface-hover);border-color:var(--color-border-strong);color:var(--color-text)}.fsp-icon-button:active{transform:scale(.95)}.fsp-icon-button svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.fsp-bottom-nav{z-index:var(--z-nav);left:50%;bottom:var(--space-3);gap:var(--space-1);width:calc(100% - var(--space-6));max-width:480px;padding:var(--space-1);background:color-mix(in srgb, var(--color-surface) 88%, transparent);border:1px solid var(--color-border);border-radius:var(--radius-full);box-shadow:var(--shadow-lg), var(--shadow-inset-top);-webkit-backdrop-filter:blur(16px)saturate(1.5);display:flex;position:fixed;transform:translate(-50%)}@media (width>=768px){.fsp-bottom-nav{display:none}}.fsp-bottom-nav button,.fsp-bottom-nav a{min-width:0;min-height:var(--target-min);padding:var(--space-1) var(--space-1);border-radius:var(--radius-full);color:var(--color-text-secondary);font-size:var(--text-xs);font-weight:var(--weight-semibold);justify-content:center;align-items:center;gap:var(--space-1);cursor:pointer;transition:background var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-out);background:0 0;border:0;flex-direction:column;flex:1;font-family:inherit;text-decoration:none;display:inline-flex}.fsp-bottom-nav button:active,.fsp-bottom-nav a:active{transform:scale(.96)}.fsp-bottom-nav .fsp-icon{width:20px;height:20px}.fsp-bottom-nav button>span,.fsp-bottom-nav a>span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}@media (width<=399.98px){.fsp-bottom-nav button,.fsp-bottom-nav a{padding-inline:0;font-size:.6875rem}}.fsp-bottom-nav button:hover,.fsp-bottom-nav a:hover{background:var(--color-surface-hover);color:var(--color-text)}.fsp-bottom-nav button[aria-current=true],.fsp-bottom-nav a[aria-current=true]{background:var(--nav-active-bg);color:var(--nav-active-text)}.fsp-footer{margin-top:var(--space-8);border-top:1px solid var(--color-border);color:var(--color-text-secondary);font-size:var(--text-sm);padding-block-start:var(--space-6)}.fsp-footer-grid{gap:var(--space-6);grid-template-columns:minmax(0,1.4fr) repeat(3,minmax(0,1fr));display:grid}@media (width<=767.98px){.fsp-footer-grid{gap:var(--space-5);grid-template-columns:1fr}}.fsp-footer-brand{gap:var(--space-2);align-content:start;justify-items:start;display:grid}.fsp-footer-logo{align-items:center;gap:var(--space-2);min-height:var(--target-min);color:var(--color-text);font-weight:var(--weight-bold);text-decoration:none;display:inline-flex}.fsp-footer-logo svg{width:24px;height:24px;color:var(--color-primary)}.fsp-footer-local{align-items:center;gap:var(--space-2);font-size:var(--text-xs);font-weight:var(--weight-semibold);display:inline-flex}.fsp-footer-local .fsp-icon{width:14px;height:14px}.fsp-footer-col{gap:var(--space-1);align-content:start;justify-items:start;display:grid}.fsp-footer-title{font-size:var(--text-xs);font-weight:var(--weight-extrabold);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--color-text-secondary);margin-block-end:var(--space-1)}.fsp-footer-col a{min-height:var(--target-min);color:var(--color-text-secondary);font-weight:var(--weight-medium);align-items:center;text-decoration:none;display:inline-flex}.fsp-footer-col a:hover{color:var(--color-text);text-decoration:underline}.fsp-footer-note{border-top:1px solid var(--color-border);font-size:var(--text-xs);margin-block-start:var(--space-6);padding-block-start:var(--space-3)}@media (width<=767.98px){.fsp-consent{bottom:calc(var(--target-min) + var(--space-6))}}.fsp-consent-art{border-radius:var(--radius-md);width:40px;height:40px;color:var(--color-primary-text);background:var(--color-primary-subtle);flex:none;align-self:flex-start;place-items:center;display:grid}.fsp-consent-title:focus{outline:none}.fsp-affiliate{align-items:baseline;gap:var(--space-2);flex-wrap:wrap;display:inline-flex}.fsp-affiliate-link{align-items:center;gap:var(--space-1);display:inline-flex}.fsp-affiliate-external{width:12px;height:12px;color:var(--color-text-secondary);fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.fsp-affiliate-badge{font-size:var(--text-xs);color:var(--color-text-secondary);border:1px solid var(--color-border);border-radius:var(--radius-full);padding:0 var(--space-2);white-space:nowrap}.fsp-affiliate-block{margin-top:var(--space-4)}.fsp-affiliate-section{margin-block-start:var(--space-8)}.fsp-affiliate-lead{margin-block:calc(-1 * var(--space-2)) var(--space-3);font-size:var(--text-sm);color:var(--color-text-secondary)}.fsp-affiliate-card{align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-xs), var(--shadow-inset-top);transition:border-color var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out);text-decoration:none;display:flex}@media (hover:hover){.fsp-affiliate-card:hover{border-color:var(--color-accent);box-shadow:var(--shadow-sm), var(--shadow-inset-top)}}.fsp-affiliate-card:focus-visible{outline:var(--focus-ring);outline-offset:2px;box-shadow:var(--shadow-xs), var(--focus-halo)}.fsp-affiliate-card-img{object-fit:contain;flex-shrink:0;width:120px;height:120px}.fsp-affiliate-card-body{align-items:flex-start;gap:var(--space-2);flex-direction:column;display:flex}.fsp-affiliate-card-label{font-weight:var(--weight-semibold)}.fsp-affiliate-card-note{font-size:var(--text-sm);color:var(--color-text-secondary);line-height:var(--leading-normal)}.fsp-affiliate-card-foot{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:inline-flex}.fsp-affiliate-card-cta{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-primary-text);background:var(--color-primary-subtle);border-radius:var(--radius-sm);padding:var(--space-1) var(--space-3)}.fsp-affiliate-grid{gap:var(--space-3);grid-template-columns:1fr 1fr;display:grid}@media (width<=767.98px){.fsp-affiliate-grid{grid-template-columns:1fr}.fsp-affiliate-card-img{width:96px;height:96px}}.fsp-affiliate-strip{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);min-height:var(--target-min);box-shadow:var(--shadow-xs);margin-block-end:var(--space-3);display:flex}.fsp-affiliate-strip-img{object-fit:contain;flex-shrink:0;width:48px;height:48px}.fsp-affiliate-strip-body{gap:var(--space-1);flex-direction:column;flex:1;min-width:0;display:flex}.fsp-affiliate-strip-label{font-weight:var(--weight-semibold);font-size:var(--text-sm)}.fsp-affiliate-strip-note{font-size:var(--text-xs);color:var(--color-text-secondary);line-height:var(--leading-normal)}.fsp-affiliate-strip-cta{min-height:var(--target-min);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-accent-subtle-text);white-space:nowrap;flex-shrink:0;align-items:center;display:inline-flex}@media (width<=639.98px){.fsp-affiliate-strip{flex-wrap:wrap}.fsp-affiliate-strip-cta{width:100%}}.fsp-home{padding-block-start:var(--space-6);padding-block-end:var(--space-5)}.fsp-hero{gap:var(--space-6);align-items:center;margin-block-end:var(--space-8);display:grid}@media (width>=768px){.fsp-hero{gap:var(--space-8);grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)}}.fsp-hero-copy{animation:var(--animate-slide-up);justify-items:start;display:grid}.fsp-home-heading{align-items:center;gap:var(--space-4);grid-template-columns:auto 1fr;margin-block-end:var(--space-4);display:grid}.fsp-home-heading h1{font-size:var(--text-display);letter-spacing:var(--tracking-display);line-height:var(--leading-tight)}.fsp-home-heading p{color:var(--color-text-secondary);line-height:var(--leading-normal);margin-block-start:var(--space-1)}.fsp-hero-lead{max-width:var(--container-prose);color:var(--color-text-secondary);font-size:var(--text-lg);line-height:var(--leading-normal)}.fsp-hero-chips{gap:var(--space-2);margin-block:var(--space-4);flex-wrap:wrap;list-style:none;display:flex}.fsp-hero-chips li{align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-full);background:var(--color-surface);color:var(--color-text-secondary);font-size:var(--text-xs);font-weight:var(--weight-semibold);box-shadow:var(--shadow-xs);display:inline-flex}.fsp-hero-chips .fsp-icon{width:14px;height:14px;color:var(--color-success)}.fsp-hero-art{isolation:isolate;animation:var(--animate-slide-up);justify-content:center;animation-delay:.1s;display:flex;position:relative}.fsp-hero-art:before{content:"";z-index:-1;border-radius:var(--radius-full);background:radial-gradient(50% 50% at 50% 50%, color-mix(in oklch, var(--color-accent) 16%, transparent), transparent 70%);filter:blur(28px);position:absolute;inset:8% -4%}.fsp-hero-art svg{width:min(100%,420px);height:auto;filter:drop-shadow(var(--shadow-md))}.fsp-logo-mark{width:56px;height:56px;color:var(--color-primary);background:var(--color-primary-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-inset-top), inset 0 0 0 1px color-mix(in oklch, var(--color-primary) 16%, transparent);place-items:center;display:grid}.fsp-logo-mark svg{width:var(--size-32);fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round}.fsp-hero-cta{gap:var(--space-3);flex-wrap:wrap;display:flex}.fsp-section-title{font-size:var(--text-lg);letter-spacing:var(--tracking-tight);margin-block-end:var(--space-4)}.fsp-feature-grid{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}@media (width>=640px){.fsp-feature-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.fsp-feature-card{min-height:118px;padding:var(--space-4);gap:0 var(--space-2);text-align:left;background:linear-gradient(180deg, color-mix(in oklch, var(--tone) 7%, var(--color-surface)), var(--color-surface) 55%);border:1px solid var(--color-border);border-radius:var(--radius-lg);cursor:pointer;box-shadow:var(--shadow-xs), var(--shadow-inset-top);animation:var(--animate-slide-up);transition:transform var(--duration-normal) var(--ease-out), box-shadow var(--duration-normal) var(--ease-out), border-color var(--duration-normal) var(--ease-out), background var(--duration-normal) var(--ease-out);grid-template-rows:1fr auto auto;grid-template-columns:1fr auto;display:grid}.fsp-feature-card:nth-child(2){animation-delay:40ms}.fsp-feature-card:nth-child(3){animation-delay:80ms}.fsp-feature-card:nth-child(4){animation-delay:.12s}.fsp-feature-card:nth-child(5){animation-delay:.16s}.fsp-feature-card:nth-child(6){animation-delay:.2s}@media (hover:hover){.fsp-feature-card:hover{border-color:color-mix(in srgb, var(--tone) 45%, var(--color-border));box-shadow:var(--shadow-md), var(--shadow-inset-top);transform:translateY(-2px)}.fsp-feature-card:hover .fsp-feature-arrow{color:var(--tone);transform:translate(3px)}}.fsp-feature-card:active{transform:scale(.98)}.fsp-feature-card:focus-visible{box-shadow:var(--shadow-xs), var(--focus-halo)}@media (width>=640px){.fsp-feature-card{min-height:130px}}.fsp-feature-icon{width:var(--target-min);height:var(--target-min);color:var(--tone);background:var(--tone-bg);border-radius:var(--radius-md);place-items:center;display:grid}.fsp-feature-icon svg,.fsp-strip-icon svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round}.fsp-feature-arrow{color:color-mix(in srgb, var(--tone) 55%, transparent);font-size:var(--text-xl);transition:transform var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out);align-self:start}.fsp-feature-card strong{font-size:var(--text-sm);font-weight:var(--weight-semibold);grid-column:1/-1}.fsp-feature-card small{margin-top:var(--space-1);color:var(--color-text-secondary);grid-column:1/-1}.fsp-tone-accent{--tone:var(--tile-accent-fg);--tone-bg:var(--tile-accent-bg)}.fsp-tone-primary{--tone:var(--tile-primary-fg);--tone-bg:var(--tile-primary-bg)}.fsp-tone-purple{--tone:var(--tile-purple-fg);--tone-bg:var(--tile-purple-bg)}.fsp-tone-green{--tone:var(--tile-green-fg);--tone-bg:var(--tile-green-bg)}.fsp-tone-teal{--tone:var(--tile-teal-fg);--tone-bg:var(--tile-teal-bg)}.fsp-home-strip{align-items:center;gap:var(--space-3);margin-top:var(--space-3);padding:var(--space-4);border-radius:var(--radius-lg);border:1px solid var(--color-border);box-shadow:var(--shadow-xs), var(--shadow-inset-top);grid-template-columns:auto 1fr auto;display:grid}.fsp-home-strip strong,.fsp-home-strip small{display:block}.fsp-home-strip small{color:var(--color-text-secondary);margin-top:var(--space-1)}.fsp-strip-icon{border-radius:var(--radius-md);place-items:center;width:40px;height:40px;display:grid}.fsp-strip-icon svg{width:22px}.fsp-streak{background:var(--color-warning-subtle);border-color:color-mix(in srgb, var(--color-warning) 25%, transparent)}.fsp-streak .fsp-strip-icon{color:var(--color-warning-text);background:color-mix(in srgb, var(--color-warning) 14%, transparent)}.fsp-referral{background:var(--color-primary-subtle);border-color:color-mix(in srgb, var(--color-primary) 20%, transparent)}.fsp-referral .fsp-strip-icon{color:var(--color-text-on-primary);background:var(--color-primary)}.fsp-store-badges{align-items:center;gap:var(--space-3);margin-top:var(--space-3);flex-wrap:wrap;display:flex}.fsp-play-store{min-height:var(--target-min);border-radius:var(--radius-sm);align-items:center;text-decoration:none;display:inline-flex}.fsp-play-store svg{width:auto;height:46px}@media (width<=639.98px){.fsp-home-strip{grid-template-columns:auto 1fr}.fsp-referral button{grid-column:2;justify-self:start}}.fsp-how{margin-block-start:var(--space-8)}.fsp-how-grid{gap:var(--space-3);counter-reset:fsp-how;margin:0;padding:0;list-style:none;display:grid}.fsp-how-grid li{gap:var(--space-1) var(--space-3);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-xs), var(--shadow-inset-top);counter-increment:fsp-how;grid-template-columns:auto 1fr;align-content:start;align-items:center;display:grid}.fsp-how-grid li:after{content:counter(fsp-how, decimal-leading-zero);color:var(--color-text-tertiary);font-size:var(--text-xs);font-weight:var(--weight-bold);letter-spacing:var(--tracking-wide);justify-self:end}.fsp-how-icon{border-radius:var(--radius-md);width:40px;height:40px;color:var(--color-primary-text);background:var(--color-primary-subtle);place-items:center;display:grid}.fsp-how-grid li strong,.fsp-how-grid li p{grid-column:1/-1}.fsp-how-grid li p{color:var(--color-text-secondary);font-size:var(--text-sm);margin:0}@media (width>=640px){.fsp-how-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.fsp-media{border-radius:var(--radius-md);background:var(--color-surface-sunken);display:block;position:relative;overflow:hidden}.fsp-media img{object-fit:cover;opacity:0;width:100%;height:auto;transition:opacity var(--duration-normal) var(--ease-out)}.fsp-media.is-loaded img{opacity:1}.fsp-media:not(.is-loaded):after{content:"";animation:var(--animate-shimmer);background:linear-gradient(105deg,#0000 35%,var(--lightningcss-light,oklch(100% 0 0/.55))var(--lightningcss-dark,oklch(100% 0 0/.07)) 50%,#0000 65%);position:absolute;inset:0}.fsp-media-scan.is-loaded:before{content:"";inset:var(--space-3);border-radius:var(--radius-sm);background:linear-gradient(var(--color-accent), var(--color-accent)) left top / 26px 3px, linear-gradient(var(--color-accent), var(--color-accent)) left top / 3px 26px, linear-gradient(var(--color-accent), var(--color-accent)) right top / 26px 3px, linear-gradient(var(--color-accent), var(--color-accent)) right top / 3px 26px, linear-gradient(var(--color-accent), var(--color-accent)) left bottom / 26px 3px, linear-gradient(var(--color-accent), var(--color-accent)) left bottom / 3px 26px, linear-gradient(var(--color-accent), var(--color-accent)) right bottom / 26px 3px, linear-gradient(var(--color-accent), var(--color-accent)) right bottom / 3px 26px;pointer-events:none;background-repeat:no-repeat;position:absolute}.fsp-media-scan.is-loaded:after{content:"";z-index:1;left:var(--space-4);right:var(--space-4);border-radius:var(--radius-full);background:var(--color-accent);height:3px;box-shadow:0 0 14px color-mix(in oklch, var(--color-accent) 70%, transparent);animation:var(--animate-sweep);pointer-events:none;position:absolute;top:12%}.fsp-hero-photo{border:1px solid var(--color-border);border-radius:var(--radius-lg);width:min(100%,420px);box-shadow:var(--shadow-md), var(--shadow-inset-top)}.fsp-usecases{margin-block-start:var(--space-8)}.fsp-usecases-grid{gap:var(--space-3);grid-template-columns:1fr;display:grid}@media (width>=560px){.fsp-usecases-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=1024px){.fsp-usecases-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.fsp-usecase{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-xs), var(--shadow-inset-top);animation:var(--animate-slide-up);overflow:hidden}.fsp-usecase .fsp-media,.fsp-usecase .fsp-media-fallback{border:0;border-radius:0}.fsp-usecase .fsp-media img{aspect-ratio:4/3;object-fit:cover}.fsp-usecase figcaption{padding:var(--space-3) var(--space-4);color:var(--color-text-secondary);font-size:var(--text-sm);font-weight:var(--weight-semibold)}.fsp-media-fallback{aspect-ratio:4/3;color:var(--color-accent-subtle-text);background:var(--color-accent-subtle);place-items:center;display:grid}.fsp-camera-idle .fsp-media{border:1px solid var(--color-border);width:172px}.fsp-camera-idle .fsp-media img{aspect-ratio:4/3}.fsp-history-empty .fsp-media{border:1px solid var(--color-border);width:200px}.fsp-history-empty .fsp-media img{aspect-ratio:4/3}.fsp-result-placeholder{justify-items:center;gap:var(--space-3);padding:var(--space-4);border:1px dashed var(--color-border-strong);border-radius:var(--radius-md);display:grid}.fsp-result-placeholder .fsp-media,.fsp-result-placeholder .fsp-media-fallback{border:1px solid var(--color-border);width:min(100%,220px)}.fsp-result-placeholder .fsp-media img,.fsp-result-placeholder .fsp-media-fallback{aspect-ratio:16/10}.fsp-result-placeholder p{font-size:var(--text-sm)}.fsp-panel{scroll-margin-top:calc(var(--header-height) + var(--space-4));background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6);margin-block:var(--space-5);box-shadow:var(--shadow-sm), var(--shadow-inset-top)}@media (width<=639.98px){.fsp-panel{padding:var(--space-4)}}.fsp-panel :is(h1,h2){margin:var(--space-1) 0 var(--space-3);font-size:var(--text-panel-title);letter-spacing:var(--tracking-tight)}.fsp-panel p{color:var(--color-text-secondary);line-height:var(--leading-normal)}.fsp-panel-heading{justify-content:space-between;align-items:flex-start;gap:var(--space-4);flex-wrap:wrap;margin-block-end:var(--space-group);display:flex}.fsp-eyebrow{color:var(--color-primary-text);font-size:var(--text-xs);font-weight:var(--weight-extrabold);letter-spacing:var(--tracking-wide);text-transform:uppercase}.fsp-local-badge{padding:var(--space-1) var(--space-3);border:1px solid color-mix(in oklch, var(--color-success) 28%, transparent);border-radius:var(--radius-full);background:var(--color-success-subtle);color:var(--color-success-text);font-size:var(--text-xs);font-weight:var(--weight-extrabold)}.fsp-btn-primary{justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--target-field);padding:var(--space-3) var(--space-6);border:1px solid color-mix(in oklch, var(--button-bg) 88%, black);border-radius:var(--radius-md);background:linear-gradient(180deg, color-mix(in oklch, var(--button-bg) 91%, white), var(--button-bg));color:var(--button-text);font-weight:var(--weight-bold);cursor:pointer;box-shadow:var(--shadow-sm), inset 0 1px 0 var(--lightningcss-light,oklch(100% 0 0/.18))var(--lightningcss-dark,oklch(100% 0 0/.12));transition:transform var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out), background var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out);display:inline-flex}.fsp-btn-primary:hover:not(:disabled){background:linear-gradient(180deg, color-mix(in oklch, var(--button-bg-hover) 91%, white), var(--button-bg-hover));border-color:color-mix(in oklch, var(--button-bg-hover) 88%, black);box-shadow:var(--shadow-md), inset 0 1px 0 var(--lightningcss-light,oklch(100% 0 0/.18))var(--lightningcss-dark,oklch(100% 0 0/.12));transform:translateY(-1px)}.fsp-btn-primary:active:not(:disabled){background:var(--button-bg-active);border-color:color-mix(in oklch, var(--button-bg-active) 88%, black);box-shadow:var(--shadow-xs);transform:scale(.98)}.fsp-btn-primary:disabled{opacity:.5;cursor:not-allowed}.fsp-btn-primary:focus-visible{box-shadow:var(--shadow-sm), var(--focus-halo)}.fsp-btn-secondary,.fsp-actions button,.fsp-result-field button,.fsp-entry-actions button,.fsp-entry-actions .fsp-open-link,.fsp-new-folder button,.fsp-history-footer>button,.fsp-consent-actions button,.fsp-open-link,.fsp-upload-button,.fsp-referral button,.fsp-play-badge{align-items:center;gap:var(--space-2);min-height:var(--target-min);padding:var(--space-2) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font:inherit;font-weight:var(--weight-semibold);cursor:pointer;box-shadow:var(--shadow-xs);transition:background var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out);text-decoration:none;display:inline-flex}.fsp-btn-secondary:active:not(:disabled),.fsp-actions button:active:not(:disabled),.fsp-result-field button:active:not(:disabled),.fsp-entry-actions button:active:not(:disabled),.fsp-entry-actions .fsp-open-link:active,.fsp-new-folder button:active:not(:disabled),.fsp-history-footer>button:active:not(:disabled),.fsp-consent-actions button:active:not(:disabled),.fsp-open-link:active,.fsp-upload-button:active,.fsp-referral button:active:not(:disabled),.fsp-play-badge:active{transform:scale(.98)}.fsp-btn-secondary:hover,.fsp-actions button:hover,.fsp-result-field button:hover,.fsp-entry-actions button:hover,.fsp-entry-actions .fsp-open-link:hover,.fsp-new-folder button:hover,.fsp-history-footer>button:hover,.fsp-consent-actions button:hover,.fsp-open-link:hover,.fsp-upload-button:hover,.fsp-referral button:hover,.fsp-play-badge:hover{background:var(--color-surface-hover);border-color:var(--color-border-strong)}.fsp-actions button:disabled,.fsp-new-folder button:disabled,.fsp-history-footer>button:disabled{opacity:.5;cursor:not-allowed}.fsp-actions{gap:var(--space-3);margin-top:var(--space-3);flex-wrap:wrap;display:flex}.fsp-upload-button{position:relative;overflow:hidden}.fsp-upload-button input[type=file]{opacity:0;width:1px;height:1px;position:absolute}.fsp-upload-button:focus-within{outline:var(--focus-ring);outline-offset:2px}.fsp-btn-danger{min-height:var(--target-min);padding:var(--space-2) var(--space-5);border:1px solid color-mix(in srgb, var(--color-danger) 50%, transparent);border-radius:var(--radius-sm);background:var(--color-danger-subtle);color:var(--color-danger-text);font-weight:var(--weight-bold);cursor:pointer;transition:background var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-out)}.fsp-btn-danger:active{transform:scale(.98)}.fsp-btn-danger:hover{background:color-mix(in srgb, var(--color-danger) 18%, transparent)}.fsp-segments{gap:var(--space-2);flex-wrap:wrap;display:flex}@media (width<=639.98px){.fsp-segments{scroll-snap-type:x proximity;scrollbar-width:thin;flex-wrap:nowrap;padding-block-end:var(--space-1);overflow-x:auto}.fsp-segments button{scroll-snap-align:start;flex:none}}.fsp-segments button{align-items:center;gap:var(--space-2);min-height:var(--target-min);padding:var(--space-2) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-full);background:var(--color-surface);color:var(--color-text-secondary);font-weight:var(--weight-medium);cursor:pointer;transition:background var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-out);display:inline-flex}.fsp-segments button .fsp-icon{width:16px;height:16px}.fsp-segments button:hover{background:var(--color-surface-hover);color:var(--color-text)}.fsp-segments button:active{transform:scale(.97)}.fsp-segments button.is-active{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-text-on-primary);font-weight:var(--weight-semibold)}.fsp-switch{align-items:center;gap:var(--space-3);min-height:var(--target-min);padding:var(--space-1) var(--space-2);border-radius:var(--radius-md);color:var(--color-text);font:inherit;font-weight:var(--weight-normal);cursor:pointer;background:0 0;border:0;display:inline-flex}.fsp-switch-track{border-radius:var(--radius-full);background:var(--color-border-strong);width:46px;height:26px;transition:background var(--duration-fast) var(--ease-out);flex:none;position:relative}.fsp-switch-thumb{top:3px;border-radius:var(--radius-full);background:var(--color-surface);width:20px;height:20px;box-shadow:var(--shadow-sm);transition:transform var(--duration-fast) var(--ease-spring), background var(--duration-fast) var(--ease-out);position:absolute;inset-inline-start:3px}.fsp-switch[aria-checked=true] .fsp-switch-track{background:var(--color-primary)}.fsp-switch[aria-checked=true] .fsp-switch-thumb{background:var(--color-accent);transform:translate(20px)}.fsp-field{gap:var(--space-field-inner);margin-block:var(--space-field);font-size:var(--text-sm);font-weight:var(--weight-semibold);display:grid}.fsp-field :where(input,select,textarea){min-height:var(--target-field);padding:var(--space-3) var(--space-4);border:1px solid var(--input-border);border-radius:var(--radius-md);background:var(--input-bg);color:var(--input-text);font:inherit;font-weight:var(--weight-normal);transition:border-color var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out)}.fsp-field :where(input,select,textarea):focus-visible{outline:var(--focus-ring);outline-offset:1px;border-color:var(--input-border-focus);box-shadow:var(--focus-halo)}.fsp-field textarea{resize:vertical;min-height:120px}.fsp-field :where(input,select,textarea)[aria-invalid=true]{border-color:var(--color-danger)}.fsp-field :where(input,select,textarea)[aria-invalid=true]:focus-visible{outline-color:var(--color-danger)}.fsp-form-grid{gap:var(--space-field);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.fsp-form-grid .fsp-field{margin-block:0}.fsp-form-stack{gap:var(--space-group);display:grid}.fsp-panel .fsp-form-stack>:is(.fsp-field,.fsp-form-grid,.fsp-status,.fsp-hint,.fsp-actions,.fsp-result,.fsp-disclosure,.fsp-privacy-note){margin-block:0}@media (width<=639.98px){.fsp-form-grid{grid-template-columns:1fr}}.fsp-panel p.fsp-status,p.fsp-status{padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);border-inline-start:3px solid var(--color-primary);background:var(--color-primary-subtle);color:var(--color-primary-subtle-text);animation:var(--animate-slide-up);margin-block-start:var(--space-3)}.fsp-status .fsp-icon{width:16px;height:16px;vertical-align:-.15em;margin-inline-end:var(--space-2);display:inline-block}.fsp-status-error{border-inline-start-color:var(--color-danger);background:var(--color-danger-subtle);color:var(--color-danger-text)}.fsp-status-success{border-inline-start-color:var(--color-success);background:var(--color-success-subtle);color:var(--color-success-text)}.fsp-spinner{border:2px solid;border-radius:var(--radius-full);border-inline-start-color:#0000;width:16px;height:16px;animation:.8s linear infinite fsp-spin}.fsp-privacy-note{align-items:center;gap:var(--space-2);color:var(--color-text-secondary);font-size:var(--text-xs);font-weight:var(--weight-semibold);margin-block-start:var(--space-3);display:flex}#home,#history{scroll-margin-top:calc(var(--header-height) + var(--space-4))}#home:focus,#history:focus,#main:focus{box-shadow:none;outline:none}.fsp-panel:focus{box-shadow:var(--shadow-sm), var(--shadow-inset-top);outline:none}.fsp-app main>.fsp-panel{max-width:var(--container-panel);margin-inline:auto}.fsp-app main>:is(.fsp-panel,#home,#history){animation:var(--animate-slide-up)}.fsp-camera-frame{min-height:260px;margin-block:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface-sunken);color:var(--color-text-secondary);place-items:center;display:grid;position:relative;overflow:hidden}.fsp-camera-frame.is-active:after{content:"";aspect-ratio:1;border-radius:var(--radius-lg);background:linear-gradient(var(--color-accent), var(--color-accent)) left top / 28px 3px, linear-gradient(var(--color-accent), var(--color-accent)) left top / 3px 28px, linear-gradient(var(--color-accent), var(--color-accent)) right top / 28px 3px, linear-gradient(var(--color-accent), var(--color-accent)) right top / 3px 28px, linear-gradient(var(--color-accent), var(--color-accent)) left bottom / 28px 3px, linear-gradient(var(--color-accent), var(--color-accent)) left bottom / 3px 28px, linear-gradient(var(--color-accent), var(--color-accent)) right bottom / 28px 3px, linear-gradient(var(--color-accent), var(--color-accent)) right bottom / 3px 28px;pointer-events:none;background-repeat:no-repeat;width:min(62%,280px);position:absolute;box-shadow:0 0 0 999px #0000001f}.fsp-camera-frame.is-starting:before{content:"";z-index:2;animation:var(--animate-shimmer);pointer-events:none;background:linear-gradient(105deg,#0000 35%,var(--lightningcss-light,oklch(100% 0 0/.45))var(--lightningcss-dark,oklch(100% 0 0/.06)) 50%,#0000 65%);position:absolute;inset:0}.fsp-camera-frame.is-success{animation:fsp-frame-capture .9s var(--ease-out)}.fsp-camera-frame.is-active:before{content:"";z-index:1;border-radius:var(--radius-full);background:var(--color-accent);height:3px;box-shadow:0 0 14px color-mix(in oklch, var(--color-accent) 70%, transparent);animation:var(--animate-sweep);pointer-events:none;position:absolute;top:12%;left:21%;right:21%}.fsp-camera-frame video{object-fit:cover;width:100%;max-height:440px}.fsp-camera-idle{z-index:1;place-content:center;justify-items:center;gap:var(--space-3);padding:var(--space-4);text-align:center;font-size:var(--text-sm);display:grid;position:absolute;inset:0}.fsp-camera-idle svg{width:120px;height:auto}.fsp-illo-scanline{animation:fsp-scanline 2.4s var(--ease-out) infinite}#scanner{position:relative}.fsp-drop-overlay{inset:var(--space-2);z-index:var(--z-overlay);border:2px dashed var(--color-accent);border-radius:var(--radius-md);background:var(--color-accent-subtle);color:var(--color-accent-subtle-text);font-weight:var(--weight-bold);pointer-events:none;animation:var(--animate-pop);place-items:center;display:grid;position:absolute}.fsp-camera-select{max-width:320px}.fsp-scan-result{margin-top:var(--space-3);padding:var(--space-3);overflow-wrap:anywhere;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-bg-subtle);font-family:var(--font-mono);font-size:var(--text-sm);display:block;box-shadow:inset 0 1px 3px var(--lightningcss-light,oklch(20.8% .04 265.8/.07))var(--lightningcss-dark,oklch(0% 0 0/.35))}.fsp-scan-result-block{animation:var(--animate-slide-up)}.fsp-scan-result-block .fsp-actions{margin-top:var(--space-3)}.fsp-result-type{margin-top:var(--space-3);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);background:var(--color-accent-subtle);color:var(--color-accent-subtle-text);font-size:var(--text-xs);font-weight:var(--weight-extrabold);letter-spacing:var(--tracking-wide);text-transform:uppercase;display:inline-block}.fsp-result-fields{margin:var(--space-3) 0 0}.fsp-result-field{align-items:center;gap:var(--space-3);padding:var(--space-1) 0;grid-template-columns:minmax(90px,max-content) 1fr auto minmax(3.5rem,auto);display:grid}.fsp-result-field+.fsp-result-field{border-top:1px solid var(--color-border)}.fsp-result-label{font-size:var(--text-xs);font-weight:var(--weight-bold);color:var(--color-text-secondary)}.fsp-result-value{overflow-wrap:anywhere;font-family:var(--font-mono);font-size:var(--text-sm)}.fsp-copy-status{font-size:var(--text-xs);font-weight:var(--weight-bold);color:var(--color-success-text)}.fsp-result-raw{margin-top:var(--space-3)}.fsp-result-raw summary{min-height:var(--target-min);font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-text-secondary);cursor:pointer;align-items:center;display:flex}.fsp-result-raw .fsp-scan-result{margin-top:var(--space-1)}@media (width<=479.98px){.fsp-result-field{grid-template-columns:1fr auto;grid-template-areas:"label copy""value status"}.fsp-result-label{grid-area:label}.fsp-result-value{grid-area:value}.fsp-result-field button{grid-area:copy}.fsp-result-field .fsp-copy-status{grid-area:status;align-self:center}}.fsp-disclosure{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-xs), var(--shadow-inset-top)}.fsp-disclosure>summary{align-items:center;gap:var(--space-2);min-height:var(--target-field);padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:var(--text-sm);font-weight:var(--weight-semibold);cursor:pointer;transition:background var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out);list-style:none;display:flex}.fsp-disclosure>summary::-webkit-details-marker{display:none}.fsp-disclosure>summary:hover{background:var(--color-surface-hover);color:var(--color-text)}.fsp-disclosure>summary .fsp-icon{width:16px;height:16px;transition:transform var(--duration-fast) var(--ease-out);margin-inline-start:auto}.fsp-disclosure[open]>summary .fsp-icon{transform:rotate(180deg)}.fsp-disclosure[open]>.fsp-customize{animation:var(--animate-slide-up)}.fsp-customize{gap:var(--space-field);padding:0 var(--space-4) var(--space-4);flex-wrap:wrap;align-items:end;display:flex}.fsp-customize .fsp-field{flex:130px;min-width:0;margin-block:0}.fsp-customize input[type=color]{width:100%;min-height:var(--target-min);padding:var(--space-1);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);cursor:pointer}.fsp-customize input[type=file]{width:100%;min-width:0;max-width:100%}.fsp-customize input[type=file]::file-selector-button{min-height:36px;padding:var(--space-1) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-hover);color:var(--color-text);font:inherit;cursor:pointer;margin-inline-end:var(--space-2)}.fsp-check{align-items:center;gap:var(--space-2);min-height:var(--target-min);font-size:var(--text-sm);font-weight:var(--weight-semibold);cursor:pointer;align-self:end;display:inline-flex}.fsp-check input[type=checkbox]{width:20px;height:20px;accent-color:var(--color-primary);cursor:pointer;margin:0}.fsp-check input[type=checkbox]:focus-visible{outline:var(--focus-ring);outline-offset:2px}.fsp-result{margin-top:var(--space-5);gap:var(--space-3);animation:var(--animate-slide-up);justify-items:start;display:grid}.fsp-result img{border-radius:var(--radius-md);border:1px solid var(--color-border);max-width:100%}.fsp-hint{color:var(--color-text-secondary);font-size:var(--text-sm);margin-block-start:var(--space-3)}.fsp-history-toolbar{align-items:end;gap:var(--space-2) var(--space-5);margin-top:var(--space-1);flex-wrap:wrap;display:flex}.fsp-history-toolbar .fsp-field{flex:1;min-width:180px;margin:0}.fsp-history-toolbar .fsp-segments{margin-block-end:var(--space-2)}.fsp-history{gap:var(--space-2);margin-top:var(--space-field);list-style:none;display:grid}.fsp-history-groups{gap:var(--space-4);margin-top:var(--space-field);display:grid}.fsp-history-day h3{margin:0 0 var(--space-2);color:var(--color-text-tertiary);font-size:var(--text-xs);font-weight:var(--weight-bold);letter-spacing:var(--tracking-wide);text-transform:uppercase}.fsp-history-day .fsp-history{margin-top:0}.fsp-history-export{gap:var(--space-2);flex-wrap:wrap;display:inline-flex}.fsp-history li{gap:var(--space-2);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-xs), var(--shadow-inset-top);transition:border-color var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out);flex-wrap:wrap;align-items:center;display:flex}.fsp-history li:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-sm), var(--shadow-inset-top)}.fsp-history li code{overflow-wrap:anywhere;min-width:160px;font-family:var(--font-mono);font-size:var(--text-sm);flex:1}.fsp-entry-meta{color:var(--color-text-tertiary);font-size:var(--text-xs);flex-basis:100%}.fsp-history li select{min-height:var(--target-min);padding:var(--space-2) var(--space-3);border:1px solid var(--input-border);border-radius:var(--radius-sm);background:var(--input-bg);color:var(--input-text);font:inherit;font-size:var(--text-sm)}.fsp-kind{min-width:76px;color:var(--color-primary-text);font-size:var(--text-xs);font-weight:var(--weight-bold);text-transform:uppercase;letter-spacing:var(--tracking-wide)}.fsp-entry-actions{gap:var(--space-2);flex-wrap:wrap;display:inline-flex}.fsp-entry-actions button,.fsp-entry-actions .fsp-open-link{font-size:var(--text-sm)}.fsp-entry-delete:hover,.fsp-entry-delete:focus-visible{color:var(--color-danger-text)}.fsp-entry-preview{width:160px;height:auto;margin-top:var(--space-2);border-radius:var(--radius-sm);border:1px solid var(--color-border);flex:none}.fsp-scan-code{width:176px;height:auto;margin-top:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);display:block}.fsp-history-empty{justify-items:center;gap:var(--space-3);margin-top:var(--space-field);padding:var(--space-5) var(--space-4) var(--space-6);text-align:center;color:var(--color-text-secondary);display:grid}.fsp-history-empty svg{width:120px;height:auto}.fsp-badge-pop{animation:var(--animate-pop)}.fsp-history-footer{justify-content:space-between;align-items:end;gap:var(--space-3);margin-top:var(--space-group);padding-top:var(--space-group);border-top:1px solid var(--color-border);flex-wrap:wrap;display:flex}.fsp-new-folder{align-items:end;gap:var(--space-2);flex-wrap:wrap;display:flex}.fsp-new-folder .fsp-field{margin:0}.fsp-settings-group{gap:var(--space-4);display:grid}.fsp-settings-card{padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-raised);box-shadow:var(--shadow-xs), var(--shadow-inset-top)}.fsp-card-title{font-size:var(--text-base);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-tight);margin-block-end:var(--space-3)}.fsp-settings-card .fsp-settings-danger{border:0;margin-top:0;padding:0}.fsp-settings-card .fsp-settings-danger strong{display:block}.fsp-settings-card .fsp-status{margin-block-start:var(--space-3)}.fsp-settings-row{gap:var(--space-field);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.fsp-settings-row .fsp-field{margin-block:0}@media (width<=639.98px){.fsp-settings-row{grid-template-columns:1fr}}.fsp-settings-note{margin:var(--space-2) 0 0;color:var(--color-text-tertiary);font-size:var(--text-sm)}.fsp-settings-danger{justify-content:space-between;align-items:center;gap:var(--space-4);margin-top:var(--space-group);padding:var(--space-4);border:1px solid color-mix(in srgb, var(--color-danger) 30%, transparent);border-radius:var(--radius-md);flex-wrap:wrap;display:flex}.fsp-settings-danger p{margin-top:var(--space-1)}.fsp-result-payload{display:none}@media print{.fsp-skip-link,.fsp-header,.fsp-bottom-nav,.fsp-footer,.fsp-ad-slot,.fsp-consent{display:none}.fsp-app{max-width:none;padding:0}.fsp-panel{max-width:none;box-shadow:none;border:0;border-radius:0;margin:0;padding:0}#generator .fsp-panel-heading,#generator .fsp-affiliate-block,#generator .fsp-form-stack>:not(.fsp-result){display:none}.fsp-result{justify-items:center;margin-top:0}.fsp-result .fsp-actions{display:none}.fsp-result img{border-color:var(--color-border-strong);width:min(90mm,100%);height:auto}.fsp-result-payload{max-width:100%;font-family:var(--font-mono);font-size:var(--text-sm);color:var(--color-text-secondary);overflow-wrap:anywhere;text-align:center;display:block}}
