/* FitFrek Native Program Guide v1 — shared scoped styles for six program pages */
.ff-program-page{--red:#e8312a;--bg:#111113;--surface:#1a1a1d;--surface2:#222226;--border:#2e2e33;--text:#ececf2;--dim:#c0c0cc;--muted:#888897;--green:#3ecf8e;--yellow:#f5c518;--blue:#4a9eff;--accent:#3ecf8e;--body:var(--fb,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif);--cond:var(--fd,"Arial Narrow",Impact,sans-serif);width:100%;color:var(--text);font-family:var(--body);font-size:15px;line-height:1.6}.ff-program-page *{box-sizing:border-box}.ff-program-page a{color:inherit}.ff-program-page :focus-visible{outline:2px solid var(--accent);outline-offset:3px}.ff-program-page .disclosure strong{color:var(--text)}.ff-program-page .author a{color:var(--text);font-weight:800;text-decoration:none}.ff-program-page .author a:hover{text-decoration:underline}.ff-program-page [id]{scroll-margin-top:76px}
.ff-program-page .disclosure{margin:12px 18px 0;padding:10px 12px;border:1px solid var(--border);border-left:3px solid var(--accent);background:var(--surface);border-radius:0 9px 9px 0;color:var(--muted);font-size:11.5px;line-height:1.55}.ff-program-page .toc{margin:10px 18px}.ff-program-page .toc summary{min-height:44px;display:flex;align-items:center;justify-content:space-between;padding:9px 13px;background:var(--surface);border:1px solid var(--border);border-radius:9px;cursor:pointer;font-family:var(--cond);font-weight:800;list-style:none}.ff-program-page .toc summary::-webkit-details-marker{display:none}.ff-program-page .toc summary:after{content:"+";color:var(--muted)}.ff-program-page .toc[open] summary:after{content:"–"}.ff-program-page .toc-links{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin-top:5px;background:var(--border);border:1px solid var(--border);border-radius:9px;overflow:hidden}.ff-program-page .toc-links a{min-height:44px;display:flex;align-items:center;padding:8px 10px;background:var(--surface);font-size:11.5px;color:var(--dim);text-decoration:none}.ff-program-page .legacy{position:relative;top:-64px;height:0;visibility:hidden}.ff-program-page .card{margin:0 18px 11px;background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden;scroll-margin-top:66px}.ff-program-page .card-h{display:grid;grid-template-columns:7px minmax(0,1fr) auto;align-items:center;gap:9px;padding:13px 16px;border-bottom:1px solid var(--border)}.ff-program-page .dot{width:7px;height:7px;border-radius:50%;background:var(--accent)}.ff-program-page .card-h h2{font-family:var(--cond);font-size:19px;line-height:1.15;margin:0}.ff-program-page .card-h>span:last-child{font-size:10px;color:var(--muted)}.ff-program-page .qv{padding:8px 16px}.ff-program-page .qv-row{display:grid;grid-template-columns:120px minmax(0,1fr);gap:11px;padding:9px 0;border-bottom:1px solid rgba(255,255,255,.045)}.ff-program-page .qv-row:last-child{border-bottom:0}.ff-program-page .qv-k{font-size:10px;text-transform:uppercase;letter-spacing:.055em;font-weight:800;color:var(--muted)}.ff-program-page .qv-v,.ff-program-page .qv-v p{margin:0;font-size:13px;color:var(--dim);line-height:1.5}.ff-program-page .qv-v strong{color:var(--text)}.ff-program-page .rich{padding:16px 18px}.ff-program-page .rich h2{font-family:var(--cond);font-size:25px;line-height:1;margin:0 0 10px}.ff-program-page .ey{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--accent);font-weight:800;margin-bottom:5px}.ff-program-page .prose{padding:15px 18px;color:var(--dim);font-size:13.5px;line-height:1.68}.ff-program-page .rich .prose{padding:0}.ff-program-page .prose p{margin:0 0 11px}.ff-program-page .prose p:last-child{margin-bottom:0}.ff-program-page .prose strong{color:var(--text)}.ff-program-page .prose a{color:var(--red);font-weight:700;text-decoration:none}.ff-program-page .prose ul,.ff-program-page .prose ol{padding-left:19px;margin:8px 0 12px}.ff-program-page .prose li{margin:5px 0}.ff-program-page .prose h4{font-family:var(--cond);font-size:16px;color:var(--text);margin:18px 0 6px}.ff-program-page .resource{margin:0 18px 11px;padding:14px 15px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 7%,var(--surface)),var(--surface));border:1px solid color-mix(in srgb,var(--accent) 28%,var(--border));border-radius:12px}.ff-program-page .resource-top{display:flex;gap:12px;align-items:center}.ff-program-page .resource-img{width:62px;height:62px;flex:0 0 62px;display:grid;place-items:center;background:var(--surface2);border:1px solid var(--border);border-radius:9px;overflow:hidden;color:var(--accent);font-family:var(--cond);font-weight:900}.ff-program-page .resource-img img{width:100%;height:100%;object-fit:cover}.ff-program-page .resource-type{font-size:9px;text-transform:uppercase;color:var(--accent);font-weight:800;letter-spacing:.07em}.ff-program-page .resource h4{font-family:var(--cond);font-size:18px;margin:2px 0}.ff-program-page .resource-top p{margin:0;color:var(--muted);font-size:11.5px;line-height:1.4}.ff-program-page .resource-note{color:var(--dim);font-size:12px;line-height:1.5}.ff-program-page .resource-note p{margin:0}.ff-program-page .resource-btn{min-height:44px;display:flex;align-items:center;justify-content:center;border-radius:9px;background:var(--red);color:#fff;text-decoration:none;font-family:var(--cond);font-weight:900;letter-spacing:.03em}.ff-program-page .resource-foot{text-align:center;margin-top:7px;color:var(--muted);font-size:10px}.ff-program-page .data{padding:8px 16px 13px}.ff-program-page .data-group{padding-top:9px}.ff-program-page .data-gh{font-size:10px;text-transform:uppercase;letter-spacing:.075em;color:var(--accent);font-weight:800;padding-bottom:5px;border-bottom:1px solid var(--border)}.ff-program-page .data-row{display:flex;justify-content:space-between;gap:15px;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.04);font-size:12.5px}.ff-program-page .data-row span{color:var(--muted);flex:1}.ff-program-page .data-row strong{color:var(--text);text-align:right;max-width:60%}.ff-program-page .data-row strong p{margin:0}.ff-program-page .timeline{padding:9px 16px 13px}.ff-program-page .tl{display:grid;grid-template-columns:82px minmax(0,1fr);gap:12px;padding:11px 0;border-bottom:1px solid var(--border)}.ff-program-page .tl:last-child{border-bottom:0}.ff-program-page .tl-mark{font-family:var(--cond);font-weight:900;color:var(--accent)}.ff-program-page .tl strong{font-size:13.5px}.ff-program-page .tl p{margin:3px 0 0;color:var(--muted);font-size:12px;line-height:1.5}.ff-program-page .callout{margin:0 18px 11px;padding:14px 16px;border:1px solid var(--border);border-left:4px solid var(--blue);border-radius:0 11px 11px 0;background:var(--surface)}.ff-program-page .callout.warning{border-left-color:var(--yellow);background:rgba(245,197,24,.04)}.ff-program-page .callout.danger{border-left-color:#ef6b6b;background:rgba(239,107,107,.045)}.ff-program-page .callout h2{font-family:var(--cond);font-size:18px;margin:0 0 5px}.ff-program-page .callout div,.ff-program-page .callout div p{margin:0;color:var(--dim);font-size:12.5px}.ff-program-page .badges{display:flex;gap:6px;flex-wrap:wrap;padding:11px 16px 3px}.ff-program-page .badges span{font-size:9px;text-transform:uppercase;letter-spacing:.05em;font-weight:800;color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,transparent);border:1px solid color-mix(in srgb,var(--accent) 25%,transparent);padding:3px 7px;border-radius:5px}.ff-program-page .audit{padding:7px 16px}.ff-program-page .audit-row{display:grid;grid-template-columns:minmax(0,38%) minmax(0,1fr);gap:12px;padding:7px 0;border-bottom:1px solid rgba(255,255,255,.04);font-size:12px}.ff-program-page .audit-row span{color:var(--muted)}.ff-program-page .audit-row strong{font-weight:650;color:var(--dim)}.ff-program-page .audit-row strong.warning{color:var(--yellow)}.ff-program-page .audit-row strong.unknown{color:#e49a5a}.ff-program-page .audit-row strong p{margin:0}.ff-program-page .note{padding:3px 16px 13px;color:var(--muted);font-size:11.5px;line-height:1.5}.ff-program-page .context{padding:11px 16px 2px;margin:0;color:var(--muted);font-size:11.5px}.ff-program-page .evidence-list,.ff-program-page .reactions{padding:8px 16px 13px}.ff-program-page .evidence,.ff-program-page .reaction{padding:11px 12px;margin-top:8px;border:1px solid var(--border);border-radius:9px;background:var(--surface2)}.ff-program-page .e-level{font-size:9px;color:var(--accent);font-weight:800;text-transform:uppercase;letter-spacing:.07em;margin-bottom:4px}.ff-program-page .evidence strong,.ff-program-page .reaction strong{display:block;font-size:13px;line-height:1.4}.ff-program-page .evidence p,.ff-program-page .reaction p{margin:5px 0 0;color:var(--muted);font-size:11.5px;line-height:1.5}.ff-program-page .reaction small{display:block;margin-top:6px;color:var(--accent)}.ff-program-page .chip-head{padding:11px 16px 5px;font-size:10px;text-transform:uppercase;letter-spacing:.07em;font-weight:800;color:var(--green)}.ff-program-page .chip-head.skip{color:#ef6b6b}.ff-program-page .chips{display:flex;flex-wrap:wrap;gap:6px;padding:0 16px 5px}.ff-program-page .chip{padding:6px 10px;border-radius:7px;font-size:11.5px;font-weight:650}.ff-program-page .chip.good{color:var(--green);border:1px solid rgba(62,207,142,.22);background:rgba(62,207,142,.065)}.ff-program-page .chip.bad{color:#e37973;border:1px solid rgba(232,49,42,.18);background:rgba(232,49,42,.05)}.ff-program-page .pc{display:grid;grid-template-columns:1fr 1fr;gap:13px;padding:13px 16px}.ff-program-page .pc h4{font-size:10px;text-transform:uppercase;letter-spacing:.075em;color:var(--green);margin:0 0 7px}.ff-program-page .pc>div+div h4{color:#e37973}.ff-program-page .pc ul{padding-left:16px;margin:0}.ff-program-page .pc li{font-size:11.8px;color:var(--dim);margin:6px 0;line-height:1.45}.ff-program-page .related-list{padding:7px 12px 12px}.ff-program-page .related{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:10px 11px;margin-top:7px;background:var(--surface2);border:1px solid var(--border);border-radius:9px;text-decoration:none}.ff-program-page .related span{min-width:0;display:flex;flex-direction:column}.ff-program-page .related small{font-size:9px;color:var(--muted);text-transform:uppercase;font-weight:800}.ff-program-page .related strong{font-family:var(--cond);font-size:14px}.ff-program-page .related em{font-style:normal;color:var(--muted);font-size:10.8px;line-height:1.35;margin-top:2px}.ff-program-page .related b{color:var(--red)}.ff-program-page .verdict{border-color:color-mix(in srgb,var(--accent) 30%,var(--border))}.ff-program-page .faq-list{padding:4px 16px 10px}.ff-program-page .faq{border-bottom:1px solid var(--border)}.ff-program-page .faq:last-child{border-bottom:0}.ff-program-page .faq summary{min-height:46px;display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;list-style:none;font-weight:700;font-size:13px}.ff-program-page .faq summary::-webkit-details-marker{display:none}.ff-program-page .faq summary:after{content:"+";color:var(--muted)}.ff-program-page .faq[open] summary:after{content:"–"}.ff-program-page .faq div{padding:0 0 12px;color:var(--dim);font-size:12.5px;line-height:1.55}.ff-program-page .source-list{padding:7px 12px 12px}.ff-program-page .source{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding:10px 11px;margin-top:7px;background:var(--surface2);border:1px solid var(--border);border-radius:9px;text-decoration:none}.ff-program-page .source span{min-width:0;display:flex;flex-direction:column}.ff-program-page .source strong{font-size:12.5px;line-height:1.3}.ff-program-page .source small{font-size:10.5px;color:var(--accent);margin-top:2px}.ff-program-page .source em{font-style:normal;font-size:10.5px;color:var(--muted);line-height:1.4;margin-top:3px}.ff-program-page .source b{color:var(--red)}.ff-program-page .author{margin:0 18px 11px;padding:14px 16px;background:var(--surface);border:1px solid var(--border);border-radius:12px;display:flex;gap:12px}.ff-program-page .avatar{width:44px;height:44px;flex:0 0 44px;border-radius:50%;display:grid;place-items:center;background:var(--red);font-family:var(--cond);font-weight:900}.ff-program-page .author h2{font-family:var(--cond);font-size:16px;margin:0 0 2px}.ff-program-page .author strong{font-size:13px}.ff-program-page .author p{margin:2px 0;color:var(--muted);font-size:11.5px}.ff-program-page .author small{display:block;color:var(--muted);font-size:10.5px;line-height:1.45;margin-top:5px}@media (max-width:520px){.ff-program-page .toc-links{grid-template-columns:1fr}.ff-program-page .qv-row{grid-template-columns:98px minmax(0,1fr)}.ff-program-page .pc{grid-template-columns:1fr}.ff-program-page .card-h{grid-template-columns:7px minmax(0,1fr)}.ff-program-page .card-h>span:last-child{display:none}}@media (max-width:350px){.ff-program-page .qv-row{grid-template-columns:1fr;gap:3px}.ff-program-page .data-row{display:grid}.ff-program-page .data-row strong{max-width:none;text-align:left}.ff-program-page .audit-row{grid-template-columns:1fr;gap:2px}.ff-program-page .tl{grid-template-columns:1fr;gap:2px}.ff-program-page .resource-top{align-items:flex-start}}.ff-program-page .fit-check{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:13px 16px 9px}.ff-program-page .fit-col{min-width:0;border:1px solid var(--border);border-radius:10px;background:var(--surface2);overflow:hidden}.ff-program-page .fit-col.good{border-color:rgba(62,207,142,.24)}.ff-program-page .fit-col.caution{border-color:rgba(239,107,107,.22)}.ff-program-page .fit-title{display:flex;align-items:center;gap:10px;padding:11px 12px;border-bottom:1px solid var(--border)}.ff-program-page .fit-icon{width:25px;height:25px;flex:0 0 25px;display:grid;place-items:center;border-radius:7px;font-family:var(--cond);font-weight:900;background:rgba(62,207,142,.11);color:var(--green)}.ff-program-page .fit-col.caution .fit-icon{background:rgba(239,107,107,.09);color:#ef7b75}.ff-program-page .fit-title small{display:block;font-size:8.5px;letter-spacing:.08em;font-weight:850;color:var(--green);line-height:1.2}.ff-program-page .fit-col.caution .fit-title small{color:#ef7b75}.ff-program-page .fit-title strong{display:block;margin-top:2px;font-family:var(--cond);font-size:14px;line-height:1.15;color:var(--text)}.ff-program-page .fit-col ul{list-style:none;margin:0;padding:3px 12px 8px}.ff-program-page .fit-col li{position:relative;padding:9px 0 9px 15px;border-bottom:1px solid rgba(255,255,255,.045)}.ff-program-page .fit-col li:last-child{border-bottom:0}.ff-program-page .fit-col li:before{content:"";position:absolute;left:0;top:15px;width:6px;height:6px;border-radius:50%;background:var(--green)}.ff-program-page .fit-col.caution li:before{background:#ef7b75}.ff-program-page .fit-col li strong{display:block;font-size:12.2px;line-height:1.3;color:var(--text)}.ff-program-page .fit-col li span{display:block;margin-top:2px;font-size:10.8px;line-height:1.38;color:var(--muted)}.ff-program-page .fit-note{margin:1px 16px 13px;padding:10px 12px;border-left:3px solid var(--yellow);background:rgba(245,197,24,.04);border-radius:0 8px 8px 0;color:var(--dim);font-size:11.7px;line-height:1.5}.ff-program-page .fit-note strong{color:var(--text)}.ff-program-page .mistake-list{padding:5px 16px 10px}.ff-program-page .mistake{border-bottom:1px solid var(--border)}.ff-program-page .mistake:last-child{border-bottom:0}.ff-program-page .mistake summary{min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;list-style:none;font-size:12.7px;font-weight:720;color:var(--text)}.ff-program-page .mistake summary::-webkit-details-marker{display:none}.ff-program-page .mistake summary:after{content:"+";color:var(--muted);font-size:16px;flex:0 0 auto}.ff-program-page .mistake[open] summary:after{content:"–"}.ff-program-page .mistake>div{padding:0 22px 12px 0;color:var(--dim);font-size:12px;line-height:1.55}.ff-program-page .qv-v strong{color:var(--text);font-weight:750}.ff-program-page .related em{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1;overflow:hidden}@media (max-width:520px){.ff-program-page .fit-check{grid-template-columns:1fr}.ff-program-page .fit-title strong{font-size:15px}.ff-program-page .fit-col li strong{font-size:12.5px}}
/* v2.4 production visual hardening: protect article headings from legacy/global Oxygen color rules. */
.ff-program-page .card-h h2,.ff-program-page .rich h2,.ff-program-page .callout h2,.ff-program-page .author h2,.ff-program-page .resource h4,.ff-program-page .related strong,.ff-program-page .source strong,.ff-program-page .faq summary{color:var(--text)!important;opacity:1!important;text-shadow:none!important}
.ff-program-page .card-h h2,.ff-program-page .rich h2,.ff-program-page .callout h2,.ff-program-page .author h2,.ff-program-page .resource h4{font-weight:800}
.ff-program-page .resource-top{margin-bottom:12px}
.ff-program-page .resource-top>div:last-child{min-width:0}
.ff-program-page .resource h4{margin:4px 0 5px;line-height:1.15}
.ff-program-page .resource-top p{margin:0;line-height:1.48}
.ff-program-page .resource-note{margin:0 0 12px;padding-top:0}
.ff-program-page .resource-note p{margin:0}
.ff-program-page .resource-btn{margin-top:0;padding:11px 14px;line-height:1.2;text-align:center}
.ff-program-page .resource-foot{margin-top:9px}
.ff-program-page .rich h2{margin-bottom:12px}
.ff-program-page .card-h{min-height:50px}
/* v2.8 component/font consistency */
.ff-program-page{--body:'Barlow',Arial,sans-serif;--cond:'Barlow Condensed','Arial Narrow',Arial,sans-serif;font-family:var(--body)!important}
.ff-program-page .card-h h2,.ff-program-page .rich h2,.ff-program-page .callout h2,.ff-program-page .resource h4,.ff-program-page .related strong,.ff-program-page .prose h4,.ff-program-page .fit-title strong,.ff-program-page .tl-mark{font-family:var(--cond)!important}
.ff-program-page .author-card{margin:0 18px 11px;padding:14px 18px;display:flex;align-items:flex-start;gap:12px;background:var(--surface);border:1px solid var(--border);border-radius:12px}
.ff-program-page .author-av{width:44px;height:44px;flex:0 0 44px;border-radius:50%;overflow:hidden;border:2px solid rgba(232,49,42,.30);background:var(--surface2)}
.ff-program-page .author-av img{width:100%;height:100%;display:block;object-fit:cover;border-radius:50%}
.ff-program-page .author-info{flex:1;min-width:0}
.ff-program-page .author-name{margin:0 0 2px;font-family:var(--cond)!important;font-size:16px;line-height:1.15;font-weight:800;color:var(--text)!important}
.ff-program-page .author-name a{color:inherit;text-decoration:none}
.ff-program-page .author-cred{margin:0 0 6px!important;font-family:var(--body)!important;font-size:12px!important;line-height:1.4!important;color:var(--muted)!important}
.ff-program-page .author-link{font-family:var(--body)!important;font-size:12px;font-weight:700;color:var(--red)!important;text-decoration:none}

.ff-program-page .resource-btn.secondary{margin-top:7px;background:var(--surface2);border:1px solid var(--border);color:var(--dim)}
.ff-program-page .native-component{scroll-margin-top:76px}
.ff-program-page .native-component:empty{display:none}

/* Native ACF component compatibility — scoped to these six article bodies. */
.ff-program-page .card-hdr{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 18px;border-bottom:1px solid var(--border)}
.ff-program-page .card-ttl{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text)}
.ff-program-page .card-sub{font-size:12px;color:var(--muted);text-align:right}
.ff-program-page .quick-verdict{padding:14px 18px;display:flex;flex-direction:column;gap:8px}
.ff-program-page .quick-verdict .qv-row{display:flex;gap:8px;align-items:flex-start;padding:0;border:0}
.ff-program-page .qv-label{width:82px;flex:0 0 82px;padding-top:2px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.ff-program-page .qv-val{flex:1;min-width:0;font-size:13px;font-weight:600;color:var(--text);line-height:1.48}
.ff-program-page .qv-val p{margin:0;color:inherit;font:inherit}
.ff-program-page .bestfor{padding:14px 18px;display:flex;flex-wrap:wrap;gap:6px}
.ff-program-page .bf-chip{font-size:12px;font-weight:600;padding:6px 12px;border-radius:7px;background:rgba(62,207,142,.07);border:1px solid rgba(62,207,142,.2);color:var(--green)}
.ff-program-page .bf-chip.warn{background:rgba(232,49,42,.05);border-color:rgba(232,49,42,.15);color:#e37973}
.ff-program-page .bf-chip.neutral{background:var(--surface2);border-color:var(--border);color:var(--dim)}
.ff-program-page .proscons{padding:14px 18px;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.ff-program-page .pc-col{display:flex;flex-direction:column;gap:6px;min-width:0}
.ff-program-page .pc-hdr{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;margin-bottom:4px}
.ff-program-page .pc-hdr.pro{color:var(--green)}
.ff-program-page .pc-hdr.con{color:#e37973}
.ff-program-page .pc-item{font-size:12.5px;color:var(--dim);line-height:1.45;padding-left:14px;position:relative}
.ff-program-page .pc-item:before{content:"";position:absolute;left:0;top:6px;width:6px;height:6px;border-radius:50%}
.ff-program-page .pc-item.pro:before{background:var(--green)}
.ff-program-page .pc-item.con:before{background:#e37973}
.ff-program-page .community-quotes{padding:14px 18px;display:flex;flex-direction:column;gap:8px}
.ff-program-page .cq-item{padding:10px 14px;background:var(--surface2);border:1px solid var(--border);border-left:3px solid var(--blue);border-radius:9px}
.ff-program-page .cq-item.warn{border-left-color:var(--red)}
.ff-program-page .cq-item.positive{border-left-color:var(--green)}
.ff-program-page .cq-text{font-size:13px;color:var(--dim);line-height:1.55;font-style:italic}
.ff-program-page .cq-source{font-size:11px;color:var(--muted);margin-top:6px;font-style:normal}
.ff-program-page .faq-list{padding:10px 18px 14px}
.ff-program-page .faq-item{border-bottom:1px solid var(--border)}
.ff-program-page .faq-item:last-child{border-bottom:0}
.ff-program-page .faq-q{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;cursor:pointer;user-select:none;font-size:14px;font-weight:600;color:var(--text)}
.ff-program-page .faq-toggle{font-size:14px;color:var(--muted);transition:transform .2s;flex:0 0 auto}
.ff-program-page .faq-toggle.open{transform:rotate(180deg)}
.ff-program-page .faq-a{display:none;padding:0 0 12px;font-size:13px;color:var(--dim);line-height:1.65}
.ff-program-page .faq-a.open{display:block}
.ff-program-page .source-list{padding:10px 18px 14px;display:flex;flex-direction:column;gap:8px}
.ff-program-page .src-item{display:flex;gap:12px;align-items:flex-start;padding:10px 14px;background:var(--surface2);border:1px solid var(--border);border-radius:9px}
.ff-program-page .src-icon{width:36px;height:36px;flex:0 0 36px;display:flex;align-items:center;justify-content:center;border-radius:7px;background:var(--surface);border:1px solid var(--border);font-size:16px}
.ff-program-page .src-info{flex:1;min-width:0}
.ff-program-page .src-title{font-size:13px;font-weight:700;color:var(--text);line-height:1.25;margin-bottom:2px}
.ff-program-page .src-meta{font-size:11px;color:var(--muted);line-height:1.45}
.ff-program-page .src-link{display:inline-block;margin-top:3px;font-size:11px;font-weight:600;color:var(--red);text-decoration:none}
.ff-program-page .src-link:hover{text-decoration:underline}
.ff-program-page .src-confidence{flex:0 0 auto;align-self:flex-start;margin-top:2px;padding:2px 7px;border-radius:4px;font-family:var(--cond);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.ff-program-page .src-confidence.verified{background:rgba(62,207,142,.08);color:var(--green);border:1px solid rgba(62,207,142,.2)}
.ff-program-page .src-confidence.reported{background:rgba(74,158,255,.08);color:var(--blue);border:1px solid rgba(74,158,255,.2)}
.ff-program-page .src-confidence.claim{background:rgba(245,197,24,.08);color:var(--yellow);border:1px solid rgba(245,197,24,.2)}
.ff-program-page .src-confidence.personal{background:var(--surface);color:var(--dim);border:1px solid var(--border)}
.ff-program-page .xlink{margin:0 18px 10px;padding:12px 14px;display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--surface);border:1px solid var(--border);border-radius:10px;text-decoration:none}
.ff-program-page .xlink-left{flex:1;min-width:0}
.ff-program-page .xlink-lbl{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:2px}
.ff-program-page .xlink-name{font-family:var(--cond);font-size:15px;font-weight:800;color:var(--text);overflow-wrap:anywhere}
.ff-program-page .xlink-arr{font-size:16px;font-weight:700;color:var(--red);flex:0 0 auto}
@media(max-width:420px){
  .ff-program-page .proscons{grid-template-columns:1fr}
  .ff-program-page .quick-verdict .qv-row{display:grid;grid-template-columns:1fr;gap:2px}
  .ff-program-page .qv-label{width:auto;flex-basis:auto}
  .ff-program-page .src-item{flex-wrap:wrap}
  .ff-program-page .src-confidence{margin-left:48px}
}

/* FF_PROGRAM_UI_STANDARD_V6_START */
/* Shared program-page standard: approved header hierarchy + responsive hardening. */
.art-hdr{display:flex!important;flex-direction:column!important;padding-top:16px!important}
.art-meta-top{display:none!important}
.art-title{order:1!important;margin:0 0 10px!important;line-height:.98!important}
.art-meta-badges{order:2!important;display:flex!important;align-items:center!important;flex-wrap:wrap!important;gap:6px!important;overflow:visible!important;margin:0 0 13px!important;padding:0!important}
.art-meta-badges>*{flex:0 0 auto!important;max-width:100%!important;margin:0!important;padding:3px 9px!important;border-radius:4px!important;font-size:9px!important;font-weight:800!important;line-height:1.25!important;letter-spacing:.065em!important;text-transform:uppercase!important;white-space:nowrap!important;box-shadow:none!important}
.art-meta-badges>:nth-child(n+4){display:none!important}
.art-meta-badges>:nth-child(1){color:#8f8f9c!important;background:#202024!important;border:1px solid #303036!important}
.art-meta-badges>:nth-child(2){color:#e3a12b!important;background:rgba(211,139,24,.10)!important;border:1px solid rgba(211,139,24,.34)!important}
.art-meta-badges>:nth-child(3){color:#e3cf32!important;background:rgba(218,195,20,.08)!important;border:1px solid rgba(218,195,20,.30)!important}
.byline{order:3!important;margin:0!important;padding-bottom:16px!important;border-bottom:1px solid var(--border,#2e2e33)!important}
.hero-img{display:none!important}

/* Guidance should read as guidance, not a tag cloud. */
.ff-program-page .bestfor{display:grid!important;grid-template-columns:1fr!important;gap:0!important;padding:8px 18px 15px!important}
.ff-program-page .bestfor:before{content:"Good fit";display:block;padding:4px 4px 6px;color:var(--green,#3ecf8e);font-size:10px;font-weight:800;line-height:1.2;letter-spacing:.075em;text-transform:uppercase}
.ff-program-page .bf-chip{position:relative!important;display:block!important;width:100%!important;margin:0!important;padding:9px 8px 9px 27px!important;border:0!important;border-bottom:1px solid rgba(255,255,255,.055)!important;border-radius:0!important;background:transparent!important;color:var(--dim,#c0c0cc)!important;font-size:12.5px!important;font-weight:550!important;line-height:1.5!important}
.ff-program-page .bf-chip:before{content:"✓";position:absolute;left:5px;top:9px;color:var(--green,#3ecf8e);font-weight:900}
.ff-program-page .bf-chip.warn:before{content:"×";color:#e37973}
.ff-program-page .bf-chip:not(.warn):not(.neutral)+.bf-chip.warn{margin-top:15px!important;padding-top:31px!important;border-top:1px solid var(--border,#2e2e33)!important}
.ff-program-page .bf-chip:not(.warn):not(.neutral)+.bf-chip.warn:after{content:"Probably not for";position:absolute;left:4px;top:9px;color:#e37973;font-size:10px;font-weight:800;line-height:1.2;letter-spacing:.075em;text-transform:uppercase}
.ff-program-page .bf-chip:not(.warn):not(.neutral)+.bf-chip.warn:before{top:31px}
.ff-program-page .bf-chip.neutral{margin-top:12px!important;padding:10px 12px!important;border:1px solid var(--border,#2e2e33)!important;border-radius:8px!important;background:var(--surface2,#222226)!important;color:var(--muted,#8b8b9d)!important;font-size:11.5px!important}
.ff-program-page .bf-chip.neutral:before{content:none!important}
.ff-program-page .bf-chip:last-child{border-bottom:0!important}
.ff-program-page .chips{display:grid!important;grid-template-columns:1fr!important;gap:0!important;padding:0 16px 9px!important}
.ff-program-page .chip{position:relative!important;display:block!important;width:100%!important;padding:9px 8px 9px 27px!important;border:0!important;border-bottom:1px solid rgba(255,255,255,.055)!important;border-radius:0!important;background:transparent!important;color:var(--dim,#c0c0cc)!important;font-size:12.3px!important;font-weight:550!important;line-height:1.48!important}
.ff-program-page .chip:before{position:absolute;left:5px;top:9px;font-weight:900}
.ff-program-page .chip.good:before{content:"✓";color:var(--green,#3ecf8e)}
.ff-program-page .chip.bad:before{content:"×";color:#e37973}
.ff-program-page .chip:last-child{border-bottom:0!important}

/* Common mistakes: readable rows, never a compressed accordion. */
.ff-program-page .mistakes{padding:2px 16px 8px!important}
.ff-program-page details.mistake{display:block!important;border-bottom:1px solid var(--border,#2e2e33)!important;padding:0!important}
.ff-program-page details.mistake:last-child{border-bottom:0!important}
.ff-program-page details.mistake summary{display:block!important;min-height:0!important;padding:14px 0 5px!important;cursor:default!important;list-style:none!important;color:var(--text,#e8e8ee)!important;font-family:var(--cond,'Barlow Condensed','Arial Narrow',Arial,sans-serif)!important;font-size:15.5px!important;font-weight:800!important;line-height:1.25!important;letter-spacing:.01em!important}
.ff-program-page details.mistake summary::-webkit-details-marker{display:none!important}
.ff-program-page details.mistake summary:after,.ff-program-page details.mistake summary:before{display:none!important;content:none!important}
.ff-program-page details.mistake>*:not(summary){display:block!important;padding:0 0 14px!important;margin:0!important;color:var(--muted,#8b8b9d)!important;font-size:12.5px!important;line-height:1.62!important}
.ff-program-page details.mistake>*:not(summary) p{margin:0 0 9px!important}.ff-program-page details.mistake>*:not(summary) p:last-child{margin-bottom:0!important}

/* Native component headers: never let a right-side note crush the title. */
.ff-program-page .card-hdr{display:block!important;padding:12px 18px!important}
.ff-program-page .card-ttl{display:flex!important;align-items:center!important;gap:8px!important;width:100%!important;min-width:0!important;max-width:none!important;margin:0!important;font-family:var(--cond,'Barlow Condensed','Arial Narrow',Arial,sans-serif)!important;font-size:16px!important;font-weight:800!important;line-height:1.18!important;letter-spacing:.01em!important;text-transform:none!important;color:var(--text)!important;white-space:normal!important;word-break:normal!important;overflow-wrap:normal!important}
.ff-program-page .card-ttl .dot{flex:0 0 7px!important;margin:0!important}
.ff-program-page .card-sub{display:block!important;width:auto!important;min-width:0!important;max-width:none!important;margin:5px 0 0 15px!important;padding:0!important;font-family:var(--body,'Barlow',Arial,sans-serif)!important;font-size:11.5px!important;font-weight:400!important;line-height:1.48!important;letter-spacing:0!important;text-transform:none!important;text-align:left!important;color:var(--muted)!important;white-space:normal!important;word-break:normal!important;overflow-wrap:anywhere!important}
.ff-program-page .card-h h2{min-width:0!important;word-break:normal!important;overflow-wrap:normal!important}
.ff-program-page .card-h>span:last-child{min-width:0!important;word-break:normal!important;overflow-wrap:anywhere!important}

/* General article rhythm. */
.ff-program-page .prose h4{margin-top:20px!important;margin-bottom:7px!important}
.ff-program-page .prose h4+p,.ff-program-page .prose h4+ul,.ff-program-page .prose h4+ol{margin-top:0!important}
.ff-program-page .prose li+li{margin-top:6px!important}
.ff-program-page .pc-item+.pc-item{margin-top:3px!important}

/* Mobile hardening across the shared program component family. */
@media(max-width:640px){
  .ff-program-page .card,.ff-program-page .resource,.ff-program-page .callout,.ff-program-page .author,.ff-program-page .author-card,.ff-program-page .xlink{margin-left:14px!important;margin-right:14px!important}
  .ff-program-page .toc{margin-left:14px!important;margin-right:14px!important}
  .ff-program-page .card-hdr{padding:12px 15px!important}
  .ff-program-page .card-ttl{font-size:15.5px!important;line-height:1.2!important}
  .ff-program-page .card-sub{margin:5px 0 0 0!important;font-size:11.5px!important;line-height:1.5!important}
  .ff-program-page .card-h{grid-template-columns:7px minmax(0,1fr)!important;align-items:start!important;row-gap:4px!important}
  .ff-program-page .card-h>span:last-child{grid-column:2!important;display:block!important;max-width:none!important;text-align:left!important;font-family:var(--body,'Barlow',Arial,sans-serif)!important;font-size:10.5px!important;line-height:1.4!important}
  .ff-program-page .toc-links,.ff-program-page .fit-check,.ff-program-page .pc,.ff-program-page .proscons{grid-template-columns:1fr!important}
  .ff-program-page .qv-row,.ff-program-page .quick-verdict .qv-row{display:grid!important;grid-template-columns:1fr!important;gap:3px!important}
  .ff-program-page .qv-k,.ff-program-page .qv-label{width:auto!important;flex-basis:auto!important}
  .ff-program-page .data-row{display:grid!important;grid-template-columns:1fr!important;gap:2px!important}
  .ff-program-page .data-row strong{max-width:none!important;text-align:left!important}
  .ff-program-page .audit-row,.ff-program-page .tl{grid-template-columns:1fr!important;gap:3px!important}
  .ff-program-page .src-item{flex-wrap:wrap!important}
  .ff-program-page .src-confidence{margin-left:48px!important}
  .ff-program-page .resource-top{align-items:flex-start!important}
  .ff-program-page .resource-top>div:last-child{min-width:0!important}
  .ff-program-page .resource h4,.ff-program-page .resource-top p{overflow-wrap:anywhere!important}
  .art-meta-badges{gap:5px!important;margin-bottom:12px!important}
  .art-meta-badges>*{padding:3px 7px!important;font-size:8.7px!important}
  .ff-program-page .bestfor{padding-left:16px!important;padding-right:16px!important}
}
@media(max-width:380px){
  .ff-program-page .card,.ff-program-page .resource,.ff-program-page .callout,.ff-program-page .author,.ff-program-page .author-card,.ff-program-page .xlink{margin-left:10px!important;margin-right:10px!important}
  .ff-program-page .toc{margin-left:10px!important;margin-right:10px!important}
  .ff-program-page .card-hdr{padding:11px 13px!important}
  .ff-program-page .card-ttl{font-size:15px!important}
  .ff-program-page .src-confidence{margin-left:0!important}
}
/* FF_PROGRAM_UI_STANDARD_V6_END */

/* FF_PROGRAM_MOBILE_BREADCRUMB_V9_START */
/* Definitive card header: two useful children only. Generic side labels are removed at every width. */
html body .ff-program-page .card-h{
  display:grid!important;
  grid-template-columns:7px minmax(0,1fr)!important;
  align-items:center!important;
  column-gap:9px!important;
  row-gap:0!important;
  min-width:0!important;
  width:100%!important;
}
html body .ff-program-page .card-h>.dot{
  grid-column:1!important;
  grid-row:1!important;
  width:7px!important;
  height:7px!important;
  min-width:7px!important;
  margin:0!important;
}
html body .ff-program-page .card-h>h2{
  grid-column:2!important;
  grid-row:1!important;
  display:block!important;
  min-width:0!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  font-family:var(--cond,'Barlow Condensed','Arial Narrow',Arial,sans-serif)!important;
  font-size:18px!important;
  font-weight:800!important;
  line-height:1.16!important;
  letter-spacing:.01em!important;
  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:break-word!important;
  hyphens:none!important;
}
html body .ff-program-page .card-h>:not(.dot):not(h2){
  display:none!important;
  width:0!important;
  min-width:0!important;
  max-width:0!important;
  overflow:hidden!important;
}

/* Prevent any native component from becoming a one-character text column. */
html body .ff-program-page :is(.card,.card-hdr,.card-ttl,.card-sub,.qv-row,.qv-k,.qv-v,.data,.data-row,.audit-row,.tl,.resource,.resource-top,.source,.related,.fit-check,.fit-col,.pc,.prose){
  min-width:0!important;
}
html body .ff-program-page :is(.card-h h2,.card-ttl,.qv-k,.qv-v,.data-row>span,.data-row>strong,.audit-row>*,.tl>*,.resource-top>*,.source>*,.related>*,.fit-col *, .prose *){
  word-break:normal!important;
  overflow-wrap:break-word!important;
  hyphens:none!important;
}

@media(max-width:760px){
  html body .ff-program-page .card-h{padding:12px 14px!important}
  html body .ff-program-page .card-h>h2{font-size:17px!important}

  /* Advanced/shared card header family: title owns the row; secondary annotation is omitted on mobile. */
  html body .ff-program-page .card-hdr{
    display:block!important;
    width:100%!important;
    padding:12px 14px!important;
  }
  html body .ff-program-page .card-ttl{
    display:flex!important;
    align-items:center!important;
    gap:8px!important;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    font-family:var(--cond,'Barlow Condensed','Arial Narrow',Arial,sans-serif)!important;
    font-size:16.5px!important;
    font-weight:800!important;
    line-height:1.18!important;
    letter-spacing:.01em!important;
    text-transform:none!important;
    white-space:normal!important;
  }
  html body .ff-program-page .card-sub{display:none!important}

  /* Content-resilient single-column mobile layout for components that otherwise squeeze text. */
  html body .ff-program-page .qv-row{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:3px!important;
  }
  html body .ff-program-page .data-row{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:3px!important;
  }
  html body .ff-program-page .data-row>strong{
    max-width:none!important;
    width:100%!important;
    text-align:left!important;
  }
  html body .ff-program-page .audit-row,
  html body .ff-program-page .tl{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:3px!important;
  }
  html body .ff-program-page .fit-check,
  html body .ff-program-page .pc,
  html body .ff-program-page .proscons{
    grid-template-columns:1fr!important;
  }
}
@media(max-width:380px){
  html body .ff-program-page .card-h{padding:11px 13px!important}
  html body .ff-program-page .card-h>h2{font-size:16.5px!important}
}
/* FF_PROGRAM_MOBILE_BREADCRUMB_V9_END */
