.fp-campaign-banner{background:color-mix(in srgb,var(--warn) 14%,var(--card-bg));border-bottom:var(--border-subtle);color:var(--fg);text-align:center;padding:8px 16px;font-size:.9rem;font-weight:600}.fp-campaign-banner a{color:var(--fg);text-decoration:underline;margin-left:8px}.fp-container{width:min(var(--site-content-max),calc(100% - var(--site-content-gutter)));margin-inline:auto}.fp-hero{padding:var(--section-pad-y)0;text-align:center;background:radial-gradient(circle at 50% 0%,var(--glow-accent) 0%,transparent 65%)}.fp-hero-badge{display:inline-block;background:color-mix(in srgb,var(--accent) 12%,var(--card-bg));color:var(--accent);border:var(--border-width)solid color-mix(in srgb,var(--accent) 40%,var(--line));font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;padding:4px 14px;border-radius:var(--radius-badge);margin-bottom:20px}.fp-hero-title{font-size:clamp(2rem,5vw,3.4rem);font-weight:900;line-height:1.15;margin:0 0 16px;color:var(--fg);letter-spacing:-.02em}.fp-hero-headline{font-size:clamp(1.2rem,3vw,1.8rem);font-weight:700;color:var(--muted);margin:0 0 16px}.fp-hero-highlight{color:var(--accent);text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--accent) 40%,transparent);text-underline-offset:6px}.fp-hero-tagline{max-width:680px;margin:0 auto 32px;font-size:1.05rem;line-height:1.6;color:var(--muted)}.fp-hero-actions{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}.fp-btn-primary{background:var(--accent);color:var(--bg);font-size:1rem;font-weight:700;padding:13px 32px;border-radius:var(--radius-control);text-decoration:none;transition:background .2s,transform .15s;border:none;cursor:pointer}.fp-btn-primary:hover{filter:brightness(1.1);transform:translateY(-1px)}.fp-btn-secondary{background:var(--card-bg);color:var(--fg);font-size:1rem;font-weight:600;padding:13px 28px;border-radius:var(--radius-control);text-decoration:none;transition:background .2s;border:var(--border-subtle)}.fp-btn-secondary:hover{background:var(--panel-bg)}.fp-shell a:focus-visible,.fp-rating-widget button:focus-visible{outline:var(--border-width-thick)solid var(--accent);outline-offset:var(--border-width-thick)}.fp-shelf{padding:var(--section-pad-y)0 var(--space-xl)}.fp-shelf-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:24px}.fp-shelf-title{font-size:1.6rem;font-weight:800;color:var(--fg);margin:0;letter-spacing:-.01em}.fp-ranked-grid{width:100%;max-width:none;margin-inline:0;padding-top:0}.fp-features-section{padding:var(--section-pad-y)0;border-top:var(--border-subtle);border-bottom:var(--border-subtle);margin:40px 0}.fp-features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:28px}.fp-feature-card{background:var(--card-bg);padding:24px;border-radius:var(--radius-control);border:var(--border-subtle)}.fp-feature-title{font-size:1.15rem;font-weight:700;color:var(--fg);margin:0 0 10px}.fp-feature-desc{font-size:.95rem;line-height:1.55;color:var(--muted);margin:0}.fp-reviews-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}.fp-review-card{background:var(--card-bg);border:var(--border-subtle);border-radius:var(--radius-control);padding:24px;display:flex;flex-direction:column;justify-content:space-between}.fp-review-stars{color:var(--warn);font-size:1.25rem;letter-spacing:2px;margin-bottom:12px}.fp-review-quote{font-size:1.05rem;line-height:1.5;font-style:italic;color:var(--fg);margin:0 0 16px;flex:1}.fp-review-author{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:12px}.fp-review-creator-name{font-weight:700;font-size:.95rem;color:var(--fg)}.fp-review-creator-handle{font-size:.85rem;color:var(--muted)}.fp-review-link{color:var(--accent);text-decoration:none;font-size:.85rem;font-weight:600}.fp-review-link:hover{text-decoration:underline}.fp-rating-widget{background:var(--card-bg);border:var(--border-subtle);border-radius:var(--radius-card);padding:32px 24px;text-align:center;margin:48px auto;max-width:600px}.fp-rating-title{font-size:1.35rem;font-weight:800;margin:0 0 8px;color:var(--fg)}.fp-rating-subtitle{font-size:.95rem;color:var(--muted);margin:0 0 20px}.fp-stars-row{display:flex;justify-content:center;gap:8px;margin-bottom:16px}.fp-star-btn{background:0 0;border:none;font-size:2.2rem;cursor:pointer;color:var(--muted);transition:color .15s,transform .1s;padding:4px;line-height:1}.fp-star-btn img{display:block;width:1em;height:1em;object-fit:contain}.fp-star-btn:hover,.fp-star-btn.is-active{color:var(--warn);transform:scale(1.15)}.fp-star-btn:disabled{cursor:default;transform:none}.fp-rating-summary{font-size:.95rem;color:var(--muted)}.fp-rating-thankyou{color:var(--ok);font-weight:600;margin-top:8px}.fp-rating-message a{color:inherit}.fp-rating-clear{align-self:center;border:1px solid var(--line);border-radius:999px;background:0 0;color:var(--fg);cursor:pointer;padding:6px 12px}.fp-rating-clear[hidden]{display:none}.fp-rating-clear:disabled{cursor:default;opacity:.6}.fp-editorial{padding:16px 0 32px}.fp-editorial-card{background:var(--card-bg);border:var(--border-subtle);border-radius:var(--radius-card);padding:32px 36px;box-shadow:var(--shadow-card)}.fp-markdown-body{color:var(--muted);line-height:1.7;font-size:1.05rem}.fp-markdown-body h1,.fp-markdown-body h2,.fp-markdown-body h3{color:var(--fg);margin-top:20px;margin-bottom:12px}.fp-markdown-body h1{font-size:1.8rem;border-bottom:var(--border-width-thick)solid var(--accent);padding-bottom:8px}.fp-markdown-body h2{font-size:1.35rem}.fp-markdown-body h3{font-size:1.15rem;color:var(--warn)}.fp-markdown-body ul,.fp-markdown-body ol{padding-left:24px;margin:16px 0}.fp-markdown-body li{margin-bottom:8px}.fp-markdown-body strong{color:var(--fg)}.fp-markdown-body a{color:var(--accent);text-decoration:underline}.article-wrap,.blog-wrap{width:min(var(--site-content-max),calc(100% - var(--site-content-gutter)));margin:var(--section-margin)auto 80px;line-height:var(--line-height-loose)}.article-wrap{max-width:800px}.blog-wrap{max-width:900px}.fp-article-back,.fp-blog-link{color:var(--accent);text-decoration:none;font-weight:var(--weight-link)}.fp-article-back:hover,.fp-blog-link:hover,.fp-blog-post-title a:hover{text-decoration:underline}.fp-article-back:focus-visible,.fp-blog-link:focus-visible,.fp-blog-post-title a:focus-visible{outline:var(--border-width-thick)solid var(--accent);outline-offset:var(--border-width-thick)}.fp-article-title,.fp-blog-title{color:var(--fg);font-size:var(--font-size-hero);font-weight:var(--weight-title);line-height:var(--line-height-tight);letter-spacing:var(--tracking-title)}.fp-article-title{margin:var(--space-lg)0 var(--space-md)}.fp-blog-title{margin:0 0 var(--gap-row)}.article-meta,.fp-blog-meta{color:var(--muted);font-size:var(--font-size-label)}.article-meta{margin-bottom:var(--space-xl)}.article-cover{display:block;width:100%;height:auto;max-height:480px;object-fit:cover;border-radius:var(--radius-control);margin-bottom:var(--space-2xl)}@media(orientation:portrait){.article-cover{max-height:none}}.article-body{font-size:var(--font-size-subhead)}.article-body h2{color:var(--fg);margin-top:var(--space-3xl)}.article-body p{margin-bottom:var(--space-lg)}.fp-article-rating{margin-top:60px}.fp-blog-intro{color:var(--muted);font-size:var(--font-size-subhead);margin:0 0 var(--section-margin)}.fp-blog-post{margin-bottom:var(--space-xl)}.fp-blog-post-title{font-size:var(--font-size-subhead);margin:0 0 var(--gap-inline)}.fp-blog-post-title a{color:var(--fg);text-decoration:none}.fp-blog-meta{margin-bottom:var(--gap-row)}.fp-blog-excerpt{color:var(--muted);line-height:var(--line-height-loose);margin:0 0 var(--space-base)}