/* MasterX 144 (18/09/2026): what's new, Engine & Auxiliary modules, checksum, Server Files, workshop, in-app rating.
   New file on purpose: /assets/* is cached for a year (netlify.toml), so masterx-refresh.css is never edited in place. */

.mx-nav-badge { font-size: 10px; font-weight: 800; letter-spacing: .04em; color: #0a0a0c; background: #ef4444; padding: 2px 5px; margin-left: 6px; vertical-align: 1px; }

/* hero figures */
.mx-strip.mx-stats { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.mx-strip.mx-stats strong { font-size: 32px; line-height: 1.05; letter-spacing: -.035em; margin-bottom: 8px; }

/* shared section parts */
.mx-head2 { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 56px; align-items: end; margin-bottom: 44px; }
.mx-head2 h2 { margin: 0; }
.mx-head2 .mx-lead { margin: 0; }
.mx-label { font-size: 12px; font-weight: 750; letter-spacing: .15em; color: #a6a8b5; margin: 0 0 18px; }
.mx-new { font-size: 11px; font-weight: 800; letter-spacing: .08em; color: #0a0a0c; background: #ef4444; padding: 4px 8px; }
.mx-chip { font-size: 11px; font-weight: 700; letter-spacing: .08em; color: #c5c6cf; border: 1px solid #3a3b44; padding: 4px 8px; }
.mx-small { font-size: 13.5px; line-height: 1.65; color: #a6a8b5; margin: 0; }
.mx-note-row { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 16px 32px; padding-top: 28px; border-top: 1px solid #303139; }
.mx-note-row p { margin: 0; font-size: 15px; line-height: 1.6; color: #a6a8b5; max-width: 80ch; }

/* what's new */
.mx-news-top { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; margin-bottom: 56px; }
.mx-news-card { display: flex; flex-direction: column; gap: 14px; padding: 28px; background: #111318; border: 1px solid #2a2c36; border-radius: 6px; }
.mx-news-meta { display: flex; justify-content: space-between; align-items: center; gap: 12px; font-size: 13px; font-weight: 600; color: #a6a8b5; }
.mx-big { font-size: 60px; line-height: 1; font-weight: 800; letter-spacing: -.04em; color: #f05261; }
.mx-news-card h3 { font-size: 21px; line-height: 1.3; letter-spacing: -.02em; margin: 0; }
.mx-news-card p { font-size: 15.5px; line-height: 1.65; color: #bcbec9; margin: 0; }
.mx-timeline { list-style: none; margin: 0; padding: 0; }
.mx-timeline li { display: grid; grid-template-columns: 170px 20px minmax(0, 1fr); column-gap: 24px; }
.mx-tl-date { display: flex; flex-direction: column; gap: 4px; padding-top: 2px; }
.mx-tl-date b { font-size: 15px; }
.mx-tl-date span { font-size: 13px; color: #a6a8b5; }
.mx-tl-rail { display: flex; flex-direction: column; align-items: center; }
.mx-tl-rail::before { content: ''; width: 11px; height: 11px; margin-top: 6px; flex-shrink: 0; box-sizing: border-box; border-radius: 50%; border: 2px solid #ef4444; }
.mx-tl-rail::after { content: ''; width: 2px; flex-grow: 1; margin-top: 6px; background: #24262e; }
.mx-timeline li:last-child .mx-tl-rail::after { display: none; }
.mx-tl-body { display: flex; flex-direction: column; gap: 8px; padding-bottom: 34px; }
.mx-timeline li:last-child .mx-tl-body { padding-bottom: 0; }
.mx-tl-title { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 12px; }
.mx-tl-title h3 { font-size: 20px; line-height: 1.3; letter-spacing: -.02em; margin: 0; }
.mx-tl-body p { margin: 0; font-size: 16px; line-height: 1.6; color: #bcbec9; max-width: 92ch; }
.mx-news-foot { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 20px 32px; margin-top: 48px; padding-top: 32px; border-top: 1px solid #303139; }
.mx-news-foot > p { margin: 0; font-size: 17px; line-height: 1.6; color: #c5c6cf; }

/* Engine & Auxiliary Systems */
.mx-mods { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin: 0 0 32px; padding: 0; list-style: none; }
.mx-mods li { display: flex; align-items: center; gap: 16px; min-height: 96px; box-sizing: border-box; padding: 18px 20px; background: #111318; border: 1px solid #2a2c36; border-radius: 6px; }
.mx-mods svg { flex-shrink: 0; width: 50px; height: 50px; }
.mx-mods b { display: block; font-size: 16px; line-height: 1.3; }
.mx-mods span { display: block; margin-top: 4px; font-size: 13.5px; line-height: 1.45; color: #a6a8b5; }

/* checksum */
.mx-split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 64px; align-items: start; }
.mx-chips { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 30px; padding: 0; list-style: none; }
.mx-chips li { font-size: 14px; font-weight: 700; letter-spacing: .04em; padding: 8px 12px; border: 1px solid #4a2a30; background: #1c0709; color: #ff8585; }
.mx-nums { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 26px 32px; margin: 0 0 22px; padding-top: 26px; border-top: 1px solid #303139; }
.mx-nums strong { display: block; font-size: 40px; line-height: 1.05; font-weight: 800; letter-spacing: -.03em; }
.mx-nums span { display: block; margin-top: 4px; font-size: 15px; color: #c5c6cf; }
.mx-panel { background: #111318; border: 1px solid #2a2c36; border-radius: 8px; overflow: hidden; }
.mx-panel-head { padding: 20px 24px; border-bottom: 1px solid #24262e; }
.mx-panel-head strong { display: block; font-size: 17px; }
.mx-panel-head span { display: block; margin-top: 2px; font-size: 13px; color: #a6a8b5; }
.mx-status { display: flex; flex-direction: column; gap: 12px; margin: 0; padding: 24px; list-style: none; }
.mx-status li { display: flex; gap: 16px; padding: 18px 20px; border: 1px solid #3a3b44; border-radius: 6px; background: rgba(139, 141, 152, .06); }
.mx-status li::before { content: ''; width: 12px; height: 12px; margin-top: 5px; flex-shrink: 0; border-radius: 50%; background: #8b8d98; }
.mx-status li.ok { border-color: rgba(34, 197, 94, .35); background: rgba(34, 197, 94, .08); }
.mx-status li.ok::before { background: #22c55e; }
.mx-status li.ok b { color: #4ade80; }
.mx-status li.warn { border-color: rgba(245, 158, 11, .35); background: rgba(245, 158, 11, .08); }
.mx-status li.warn::before { background: #f59e0b; }
.mx-status li.warn b { color: #fbbf24; }
.mx-status b { display: block; font-size: 16px; }
.mx-status span { display: block; margin-top: 4px; font-size: 14.5px; line-height: 1.55; color: #c5c6cf; }
.mx-panel-foot { display: flex; gap: 16px; padding: 22px 24px; border-top: 1px solid #24262e; background: #0e1014; }
.mx-panel-foot svg { flex-shrink: 0; }
.mx-panel-foot b { display: block; font-size: 16px; }
.mx-panel-foot span { display: block; margin-top: 4px; font-size: 14.5px; line-height: 1.55; color: #bcbec9; }

/* Server Files */
.mx-steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin: 0 0 22px; padding: 0; list-style: none; }
.mx-steps li { display: flex; flex-direction: column; gap: 10px; padding: 24px; background: #111318; border: 1px solid #2a2c36; border-radius: 6px; }
.mx-steps li.is-end { border-color: #ef4444; }
.mx-steps em { font-style: normal; font-size: 13px; font-weight: 800; letter-spacing: .1em; color: #f16b78; }
.mx-steps b { font-size: 18px; line-height: 1.3; }
.mx-steps span { font-size: 15px; line-height: 1.6; color: #bcbec9; }
.mx-results { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); gap: 22px; margin-bottom: 24px; }
.mx-box { display: flex; flex-direction: column; gap: 22px; padding: 28px; background: #111318; border: 1px solid #2a2c36; border-radius: 6px; }
.mx-box-title strong { display: block; font-size: 18px; }
.mx-box-title span { display: block; margin-top: 4px; font-size: 13.5px; line-height: 1.5; color: #a6a8b5; }
.mx-bars { display: flex; flex-direction: column; gap: 10px; }
.mx-bars > p { margin: 0; font-size: 13px; font-weight: 700; letter-spacing: .08em; color: #c5c6cf; }
.mx-bar { display: grid; grid-template-columns: 160px minmax(0, 1fr) 64px; gap: 14px; align-items: center; font-size: 14px; color: #a6a8b5; }
.mx-bar b { text-align: right; font-size: 15px; }
.mx-bar.is-new { color: #f2f1ef; }
.mx-track { display: block; height: 12px; background: #1c1e25; }
.mx-fill { display: block; height: 100%; min-width: 3px; background: #5a5c68; }
.is-new .mx-fill, .mx-fill.is-new { background: #ef4444; }
.mx-maker { display: flex; flex-direction: column; gap: 8px; }
.mx-maker > div { display: flex; justify-content: space-between; gap: 12px; font-size: 15px; }
.mx-maker > div span { color: #c5c6cf; }
.mx-maker > div strong { color: #f2f1ef; }
.mx-maker .mx-track { height: 6px; }
.mx-box-foot { margin-top: auto; padding-top: 18px; border-top: 1px solid #24262e; }
.mx-box-foot b { display: block; font-size: 15px; }
.mx-box-foot span { display: block; margin-top: 6px; font-size: 14px; line-height: 1.6; color: #bcbec9; }

/* workshop */
.mx-cards.mx-cards-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.mx-cards svg { display: block; margin-bottom: 16px; }

/* in-app rating */
.mx-rating { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 24px 48px; align-items: center; margin: 0 0 34px; padding: 28px 30px; background: #111318; border: 1px solid #2a2c36; border-radius: 6px; }
.mx-rating-score { display: flex; align-items: baseline; gap: 8px; }
.mx-rating-score strong { font-size: 64px; line-height: 1; font-weight: 800; letter-spacing: -.05em; }
.mx-rating-score span { font-size: 22px; font-weight: 700; color: #a6a8b5; }
.mx-stars { display: flex; gap: 3px; margin-top: 10px; color: #ef4444; }
.mx-rating p { margin: 0; font-size: 15px; line-height: 1.6; color: #bcbec9; }
.mx-dist { display: grid; gap: 7px; margin-top: 14px; max-width: 520px; }
.mx-dist > div { display: grid; grid-template-columns: 34px minmax(0, 1fr) 34px; gap: 10px; align-items: center; font-size: 13px; }
.mx-dist > div b { text-align: right; font-weight: 600; color: #c5c6cf; }
.mx-dist .mx-track { height: 7px; }

@media (max-width: 980px) {
  .mx-news-top, .mx-results, .mx-split { grid-template-columns: 1fr; }
  .mx-mods, .mx-steps, .mx-cards.mx-cards-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mx-head2 { grid-template-columns: 1fr; gap: 22px; }
  .mx-split { gap: 40px; }
}
@media (max-width: 820px) {
  .mx-strip.mx-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mx-strip.mx-stats strong { font-size: 26px; }
  .mx-timeline li { grid-template-columns: minmax(0, 1fr); }
  .mx-tl-rail { display: none; }
  .mx-tl-date { flex-direction: row; align-items: baseline; gap: 10px; margin-bottom: 6px; }
  .mx-tl-body { padding-bottom: 26px; }
  .mx-big { font-size: 48px; }
  .mx-rating { grid-template-columns: 1fr; }
  .mx-cards.mx-cards-3 { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
  .mx-mods, .mx-steps { grid-template-columns: 1fr; }
  .mx-bar { grid-template-columns: 110px minmax(0, 1fr) 54px; font-size: 13px; }
  .mx-news-foot .mx-actions { width: 100%; }
}

/* everything MasterX does: one wall of the app's real tiles, 42 cells = full rows at 7, 6, 3 and 2 columns */
.mx-wall { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 12px; margin: 0 0 22px; padding: 0; list-style: none; }
.mx-wall li { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; min-height: 142px; box-sizing: border-box; padding: 16px 16px 14px; background: #111318; border: 1px solid #24262e; border-radius: 6px; }
.mx-wall img { display: block; width: 64px; height: 52px; margin-bottom: 4px; object-fit: contain; object-position: left center; }
.mx-wall b { font-size: 14.5px; line-height: 1.3; }
.mx-wall-tag { margin-top: auto; font-size: 10.5px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: #8d8f9c; }
.mx-wall-tag.is-new { color: #f16b78; }
.mx-wall li.is-cta { padding: 0; border-color: #ef4444; background: #1c0709; }
.mx-wall li.is-cta a { display: flex; flex-direction: column; justify-content: space-between; gap: 10px; width: 100%; box-sizing: border-box; padding: 16px; color: #f2f1ef; text-decoration: none; }
.mx-wall li.is-cta a:hover { background: #2b0b0e; }
.mx-wall li.is-cta span { font-size: 16px; font-weight: 700; line-height: 1.3; }
.mx-wall li.is-cta b { font-size: 13px; font-weight: 800; letter-spacing: .06em; color: #ff8585; }
@media (max-width: 1200px) { .mx-wall { grid-template-columns: repeat(6, minmax(0, 1fr)); } }
@media (max-width: 900px) { .mx-wall { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 560px) {
  .mx-wall { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
  .mx-wall li { min-height: 0; gap: 5px; padding: 10px 9px; }
  .mx-wall img { width: 44px; height: 36px; margin-bottom: 2px; }
  .mx-wall b { font-size: 12px; line-height: 1.25; }
  .mx-wall-tag { font-size: 8.5px; letter-spacing: .05em; }
  .mx-wall li.is-cta a { padding: 10px 9px; }
  .mx-wall li.is-cta span { font-size: 13px; }
  .mx-wall li.is-cta b { font-size: 11px; }
}

/* two captures side by side (simple mode | advanced mode) */
.mx-shot-pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; align-items: start; margin-top: 36px; }
.mx-shot-pair .mx-shot { margin: 0; }
@media (max-width: 820px) { .mx-shot-pair { grid-template-columns: minmax(0, 1fr); gap: 26px; margin-top: 24px; } }

/* Community reviews (homepage), read from data/community-reviews.js — no name, no initial */
.mx-rv-scroll { max-height: 860px; overflow-y: auto; margin: 0 0 12px; padding: 0 8px 0 0; scrollbar-width: thin; scrollbar-color: #3a3b44 transparent; }
.mx-rv-scroll:focus-visible { outline: 2px solid #ef4444; outline-offset: 4px; }
.mx-rv-list { column-count: 3; column-gap: 14px; }   /* mosaic: a long review no longer stretches its row */
.mx-rv-hint { margin: 0 0 44px; }
.mx-rv { display: flex; flex-direction: column; gap: 10px; margin: 0 0 14px; padding: 20px 22px; background: #111318; border: 1px solid #2a2c36; border-radius: 6px; break-inside: avoid; }
.mx-rv-head { display: flex; align-items: center; gap: 10px; }
.mx-rv-date { margin-left: auto; font-size: 12.5px; color: #a6a8b5; white-space: nowrap; }
.mx-rv-stars { font-size: 15px; line-height: 1; letter-spacing: 1px; }
.mx-rv-stars .on { color: #ef4444; }
.mx-rv-stars .off { color: #3a3b44; }
.mx-rv-car { margin: 0; font-size: 12.5px; font-weight: 700; letter-spacing: .04em; color: #c5c6cf; }
.mx-rv-sol { margin: 0; font-size: 11.5px; font-weight: 700; letter-spacing: .06em; color: #f16b78; }
.mx-rv-text { margin: 0; font-size: 15px; line-height: 1.6; color: #e4e5ea; white-space: pre-line; overflow-wrap: anywhere; }
.mx-rv-reply { padding: 12px 14px; border-left: 2px solid #ef4444; border-radius: 0 6px 6px 0; background: #0e1014; }
.mx-rv-reply-who { display: block; margin-bottom: 4px; font-size: 12px; font-weight: 800; letter-spacing: .04em; color: #ff8585; }
.mx-rv-reply p { margin: 0; font-size: 14px; line-height: 1.55; color: #bcbec9; white-space: pre-line; overflow-wrap: anywhere; }
.mx-rv-more { display: flex; justify-content: center; margin: 0 0 48px; }
@media (max-width: 980px) { .mx-rv-list { column-count: 2; } }
@media (max-width: 640px) { .mx-rv-list { column-count: 1; } .mx-rv-scroll { max-height: 75vh; } }

/* « Obtenir MasterX » (accueil) : les trois licences en cartes, coffret + prix + bouton d'achat (2026-09-19) */
section.mx-close.mx-gm{display:block;padding:88px 40px!important;background:radial-gradient(80% 55% at 50% 0%,rgba(239,68,68,.12),transparent 72%),#101115!important}
.mx-gm-head{max-width:780px;margin:0 auto 40px;text-align:center}
.mx-gm .mx-gm-head h2{max-width:none;margin:0 0 16px}
.mx-gm-head .mx-close-lead{margin:0 auto;max-width:62ch}
.mx-gm-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;max-width:1180px;margin:0 auto;align-items:stretch}
.mx-gm-card{--acc:#8fb2ff;position:relative;display:flex;flex-direction:column;min-width:0;padding:22px 26px 26px;border:1px solid #2c2c33;border-radius:16px;background:radial-gradient(ellipse 90% 46% at 50% 0%,color-mix(in srgb,var(--acc) 15%,transparent),transparent 72%),#111114;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease,transform .16s ease}
.mx-gm-card.is-plus{--acc:#ff7676;border:1.5px solid #ef4444;background:radial-gradient(ellipse 90% 46% at 50% 0%,rgba(239,68,68,.22),transparent 72%),#161013;box-shadow:0 34px 90px -46px rgba(239,68,68,.75)}
.mx-gm-card.is-ultimate{--acc:#f2f1ef}
.mx-gm-card:hover{border-color:var(--acc);transform:translateY(-4px);background:radial-gradient(ellipse 90% 50% at 50% 0%,color-mix(in srgb,var(--acc) 22%,transparent),transparent 74%),#131317}
.mx-gm-card.is-plus:hover{border-color:#ff5c5c;background:radial-gradient(ellipse 90% 50% at 50% 0%,rgba(239,68,68,.3),transparent 74%),#181014}
.mx-gm-flag{position:absolute;top:0;left:50%;transform:translate(-50%,-50%);z-index:1;margin:0;padding:7px 14px;white-space:nowrap;box-shadow:0 8px 22px -6px rgba(239,68,68,.7);border-radius:999px;background:#ef4444;color:#fff;font-size:10.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;line-height:1.2}
.mx-gm-visual{height:180px;position:relative;overflow:hidden;pointer-events:none;margin:0 -16px 10px}
.mx-gm-visual>div{position:absolute;top:0;left:50%;width:360px;transform:translateX(-50%) scale(.46);transform-origin:top center}
.mx-gm-visual [style*="perspective"]{transform:none!important;padding-right:62px!important}
.mx-gm-kicker{margin:0 0 8px;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--acc)}
.mx-gm-card h3{margin:0 0 12px;font-size:27px;line-height:1.1;letter-spacing:-.035em}
.mx-gm-price{margin:0;font-size:46px;font-weight:800;line-height:1;letter-spacing:-.05em;white-space:nowrap;font-variant-numeric:tabular-nums}
.mx-gm-term{margin:10px 0 18px;font-size:12.5px;line-height:1.5;color:#aaa6af}.mx-gm-term b{color:#e2e0e5}
.mx-gm-points{list-style:none;margin:0 0 22px;padding:16px 0 0;border-top:1px solid #2d2d34;display:grid;gap:10px;flex:1;align-content:start}
.mx-gm-points li{display:flex;gap:10px;font-size:14px;line-height:1.45;color:#e6e4e9}
.mx-gm-points li:before{content:'✓';color:var(--acc);font-weight:800;flex:none}
.mx-gm-points li.is-off{color:#9d9ba3}.mx-gm-points li.is-off:before{content:'–';color:#6e6c74}
.mx-gm-cta{display:flex;align-items:center;justify-content:center;min-height:52px;border-radius:8px;border:1.5px solid var(--acc);color:var(--acc);background:color-mix(in srgb,var(--acc) 9%,transparent);font-size:15px;font-weight:800;text-decoration:none;transition:background .15s,color .15s,border-color .15s}
.mx-gm-cta:hover{background:var(--acc);color:#0a0a0c}
.mx-gm-card.is-plus .mx-gm-cta{background:#ef4444;border-color:#ef4444;color:#fff}.mx-gm-card.is-plus .mx-gm-cta:hover{background:#d93244;border-color:#d93244}
.mx-gm-more{align-self:center;margin-top:12px;font-size:13px;color:#c4c2c7;text-underline-offset:4px}.mx-gm-more:hover{color:#fff}
.mx-gm-foot{max-width:1180px;margin:30px auto 0;display:grid;justify-items:center;gap:16px;text-align:center}
.mx-gm-foot .mx-close-assurance{margin:0;justify-content:center}
.mx-gm-links{margin:0;display:flex;flex-wrap:wrap;justify-content:center;gap:8px 26px;font-size:14px}
.mx-gm-links a{color:#f2f1ef;text-underline-offset:4px}.mx-gm-links a:hover{color:#ff8585}
.mx-gm .mx-close-terms{max-width:92ch;margin:0}
@media (max-width:980px){.mx-gm-grid{grid-template-columns:minmax(0,1fr);max-width:520px;gap:30px}}
@media (max-width:560px){section.mx-close.mx-gm{padding:56px 16px!important}.mx-gm-card{padding:20px 18px 22px}.mx-gm-price{font-size:40px}.mx-gm-head{text-align:left}.mx-gm-foot{justify-items:start;text-align:left}.mx-gm-foot .mx-close-assurance,.mx-gm-links{justify-content:flex-start}}
