/* Package/cabin comparison guide, embedded in blog articles. Loads after
   app.css on every page that uses it (see web/index.html), so the shared
   :root tokens are already available here — reuse them rather than
   hand-picking near-miss hex values that drift from the real palette. */
.ff-guides{color:var(--ink);font:400 14px/1.55 var(--sans);max-width:100%;margin:16px 0;box-sizing:border-box;text-align:left}
.ff-guides *{box-sizing:border-box}
.ff-guides>details{border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 1px 2px rgba(22,32,43,.05)}
.ff-guides summary{cursor:pointer;padding:12px 14px;font-weight:700;color:var(--link);list-style-position:inside}
.ff-guides summary:focus-visible,.ff-guides a:focus-visible,.ff-guides select:focus-visible,.ff-guides input:focus-visible,.ffg-table-wrap:focus-visible{outline:2px solid var(--amber);outline-offset:3px}
.ffg-body{padding:0 14px 14px}
.ff-guides p{margin:10px 0;line-height:1.55}
.ff-guides h3{font:700 17px/1.35 var(--sans);margin:22px 0 10px;color:var(--ink)}
.ffg-disclosure{border-left:3px solid var(--link);padding:8px 12px;background:var(--paper)}
.ffg-disclosure strong{display:block}
.ffg-date,.ffg-fit small{color:var(--faint);font-size:12px}
.ffg-selectors{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;margin:12px 0}
.ffg-selectors label{font-size:13px;font-weight:600;min-width:0;display:block}
.ffg-selectors select,.ffg-selectors input{display:block;width:100%;min-width:0;border:1px solid var(--ctl-border);border-radius:11px;background:#fff;color:var(--ink);padding:10px 8px;margin-top:5px;font:400 16px/1.4 var(--sans);min-height:44px}
.ffg-table-wrap{overflow-x:auto;max-width:100%;border:1px solid var(--line);border-radius:11px}
.ff-guides table{width:100%;border-collapse:collapse;table-layout:fixed;background:#fff;font-size:13px}
.ff-guides caption{text-align:left;padding:9px;font-size:12px;color:var(--faint)}
.ff-guides th,.ff-guides td{padding:10px;border-top:1px solid var(--line);vertical-align:top;overflow-wrap:anywhere;text-align:left;white-space:normal}
.ff-guides thead th{background:var(--line2)}
.ff-guides th:first-child{width:20%}
.ffg-state{display:block;font-weight:700;font-size:11px;margin-bottom:4px;text-transform:uppercase;letter-spacing:.025em}
/* Included/extra/conditional/unknown reuse the site's existing semantic
   colors (--good for a real inclusion, --warn-text for something that
   costs more, --muted/--faint for anything not a clear yes/no) rather
   than four new one-off hex values with no home in the shared palette. */
.ffg-included{color:var(--good)}.ffg-extra{color:var(--warn-text)}.ffg-conditional{color:var(--muted)}.ffg-unknown{color:var(--faint)}
.ffg-fit{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}
.ffg-fit p{background:var(--paper);padding:10px;border-radius:9px;font-size:13px}
.ffg-fit small{display:block;margin-top:7px}
.ffg-math{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:14px 0;padding-bottom:4px}
.ffg-math summary{padding-left:0}
.ffg-math p{font-size:13px}
.ff-guides a{color:var(--link);text-decoration:underline;text-underline-offset:2px}
@media(max-width:720px){.ffg-body{padding:0 10px 10px}.ffg-selectors,.ffg-fit{grid-template-columns:minmax(0,1fr)}.ff-guides table{min-width:530px}.ff-guides select,.ff-guides input{font-size:16px!important}.ffg-fit{gap:0}}
