/* /free-plans page styles. Scoped to .fp-*; uses existing tokens from style.css/redesign.css. */
/* 1. Short-answer list -> fact cards */
.prose ul.fp-cards{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,17rem),1fr));gap:.9rem;margin:1.2rem 0 2rem}
.prose ul.fp-cards>li{margin:0;padding:1rem 1.1rem 1.1rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow);font-size:.95rem;line-height:1.55;color:var(--ink-2)}
.prose ul.fp-cards>li>strong{display:block;font-size:1.1rem;color:var(--ink);letter-spacing:-.01em}
.prose ul.fp-cards a{display:inline-flex;align-items:center;min-height:44px}
.fp-badges{display:flex;flex-wrap:wrap;gap:.35rem;margin:.45rem 0 .6rem}
.fp-chip{font:500 .74rem/1 "Geist",ui-sans-serif,system-ui,sans-serif;padding:.32rem .55rem;border-radius:var(--radius-sm);border:1px solid var(--line-2);color:var(--ink-2);background:var(--bg)}
.fp-chip--pos{color:var(--email);border-color:color-mix(in srgb,var(--email) 35%,transparent);background:color-mix(in srgb,var(--email) 8%,var(--surface))}
.fp-chip--neg{color:var(--red);border-color:color-mix(in srgb,var(--red) 35%,transparent);background:color-mix(in srgb,var(--red) 7%,var(--surface))}
.fp-chip--neu{color:var(--accent-ink);border-color:color-mix(in srgb,var(--accent) 30%,transparent);background:var(--accent-wash)}
/* 2. Calculator */
.fp-calc{margin:2.2rem 0;padding:1.3rem 1.3rem 1rem;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow)}
.fp-calc h2{margin-top:0}
.fp-calc__ctl{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.4rem 1rem;margin:1rem 0 .4rem}
.fp-calc__ctl label{font-weight:600}
.fp-calc output{font:600 1.35rem/1 Geist,ui-sans-serif,system-ui,sans-serif;font-variant-numeric:tabular-nums;min-width:5.5ch;text-align:right;color:var(--ink)}
.fp-calc input[type=range]{width:100%;height:44px;margin:0;accent-color:var(--accent);cursor:pointer;background:transparent}
.fp-calc input[type=range]:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:var(--radius-sm)}
.fp-ticks{grid-column:2;display:flex;justify-content:space-between;font:500 .75rem Geist,ui-sans-serif,system-ui,sans-serif;font-variant-numeric:tabular-nums;color:var(--muted);margin-top:-.3rem}
.fp-costs{list-style:none;padding:0;margin:1rem 0 .6rem;display:grid;gap:.15rem}
.fp-costs li{display:grid;grid-template-columns:7.5rem 1fr 4.5rem;grid-template-areas:"t b v" ". n n";align-items:center;gap:.1rem .8rem;padding:.55rem 0;border-bottom:1px solid var(--line);margin:0}
.fp-tool{grid-area:t;font-weight:600;color:var(--ink)}
.fp-bar{grid-area:b;height:10px;border-radius:999px;background:var(--bg);overflow:hidden}
.fp-bar i{display:block;height:100%;width:calc(var(--w,0)*100%);background:var(--accent);border-radius:inherit;transition:width .35s var(--ease)}
.fp-val{grid-area:v;text-align:right;font:600 1rem Geist,ui-sans-serif,system-ui,sans-serif;font-variant-numeric:tabular-nums;color:var(--ink)}
.fp-note{grid-area:n;font-size:.8rem;color:var(--muted)}
.fp-costs li.is-free .fp-val{color:var(--email)}
.fp-costs li.is-na .fp-val{color:var(--muted)}
/* 3. Chart */
.fp-chart{margin:1.2rem 0 .4rem}
.fp-chart svg{width:100%;height:auto;display:block;font:500 12px Geist,ui-sans-serif,system-ui,sans-serif;font-variant-numeric:tabular-nums}
.fp-chart text{fill:var(--muted)}
.fp-chart .lbl{font-weight:600;font-size:12.5px}
.fp-chart .grid{stroke:var(--line);stroke-width:1}
.fp-chart polyline{fill:none;stroke-width:2.5;stroke-linejoin:round;stroke-linecap:round}
.fp-chart figcaption{font-size:.8rem;color:var(--muted);margin-top:.4rem}
/* 4. Changelog */
.fp-log{margin:1rem 0 1.6rem;padding:.9rem 1.1rem;border-left:3px solid var(--accent);background:var(--accent-wash);border-radius:0 var(--radius-lg) var(--radius-lg) 0}
.fp-log h3{margin:0 0 .4rem;font-size:1rem}
.fp-log ul{list-style:none;padding:0;margin:0;display:grid;gap:.25rem}
.fp-log li{margin:0;font-size:.88rem;color:var(--ink-2)}
.fp-log time{font:600 .8rem Geist,ui-sans-serif,system-ui,sans-serif;font-variant-numeric:tabular-nums;color:var(--ink);margin-right:.5rem}
/* 5. Table polish (from free-plans-polish.md, scoped to the free-limits table) */
.tablewrap[aria-label="Free plan limits table"] .fp-table caption{caption-side:top;text-align:left;font-weight:600;padding-bottom:.6rem}
.fp-table tbody th{position:sticky;left:0;background:var(--surface);z-index:1;box-shadow:1px 0 0 var(--line)}
.fp-table td .chk{font-size:.74rem}
.fp-table .m-links a{min-height:44px;display:flex;align-items:center}
@media (max-width:640px){
  .fp-calc{padding:1rem .9rem .8rem;margin-inline:-.25rem}
  .fp-calc__ctl{grid-template-columns:1fr auto}.fp-calc__ctl input{grid-column:1/-1;grid-row:2}.fp-ticks{grid-column:1/-1}
  .fp-costs li{grid-template-columns:6.2rem 1fr 4rem;gap:.1rem .6rem}
  .fp-chart .lbl{font-size:15px}.fp-chart svg{font-size:15px}
  .fp-table tbody th{position:static;box-shadow:none}
  .tablewrap .fp-table tr{display:grid;grid-template-columns:1fr 1fr;gap:.1rem .8rem}
  .tablewrap .fp-table tbody th,.tablewrap .fp-table td.m-links{grid-column:1/-1}
  .tablewrap .fp-table td[data-label="Limits and fees"]{grid-column:1/-1}
  .tablewrap .fp-table .m-best{display:none}
  .tablewrap .fp-table td.m-links::before{display:none}
  .tablewrap .fp-table td.m-links{display:flex;flex-wrap:wrap;gap:0 1rem}
}
@media (prefers-reduced-motion:reduce){.fp-bar i{transition:none}}
/* 6. Tap targets ≥44px for TOC + jump link (inline prose links are exempt, WCAG 2.5.8) */
.toc li a,.toc-m li a{display:flex;align-items:center;min-height:44px}
.fp-jump{display:inline-flex;align-items:center;min-height:44px}
.fp-legend{list-style:none;padding:0;margin:.5rem 0 0;display:none;flex-wrap:wrap;gap:.3rem .9rem;font-size:.8rem;color:var(--ink-2)}
.fp-legend li{margin:0;display:flex;align-items:center;gap:.35rem}
@media (max-width:640px){.fp-chart .lbl{display:none}.fp-chart svg{font-size:22px}.fp-legend{display:flex}.fp-chart circle{r:6px}.fp-chart .pt:not(circle){transform:scale(1.5)}.fp-chart .pt.is-on{transform:scale(2.2)}.fp-chart polyline{stroke-width:4}}
/* 7. Hero stat panel */
.a-hero--auto:has(.fp-hero-stat){display:grid;grid-template-columns:minmax(0,1fr) minmax(16rem,22rem);gap:2.5rem;align-items:start}
.fp-hero-stat{margin-top:3.2rem;padding:1.2rem 1.3rem;background:var(--surface);border:1px solid var(--line);border-top:3px solid var(--email);border-radius:var(--radius-lg);box-shadow:var(--shadow)}
.fp-hero-stat__h{margin:0 0 .6rem;font-weight:600;color:var(--ink)}
.fp-hero-stat ul{list-style:none;margin:0;padding:0;display:grid;gap:.1rem}
.fp-hero-stat li{display:flex;align-items:baseline;gap:.7rem;padding:.5rem 0;border-bottom:1px solid var(--line);margin:0}
.fp-hero-stat b{font:700 1.6rem/1 Geist,ui-sans-serif,system-ui,sans-serif;letter-spacing:-.02em;color:var(--email);min-width:4.2ch;font-variant-numeric:tabular-nums}
.fp-hero-stat span{color:var(--ink-2);font-size:.92rem}
.fp-hero-stat__cta{display:flex;align-items:center;justify-content:center;min-height:48px;margin-top:.9rem;border-radius:var(--radius-btn);background:var(--accent);color:#fff;font-weight:600;text-decoration:none}
.fp-hero-stat__cta:hover{background:var(--accent-ink)}
.fp-hero-stat__cta:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.fp-hero-stat__n{margin:.6rem 0 0;font-size:.75rem;color:var(--muted)}
@media (max-width:900px){.a-hero--auto:has(.fp-hero-stat){display:block}.fp-hero-stat{margin-top:1.2rem}.fp-hero-stat b{font-size:1.25rem}}
.fp-log__e{margin:.6rem 0 0;font-size:.875rem;line-height:1.5;color:var(--ink-2)}.fp-log__e a{overflow-wrap:anywhere}
.fp-calc .fp-stamp,.fp-calc code{font-family:Geist,ui-sans-serif,system-ui,sans-serif;font-variant-numeric:tabular-nums}
.fp-calc__ctl[hidden]{display:none}
.fp-chart .fp-mark{stroke:var(--muted);stroke-width:1.5;opacity:0}.fp-chart .fp-mark.is-on{opacity:.55}
.fp-chart .pt{transition:transform .15s var(--ease);transform-box:fill-box;transform-origin:center}.fp-chart .pt.is-on{transform:scale(1.6)}
.prose ul.fp-cards .fp-sep{display:none}.prose ul.fp-cards a{display:flex;width:fit-content}
.a-hero.a-hero--auto .crumbs span:last-child{color:var(--email)}
.fp-chart .fp-legend svg{display:block;flex:none;width:26px;height:12px}
/* design-batch-2026-10 (#2): long URLs in the prices log and sources wrap at 360 */
.fp-log a,.sources li a{overflow-wrap:anywhere}
