:root { --mf-ink:#13243a; --mf-muted:#5b6b7e; --mf-blue:#145da0; --mf-cyan:#0b8fa8; --mf-orange:#ef8b20; --mf-soft:#eef6fb; --mf-line:#d7e3ed; --mf-white:#fff; --mf-shadow:0 20px 50px -38px rgba(15,48,78,.65); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
.mf-body { margin:0; color:var(--mf-ink); background:#f8fbfd; font:16px/1.6 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif; }
.mf-body a { color:var(--mf-blue); }
.mf-shell { width:min(1120px,calc(100% - 32px)); margin-inline:auto; }
.mf-skip { position:absolute; top:-60px; left:16px; z-index:3000; padding:10px 14px; color:#fff!important; background:#102b55; }
.mf-skip:focus { top:8px; }
.mf-header { border-bottom:1px solid var(--mf-line); background:#fff; }
.mf-header__inner { min-height:76px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.mf-brand { display:flex; gap:11px; align-items:center; color:var(--mf-ink)!important; text-decoration:none; }
.mf-brand__mark { display:grid; width:46px; height:46px; place-items:center; border-radius:14px; color:#fff; background:linear-gradient(135deg,var(--mf-blue),var(--mf-cyan)); font-weight:900; }
.mf-brand strong,.mf-brand small { display:block; }.mf-brand small { color:var(--mf-muted); font-size:.7rem; font-weight:700; letter-spacing:.05em; text-transform:uppercase; }
.mf-nav { display:flex; gap:6px; flex-wrap:wrap; }.mf-nav a { padding:8px 10px; color:#31465f; border-radius:8px; font-size:.88rem; font-weight:750; text-decoration:none; }.mf-nav a:hover,.mf-nav a:focus { background:var(--mf-soft); }
.mf-hero { padding:clamp(3rem,7vw,6rem) 0; color:#fff; background:radial-gradient(circle at 80% 0,rgba(14,165,184,.35),transparent 34%),linear-gradient(135deg,#0b2440,#164f7d 72%); }
.mf-hero__grid { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(270px,.55fr); gap:clamp(2rem,5vw,5rem); align-items:center; }
.mf-kicker,.mf-eyebrow { display:block; color:var(--mf-cyan); font-size:.72rem; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.mf-hero .mf-kicker { color:#83e3ed; }.mf-hero h1,.mf-page-head h1 { max-width:850px; margin:.45rem 0 1rem; font-size:clamp(2rem,5vw,4.25rem); line-height:1.05; letter-spacing:-.045em; }.mf-hero p { max-width:760px; color:#d9e8f2; font-size:clamp(1rem,2vw,1.2rem); }
.mf-trust { padding:1.4rem; border:1px solid rgba(255,255,255,.2); border-radius:20px; background:rgba(255,255,255,.08); backdrop-filter:blur(8px); }.mf-trust ul { padding-left:1.2rem; margin-bottom:0; color:#d9e8f2; }
.mf-search-panel { position:relative; z-index:2; margin-top:-34px; padding:clamp(1.25rem,3vw,2rem); border:1px solid var(--mf-line); border-radius:24px; background:#fff; box-shadow:var(--mf-shadow); }.mf-search-panel--compact { margin-top:0; }.mf-search-panel h2 { margin-top:0; }
.mf-form { display:grid; gap:1rem; }.mf-form__lead { display:grid; grid-template-columns:2fr 1fr 1fr; gap:1rem; }.mf-form__grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:1rem; }.mf-field { display:grid; gap:.35rem; min-width:0; }.mf-field label { color:#334b64; font-size:.8rem; font-weight:800; }.mf-field input,.mf-field select,.mf-field textarea { width:100%; min-height:46px; padding:.7rem .78rem; color:var(--mf-ink); border:1px solid #b9cad9; border-radius:10px; background:#fff; font:inherit; }.mf-field input:focus,.mf-field select:focus,.mf-field textarea:focus { outline:3px solid rgba(11,143,168,.18); border-color:var(--mf-cyan); }.mf-field small { color:var(--mf-muted); }.errorlist { margin:.2rem 0 0; padding:0; color:#a62626; list-style:none; font-size:.78rem; }
.mf-form__options { padding:.7rem 0 0; border-top:1px solid var(--mf-line); }.mf-form__options summary { width:max-content; margin-bottom:1rem; color:var(--mf-blue); cursor:pointer; font-weight:800; }.mf-checks { display:flex; flex-wrap:wrap; gap:.7rem 1.2rem; margin-top:1rem; }.mf-checks label { display:flex; align-items:flex-start; gap:.4rem; color:#3b5168; font-size:.86rem; }
.mf-button { display:inline-flex; width:max-content; min-height:46px; padding:.72rem 1.1rem; align-items:center; justify-content:center; border:0; border-radius:11px; color:#fff!important; background:linear-gradient(135deg,var(--mf-blue),var(--mf-cyan)); font:800 .9rem/1.2 inherit; text-decoration:none; cursor:pointer; }.mf-button:hover { filter:brightness(.94); }.mf-button:focus-visible { outline:3px solid #77d5e0; outline-offset:3px; }.mf-button--secondary { color:var(--mf-blue)!important; border:1px solid #a9c4da; background:#fff; }
.mf-section { padding:clamp(2.5rem,6vw,5rem) 0; }.mf-section__head { display:flex; align-items:end; justify-content:space-between; gap:1rem; margin-bottom:1.4rem; }.mf-section h2,.mf-prose h2 { line-height:1.2; }.mf-topic-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }.mf-topic { display:grid; gap:.45rem; padding:1.25rem; color:var(--mf-ink)!important; border:1px solid var(--mf-line); border-radius:16px; background:#fff; box-shadow:var(--mf-shadow); text-decoration:none; }.mf-topic span { color:var(--mf-muted); font-size:.9rem; }.mf-topic[href]:hover { border-color:#92bedb; transform:translateY(-2px); }
.mf-explain { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; padding-bottom:4rem; }.mf-explain>div { padding:1.4rem; border-top:3px solid var(--mf-cyan); background:#fff; }.mf-step { display:grid; width:32px; height:32px; place-items:center; border-radius:50%; color:#fff; background:var(--mf-blue); font-weight:900; }
.mf-page-head { padding:clamp(2.8rem,7vw,5.5rem) 0 2.2rem; }.mf-page-head h1 { font-size:clamp(2rem,4vw,3.5rem); }.mf-page-head p { max-width:800px; color:var(--mf-muted); font-size:1.06rem; }.mf-actions { display:flex; flex-wrap:wrap; gap:.7rem; margin-top:1.2rem; }
.mf-results { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }.mf-card { padding:1.35rem; border:1px solid var(--mf-line); border-radius:18px; background:#fff; box-shadow:var(--mf-shadow); }.mf-card__top { display:flex; justify-content:space-between; gap:1rem; }.mf-card h2 { margin:.2rem 0 .65rem; font-size:1.25rem; line-height:1.2; word-break:break-word; }.mf-card h2 a { color:var(--mf-ink); text-decoration:none; }.mf-score { display:grid; flex:0 0 54px; height:54px; place-items:center; border-radius:50%; color:var(--mf-blue); background:var(--mf-soft); font-size:.8rem; font-weight:900; }.mf-badges { display:flex; flex-wrap:wrap; gap:.4rem; margin:.7rem 0; }.mf-badges span { padding:.25rem .5rem; border-radius:999px; color:#3d5269; background:#edf2f6; font-size:.7rem; font-weight:750; }.mf-badge--compatible { color:#176438!important; background:#e8f7ee!important; }.mf-badge--insuffisante { color:#9c2929!important; background:#fdecec!important; }.mf-badge--probable { color:#7a5400!important; background:#fff4d5!important; }.mf-stats { display:grid; grid-template-columns:repeat(3,1fr); gap:.5rem; padding-top:.8rem; border-top:1px solid var(--mf-line); }.mf-stats div { min-width:0; }.mf-stats dt { color:var(--mf-muted); font-size:.66rem; text-transform:uppercase; }.mf-stats dd { margin:0; overflow-wrap:anywhere; font-size:.78rem; font-weight:700; }.mf-note { color:var(--mf-muted); font-size:.78rem; }.mf-link { font-weight:800; text-decoration:none; }
.mf-alert { margin:1rem 0; padding:1rem 1.15rem; border-left:4px solid var(--mf-blue); border-radius:8px; background:#eaf4fb; }.mf-alert--warning { border-color:#e49024; background:#fff7e8; }.mf-result-count { color:var(--mf-muted); }.mf-empty { grid-column:1/-1; padding:2rem; text-align:center; border:1px dashed #abc1d3; border-radius:16px; }
.mf-detail-grid { display:grid; grid-template-columns:minmax(0,1.7fr) minmax(280px,.7fr); gap:1rem; align-items:start; }.mf-detail-grid aside { display:grid; gap:1rem; }.mf-facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0; margin:0; }.mf-facts div { padding:.8rem 0; border-bottom:1px solid var(--mf-line); }.mf-facts div:nth-child(odd) { padding-right:1rem; }.mf-facts dt { color:var(--mf-muted); font-size:.7rem; font-weight:850; text-transform:uppercase; }.mf-facts dd { margin:.2rem 0 0; overflow-wrap:anywhere; font-weight:650; }.mf-compat { border-top:5px solid #8ca3b7; }.mf-compat--compatible { border-top-color:#37a365; }.mf-compat--probable { border-top-color:#d39927; }.mf-compat--insuffisante { border-top-color:#d14c4c; }.mf-warning-list { padding-left:1.2rem; }.mf-warning-list li+li { margin-top:.6rem; }
.mf-table-wrap { max-width:100%; overflow-x:auto; border:1px solid var(--mf-line); border-radius:14px; background:#fff; }.mf-table { width:100%; border-collapse:collapse; min-width:680px; }.mf-table th,.mf-table td { padding:.8rem; border-bottom:1px solid var(--mf-line); text-align:left; vertical-align:top; overflow-wrap:anywhere; }.mf-table thead th { color:#334b64; background:#eef5f9; font-size:.74rem; text-transform:uppercase; }.mf-table--compare th:first-child { position:sticky; left:0; background:#eef5f9; }
.mf-prose { max-width:850px; padding:1rem 0 5rem; }.mf-prose h2 { margin-top:2.2rem; }.mf-prose p,.mf-prose li { color:#41556a; }.mf-prose .mf-facts { margin:1rem 0; }
.mf-footer { margin-top:2rem; padding:2.4rem 0; color:#d6e4ee; background:#10263d; }.mf-footer__grid { display:grid; grid-template-columns:1fr 1fr; gap:2rem; }.mf-footer p { margin:.45rem 0 0; color:#b9cbd8; font-size:.88rem; }.mf-footer a { color:#8fdbe5; }
@media (max-width:800px) { .mf-header__inner { align-items:flex-start; flex-direction:column; padding:12px 0; }.mf-nav { width:100%; overflow-x:auto; flex-wrap:nowrap; }.mf-hero__grid,.mf-detail-grid { grid-template-columns:1fr; }.mf-form__lead,.mf-form__grid { grid-template-columns:1fr 1fr; }.mf-results,.mf-topic-grid { grid-template-columns:1fr; }.mf-explain { grid-template-columns:1fr; }.mf-facts { grid-template-columns:1fr; }.mf-facts div:nth-child(odd) { padding-right:0; }.mf-footer__grid { grid-template-columns:1fr; } }
@media (max-width:520px) { .mf-shell { width:min(100% - 20px,1120px); }.mf-brand small { display:none; }.mf-nav a { flex:0 0 auto; }.mf-form__lead,.mf-form__grid { grid-template-columns:1fr; }.mf-search-panel { border-radius:16px; }.mf-stats { grid-template-columns:1fr; }.mf-button { width:100%; }.mf-section__head { align-items:flex-start; flex-direction:column; } }
@media (prefers-reduced-motion:reduce) { * { scroll-behavior:auto!important; transition:none!important; } }


/* ---------------------------------------------------------------------------
   Exécution locale, échelle de quantification et bandeau d'interprétation.
   Ajouts du 12/09/2026. Les tableaux de variantes défilent dans leur propre
   conteneur : la page elle-même ne défile jamais horizontalement.
   --------------------------------------------------------------------------- */
.mf-visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.mf-alert--info{border-color:#bcd9ef;background:#eef6fc;color:#1d4664}
.mf-interpreted code{padding:.1rem .35rem;border-radius:4px;background:rgba(29,70,100,.1);font-size:.92em;overflow-wrap:anywhere}
.mf-local-list{display:grid;gap:1rem}
.mf-local{display:grid;gap:.85rem;min-width:0}
.mf-local--blocked{opacity:.72}
.mf-local__head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.75rem;min-width:0}
.mf-local__head h2{margin:0;font-size:1.15rem;line-height:1.3;overflow-wrap:anywhere}
.mf-local__meta{margin:.25rem 0 0;font-size:.82rem;color:#5d6f77;overflow-wrap:anywhere}
.mf-local__note{margin:0;font-size:.9rem}
.mf-local__foot{font-size:.82rem}
.mf-badge{flex:0 0 auto;padding:.3rem .6rem;border-radius:999px;font-size:.72rem;font-weight:800;white-space:normal;overflow-wrap:anywhere}
.mf-badge--ok{background:#e0f3e8;color:#166b45}
.mf-badge--warn{background:#fcecdd;color:#8a4a12}
.mf-command{display:grid;gap:.3rem;padding:.8rem;border:1px dashed #b9c9cf;border-radius:10px;background:#f7fbfc;min-width:0}
.mf-command__label{font-size:.7rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:#5d6f77}
.mf-command code{font-size:.95rem;font-weight:700;overflow-wrap:anywhere}
.mf-command__size{font-size:.8rem;color:#5d6f77}
.mf-variant-scroll{max-width:100%;overflow-x:auto}
.mf-variants{width:100%;border-collapse:collapse;font-size:.85rem}
.mf-variants th,.mf-variants td{padding:.5rem .6rem;border-bottom:1px solid #e7eef0;text-align:left;vertical-align:top}
.mf-variants thead th{font-size:.7rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#5d6f77;white-space:nowrap}
.mf-variants tbody th{font-weight:700;overflow-wrap:anywhere}
.mf-variants .mf-num{font-variant-numeric:tabular-nums;white-space:nowrap}
.mf-variant--tient td,.mf-variant--tient th{background:#f2faf5}
.mf-variant--juste td,.mf-variant--juste th{background:#fffaf0}
.mf-variant--trop_grand,.mf-variant--disque{color:#7a878c}
.mf-quant__pick{margin:.4rem 0 .8rem;font-size:.92rem}
.mf-quant__pick--none{color:#8a4a12}
@media(max-width:640px){.mf-local__head{flex-direction:column}.mf-badge{align-self:flex-start}}

/* Guides, FAQ et maillage des pages thématiques (07/10/2026) */
.mf-breadcrumb { padding-top:1.2rem; color:var(--mf-muted); font-size:.82rem; overflow-wrap:anywhere; }
.mf-breadcrumb a { text-decoration:none; }
.mf-breadcrumb + .mf-page-head { padding-top:1.4rem; }
.mf-lead { font-weight:600; }
.mf-guide { max-width:900px; padding-top:0; }
.mf-guide__intro { font-size:1.05rem; }
.mf-guide__criteres { display:grid; gap:.2rem 0; margin:0; }
.mf-guide__criteres dt { margin-top:.8rem; font-weight:800; }
.mf-guide__criteres dd { margin:0; color:#334b64; }
.mf-guide__pieges { padding-left:1.2rem; }
.mf-guide__pieges li+li { margin-top:.45rem; }
.mf-faq { max-width:900px; padding-top:0; }
.mf-faq details { padding:.9rem 1.1rem; border:1px solid var(--mf-line); border-radius:12px; background:#fff; }
.mf-faq details+details { margin-top:.6rem; }
.mf-faq summary { cursor:pointer; font-weight:800; }
.mf-faq p { margin:.6rem 0 0; color:#334b64; }
.mf-related { display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:.35rem 1.2rem; margin:0; padding-left:1.1rem; }
.mf-related--inline { display:flex; flex-wrap:wrap; gap:.5rem; padding:0; list-style:none; }
.mf-related--inline li a { display:inline-block; padding:.35rem .75rem; border:1px solid var(--mf-line); border-radius:999px; background:#fff; font-weight:700; text-decoration:none; }
.mf-families { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:1rem 2rem; }
.mf-families h3, .mf-family-title { margin:1.2rem 0 .6rem; font-size:1rem; }
.mf-families .mf-related { grid-template-columns:1fr; }
@media (max-width:720px) { .mf-related { grid-template-columns:1fr; } }
