/* Four presentation improvements; no persistence or counter logic. */
.game-entry-v97 .game-portraits{position:relative;padding-top:48px;align-items:start}
.game-entry-v97 .game-portraits>span{align-self:center}
.game-entry-v97 .game-score-v97{position:absolute;inset:0 0 auto;margin:0;text-align:center;font-size:25px;font-weight:800;line-height:1.1}
.game-score-v97>span{font-weight:400;margin:0 8px}.game-score-v97 small{display:block;font-size:10px;font-weight:400;margin-top:3px}
.game-entry-v97 .event-actions{display:flex;flex-wrap:wrap;gap:8px}.game-entry-v97 .event-actions>button{min-height:44px}
.game-entry-v97 .event-actions>.primary{flex:1 1 100%}.game-entry-v97 .event-actions>button:not(.primary){flex:1}
.member-overview-v97{max-width:920px;margin:auto;padding:20px 0;color:#092f25}
.member-overview-v97 section{padding:0}.member-identity-v97{display:flex;align-items:center;gap:20px;margin-bottom:24px}
.member-identity-v97 h1{font-size:clamp(25px,4vw,38px);margin:4px 0 10px;letter-spacing:-.8px;line-height:1.15}
.member-identity-v97 p{margin:4px 0}.member-identity-v97 .eyebrow{font-size:11px;letter-spacing:1.3px}
.member-licence-image-v97{flex:none;width:90px;display:block}.member-licence-image-v97 img{display:block;width:100%;height:auto;max-height:150px;object-fit:contain;border-radius:6px}
.member-licence-v97{font-size:12px}.member-access-v97{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:24px}
.member-access-v97>a{display:grid;gap:8px;padding:18px 16px;background:#fffdf7;border:1px solid #ced5c7;border-radius:10px;text-decoration:none;color:inherit;min-width:0}
.member-access-v97 strong{display:flex;justify-content:space-between;gap:10px;font-size:17px}.member-access-v97>a>span{font-size:12px;font-weight:400}
.member-next-v97 h2{font-size:19px;margin:0 0 12px}.member-next-row-v97{display:grid;grid-template-columns:68px 1fr auto;gap:12px;align-items:center;text-decoration:none;color:inherit;border-top:1px solid #d9ddcf;padding:14px 0}
.member-next-row-v97 time{font-size:13px;font-weight:700}.member-next-row-v97 strong,.member-next-row-v97 small{display:block}.member-next-row-v97 small{font-size:12px;margin-top:3px;font-weight:400}
.member-account-actions-v97{display:flex;align-items:center;justify-content:flex-end;gap:20px;margin-top:28px;padding-top:16px;border-top:1px solid #d9ddcf;font-size:12px}
.member-account-actions-v97 button{background:transparent;color:#092f25;border:0;text-decoration:underline;padding:10px 0;min-height:44px;font:inherit;cursor:pointer}
/* Shared image stage preserves the original pixels. */
dialog.image-viewer-v97[open]{display:flex!important;flex-direction:column;gap:8px;overflow:hidden!important;width:min(1100px,96vw)!important;height:min(850px,94dvh)!important;max-height:94dvh!important;padding:12px!important;margin:auto!important}
.image-viewer-v97>.image-head-v60{flex:none;margin:0!important;min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:10px}
.image-viewer-v97>.image-head-v60 strong{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:13px}
.image-viewer-v97>button:first-child{align-self:flex-end;flex:none;min-height:44px;margin:0!important;position:static!important}
.image-stage-v97{position:relative;flex:1 1 auto;min-height:0;overflow:hidden;touch-action:none;user-select:none;background:#ece9df;display:flex;align-items:center;justify-content:center;border-radius:5px;isolation:isolate}
.image-stage-v97>img{display:block!important;position:static!important;max-width:100%!important;max-height:100%!important;width:auto!important;height:auto!important;object-fit:contain!important;margin:0!important;flex:none;transform-origin:center;will-change:transform;pointer-events:none}
.image-viewer-v97>.photo-controls-v34{flex:none;margin:0!important;display:flex;align-items:center;justify-content:space-between;gap:8px}
.image-viewer-v97>p{flex:none;font-size:12px;margin:0!important;max-height:36px;overflow:auto}
.image-zoom-tools-v97{display:flex;gap:8px;align-items:center;justify-content:center;flex:none;font-size:12px}
.image-zoom-tools-v97 button{min-height:40px;min-width:44px;border:1px solid #b8c4b5;border-radius:6px;padding:6px 12px;background:#fffdf7;color:#092f25;font:inherit}
.image-zoom-tools-v97 span{min-width:42px;text-align:center;font-variant-numeric:tabular-nums}
@media(max-width:700px){
 .rdv-tool #detail #rdv-form.game-entry-v97>.event-actions>.primary{flex:1 1 100%!important;font-size:14px}
 .rdv-tool #detail #rdv-form.game-entry-v97>.event-actions>button:not(.primary){flex:1 1 0!important}
 .game-entry-v97 .game-portraits{padding-top:42px;margin:8px 0;gap:10px}.game-entry-v97 .game-portraits img{max-height:138px;width:auto;max-width:100%}.game-entry-v97 .game-portraits>div{min-width:0}.game-entry-v97 .game-portraits b{font-size:13px}
 .game-entry-v97 .game-picker{gap:8px}.game-entry-v97 .game-picker label{font-size:12px}.game-entry-v97 .game-picker select{font-size:13px;padding:8px;min-height:44px}
 .game-entry-v97 .winner-choice{margin:8px 0}.game-entry-v97 .winner-choice label{min-height:44px}.game-entry-v97 .small-note{font-size:11px;line-height:1.35;margin:8px 0}.game-entry-v97 .event-actions{gap:6px}.game-entry-v97 .event-actions button{font-size:12px;padding:8px}
 .member-overview-v97{padding:8px 0}.member-identity-v97{gap:14px;margin-bottom:18px}.member-identity-v97 p{font-size:12px}.member-access-v97{grid-template-columns:1fr;gap:8px;margin-bottom:22px}.member-access-v97>a{padding:14px;grid-template-columns:1fr auto;align-items:center;gap:8px}.member-access-v97 strong{font-size:15px}.member-access-v97 strong span{display:none}.member-access-v97>a>span{font-size:11px;text-align:right}.member-next-row-v97{grid-template-columns:56px 1fr auto;gap:10px;padding:12px 0}.member-next-row-v97 strong{font-size:14px}.member-licence-image-v97{width:78px}
 #recent-cards .recent-heading{font-size:13px;margin-bottom:7px}#recent-list{gap:10px;padding-top:4px;padding-bottom:7px}#recent-list>li{flex-basis:96px}#recent-list .recent-card>span{padding:6px 0 0}#recent-list .recent-card strong{font-size:11px;line-height:1.2}#recent-list .recent-card small{display:none}#recent-cards{margin-bottom:9px}
 #collection .catalogue-heading{margin-bottom:7px}#collection .personal{margin-bottom:8px}#collection .filters{gap:6px!important}#collection .filters label{gap:3px;font-size:10px!important}#collection .filters input,#collection .filters select{min-height:42px!important;padding:7px 5px!important}
 #collection .catalogue-options{margin:8px 0;gap:7px 12px;align-items:center}#collection .catalogue-options .density-v87{width:100%;justify-content:space-between}#collection .catalogue-options .density-v87 button{min-height:38px;min-width:38px;padding:5px}#collection .catalogue-options>.check{font-size:10px}#collection #reset{font-size:10px;min-height:36px;margin-left:auto}#collection .album-tools-v103{margin:6px 0;gap:6px;font-size:10px}#collection .album-tools-v103 button{min-height:36px;padding:6px 9px}#collection #grid{margin-top:12px}
 dialog.image-viewer-v97[open]{width:100vw!important;height:100dvh!important;max-height:100dvh!important;max-width:100vw!important;border-radius:0!important;padding:max(8px,env(safe-area-inset-top)) 8px max(8px,env(safe-area-inset-bottom))!important}
}

/* 1.24.0 (Rudy) : invitation dans une bande, en haut de Mon espace (crème et vert foncé, comme le reste de l'espace). */
.bandes-invit-124 { display: grid; gap: 8px; margin: 0 0 14px; }
.bandes-invit-ligne-124 { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 12px; padding: 12px 14px; border: 1px solid #c8b88f; border-radius: 10px; background: #fbf6ea; color: #092f25; }
.bandes-invit-ligne-124 p { margin: 0; min-width: 0; font-size: 15px; line-height: 1.35; }
.bandes-invit-ligne-124 p.erreur { flex-basis: 100%; color: #b3261e; font-size: 13px; }
.bandes-invit-ligne-124 div { display: flex; gap: 8px; }
.bandes-invit-ligne-124 button { min-height: 40px; padding: 0 14px; border: 1px solid #092f25; border-radius: 8px; background: transparent; color: #092f25; font: inherit; font-weight: 700; cursor: pointer; }
.bandes-invit-ligne-124 button.oui { background: #092f25; color: #fbf6ea; }
.bandes-invit-ligne-124 a { color: #092f25; font-weight: 700; }

/* 1.29.0 (Rudy, maquette 1.1.0 validée) : le Prono Intercafés (/prono). Tout est rangé sous .pr-app. */
.pr-app { --pr-creme: #faf6ec; --pr-vert: #092e25; --pr-tapis: #176445; --pr-encre: #14241e; --pr-jaune: #efc650; --pr-trait: #d9ded3; max-width: 560px; margin: 0 auto; color: var(--pr-encre); font-family: Arial, Helvetica, sans-serif; font-size: 15px; overflow-wrap: break-word; }
.pr-app *, .pr-app *::before, .pr-app *::after { box-sizing: border-box; }
.pr-app button, .pr-app input { font: inherit; touch-action: manipulation; }
.pr-app button { cursor: pointer; }
.pr-app button:disabled { cursor: default; opacity: .55; }
.pr-fil { margin: 0 0 10px; }
.pr-fil a { color: var(--pr-vert); font-weight: 800; text-decoration: none; }
.pr-intro { background: var(--pr-vert); color: var(--pr-creme); padding: 22px 19px 20px; border-radius: 16px 16px 0 0; }
.pr-sur { font-size: 11px; letter-spacing: .15em; font-weight: 800; margin: 0 0 8px; color: #e4cf80; }
.pr-intro h1 { font-size: 34px; line-height: 1.03; letter-spacing: -1px; margin: 0; color: var(--pr-creme); }
.pr-intro p:last-child { font-size: 13px; color: #d5dfd3; margin: 11px 0 0; }
.pr-onglets { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 4px; padding: 8px 10px 10px; background: var(--pr-vert); border-radius: 0 0 16px 16px; }
.pr-onglets button { min-height: 44px; background: transparent; color: #ccdad0; border: 0; font-size: 13px; font-weight: 700; padding: 10px 2px; border-radius: 8px; }
.pr-onglets button[aria-selected="true"] { background: var(--pr-creme); color: var(--pr-vert); }
.pr-corps { padding: 20px 2px 24px; }
.pr-corps h2 { font-size: 24px; letter-spacing: -.5px; margin: 0 0 4px; color: var(--pr-vert); }
.pr-sub { font-size: 13px; color: #5e6f64; margin: 0 0 14px; }
.pr-compte { background: var(--pr-vert); color: var(--pr-creme); border-radius: 13px; padding: 14px 15px; margin-bottom: 16px; }
.pr-compte small { font-size: 10px; letter-spacing: .06em; color: #c9d7ca; }
.pr-compte strong { display: block; font-size: 20px; letter-spacing: -.4px; margin: 5px 0 10px; }
.pr-ligne { font-size: 12px; margin-bottom: 7px; }
.pr-barre { height: 5px; border-radius: 8px; background: #365346; overflow: hidden; }
.pr-barre i { display: block; height: 100%; width: 0; background: var(--pr-jaune); transition: width .2s; }
.pr-bientot { background: #fffdf7; border: 1px solid var(--pr-trait); border-left: 4px solid var(--pr-tapis); border-radius: 12px; padding: 14px 16px; margin: 0 0 16px; }
.pr-bientot strong { display: block; font-size: 18px; color: var(--pr-vert); margin-bottom: 4px; }
.pr-bientot p { margin: 0; font-size: 14px; color: #44574c; line-height: 1.45; }
.pr-affiche { background: #fffdf7; border: 1px solid var(--pr-trait); border-radius: 15px; margin-bottom: 13px; overflow: hidden; }
.pr-affiche-tete { padding: 9px 12px; background: #f1eee3; border-bottom: 1px solid #e5e2d7; font-size: 10px; letter-spacing: .07em; font-weight: 800; color: #4c5f53; }
.pr-duel { display: grid; grid-template-columns: minmax(0, 1fr) 36px minmax(0, 1fr); align-items: center; text-align: center; gap: 4px; padding: 12px 10px 10px; }
.pr-team { min-width: 0; }
.pr-team img { display: block; width: 100%; max-width: 140px; height: 72px; object-fit: contain; margin: 0 auto 6px; }
.pr-team b { display: block; font-size: 14px; line-height: 1.15; }
.pr-team small { display: block; color: #69766b; font-size: 11px; margin-top: 3px; }
.pr-vs { display: grid; place-items: center; min-width: 32px; height: 30px; padding: 0 4px; border-radius: 999px; background: var(--pr-vert); color: var(--pr-creme); font-weight: 900; font-size: 11px; }
.pr-choix { display: grid; gap: 6px; padding: 0 12px; }
.pr-choix button { width: 100%; min-height: 48px; background: #f6f6ee; border: 1px solid #d8ded1; border-radius: 8px; color: var(--pr-vert); text-align: left; padding: 9px 12px; font-size: 14px; font-weight: 700; }
.pr-choix button::before { content: '○'; margin-right: 8px; }
.pr-choix button[aria-pressed="true"] { background: var(--pr-tapis); border-color: var(--pr-tapis); color: #fffdf7; }
.pr-choix button[aria-pressed="true"]::before { content: '✓'; }
.pr-score { display: flex; align-items: center; gap: 6px; padding: 10px 13px 12px; font-size: 12px; color: #607063; }
.pr-score label { margin-right: auto; }
.pr-score input { width: 52px; min-width: 0; height: 44px; background: #fffdf7; border: 1px solid #d8ded1; border-radius: 6px; text-align: center; font-size: 15px; padding: 2px; -moz-appearance: textfield; }
.pr-score input::-webkit-inner-spin-button { -webkit-appearance: none; }
.pr-valider { width: 100%; min-height: 50px; border: 0; border-radius: 10px; background: var(--pr-vert); color: var(--pr-creme); font-weight: 800; font-size: 15px; }
.pr-retour { font-size: 13px; line-height: 1.4; color: var(--pr-tapis); margin: 10px 0; }
.pr-regles { font-size: 13px; line-height: 1.6; color: #607063; margin: 14px 0; }
.pr-equipes { margin-top: 20px; padding-top: 15px; border-top: 1px solid var(--pr-trait); }
.pr-equipes h3 { font-size: 14px; margin: 0 0 10px; color: var(--pr-vert); }
.pr-grille { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.pr-mini { text-align: center; min-width: 0; }
.pr-mini img { width: 72px; max-width: 100%; height: 44px; object-fit: contain; }
.pr-mini b { display: block; font-size: 11px; color: #5e6f64; margin-top: 3px; }
.pr-total { margin: 14px 0 18px; background: var(--pr-vert); border-radius: 15px; color: var(--pr-creme); padding: 18px; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.pr-total span { display: block; font-size: 13px; }
.pr-total small { font-size: 11px; color: #bdcebf; line-height: 1.5; }
.pr-total strong { font-size: 64px; letter-spacing: -3px; line-height: 1; }
.pr-total em { font-size: 13px; font-style: normal; margin-left: 6px; letter-spacing: 0; }
.pr-resultat .pr-vs { background: #e8ede3; color: var(--pr-vert); border-radius: 7px; }
.pr-info { padding: 0 13px; color: #607063; font-size: 13px; margin: 0 0 10px; }
.pr-tampon { margin: 0 13px 13px; border-radius: 7px; padding: 10px 12px; font-size: 11px; font-weight: 900; letter-spacing: .06em; display: flex; align-items: center; gap: 10px; }
.pr-tampon strong { font-size: 24px; letter-spacing: -.5px; line-height: 1; }
.pr-tampon small { display: block; font-size: 11px; font-weight: 400; letter-spacing: 0; margin-top: 3px; }
.pr-jaune { background: var(--pr-jaune); color: #352e0b; }
.pr-vert { background: #dceadc; color: #155333; }
.pr-gris { background: #e9e9e3; color: #657063; }
.pr-bascule { display: grid; grid-template-columns: 1fr 1fr; gap: 5px; padding: 4px; background: #e9eddf; border-radius: 10px; margin: 14px 0 10px; }
.pr-bascule button { border: 0; background: transparent; color: #546659; border-radius: 7px; min-height: 44px; font-size: 13px; font-weight: 800; }
.pr-bascule button[aria-pressed="true"] { background: var(--pr-vert); color: var(--pr-creme); }
.pr-podium { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: end; gap: 7px; margin: 24px 0 18px; text-align: center; }
.pr-podium > div { min-width: 0; }
.pr-podium-un { order: 2; }
.pr-podium-deux { order: 1; }
.pr-podium-trois { order: 3; }
.pr-avatar { display: grid; place-items: center; margin: 0 auto 8px; width: 42px; height: 42px; border-radius: 50%; background: #e7ebdf; color: var(--pr-vert); font-weight: 900; border: 1px solid #d1d9c8; }
.pr-podium b { display: block; font-size: 13px; margin-bottom: 3px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pr-podium small { font-size: 11px; color: #637367; }
.pr-marche { background: #e4e9dc; margin-top: 10px; border-radius: 9px 9px 0 0; padding: 15px 5px 13px; font-size: 22px; font-weight: 900; color: #5a6c58; }
.pr-podium-un .pr-marche { padding-top: 29px; background: var(--pr-jaune); color: #51441c; }
.pr-podium-un .pr-avatar { background: var(--pr-jaune); border-color: #cbb257; }
.pr-podium .pr-moi b { color: var(--pr-tapis); }
.pr-liste { padding: 0; list-style: none; margin: 0; border: 1px solid var(--pr-trait); border-radius: 12px; overflow: hidden; }
.pr-liste li { display: grid; grid-template-columns: 26px minmax(0, 1fr) auto; gap: 9px; align-items: center; padding: 14px 13px; background: #fffdf7; border-bottom: 1px solid #e3e7da; font-size: 14px; }
.pr-liste li:last-child { border: 0; }
.pr-liste li.pr-moi { background: var(--pr-vert); color: var(--pr-creme); }
.pr-rang { font-size: 12px; opacity: .7; }
.pr-liste strong { font-size: 18px; }
.pr-liste small { font-size: 11px; font-weight: 400; }
.pr-vide { color: #5e6f64; font-size: 14px; }
/* 1.29.0 : l'entrée depuis Mon espace (Ton billard) et le lien de la page Intercafés. */
.me-prono-129 { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 12px 0 0; padding: 12px 14px; border-radius: 12px; background: #092e25; color: #faf6ec; text-decoration: none; }
.me-prono-129 b { display: block; font-size: 15px; }
.me-prono-129 small { display: block; font-size: 12px; color: #c9d7ca; }
.me-prono-129 span:last-child { font-weight: 800; color: #efc650; }

/* 1.30.0 (Rudy, maquette 1.2.0) : Mon petit billard (/mon-petit-billard), rangé sous .pr-app avec le Prono. */
.me-mpb-130 { margin-top: 8px; background: #176445; }
.pr-intro.mpb-intro-seule { border-radius: 16px; }
.mpb-entrees { display: grid; gap: 10px; }
.mpb-entree { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 16px; border-radius: 13px; background: #fffdf7; border: 1px solid var(--pr-trait); color: var(--pr-vert); text-decoration: none; font-weight: 800; }
.mpb-entree b { display: block; font-size: 16px; }
.mpb-entree small { display: block; font-size: 13px; font-weight: 400; color: #607063; margin-top: 4px; }
.mpb-entree > span:last-child { font-size: 20px; color: #9b382d; }
.mpb-bientot { opacity: .7; }
.mpb-bientot em { font-style: normal; font-size: 11px; letter-spacing: .06em; text-transform: uppercase; background: #e5eadc; border-radius: 6px; padding: 6px 8px; }
.mpb-budget { display: flex; justify-content: space-between; align-items: center; gap: 12px; background: var(--pr-vert); color: var(--pr-creme); border-radius: 14px; padding: 18px; margin: 14px 0; }
.mpb-budget b { font-size: 15px; }
.mpb-budget small { display: block; color: #cbd9c9; font-size: 12px; line-height: 1.6; }
.mpb-budget strong { font-size: 58px; line-height: 1; letter-spacing: -3px; }
.mpb-depasse strong { color: var(--pr-jaune); }
.mpb-case { display: grid; grid-template-columns: 38px 44px minmax(0, 1fr) auto; align-items: center; gap: 8px; padding: 12px 9px; border: 1px solid var(--pr-trait); border-radius: 11px; background: #fffdf7; margin-bottom: 8px; }
.mpb-case b { font-size: 15px; color: var(--pr-vert); }
.mpb-case small { display: block; font-size: 12px; color: #61705f; margin-top: 3px; }
.mpb-case button { border: 0; background: transparent; color: #9b382d; font-size: 20px; min-width: 44px; min-height: 44px; }
.mpb-absent { opacity: .65; }
.mpb-ordre { font-size: 11px; color: #70806c; }
.mpb-pastille { display: grid; place-items: center; width: 42px; height: 44px; border-radius: 9px; background: #e6eadc; color: var(--pr-vert); font-weight: 900; font-size: 18px; overflow: hidden; }
.mpb-pastille img { width: 100%; height: 100%; object-fit: contain; }
.mpb-action { display: block; width: 100%; min-height: 50px; border: 0; border-radius: 10px; font-weight: 800; font-size: 15px; margin: 4px 0 10px; }
.mpb-secondaire { background: #e5eadc; color: var(--pr-vert); }
.mpb-tampon { background: var(--pr-jaune); color: #352e0b; border-radius: 10px; padding: 14px; font-size: 13px; line-height: 1.5; margin: 14px 0 0; }
.mpb-filtres { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin: 14px 0 6px; }
.mpb-filtres label { font-size: 12px; color: #607063; min-width: 0; }
.mpb-filtres select { display: block; width: 100%; min-height: 44px; margin-top: 4px; border: 1px solid var(--pr-trait); border-radius: 8px; background: #fffdf7; color: var(--pr-vert); font-size: 14px; padding: 6px; }
.mpb-joueur { display: grid; grid-template-columns: 44px minmax(0, 1fr) 56px; gap: 10px; align-items: start; background: #fffdf7; border: 1px solid var(--pr-trait); border-radius: 13px; padding: 13px 11px; margin-bottom: 9px; }
.mpb-logo { width: 44px; height: 40px; object-fit: contain; }
.mpb-joueur h3 { margin: 0 0 4px; font-size: 17px; color: var(--pr-vert); }
.mpb-meta { font-size: 12px; color: #607063; line-height: 1.5; }
.mpb-prix { text-align: right; color: var(--pr-vert); }
.mpb-prix strong { font-size: 27px; letter-spacing: -1px; }
.mpb-prix small { display: block; font-size: 11px; color: #607063; }
.mpb-joueur footer { grid-column: 1 / -1; display: flex; align-items: center; gap: 6px; border-top: 1px solid #e8eadf; padding-top: 9px; font-size: 12px; color: #607063; }
.mpb-joueur footer span { flex: 1; min-width: 0; }
.mpb-joueur footer button { flex-shrink: 0; min-height: 40px; border: 0; border-radius: 7px; background: var(--pr-vert); color: var(--pr-creme); font-size: 13px; font-weight: 700; padding: 8px 10px; }
.mpb-joueur footer button.mpb-reserve { background: #e5eadc; color: var(--pr-vert); }
.mpb-pris { font-style: normal; font-weight: 800; color: var(--pr-tapis); }
.mpb-hausse { color: var(--pr-tapis); font-weight: 800; }
.mpb-baisse { color: #a44336; font-weight: 800; }
.mpb-pied { font-size: 12px; color: #607063; border-top: 1px solid var(--pr-trait); padding-top: 12px; margin: 0; }

/* 1.30.1 (Rudy) : la vignette « Mon petit billard » de Mon espace (entre le prochain RDV et Ton billard). */
.me-mpb-131 { display: grid; gap: 16px; padding: 20px 18px 18px; border-radius: 18px; color: #faf6ec; background: radial-gradient(circle at 92% 0%, rgb(239 198 80 / 0.2), transparent 45%), linear-gradient(150deg, #0d3f30, #092e25 55%, #061f18); box-shadow: 0 10px 26px rgb(9 46 37 / 0.22); overflow: hidden; }
.me-mpb-tete { display: grid; gap: 14px; }
html body .me-page .me-mpb-131 .me-mpb-sur { margin: 0 0 6px; color: #efc650; font: 800 11px/1.2 Arial, Helvetica, sans-serif; letter-spacing: 0.16em; text-transform: uppercase; }
html body .me-page .me-mpb-131 h2 { margin: 0; color: #faf6ec; font: 900 clamp(30px, 8.6vw, 44px) / 0.98 Arial, Helvetica, sans-serif; letter-spacing: -0.03em; text-transform: uppercase; }
html body .me-page .me-mpb-131 .me-mpb-accroche { margin: 10px 0 0; color: #d5dfd3; font: 400 15px/1.45 Arial, Helvetica, sans-serif; max-width: 34ch; }
.me-mpb-rebours { display: grid; gap: 2px; margin: 0; padding: 12px 14px; border-radius: 12px; background: rgb(250 246 236 / 0.08); border: 1px solid rgb(239 198 80 / 0.45); }
.me-mpb-rebours span { color: #d5dfd3; font: 700 12px/1.3 Arial, Helvetica, sans-serif; letter-spacing: 0.04em; text-transform: uppercase; }
.me-mpb-rebours b { color: #efc650; font: 900 28px/1.1 Arial, Helvetica, sans-serif; letter-spacing: -0.02em; font-variant-numeric: tabular-nums; }
.me-mpb-rebours small { color: #d5dfd3; font-size: 13px; }
.me-mpb-parties { display: grid; gap: 10px; }
.me-mpb-partie { display: grid; grid-template-columns: 40px minmax(0, 1fr) auto; align-items: center; gap: 12px; min-height: 76px; padding: 13px 14px; border-radius: 14px; background: #faf6ec; color: #092e25; text-decoration: none; transition: transform 0.15s ease; }
.me-mpb-partie:hover, .me-mpb-partie:focus-visible { transform: translateY(-2px); outline: 3px solid #efc650; outline-offset: 2px; }
.me-mpb-num { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: #efc650; color: #092e25; font: 900 19px/1 Arial, Helvetica, sans-serif; }
.me-mpb-texte { display: grid; gap: 3px; min-width: 0; }
.me-mpb-texte b { font: 800 16px/1.2 Arial, Helvetica, sans-serif; }
.me-mpb-texte small { color: #4c5f52; font: 700 13px/1.35 Arial, Helvetica, sans-serif; }
.me-mpb-fleche { color: #176445; font-size: 20px; font-weight: 800; }
.me-mpb-logos { display: flex; gap: 5px; margin-top: 5px; }
.me-mpb-logos span { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 8px; background: #e6eadc; color: #092e25; font-weight: 900; overflow: hidden; }
.me-mpb-logos span.me-mpb-res { margin-left: 6px; outline: 2px dashed #9fb09a; outline-offset: 1px; }
.me-mpb-logos img { width: 100%; height: 100%; object-fit: contain; }
.me-mpb-bientot { background: rgb(250 246 236 / 0.1); color: #faf6ec; border: 1px dashed rgb(250 246 236 / 0.35); }
.me-mpb-bientot .me-mpb-num { background: rgb(250 246 236 / 0.18); color: #faf6ec; }
.me-mpb-bientot .me-mpb-texte small { color: #efc650; letter-spacing: 0.08em; text-transform: uppercase; }
.me-mpb-bientot .me-mpb-fleche { color: #d5dfd3; }
.me-mpb-jouer { display: block; min-height: 56px; padding: 16px; border-radius: 13px; background: #efc650; color: #092e25; text-align: center; text-decoration: none; font: 900 19px/1.25 Arial, Helvetica, sans-serif; letter-spacing: 0.08em; text-transform: uppercase; box-shadow: 0 6px 0 #b9922a; }
.me-mpb-jouer:hover, .me-mpb-jouer:focus-visible { background: #f5d36b; outline: 3px solid #faf6ec; outline-offset: 2px; }
.me-mpb-jouer:active { transform: translateY(3px); box-shadow: 0 3px 0 #b9922a; }
@media (min-width: 760px) {
  .me-mpb-131 { padding: 26px 26px 24px; }
  .me-mpb-tete { grid-template-columns: minmax(0, 1fr) auto; align-items: end; }
  .me-mpb-rebours { min-width: 230px; }
  .me-mpb-parties { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .me-mpb-partie { grid-template-columns: 40px minmax(0, 1fr); align-items: start; align-content: start; min-height: 128px; }
  .me-mpb-texte { padding-top: 9px; }
  .me-mpb-partie .me-mpb-fleche { display: none; }
  .me-mpb-jouer { justify-self: end; min-width: 260px; }
}
@media (prefers-reduced-motion: reduce) { .me-mpb-partie, .me-mpb-jouer { transition: none; } }

/* 1.30.2 (Rudy) : sous « Ton équipe », ce qui arrive après la journée (rencontre et classement). */
.me-mpb-plus { display: inline-block; justify-self: start; margin-top: 6px; padding: 3px 8px; border-radius: 6px; background: #e5eadc; color: #176445; font: 700 11px/1.3 Arial, Helvetica, sans-serif; font-style: normal; letter-spacing: 0.02em; }

/* 1.30.3 (Rudy) : barre fixe de la composition (crédits, 4 places, enregistré), Retirer, remplacer, joueur trop cher. */
.pr-app.mpb-avec-barre { padding-bottom: calc(96px + env(safe-area-inset-bottom, 0px)); }
.mpb-barre { position: fixed; left: 0; right: 0; bottom: 0; z-index: 40; padding: 8px max(10px, env(safe-area-inset-right, 0px)) calc(8px + env(safe-area-inset-bottom, 0px)) max(10px, env(safe-area-inset-left, 0px)); background: #092e25; box-shadow: 0 -6px 18px rgb(0 0 0 / 0.25); }
.mpb-barre-dedans { display: flex; align-items: center; gap: 10px; max-width: 560px; margin: 0 auto; color: #faf6ec; }
.mpb-barre-credits { display: grid; margin: 0; min-width: 0; line-height: 1.1; }
.mpb-barre-credits small { color: #cbd9c9; font-size: 11px; }
.mpb-barre-credits strong { color: #efc650; font-size: 18px; white-space: nowrap; }
.mpb-barre-credits.mpb-depasse strong { color: #ff9b8a; }
.mpb-barre-places { display: flex; gap: 5px; margin-left: auto; }
.mpb-barre-places button { position: relative; display: grid; place-items: center; width: 40px; height: 40px; padding: 0; border: 0; border-radius: 9px; background: #e6eadc; color: #092e25; font-weight: 900; font-size: 18px; overflow: visible; }
.mpb-barre-places button img { width: 100%; height: 100%; object-fit: contain; border-radius: 9px; }
.mpb-barre-places button i { position: absolute; right: -4px; bottom: -4px; min-width: 16px; height: 16px; padding: 0 3px; border-radius: 8px; background: #efc650; color: #092e25; font: 900 10px/16px Arial, Helvetica, sans-serif; font-style: normal; }
.mpb-barre-places button.mpb-res { outline: 2px dashed #9fb09a; outline-offset: 1px; }
.mpb-barre-places button.mpb-cible { box-shadow: 0 0 0 3px #efc650; }
.mpb-barre-etat { flex-shrink: 0; }
.mpb-barre-valider { min-height: 40px; border: 0; border-radius: 9px; padding: 8px 14px; background: #efc650; color: #092e25; font-weight: 900; font-size: 14px; }
.mpb-ok { color: #9fdcb4; font-weight: 800; font-size: 13px; white-space: nowrap; }
.mpb-attente { display: block; max-width: 86px; color: #cbd9c9; font-size: 11px; line-height: 1.25; }
.mpb-retirer { min-height: 40px; border: 1px solid #c9a39c; border-radius: 8px; background: #fff3f0; color: #9b382d; font-weight: 800; font-size: 13px; padding: 8px 10px; flex-shrink: 0; }
.mpb-case .mpb-retirer { font-size: 13px; color: #9b382d; min-width: 0; min-height: 40px; }
.mpb-case .mpb-choisir { font-size: 13px; color: #176445; font-weight: 800; min-width: 0; }
.mpb-joueur footer button:disabled { background: #d9ded3; color: #6f7d70; cursor: not-allowed; opacity: 1; }
.mpb-manque { color: #9b382d; font-weight: 800; }
.mpb-choisi { border-color: #176445; box-shadow: inset 4px 0 0 #176445; }
.mpb-valide:disabled { background: #e5eadc; color: #176445; opacity: 1; }
.mpb-rappel { margin-top: 8px; }
@media (max-width: 380px) { .mpb-barre-places button { width: 36px; height: 36px; } .mpb-barre-credits strong { font-size: 16px; } }

/* 1.30.5 (Rudy) : Mon équipe en un seul écran ; la liste des joueurs monte du bas. Plus de marché ni de barre du bas. */
.mpb-haut { position: sticky; top: var(--mpb-haut, 0px); z-index: 20; display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 12px 0 6px; padding: 12px 16px; border-radius: 14px; background: var(--pr-vert); color: var(--pr-creme); box-shadow: 0 6px 16px rgb(9 46 37 / 0.18); }
.mpb-haut p { display: flex; align-items: baseline; gap: 6px; flex-wrap: wrap; margin: 0; }
.mpb-haut small { color: #cbd9c9; font-size: 13px; }
.mpb-haut strong { color: var(--pr-jaune); font-size: 24px; letter-spacing: -0.5px; }
.mpb-haut.mpb-depasse strong { color: #ff9b8a; }
.mpb-haut-valider { min-height: 44px; border: 0; border-radius: 9px; padding: 8px 16px; background: var(--pr-jaune); color: var(--pr-vert); font-weight: 900; font-size: 15px; }
.mpb-places { display: grid; gap: 10px; margin: 8px 0 14px; }
.mpb-place { display: grid; gap: 8px; padding: 10px 12px 12px; border: 1px solid var(--pr-trait); border-radius: 14px; background: #fffdf7; }
.mpb-place-res { border-style: dashed; border-color: #9fb09a; }
.mpb-place-nom { font-size: 11px; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; color: #607063; }
.mpb-plus { display: flex; align-items: center; gap: 12px; width: 100%; min-height: 64px; padding: 10px 12px; border: 2px dashed #b8c5b2; border-radius: 12px; background: #f3f5ec; color: var(--pr-vert); font-weight: 800; font-size: 15px; text-align: left; }
.mpb-plus span { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 50%; background: var(--pr-vert); color: var(--pr-jaune); font-size: 26px; line-height: 1; }
.mpb-place-joueur { display: grid; grid-template-columns: 54px minmax(0, 1fr) auto; align-items: center; gap: 12px; width: 100%; padding: 0; border: 0; background: transparent; color: var(--pr-vert); text-align: left; }
.mpb-place-visuel, .mpb-choix-visuel { display: grid; place-items: center; width: 54px; height: 76px; object-fit: contain; border-radius: 6px; background: #e6eadc; font-weight: 900; font-size: 20px; color: var(--pr-vert); }
img.mpb-carte { object-fit: cover; box-shadow: 0 3px 8px rgb(0 0 0 / 0.18); }
.mpb-place-texte, .mpb-choix-texte { display: grid; gap: 2px; min-width: 0; }
.mpb-place-texte b, .mpb-choix-texte b { font-size: 16px; }
.mpb-place-texte small, .mpb-choix-texte small { font-size: 12px; color: #607063; }
.mpb-place-prix, .mpb-choix-prix { text-align: right; color: var(--pr-vert); }
.mpb-place-prix strong, .mpb-choix-prix strong { display: block; font-size: 26px; line-height: 1; }
.mpb-place-prix small, .mpb-choix-prix small { font-size: 11px; color: #607063; }
.mpb-place-actions { display: flex; gap: 8px; justify-content: flex-end; }
.mpb-place-actions button { min-height: 40px; border-radius: 8px; padding: 8px 12px; font-weight: 800; font-size: 13px; border: 1px solid var(--pr-trait); background: #f3f5ec; color: var(--pr-vert); }
.mpb-place-actions .mpb-retirer, .mpb-feuille-pied .mpb-retirer { border-color: #c9a39c; background: #fff3f0; color: #9b382d; }
html.mpb-feuille-ouverte, html.mpb-feuille-ouverte body { overflow: hidden; }
.mpb-fond { position: fixed; inset: 0; z-index: 60; background: rgb(6 31 24 / 0.55); }
.mpb-feuille { position: fixed; left: 0; right: 0; bottom: 0; top: 0; z-index: 61; display: flex; flex-direction: column; background: var(--pr-creme); color: var(--pr-encre); animation: mpb-monte 0.22s ease-out; padding-bottom: env(safe-area-inset-bottom, 0px); }
@keyframes mpb-monte { from { transform: translateY(40px); opacity: 0.6; } to { transform: none; opacity: 1; } }
.mpb-feuille-tete { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; padding: max(14px, env(safe-area-inset-top, 0px)) max(16px, env(safe-area-inset-right, 0px)) 12px max(16px, env(safe-area-inset-left, 0px)); background: var(--pr-vert); color: var(--pr-creme); }
.mpb-feuille-tete h3 { margin: 0; font-size: 19px; color: var(--pr-creme); }
.mpb-feuille-tete p { margin: 4px 0 0; font-size: 13px; color: #cbd9c9; }
.mpb-feuille-tete b { color: var(--pr-jaune); }
.mpb-fermer { flex-shrink: 0; width: 44px; height: 44px; border: 0; border-radius: 50%; background: rgb(250 246 236 / 0.14); color: var(--pr-creme); font-size: 18px; }
.mpb-feuille-filtres { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 6px; padding: 10px max(16px, env(safe-area-inset-right, 0px)) 8px max(16px, env(safe-area-inset-left, 0px)); border-bottom: 1px solid var(--pr-trait); }
.mpb-feuille-filtres label { font-size: 11px; color: #607063; min-width: 0; }
.mpb-feuille-filtres select { display: block; width: 100%; min-height: 40px; margin-top: 3px; border: 1px solid var(--pr-trait); border-radius: 8px; background: #fffdf7; color: var(--pr-vert); font-size: 13px; padding: 4px; }
.mpb-feuille-liste { flex: 1; overflow-y: auto; overscroll-behavior: contain; margin: 0; padding: 10px max(16px, env(safe-area-inset-right, 0px)) 16px max(16px, env(safe-area-inset-left, 0px)); list-style: none; display: grid; gap: 8px; align-content: start; }
.mpb-choix { display: grid; grid-template-columns: 54px minmax(0, 1fr) auto; align-items: center; gap: 12px; width: 100%; padding: 10px 12px; border: 1px solid var(--pr-trait); border-radius: 12px; background: #fffdf7; color: var(--pr-vert); text-align: left; }
.mpb-choix:not(:disabled):hover, .mpb-choix:not(:disabled):focus-visible { border-color: var(--pr-tapis); box-shadow: 0 0 0 2px var(--pr-tapis); }
.pr-app .mpb-choix:disabled { opacity: 1; cursor: not-allowed; background: #eef0e8; }
.mpb-choix-off .mpb-choix-visuel, .mpb-choix-off .mpb-choix-prix { opacity: 0.45; }
.mpb-choix-texte em { font-style: normal; font-size: 12px; font-weight: 800; margin-top: 2px; }
.mpb-ici, .mpb-deja { color: var(--pr-tapis); }
.mpb-feuille-pied { padding: 10px max(16px, env(safe-area-inset-right, 0px)) 12px max(16px, env(safe-area-inset-left, 0px)); border-top: 1px solid var(--pr-trait); }
.mpb-feuille-pied .mpb-retirer { width: 100%; min-height: 46px; border-radius: 10px; border: 1px solid; font-weight: 800; font-size: 14px; }
@media (min-width: 760px) {
  .mpb-feuille { top: 6vh; bottom: 0; left: 50%; right: auto; width: min(640px, 100vw); transform: translateX(-50%); border-radius: 18px 18px 0 0; overflow: hidden; animation: none; }
  .mpb-places { grid-template-columns: 1fr 1fr; }
}
@media (prefers-reduced-motion: reduce) { .mpb-feuille { animation: none; } }

/* 1.31.0 (Rudy) : Ma rencontre reprend l'affichage des feuilles de match Intercafés du site (rdv-1-0-0.css, rendu final),
   ici rangé sous .pr-app ; le manager remplace le logo d'équipe. Puis le classement de la saison. */
.pr-app .fm-feuille { display: grid; gap: 12px; box-sizing: border-box; width: 100%; max-width: 620px; margin: 10px auto 14px; padding: 16px 14px 14px; overflow: hidden; border-radius: 14px; background: #fbf6e9; border-top: 6px solid #0b3d2c; border-bottom: 6px solid #0b3d2c; color: #0b3d2c; text-align: left; }
.pr-app .fm-tete { display: grid; justify-items: start; gap: 2px; margin: 0; }
.pr-app .fm-tete b { font: 900 22px/1 Impact, "Arial Narrow", Arial, sans-serif; letter-spacing: .02em; text-transform: uppercase; }
.pr-app .fm-tete span { font: 700 14px/1.3 Arial, Helvetica, sans-serif; color: #2f6a4f; }
.pr-app .fm-affiche { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; gap: 10px; padding: 12px; border-radius: 10px; background: #fffdf7; }
.pr-app .fm-equipe { display: grid; justify-items: center; gap: 4px; min-width: 0; text-align: center; }
.pr-app .fm-equipe b { display: block; color: #0b3d2c; font: 800 14px/1.2 Arial, Helvetica, sans-serif; overflow-wrap: anywhere; }
.pr-app .fm-manager { display: grid; place-items: center; width: 64px; height: 64px; border-radius: 50%; background: #0b3d2c; color: #f2c531; font: 900 30px/1 Impact, "Arial Narrow", Arial, sans-serif; }
.pr-app .fm-score { display: inline-flex; align-items: center; gap: 6px; padding: 6px 14px; border-radius: 12px; background: #0b3d2c; color: #fffaf0; font: 900 30px/1 Impact, "Arial Narrow", Arial, sans-serif; letter-spacing: .02em; white-space: nowrap; }
.pr-app .fm-score i { font-style: normal; color: #f2c531; }
.pr-app .fm-lieu { margin: 0; padding: 8px 10px; border-radius: 6px; background: #0b3d2c; color: #fff; font: 700 13px/1.2 Arial, Helvetica, sans-serif; letter-spacing: .04em; text-align: center; text-transform: uppercase; }
.pr-app .fm-cartes { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.pr-app .fm-cartes > span { display: flex; flex-wrap: wrap; gap: 4px; min-width: 0; }
.pr-app .fm-cartes > span:last-child { justify-content: flex-end; }
.pr-app .fm-carte { width: 48px; height: auto; aspect-ratio: 120 / 168; border-radius: 4px; box-shadow: 0 1px 3px rgba(0, 0, 0, .25); object-fit: cover; }
.pr-app .fm-carte-vide { display: grid; place-items: center; padding: 2px; background: #e8e2d0; color: #4a5a52; font: 700 9px/1.1 Arial, Helvetica, sans-serif; text-align: center; overflow: hidden; box-shadow: none; }
.pr-app .fm-note { margin: 0; color: #2f6a4f; font: 700 12px/1.4 Arial, Helvetica, sans-serif; }
.pr-app .fm-serie { width: 100%; table-layout: fixed; border-collapse: collapse; margin-top: 8px; font: 400 14px/1.3 Arial, Helvetica, sans-serif; }
.pr-app .fm-serie col.fm-c-nom { width: 38%; }
.pr-app .fm-serie col.fm-c-n { width: 12%; }
.pr-app .fm-serie th, .pr-app .fm-serie td { padding: 7px 10px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pr-app .fm-serie th { background: #0b3d2c; color: #fff; font: 800 13px/1.2 Arial, Helvetica, sans-serif; text-transform: uppercase; }
.pr-app .fm-serie .fm-s-titre { text-align: left; }
.pr-app .fm-serie .fm-s-score { text-align: center; }
.pr-app .fm-serie td { border-bottom: 1px solid #e3dcc8; font-weight: 700; color: #0b3d2c; }
.pr-app .fm-serie tr:nth-child(even) td { background: #f1ecdd; }
.pr-app .fm-serie tr:nth-child(odd) td { background: #fffdf7; }
.pr-app .fm-serie .fm-n { text-align: center; font-weight: 800; }
.pr-app .fm-serie .fm-j-dom { text-align: left; }
.pr-app .fm-serie .fm-j-ext { text-align: right; }
@media (max-width: 640px) {
  .pr-app .fm-score { font-size: 24px; padding: 5px 10px; }
  .pr-app .fm-manager { width: 52px; height: 52px; font-size: 24px; }
  .pr-app .fm-equipe b { font-size: 12.5px; }
  .pr-app .fm-serie th, .pr-app .fm-serie td { padding: 6px; font-size: 13px; }
  .pr-app .fm-carte { width: 40px; }
}
.mpb-total { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 4px 0 18px; padding: 14px 16px; border-radius: 14px; background: var(--pr-vert); color: var(--pr-creme); }
.mpb-total span { font-size: 14px; color: #cbd9c9; }
.mpb-total strong { color: var(--pr-jaune); font-size: 30px; white-space: nowrap; }
.mpb-total small { font-size: 13px; color: #cbd9c9; }
.mpb-sous-titre { margin: 16px 0 8px; font-size: 16px; color: var(--pr-vert); }
.mpb-classement { width: 100%; border-collapse: collapse; margin: 6px 0 12px; border-radius: 12px; overflow: hidden; font-size: 15px; }
.mpb-classement th { padding: 9px 8px; background: var(--pr-vert); color: var(--pr-creme); font-size: 12px; text-transform: uppercase; letter-spacing: .04em; text-align: right; }
.mpb-classement td { padding: 11px 8px; border-bottom: 1px solid var(--pr-trait); background: #fffdf7; color: var(--pr-vert); text-align: right; }
.mpb-classement th:nth-child(-n+2), .mpb-classement td:nth-child(-n+2) { text-align: left; }
.mpb-classement td:first-child { width: 32px; font-weight: 800; }
.mpb-classement tr.mpb-moi td { background: var(--pr-vert); color: var(--pr-creme); }
.mpb-classement tr.mpb-moi td small { color: var(--pr-jaune); }

/* 1.32.0 (Rudy) : identité de Mon petit billard. Accent corail (#b8401f sur crème, #ff9b73 sur vert très foncé,
   contrastes AA) réservé au jeu : vignette de Mon espace et pages /mon-petit-billard et /prono (.pr-app). */
.mpb-logo { display: block; width: 100%; height: auto; }
.pr-app { --pr-acc: #b8401f; --pr-acc-clair: #ff9b73; --pr-jaune: #ff9b73; }
.pr-app .pr-sur { color: var(--pr-acc-clair); }
.pr-intro .mpb-intro-logo { margin: 0; width: min(290px, 78%); }
.pr-app .mpb-place-nom, .pr-app .mpb-entree > span:last-child { color: var(--pr-acc); }
.pr-app .fm-manager, .pr-app .fm-score i { color: var(--pr-acc-clair); }
.pr-podium-un .pr-avatar { border-color: #e07a55; }
.pr-app .mpb-plus span { color: var(--pr-acc-clair); }
/* La vignette (maquette D 1.3.0 corail). */
.vgd { --vert: #0e3d2e; --creme: #f8f1e4; --acc: #b8401f; --acc-clair: #ff9b73; border-radius: 22px; overflow: hidden; background: var(--creme); color: var(--vert); box-shadow: 0 10px 28px rgba(9, 47, 37, .18); font-family: Arial, Helvetica, sans-serif; }
.vgd-tete { padding: 18px 18px 0; }
html body .me-page .vgd h2 { margin: 0; width: clamp(210px, 60vw, 290px); line-height: 0; }
.vgd-equipe { display: block; color: inherit; text-decoration: none; }
.vgd-scene { position: relative; height: clamp(140px, 41vw, 190px); margin: 16px 0 0; }
.vgd-carte { position: absolute; bottom: 0; left: 50%; width: clamp(80px, 23vw, 112px); margin: 0 0 0 calc(clamp(80px, 23vw, 112px) / -2); transform-origin: 50% 115%; }
.vgd-img { display: block; width: 100%; aspect-ratio: 300 / 420; border-radius: 8px; border: 2px solid #fffdf7; box-shadow: 0 10px 20px rgba(9, 47, 37, .35); object-fit: cover; }
.vgd-c1 { transform: translateX(-82%) rotate(-9deg); }
.vgd-c2 { transform: translateY(-10px); z-index: 1; }
.vgd-c3 { transform: translateX(82%) rotate(9deg); }
.vgd-sans { display: grid; place-items: center; box-sizing: border-box; padding: 4px; background: #efe6d1; font: 900 14px/1.1 Impact, "Arial Narrow", sans-serif; text-transform: uppercase; text-align: center; }
.vgd-vide { display: grid; place-items: center; box-sizing: border-box; background: rgba(239, 230, 209, .6); border: 2px dashed #b9ab8c; box-shadow: none; color: var(--acc); font: 900 30px/1 Arial, Helvetica, sans-serif; }
.vgd-noms { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 4px; max-width: 360px; margin: 12px auto 0; padding: 0 14px; text-align: center; }
.vgd-noms span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font: 900 16px/1.1 Impact, "Arial Narrow", sans-serif; letter-spacing: .03em; text-transform: uppercase; }
.vgd-compose { margin: 12px 0 0; text-align: center; color: var(--acc); font: 900 20px/1.1 Impact, "Arial Narrow", sans-serif; letter-spacing: .03em; text-transform: uppercase; }
.vgd-banc { display: flex; align-items: center; justify-content: center; gap: 10px; margin: 14px 14px 0; padding: 8px 12px; border-radius: 14px; background: #efe6d1; }
.vgd-banc > small { font: 800 10.5px/1.2 Arial, sans-serif; letter-spacing: .14em; color: var(--acc); }
.vgd-banc figure { margin: 0; display: flex; align-items: center; gap: 6px; min-width: 0; }
.vgd-mini { display: block; width: 34px; aspect-ratio: 300 / 420; border-radius: 4px; box-shadow: 0 2px 5px rgba(9, 47, 37, .3); object-fit: cover; }
.vgd-mini.vgd-vide { font-size: 16px; border-width: 1.5px; }
.vgd-mini.vgd-sans { font-size: 8px; }
.vgd-banc figcaption { font: 900 14px/1 Impact, "Arial Narrow", sans-serif; text-transform: uppercase; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.vgd-equipe-vide .vgd-banc figcaption { color: #8a7d62; }
.vgd-infos { display: flex; justify-content: center; padding: 10px 18px 0; }
.vgd-infos span { padding: 5px 11px; border-radius: 999px; background: var(--acc); color: var(--creme); font: 700 12.5px/1.2 Arial, sans-serif; }
.vgd-tuiles { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; padding: 14px 14px 16px; }
.vgd-t { display: grid; gap: 2px; padding: 11px 12px; border-radius: 12px; background: #efe6d1; text-decoration: none; color: inherit; border-left: 4px solid var(--acc); }
.vgd-t small { font: 800 10.5px/1.2 Arial, sans-serif; letter-spacing: .12em; color: var(--acc); }
.vgd-t strong { font: 900 21px/1 Impact, "Arial Narrow", sans-serif; text-transform: uppercase; }
.vgd-t span { color: #5b6b5f; font: 400 12px/1.3 Arial, sans-serif; }
.vgd-bas { display: grid; grid-template-columns: 1fr auto; gap: 12px; align-items: end; padding: 16px 18px 18px; background: var(--vert); color: #fbf3e2; }
.vgd-bas small { display: block; font: 800 10.5px/1.2 Arial, sans-serif; letter-spacing: .16em; opacity: .9; }
.vgd-j4 { display: inline-block; margin-left: 6px; padding: 2px 7px; border-radius: 6px; background: var(--acc-clair); color: var(--vert); letter-spacing: .06em; }
.vgd-compte { display: block; white-space: nowrap; font: 900 clamp(30px, 9vw, 44px)/1 Impact, "Arial Narrow", sans-serif; color: var(--acc-clair); }
.vgd-date { display: block; margin-top: 3px; font: 900 16px/1.1 Impact, "Arial Narrow", sans-serif; text-transform: uppercase; }
.vgd-jouer { display: grid; place-items: center; min-height: 56px; padding: 0 24px; border-radius: 12px; background: var(--acc-clair); color: var(--vert); font: 900 26px/1 Impact, "Arial Narrow", sans-serif; letter-spacing: .08em; text-decoration: none; }
.vgd-jouer:hover, .vgd-jouer:focus-visible, .vgd-t:focus-visible, .vgd-equipe:focus-visible { outline: 3px solid var(--acc); outline-offset: 2px; }
@media (min-width: 760px) { .vgd-scene { height: 200px; } .vgd-carte { width: 118px; margin-left: -59px; } }
/* 1.32.0 : prénoms des remplaçants en entier (le titre passe au-dessus) ; « + » centré dans les petites places vides. */
.vgd-banc { flex-wrap: wrap; row-gap: 6px; column-gap: 14px; }
.vgd-banc > small { flex: 1 0 100%; text-align: center; }
.vgd-banc figcaption { overflow: visible; text-overflow: clip; }
.vgd-mini.vgd-vide, .vgd-mini.vgd-sans { display: grid; place-items: center; }

/* 1.31.0, retouches de Rudy : moins de grands blocs vert foncé dans Ma rencontre (l'en-tête du jeu et la barre du
   résultat restent vertes). « Ta journée » et les bandeaux « Série n » des feuilles simulées passent en crème avec
   un filet vert ; les feuilles Intercafés du site ne changent pas (elles sont hors de .pr-app). */
.mpb-total { background: #f3ecdb; color: var(--pr-vert); border-left: 4px solid #176445; box-shadow: none; }
.mpb-total span, .mpb-total small { color: #3f5a4b; }
.mpb-total strong { color: var(--pr-vert); }
.pr-app .fm-serie th { background: #f3ecdb; color: #0b3d2c; border-bottom: 1px solid #d8ccae; }
.pr-app .fm-serie th.fm-s-titre { box-shadow: inset 4px 0 0 #176445; }

/* 1.32.2 (Rudy) : « A aussi joué pour » sous les journées Intercafés (Mon espace et fiche joueur), discret. */
.me-officiel-aussi { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; margin: 6px 0 0; color: #5b6b5f; font-size: 13px; line-height: 1.4; }
.me-officiel-aussi span { color: #5b6b5f; }
.me-officiel-aussi b { display: inline-flex; align-items: center; gap: 4px; color: #0e3d2e; font-weight: 700; }
.me-officiel-aussi img { width: 28px; height: 18px; object-fit: contain; }
.me-officiel-aussi i { font-style: normal; color: #9aa79c; }

/* 1.32.3 (Rudy) : le corail clair #ff9b73 sur le vert était trop vif. Sur le vert, il passe en crème : JOUER devient un
   bouton crème au texte terracotta, le compte à rebours et la pastille J4 en crème. Le terracotta #b8401f ne change pas. */
.vgd-compte { color: var(--creme); }
.vgd-jouer { background: var(--creme); color: var(--acc); }
.vgd-j4 { background: var(--creme); color: var(--vert); }
.pr-app .pr-sur, .mpb-haut strong, .pr-app .mpb-plus span, .mpb-feuille-tete b, .pr-app .fm-manager, .pr-app .fm-score i, .mpb-classement tr.mpb-moi td small { color: var(--pr-creme); }
.mpb-haut-valider { background: var(--pr-creme); color: var(--pr-acc); }
.pr-compte .pr-barre i { background: var(--pr-creme); }

/* 1.32.4 (Rudy) : compte à rebours moins serré (même police et même taille, lettres un peu espacées, plus d'air entre
   « 8 j » et « 17 h »), date sur une seule ligne (réduite au besoin, jamais coupée), « INTERCAFÉS · J4 » au-dessus de JOUER. */
.vgd-compte { letter-spacing: .03em; }
.vgd-sep { display: inline-block; width: .38em; }
.vgd-date { white-space: nowrap; letter-spacing: .03em; font-size: clamp(12px, 3.7vw, 16px); }
.vgd-bas > span:first-child { min-width: 0; }
.vgd-cote { display: grid; gap: 6px; }
.vgd-cote small { text-align: center; white-space: nowrap; letter-spacing: .1em; }
.pr-compte strong { letter-spacing: .01em; word-spacing: .08em; }
@media (max-width: 400px) { .vgd-bas { gap: 10px; padding-left: 16px; padding-right: 16px; } .vgd-jouer { padding: 0 18px; } }

/* 1.32.5 (Rudy) : l'espacement du compte à rebours (et de sa date) ne vaut que sur PC ; au téléphone, il redevient
   comme avant (la date reste sur une ligne). La vignette est fermée par un liseré vert foncé (la couleur du bloc du bas),
   d'environ la moitié de la marge intérieure ; pour compenser, tuiles et remplaçants un peu plus compacts. */
.vgd-compte, .vgd-date, .pr-compte strong { letter-spacing: normal; word-spacing: normal; }
.vgd-sep { width: .22em; }
@media (min-width: 760px) {
  .vgd-compte, .vgd-date { letter-spacing: .03em; }
  .vgd-sep { width: .38em; }
  .pr-compte strong { letter-spacing: .01em; word-spacing: .08em; }
}
.vgd { border: 8px solid var(--vert); }
.vgd-banc { margin-top: 10px; padding: 6px 10px; row-gap: 4px; }
.vgd-mini { width: 28px; }
.vgd-banc figcaption { font-size: 13px; }
.vgd-tuiles { padding: 12px 14px 14px; }
.vgd-t { padding: 8px 11px; gap: 1px; }
.vgd-t strong { font-size: 17px; }
.vgd-t span { font-size: 11.5px; }

/* 1.32.6 (Rudy) : vignette, au téléphone seulement (le PC ne change pas). Titulaires +15 %, remplaçants +30 %.
   Bloc vert : compte à rebours ~30 % plus petit, date sur toute la largeur sous le compte à rebours et le bouton
   (plus de contact avec JOUER), plus d'air entre « FERMETURE DANS », le compte à rebours et la date. */
@media (max-width: 759px) {
  .vgd-scene { height: clamp(160px, 47vw, 218px); }
  .vgd-carte { width: clamp(92px, 26.5vw, 129px); margin-left: calc(clamp(92px, 26.5vw, 129px) / -2); }
  .vgd-mini { width: 36px; }
  .vgd-bas { grid-template-columns: minmax(0, 1fr) auto; column-gap: 12px; row-gap: 8px; align-items: center; }
  #vgd-bas-texte { display: contents; }
  #vgd-bas-texte > small { grid-column: 1; grid-row: 1; align-self: end; }
  .vgd-compte { grid-column: 1; grid-row: 2; align-self: start; font-size: clamp(22px, 6.3vw, 31px); }
  .vgd-date { grid-column: 1 / -1; grid-row: 3; margin-top: 2px; font-size: 15px; }
  .vgd-cote { grid-column: 2; grid-row: 1 / span 2; align-self: center; }
}
@media (max-width: 759px) {
  .vgd-carte { width: clamp(86px, 26.5vw, 129px); margin-left: calc(clamp(86px, 26.5vw, 129px) / -2); }
  .vgd-c1 { transform: translateX(-76%) rotate(-9deg); }
  .vgd-c3 { transform: translateX(76%) rotate(9deg); }
  #vgd-bas-texte > small { white-space: nowrap; letter-spacing: .12em; }
}
@media (max-width: 360px) { #vgd-bas-texte > small { font-size: 9.5px; letter-spacing: .06em; } .vgd-cote small { letter-spacing: .06em; } }

/* 1.32.7 (Rudy) : au téléphone, l'éventail des titulaires remonte (moitié moins de vide sous le logo) et la place
   gagnée sert aux cartes, encore un peu plus grandes ; toujours au moins 6 px d'écart avec le liseré. */
@media (max-width: 759px) {
  .vgd-scene { margin-top: 6px; height: clamp(150px, 47vw, 218px); }
  .vgd-carte { width: clamp(86px, 28.5vw, 136px); margin-left: calc(clamp(86px, 28.5vw, 136px) / -2); }
  .vgd-c2 { transform: translateY(-6px); }
  .vgd-c1 { transform: translateX(-74%) rotate(-8deg); }
  .vgd-c3 { transform: translateX(74%) rotate(8deg); }
}
@media (max-width: 360px) { .vgd-carte { width: 26vw; margin-left: -13vw; } .vgd-c1 { transform: translateX(-72%) rotate(-8deg); } .vgd-c3 { transform: translateX(72%) rotate(8deg); } }

/* 1.32.9 (Rudy) : au téléphone, la date courte « 31/10 · 14 h » revient à gauche, sous le compte à rebours, et le bloc
   vert retrouve sa hauteur compacte (« INTERCAFÉS · J4 » et JOUER à droite). */
@media (max-width: 759px) {
  .vgd-bas { align-items: end; row-gap: 0; }
  #vgd-bas-texte { display: block; min-width: 0; }
  #vgd-bas-texte > small, .vgd-compte, .vgd-date, .vgd-cote { grid-column: auto; grid-row: auto; }
  #vgd-bas-texte > small { margin-bottom: 4px; }
  .vgd-compte { margin-bottom: 3px; }
  .vgd-date { margin-top: 0; font-size: 15px; }
  .vgd-cote { align-self: end; }
}
/* 1.33.0 (Rudy) : Mon petit billard sur une seule page. Cinq onglets qui défilent au téléphone, « Défis » grisé. */
.pr-app .mpb-onglets { display: flex; gap: 4px; overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch; scroll-padding: 0 10px; }
.pr-app .mpb-onglets::-webkit-scrollbar { display: none; }
.pr-app .mpb-onglets button { flex: 1 0 auto; padding: 10px 14px; white-space: nowrap; }
.pr-app .mpb-onglets .mpb-onglet-bientot { opacity: .6; cursor: default; }
.pr-app .mpb-onglet-bientot em { margin-left: 4px; padding: 1px 6px; border-radius: 999px; background: rgb(250 246 236 / .16); font-size: 10px; font-style: normal; letter-spacing: .04em; text-transform: uppercase; }
.pr-app .mpb-sous-onglets { margin: 0 0 16px; }
.pr-app .mpb-onglets button { padding: 10px 11px; }
.pr-app .mpb-sous-onglets { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.pr-app .mpb-sous-onglets button { padding-left: 4px; padding-right: 4px; white-space: nowrap; }
/* 1.32.10 : au téléphone, les trois sous-onglets des pronos restent dans leur case (retour à la ligne si besoin). */
@media (max-width: 480px) { .pr-app .mpb-sous-onglets button { white-space: normal; font-size: 12px; line-height: 1.15; padding-left: 2px; padding-right: 2px; } }

/* 1.35.0 (Rudy) : vignette de Mon espace. Zone du milieu : plus de fond crème sous les remplaçants, deux vraies petites
   cartes lisibles, et les crédits en pastille terracotta dans le coin (variante B retenue par Rudy).
   Bloc vert : « FERMETURE DANS », le compte à rebours et la date rangés en un seul ensemble aligné ; à droite,
   « INTERCAFÉS · J4 » et JOUER ne bougent pas. */
html body .vgd :is(.vgd-banc) { display: block; margin: 14px 16px 0; padding: 0; border-radius: 0; background: none; }
html body .vgd .vgd-banc-tete { display: flex; align-items: center; gap: 10px; margin: 0 0 10px; color: var(--acc); font: 800 10.5px/1.2 Arial, Helvetica, sans-serif; letter-spacing: .14em; text-transform: uppercase; white-space: nowrap; }
html body .vgd .vgd-banc-tete small { font: inherit; letter-spacing: inherit; }
html body .vgd .vgd-banc-cartes { display: flex; justify-content: center; gap: clamp(22px, 9vw, 56px); }
html body .vgd .vgd-banc figure { display: grid; justify-items: center; gap: 6px; margin: 0; min-width: 0; }
html body .vgd .vgd-mini { width: clamp(66px, 20vw, 86px); border-radius: 7px; border: 2px solid #fffdf7; box-shadow: 0 7px 14px rgba(9, 47, 37, .3); }
html body .vgd .vgd-mini.vgd-vide { font-size: 24px; border: 2px dashed #b9ab8c; }
html body .vgd .vgd-mini.vgd-sans { font-size: 11px; }
html body .vgd .vgd-banc figcaption { max-width: 100px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font: 900 15px/1 Impact, "Arial Narrow", sans-serif; letter-spacing: .03em; text-transform: uppercase; }
html body .vgd .vgd-ligne { display: block; }
html body .vgd .vgd-date b, html body .vgd .vgd-date i { font-style: normal; font-weight: inherit; }
html body .vgd .vgd-bas { grid-template-columns: minmax(0, 1fr) auto; align-items: stretch; column-gap: 14px; row-gap: 0; padding: 14px 16px 16px; }
html body .vgd #vgd-bas-texte { display: grid; align-content: space-between; gap: 6px; min-width: 0; }
html body .vgd #vgd-bas-texte > small { margin: 0; }
html body .vgd .vgd-compte { margin: 0; font-size: clamp(26px, 7.6vw, 36px); line-height: .95; }
html body .vgd .vgd-cote { display: grid; align-content: space-between; gap: 6px; align-self: stretch; }
html body .vgd .vgd-cote small { margin: 0; }


/* Variante B : crédits en pastille dans le coin, à droite du logo ; date sur la ligne du compte à rebours, à sa droite. */
html body .vgd-vB { position: relative; }
html body .vgd-vB .vgd-banc-cr { display: none; }
html body .vgd-vB .vgd-banc-tete::after { content: ''; flex: 1; height: 1px; background: #d8ccae; }
html body .vgd-vB .vgd-ligne { display: flex; align-items: center; gap: 10px; }
html body .vgd-vB .vgd-date { display: grid; gap: 2px; margin: 0; padding-left: 10px; border-left: 1px solid rgb(248 241 228 / .35); font: 800 12px/1.1 Arial, Helvetica, sans-serif; letter-spacing: .1em; text-transform: uppercase; white-space: nowrap; }
@media (max-width: 380px) { html body .vgd-vB .vgd-date { font-size: 11px; padding-left: 8px; } html body .vgd-vB .vgd-ligne { gap: 8px; } }
@media (max-width: 360px) {
  html body .vgd-vB .vgd-compte { font-size: 21px; }
  html body .vgd-vB .vgd-date { font-size: 10px; letter-spacing: .06em; padding-left: 7px; }
  html body .vgd-vB .vgd-ligne { gap: 7px; }
  html body .vgd .vgd-bas { column-gap: 10px; }
  html body .vgd .vgd-jouer { padding: 0 14px; }
}
/* 1.35.0 (Rudy) : logo 2.0.0 (triangle du rack) en crème en tête des pages du jeu, à la place du sur-titre. */
html body .pr-app .pr-intro .pr-logo-200 { width: clamp(132px, 38vw, 170px); margin: 0 0 10px; line-height: 0; }
html body .pr-app .pr-intro .pr-logo-200 .mpb-logo { display: block; width: 100%; height: auto; }

/* 1.36.0 (Rudy) : menu de Mon espace. Pastilles sobres collées sous l'en-tête du site, défilement horizontal au
   téléphone, pastille de la section visible allumée (vert foncé), petit point terracotta sur Mon petit billard. */
html body .me-page .me-menu-136 { position: sticky; top: 0; z-index: 25; display: flex; gap: 6px; margin: 0 0 16px; padding: 8px 2px; overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch; background: #fbf6e7; border-bottom: 1px solid #e3dac4; }
html body .me-page .me-menu-136::-webkit-scrollbar { display: none; }
html body .me-page .me-menu-136 a { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 6px; min-height: 36px; padding: 0 14px; border: 1px solid #d8ccae; border-radius: 999px; background: #fffdf7; color: #0e3d2e; font: 700 13.5px/1 Arial, Helvetica, sans-serif; text-decoration: none; white-space: nowrap; }
html body .me-page .me-menu-136 a.me-menu-mpb::after { content: ''; width: 6px; height: 6px; border-radius: 50%; background: #b8401f; }
html body .me-page .me-menu-136 a.me-menu-actif { border-color: #0e3d2e; background: #0e3d2e; color: #f8f1e4; }
html body .me-page .me-menu-136 a:focus-visible { outline: 3px solid #b8401f; outline-offset: 2px; }
@media (min-width: 760px) { html body .me-page .me-menu-136 { justify-content: center; gap: 8px; padding: 10px 0; } html body .me-page .me-menu-136 a { min-height: 38px; padding: 0 18px; font-size: 14px; } }

/* 1.38.0 (Rudy) : « Partager mon équipe » (vignette, Mon équipe) et sa fenêtre (aperçu, format, partage ou téléchargement). */
.vgd-partager, .mpb-partager { min-height: 36px; padding: 6px 14px; border: 2px solid #b8401f; border-radius: 999px; background: transparent; color: #b8401f; font: 800 13px/1.2 Arial, Helvetica, sans-serif; cursor: pointer; }
.mpb-partager { display: block; width: 100%; min-height: 46px; margin: 10px 0 0; border-radius: 10px; font-size: 15px; }
.vgd-partager:focus-visible, .mpb-partager:focus-visible { outline: 3px solid #0e3d2e; outline-offset: 2px; }
.mpb-partage { position: fixed; inset: 0; z-index: 80; display: grid; place-items: center; padding: 16px; background: rgb(6 31 24 / .6); }
.mpb-partage-boite { display: grid; gap: 12px; width: min(440px, 100%); max-height: 100%; overflow: auto; padding: 16px; border-radius: 18px; border: 6px solid #0e3d2e; background: #f8f1e4; color: #0e3d2e; font-family: Arial, Helvetica, sans-serif; }
.mpb-partage-boite header { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.mpb-partage-boite h3 { margin: 0; font: 900 20px/1.1 Impact, "Arial Narrow", Arial, sans-serif; text-transform: uppercase; color: #0e3d2e; }
.mpb-partage-fermer { width: 40px; height: 40px; border: 0; border-radius: 50%; background: #efe6d1; color: #0e3d2e; font-size: 16px; cursor: pointer; }
.mpb-partage-formats { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.mpb-partage-formats button { display: grid; gap: 2px; min-height: 48px; border: 2px solid #d8ccae; border-radius: 10px; background: #fffdf7; color: #0e3d2e; font: 800 14px/1.2 Arial, Helvetica, sans-serif; cursor: pointer; }
.mpb-partage-formats button small { font-weight: 400; font-size: 11px; color: #5b6b5f; }
.mpb-partage-formats button[aria-pressed="true"] { border-color: #0e3d2e; background: #0e3d2e; color: #f8f1e4; }
.mpb-partage-formats button[aria-pressed="true"] small { color: #cbd9c9; }
.mpb-partage-apercu { display: grid; place-items: center; min-height: 200px; }
.mpb-partage-apercu img { display: block; max-width: 100%; max-height: 52vh; border-radius: 10px; box-shadow: 0 6px 18px rgb(9 47 37 / .25); }
.mpb-partage-actions { display: grid; gap: 8px; }
.mpb-partage-go, .mpb-partage-dl { display: block; min-height: 48px; padding: 13px; border: 0; border-radius: 10px; text-align: center; text-decoration: none; font: 800 15px/1.4 Arial, Helvetica, sans-serif; cursor: pointer; }
.mpb-partage-go { background: #0e3d2e; color: #f8f1e4; }
.mpb-partage-dl { background: #efe6d1; color: #0e3d2e; }
html body button.mpb-partager, html body button.vgd-partager { font-weight: 800; font-family: Arial, Helvetica, sans-serif; }
html body .vgd .vgd-partage-ligne { display: flex; justify-content: center; padding: 14px 16px 0; }
html body .vgd .vgd-partage-ligne[hidden] { display: none; }

/* 1.38.1 (Rudy) : les crédits en petite pastille terracotta à droite du 2e remplaçant, centrée sur les cartes,
   ~40 % plus petite qu'en coin ; les cartes des remplaçants ne bougent pas (la pastille est posée à côté). */
html body .vgd-vB .vgd-infos { display: none; }
html body .vgd .vgd-banc-cartes { --mini: clamp(66px, 20vw, 86px); --ecart: clamp(22px, 9vw, 56px); position: relative; }
html body .vgd .vgd-banc-pastille { position: absolute; top: calc(var(--mini) * 0.7); left: calc(50% + var(--ecart) / 2 + var(--mini) + 12px); transform: translateY(-50%); display: grid; justify-items: center; gap: 1px; padding: 4px 7px 3px; border-radius: 9px; background: var(--acc); color: var(--creme); font: 800 7.5px/1.1 Arial, Helvetica, sans-serif; letter-spacing: .08em; text-transform: uppercase; white-space: nowrap; }
html body .vgd .vgd-banc-pastille b { font: 900 14px/1 Impact, "Arial Narrow", sans-serif; letter-spacing: .02em; }
@media (max-width: 360px) { html body .vgd .vgd-banc-pastille { left: calc(50% + var(--ecart) / 2 + var(--mini) + 8px); padding: 3px 5px 2px; } }
html body .vgd .vgd-banc-pastille { padding: 4px 6px 3px; font-size: 7px; letter-spacing: .02em; }
html body .vgd .vgd-banc-pastille b { font-size: 13.5px; letter-spacing: 0; }
@media (max-width: 360px) { html body .vgd .vgd-banc-pastille { left: calc(50% + var(--ecart) / 2 + var(--mini) + 6px); padding: 3px 4px 2px; font-size: 6.5px; } html body .vgd .vgd-banc-pastille b { font-size: 12.5px; } }

/* 1.39.1 : écran d'attente de Mon petit billard, à la place de celui de Mon espace (le pied de page reste en bas). */
html body .mpb-attente-139 { min-height: 78vh; }
html body .mpb-attente-139 .pr-intro { border-radius: 18px; }

/* 1.39.2 (Rudy) : au téléphone, la vignette tient sur un écran une fois calée sous le menu de Mon espace
   (logo, éventail, remplaçants, tuiles et bloc vert plus compacts ; cartes toujours lisibles). La date reste
   dans la colonne du compte à rebours (elle passe dessous si la place manque, jamais sous JOUER). JOUER devient
   un vrai bouton : crème, texte terracotta, bordure terracotta et relief en bas. */
html body .vgd .vgd-jouer { border: 2px solid var(--acc); box-shadow: 0 4px 0 #8f2f14; }
html body .vgd .vgd-jouer:active { transform: translateY(2px); box-shadow: 0 2px 0 #8f2f14; }
html body .vgd .vgd-ligne { flex-wrap: wrap; row-gap: 3px; }
html body .vgd #vgd-bas-texte { overflow: hidden; }
@media (max-width: 480px) {
  html body .me-page .vgd.vgd-vB h2 { width: min(172px, 46vw); }
  html body .vgd .vgd-tete { padding: 12px 14px 0; }
  html body .vgd .vgd-scene { margin-top: 2px; height: clamp(112px, 34vw, 140px); }
  html body .vgd .vgd-carte { width: clamp(70px, 21.5vw, 96px); margin-left: calc(clamp(70px, 21.5vw, 96px) / -2); }
  html body .vgd .vgd-noms { margin-top: 4px; }
  html body .vgd .vgd-noms span { font-size: 14px; }
  html body .vgd .vgd-banc { margin: 6px 14px 0; }
  html body .vgd .vgd-banc-tete { margin-bottom: 5px; }
  html body .vgd .vgd-banc-cartes { --mini: clamp(50px, 15vw, 64px); }
  html body .vgd .vgd-mini { width: clamp(50px, 15vw, 64px); }
  html body .vgd .vgd-banc figure { gap: 3px; }
  html body .vgd .vgd-banc figcaption { font-size: 13px; }
  html body .vgd .vgd-partage-ligne { padding: 8px 14px 0; }
  html body .vgd .vgd-partager { min-height: 32px; padding: 4px 14px; }
  html body .vgd .vgd-tuiles { padding: 8px 12px 10px; gap: 6px; }
  html body .vgd .vgd-t { grid-template-columns: auto 1fr; align-items: baseline; gap: 0 8px; padding: 6px 10px; }
  html body .vgd .vgd-t small { grid-column: 1 / -1; }
  html body .vgd .vgd-t strong { font-size: 15px; }
  html body .vgd .vgd-t span { font-size: 11px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  html body .vgd .vgd-bas { padding: 10px 14px 12px; }
  html body .vgd .vgd-compte { font-size: clamp(20px, 6.2vw, 25px); }
  html body .vgd .vgd-jouer { min-height: 46px; font-size: 22px; padding: 0 16px; }
}
@media (max-width: 480px) { html body .vgd .vgd-scene { height: clamp(104px, 31vw, 132px); } html body .vgd .vgd-tete { padding-top: 10px; } html body .vgd .vgd-banc { margin-top: 4px; } html body .vgd .vgd-tuiles { padding-bottom: 8px; } }
@media (max-width: 480px) { html body .vgd .vgd-scene { margin-top: 10px; } html body .vgd .vgd-t span { display: none; } html body .vgd .vgd-t { grid-template-columns: 1fr; } }

/* ===== 1.40.0 (Rudy, maquette Page-Mon-Petit-Billard 1.0.1) : la page du jeu « façon jeu mobile » ===== */
html body .mpb-jeu-140 { --vert: #0e3d2e; --creme: #f8f1e4; --acc: #b8401f; --sable: #efe6d1; color: var(--vert); }
html body .mpb-jeu-140 .pr-fil { margin: 0 0 8px; }
/* En-tête : logo au triangle en grand sur crème, puis le bloc vert (variante A en crème). */
html body .mpb-jeu-140 .mpb-tete-140 { overflow: hidden; border-radius: 22px; background: var(--creme); box-shadow: 0 8px 24px rgb(9 47 37 / .12); }
html body .mpb-jeu-140 .mpb-logo-140 { margin: 0; padding: 18px 18px 14px; line-height: 0; }
html body .mpb-jeu-140 .mpb-logo-140 .mpb-logo { display: block; width: min(300px, 72vw); height: auto; }
html body .mpb-jeu-140 .mpb-bloc-140 { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 12px; padding: 14px 16px 16px; background: var(--vert); color: var(--creme); }
html body .mpb-jeu-140 .mpb-bloc-sur-140 { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0; color: var(--creme); font: 800 11px/1.2 Arial, Helvetica, sans-serif; letter-spacing: .16em; }
html body .mpb-jeu-140 .mpb-j-140 { padding: 2px 8px; border-radius: 6px; background: var(--creme); color: var(--vert); letter-spacing: .06em; }
html body .mpb-jeu-140 #mpb-compte-140 { display: block; margin: 5px 0 3px; color: var(--creme); font: 900 clamp(30px, 9vw, 40px)/1 Impact, "Arial Narrow", sans-serif; white-space: nowrap; }
html body .mpb-jeu-140 .mpb-bloc-date-140 { margin: 4px 0 0; color: var(--creme); font: 900 15px/1.1 Impact, "Arial Narrow", sans-serif; letter-spacing: .02em; text-transform: uppercase; }
html body .mpb-jeu-140 .mpb-credits-140 { display: grid; justify-items: center; margin: 0; padding: 10px 14px; border-radius: 14px; background: var(--creme); color: var(--vert); font: 800 10px/1.1 Arial, Helvetica, sans-serif; letter-spacing: .12em; text-transform: uppercase; }
html body .mpb-jeu-140 .mpb-credits-140 b { color: var(--acc); font: 900 30px/1 Impact, "Arial Narrow", sans-serif; letter-spacing: .01em; }
/* Onglets : grosses pastilles, collées sous l'en-tête du site. */
html body .pr-app.mpb-jeu-140 .mpb-onglets-140 { position: sticky; top: var(--mpb-haut, 0px); z-index: 6; display: flex; gap: 6px; overflow-x: auto; margin: 12px -16px 0; padding: 8px 16px; background: #faf6ec; border: 0; border-radius: 0; scrollbar-width: none; }
html body .pr-app.mpb-jeu-140 .mpb-onglets-140::-webkit-scrollbar { display: none; }
html body .pr-app.mpb-jeu-140 .mpb-onglets-140 button { flex: none; min-height: 44px; padding: 0 16px; border: 0; border-radius: 999px; background: var(--sable); color: var(--vert); font: 900 17px/1 Impact, "Arial Narrow", sans-serif; letter-spacing: .04em; text-transform: uppercase; box-shadow: none; cursor: pointer; }
html body .pr-app.mpb-jeu-140 .mpb-onglets-140 button[aria-selected="true"] { background: var(--vert); color: var(--creme); box-shadow: inset 0 -4px 0 var(--acc); }
html body .pr-app.mpb-jeu-140 .mpb-onglets-140 button:disabled { opacity: .5; cursor: default; }
html body .mpb-jeu-140 .pr-corps > h2, html body .mpb-jeu-140 .mpb-titre-140, html body .mpb-jeu-140 #mpb-pronos > h2 { margin: 18px 0 8px; color: var(--vert); font: 900 28px/1 Impact, "Arial Narrow", sans-serif; letter-spacing: .01em; text-transform: uppercase; }
/* Mon équipe : le terrain, l'éventail, les remplaçants. */
html body .mpb-jeu-140 .mpb-terrain-140 { margin-top: 10px; padding: 6px 0 16px; border-radius: 22px; background: var(--creme); }
html body .mpb-jeu-140 .mpb-scene-140 { position: relative; height: clamp(176px, 52vw, 250px); margin-top: 18px; }
html body .mpb-jeu-140 .mpb-carte-140 { position: absolute; bottom: 0; left: 50%; width: clamp(96px, 28vw, 136px); margin-left: calc(clamp(96px, 28vw, 136px) / -2); padding: 0; border: 0; background: none; transform-origin: 50% 115%; cursor: pointer; }
html body .mpb-jeu-140 :is(.mpb-carte-140, .mpb-res-140) :is(img, .mpb-vide-140, .mpb-sans-140) { display: block; width: 100%; aspect-ratio: 300 / 420; border-radius: 9px; border: 2px solid #fffdf7; box-shadow: 0 10px 22px rgb(9 47 37 / .35); object-fit: cover; box-sizing: border-box; }
html body .mpb-jeu-140 .mpb-c1-140 { transform: translateX(-84%) rotate(-9deg); }
html body .mpb-jeu-140 .mpb-c2-140 { transform: translateY(-12px); z-index: 2; }
html body .mpb-jeu-140 .mpb-c3-140 { transform: translateX(84%) rotate(9deg); }
html body .mpb-jeu-140 .mpb-prix-140 { position: absolute; top: -8px; right: -8px; z-index: 3; display: inline-grid; place-items: center; min-width: 30px; height: 30px; padding: 0 6px; border-radius: 999px; background: var(--acc); color: var(--creme); font: 900 17px/1 Impact, "Arial Narrow", sans-serif; box-shadow: 0 2px 6px rgb(0 0 0 / .25); box-sizing: border-box; }
html body .mpb-jeu-140 .mpb-vide-140 { display: grid !important; place-items: center; background: #fffdf7 !important; border: 2.5px dashed #b9ad8e !important; box-shadow: none !important; color: #9a8f72; font: 900 30px Impact, "Arial Narrow", sans-serif; }
html body .mpb-jeu-140 .mpb-sans-140 { display: grid !important; place-items: center; padding: 4px; background: var(--sable); color: var(--vert); font: 900 15px/1.1 Impact, "Arial Narrow", sans-serif; text-align: center; text-transform: uppercase; }
html body .mpb-jeu-140 .mpb-noms-140 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 4px; max-width: 420px; margin: 14px auto 0; padding: 0 10px; text-align: center; }
html body .mpb-jeu-140 .mpb-noms-140 span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font: 900 17px/1.1 Impact, "Arial Narrow", sans-serif; text-transform: uppercase; }
html body .mpb-jeu-140 .mpb-noms-140 small { display: block; color: #5b6b5f; font: 700 10.5px/1.3 Arial, Helvetica, sans-serif; letter-spacing: .08em; }
html body .mpb-jeu-140 .mpb-banc-140 { margin: 16px 16px 0; }
html body .mpb-jeu-140 .mpb-banc-tete-140 { display: flex; align-items: center; gap: 10px; margin: 0 0 10px; color: var(--acc); font: 800 10.5px/1.2 Arial, Helvetica, sans-serif; letter-spacing: .14em; }
html body .mpb-jeu-140 .mpb-banc-tete-140 small { font: inherit; }
html body .mpb-jeu-140 .mpb-banc-tete-140::after { content: ''; flex: 1; height: 1px; background: #d8ccae; }
html body .mpb-jeu-140 .mpb-banc-cartes-140 { --mini: clamp(72px, 21vw, 96px); --ecart: clamp(24px, 9vw, 56px); position: relative; display: flex; justify-content: center; gap: var(--ecart); }
html body .mpb-jeu-140 .mpb-banc-cartes-140 figure { display: grid; justify-items: center; gap: 6px; margin: 0; }
html body .mpb-jeu-140 .mpb-res-140 { position: relative; width: var(--mini); padding: 0; border: 0; background: none; cursor: pointer; }
html body .mpb-jeu-140 .mpb-res-140 :is(img, .mpb-vide-140, .mpb-sans-140) { border-radius: 7px; box-shadow: 0 7px 14px rgb(9 47 37 / .3); }
html body .mpb-jeu-140 .mpb-res-140 .mpb-prix-140 { top: -6px; right: -6px; min-width: 24px; height: 24px; font-size: 14px; }
html body .mpb-jeu-140 .mpb-banc-cartes-140 figcaption { font: 900 15px/1 Impact, "Arial Narrow", sans-serif; text-transform: uppercase; }
html body .mpb-jeu-140 .mpb-pastille-140 { position: absolute; top: calc(var(--mini) * .7); left: calc(50% + var(--ecart) / 2 + var(--mini) + 12px); transform: translateY(-50%); display: grid; justify-items: center; gap: 1px; padding: 4px 6px 3px; border-radius: 9px; background: var(--acc); color: var(--creme); font: 800 7px/1.1 Arial, Helvetica, sans-serif; letter-spacing: .02em; text-transform: uppercase; }
html body .mpb-jeu-140 .mpb-pastille-140 b { font: 900 14px/1 Impact, "Arial Narrow", sans-serif; }
@media (max-width: 360px) { html body .mpb-jeu-140 .mpb-pastille-140 { left: calc(50% + var(--ecart) / 2 + var(--mini) + 6px); padding: 3px 4px 2px; } }
html body .mpb-jeu-140 .mpb-reste-140 { margin: 14px 0 0; text-align: center; font: 700 14px/1.3 Arial, Helvetica, sans-serif; }
html body .mpb-jeu-140 .mpb-depasse-140 { color: #9b2a20; }
html body .mpb-jeu-140 .mpb-valider-140 { display: grid; gap: 6px; margin: 10px 0 0; }
html body .mpb-jeu-140 .mpb-valider-140 button { min-height: 56px; border: 0; border-radius: 14px; background: var(--acc); color: var(--creme); font: 900 24px/1 Impact, "Arial Narrow", sans-serif; letter-spacing: .06em; text-transform: uppercase; box-shadow: 0 4px 0 #8f2f14; cursor: pointer; }
html body .mpb-jeu-140 .mpb-valider-140 button:disabled { background: #e7ede0; color: #2f6a4f; box-shadow: none; font-size: 20px; cursor: default; }
html body .mpb-jeu-140 .mpb-valider-140 button[aria-disabled="true"] { opacity: .6; }
html body .mpb-jeu-140 .mpb-valider-140 p { margin: 0; color: #2f6a4f; font: 700 13px/1.3 Arial, Helvetica, sans-serif; text-align: center; }
/* La feuille des joueurs, qui monte du bas. */
html body .mpb-jeu-140 .mpb-feuille-140 { padding: 10px 16px 20px; border-radius: 22px 22px 0 0; background: #fffdf7; }
html body .mpb-jeu-140 .mpb-poignee-140 { width: 44px; height: 5px; margin: 0 auto 10px; border-radius: 9px; background: #d6cdb6; }
html body .mpb-jeu-140 .mpb-feuille-tete-140 { display: flex; align-items: center; gap: 8px; }
html body .mpb-jeu-140 .mpb-feuille-tete-140 h3 { flex: 1; margin: 0; color: var(--vert); font: 900 24px/1 Impact, "Arial Narrow", sans-serif; text-transform: uppercase; }
html body .mpb-jeu-140 .mpb-retirer-140 { min-height: 40px; padding: 0 12px; border: 1px solid #d8c9c4; border-radius: 10px; background: #fffdf7; color: #9b2a20; font: 700 13px Arial, Helvetica, sans-serif; cursor: pointer; }
html body .mpb-jeu-140 .mpb-filtres-140 { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; margin: 10px 0 12px; }
html body .mpb-jeu-140 .mpb-filtres-140 > span { display: flex; gap: 6px; }
html body .mpb-jeu-140 .mpb-filtres-140 button { min-height: 36px; padding: 0 12px; border: 1px solid #d6cdb6; border-radius: 999px; background: #fffdf7; color: var(--vert); font: 700 13px Arial, Helvetica, sans-serif; cursor: pointer; }
html body .mpb-jeu-140 .mpb-filtres-140 button[aria-pressed="true"] { border-color: var(--vert); background: var(--vert); color: var(--creme); }
html body .mpb-jeu-140 .mpb-filtres-140 label { display: flex; align-items: center; gap: 4px; color: #5b6b5f; font: 700 12px Arial, Helvetica, sans-serif; }
html body .mpb-jeu-140 .mpb-filtres-140 select { min-height: 36px; max-width: 150px; padding: 0 8px; border: 1px solid #d6cdb6; border-radius: 999px; background: #fffdf7; color: var(--vert); font: 700 13px Arial, Helvetica, sans-serif; }
html body .mpb-jeu-140 .mpb-grille-140 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px 10px; margin: 0; padding: 4px 4px 0; list-style: none; }
html body .mpb-jeu-140 .mpb-choix-140 { position: relative; display: grid; gap: 4px; width: 100%; padding: 0; border: 0; background: none; color: var(--vert); text-align: center; cursor: pointer; }
html body .mpb-jeu-140 .mpb-choix-140 :is(img, .mpb-sans-140) { width: 100%; aspect-ratio: 300 / 420; border-radius: 7px; box-shadow: 0 3px 8px rgb(9 47 37 / .25); object-fit: cover; box-sizing: border-box; }
html body .mpb-jeu-140 .mpb-choix-140 .mpb-prix-140 { top: -6px; right: -4px; min-width: 26px; height: 26px; font-size: 15px; }
html body .mpb-jeu-140 .mpb-choix-140 strong { font: 900 14px/1 Impact, "Arial Narrow", sans-serif; text-transform: uppercase; }
html body .mpb-jeu-140 .mpb-choix-140 small { color: #5b6b5f; font: 400 11px/1.2 Arial, Helvetica, sans-serif; }
html body .mpb-jeu-140 .mpb-choix-140:disabled { cursor: not-allowed; opacity: 1; }
html body .mpb-jeu-140 .mpb-pris-140 :is(img, .mpb-sans-140) { opacity: .45; }
html body .mpb-jeu-140 .mpb-pris-140 :is(strong, small) { opacity: .55; }
html body .mpb-jeu-140 .mpb-cher-140 :is(img, .mpb-sans-140) { filter: grayscale(1); opacity: .5; }
html body .mpb-jeu-140 .mpb-cher-140 .mpb-prix-140 { background: #8b8b80; }
html body .mpb-jeu-140 .mpb-cher-140 :is(strong, small) { color: #8a8f86; }
html body .mpb-jeu-140 .mpb-etat-140 { position: absolute; top: 34%; right: 4px; left: 4px; z-index: 2; padding: 5px 4px; border-radius: 8px; font: 800 11px/1.2 Arial, Helvetica, sans-serif; text-align: center; }
html body .mpb-jeu-140 .mpb-pris-140 .mpb-etat-140 { background: var(--vert); color: var(--creme); }
html body .mpb-jeu-140 .mpb-cher-140 .mpb-etat-140 { border: 1.5px solid #c98b84; background: #fffdf7; color: #9b2a20; }
/* Les pronos : des affiches VS. */
html body .mpb-jeu-140 .pr-affiche { margin-bottom: 12px; padding: 14px; border: 0; border-radius: 18px; background: var(--creme); color: var(--vert); box-shadow: none; }
html body .mpb-jeu-140 .pr-affiche-tete span { color: var(--acc); font: 800 11px/1.2 Arial, Helvetica, sans-serif; letter-spacing: .16em; }
html body .mpb-jeu-140 .pr-duel { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 8px; text-align: center; }
html body .mpb-jeu-140 .pr-team img { width: 86px; height: 56px; object-fit: contain; }
html body .mpb-jeu-140 .pr-team b { display: block; color: var(--vert); font: 900 16px/1.1 Impact, "Arial Narrow", sans-serif; text-transform: uppercase; }
html body .mpb-jeu-140 .pr-vs { color: var(--acc); font: 900 30px/1 Impact, "Arial Narrow", sans-serif; }
html body .mpb-jeu-140 .pr-choix button { min-height: 48px; border: 2px solid #d6cdb6; border-radius: 12px; background: #fffdf7; color: var(--vert); font: 900 15px/1.1 Impact, "Arial Narrow", sans-serif; text-transform: uppercase; }
html body .mpb-jeu-140 .pr-choix button[aria-pressed="true"] { border-color: var(--acc); background: var(--acc); color: var(--creme); }
/* Classement : le podium, puis la liste. */
html body .mpb-jeu-140 .mpb-podium-140 { display: grid; grid-template-columns: 1fr 1.15fr 1fr; align-items: end; gap: 8px; margin: 10px 0 14px; }
html body .mpb-jeu-140 .mpb-marche-140 { display: grid; justify-items: center; gap: 6px; text-align: center; }
html body .mpb-jeu-140 .mpb-marche-140 strong { font: 900 17px/1 Impact, "Arial Narrow", sans-serif; text-transform: uppercase; }
html body .mpb-jeu-140 .mpb-marche-140 small { color: #5b6b5f; font: 700 12px Arial, Helvetica, sans-serif; }
html body .mpb-jeu-140 .mpb-socle-140 { display: grid; place-items: center; width: 100%; height: 62px; border-radius: 12px 12px 0 0; background: var(--vert); color: var(--creme); font: 900 34px Impact, "Arial Narrow", sans-serif; }
html body .mpb-jeu-140 .mpb-p1-140 .mpb-socle-140 { height: 110px; background: var(--acc); }
html body .mpb-jeu-140 .mpb-p2-140 .mpb-socle-140 { height: 82px; }
html body .mpb-jeu-140 .mpb-liste-140 { display: grid; gap: 6px; margin: 0; padding: 0; list-style: none; }
html body .mpb-jeu-140 .mpb-liste-140 li { display: grid; grid-template-columns: 34px 1fr auto; align-items: center; gap: 8px; min-height: 50px; padding: 6px 12px; border-radius: 12px; background: var(--creme); font: 700 15px Arial, Helvetica, sans-serif; }
html body .mpb-jeu-140 .mpb-liste-140 li > b { font: 900 18px Impact, "Arial Narrow", sans-serif; }
html body .mpb-jeu-140 .mpb-liste-140 li span small { display: block; color: #5b6b5f; font: 400 11.5px/1.3 Arial, Helvetica, sans-serif; }
html body .mpb-jeu-140 .mpb-liste-140 li strong { font: 900 18px Impact, "Arial Narrow", sans-serif; }
html body .mpb-jeu-140 .mpb-moi-140 { outline: 2px solid var(--acc); }
html body .mpb-jeu-140 .mpb-marche-140.mpb-moi-140 { outline: 0; }
@media (min-width: 760px) { html body .mpb-jeu-140 .mpb-scene-140 { height: 250px; } }
html body .mpb-jeu-140 .mpb-feuille-tete-140 .mpb-fermer { display: grid; place-items: center; width: 40px; height: 40px; border: 0; border-radius: 50%; background: var(--sable); color: var(--vert); font: 700 16px Arial, Helvetica, sans-serif; opacity: 1; }
html body .mpb-jeu-140 .mpb-cache-140 { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
html body .mpb-jeu-140 .mpb-filtres-140 > span { flex: 1 0 100%; }
html body .mpb-jeu-140 .mpb-filtres-140 label { flex: 1 1 0; min-width: 0; }
html body .mpb-jeu-140 .mpb-filtres-140 select { width: 100%; max-width: none; }
html body .mpb-jeu-140 .mpb-tampon { border: 0; border-left: 4px solid var(--acc); border-radius: 12px; background: var(--sable); color: var(--vert); }
html body .mpb-jeu-140 .mpb-toi-140 { color: var(--acc); font-style: normal; font-size: 13px; }
html body .mpb-jeu-140 .pr-duel .pr-vs { display: grid; place-items: center; width: auto; height: auto; padding: 0 4px; border-radius: 0; background: none; box-shadow: none; color: var(--acc); font: 900 36px/1 Impact, "Arial Narrow", sans-serif; letter-spacing: .02em; }
@media (min-width: 760px) { html body .pr-app.mpb-jeu-140 .mpb-onglets-140 { flex-wrap: wrap; margin: 12px 0 0; padding: 8px 0; overflow: visible; } }

/* ===== 1.39.3 (Rudy) : Mon espace ===== */
/* Le menu tient sur une ligne au téléphone (le défilement de côté reste possible sous 360 px). */
@media (max-width: 480px) {
  html body .me-page .me-menu-136 { gap: 4px; padding-left: 0; padding-right: 0; }
  html body .me-page .me-menu-136 a { min-height: 34px; padding: 0 9px; font-size: 12.5px; gap: 4px; }
  html body .me-page .me-menu-136 a.me-menu-mpb::after { width: 5px; height: 5px; }
}
/* Comptes du bureau : la carte d'en-tête ouvre le bureau ; une petite clé discrète dans le coin. */
html body .me-hero.me-hero-bureau-139 { position: relative; cursor: pointer; }
html body .me-hero .me-bureau-lien-139 { position: absolute; top: 10px; right: 10px; z-index: 2; display: inline-flex; align-items: center; gap: 6px; color: rgb(251 246 231 / .75); text-decoration: none; }
html body .me-hero .me-bureau-lien-139:focus-visible { outline: 2px solid #f2c94c; outline-offset: 3px; border-radius: 6px; }
html body .me-hero .me-bureau-cle-139 { display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: rgb(251 246 231 / .12); }
/* Vignette au téléphone : tailles réglées pour remplir l'écran (variables posées par lbbAjusterVignette139). */
@media (max-width: 480px) {
  html body .vgd[style*="--vgd-w"] .vgd-scene { height: calc(var(--vgd-w) * 1.4 + 14px); margin-top: calc(10px + var(--vgd-air, 0px)); }
  html body .vgd[style*="--vgd-w"] .vgd-carte { width: var(--vgd-w); margin-left: calc(var(--vgd-w) / -2); }
  html body .vgd[style*="--vgd-w"] .vgd-banc-cartes { --mini: var(--vgd-mini); }
  html body .vgd[style*="--vgd-w"] .vgd-mini { width: var(--vgd-mini); }
  html body .vgd[style*="--vgd-w"] .vgd-banc { margin-top: calc(6px + var(--vgd-air, 0px)); }
  html body .vgd[style*="--vgd-w"] .vgd-partage-ligne { padding-top: calc(8px + var(--vgd-air, 0px) / 2); }
  html body .vgd[style*="--vgd-w"] .vgd-tuiles { padding-top: calc(8px + var(--vgd-air, 0px) / 2); padding-bottom: calc(8px + var(--vgd-air, 0px)); }
}
/* Les prénoms des titulaires ont de l'air sous l'éventail ; « REMPLAÇANTS » passe à gauche de la 1re carte. */
html body .vgd .vgd-noms { margin-top: 12px; }
html body .vgd .vgd-banc-tete { display: none; }
html body .vgd .vgd-banc { margin-top: 12px; }
html body .vgd .vgd-banc-titre-139 { position: absolute; top: calc(var(--mini) * .7); right: calc(50% + var(--ecart) / 2 + var(--mini) + 12px); transform: translateY(-50%); color: var(--acc); font: 800 8.5px/1.2 Arial, Helvetica, sans-serif; letter-spacing: .1em; white-space: nowrap; }
@media (max-width: 360px) { html body .vgd .vgd-banc-titre-139 { right: calc(50% + var(--ecart) / 2 + var(--mini) + 6px); font-size: 7.5px; letter-spacing: .04em; } }
@media (max-width: 480px) {
  html body .me-page .me-menu-136 { gap: 3px; }
  html body .me-page .me-menu-136 a { padding: 0 7px; font-size: 12px; letter-spacing: -.01em; }
}
/* « REMPLAÇANTS » écrit en vertical, à gauche de la 1re carte : il ne touche jamais le liseré. */
html body .vgd .vgd-banc-titre-139 { right: calc(50% + var(--ecart) / 2 + var(--mini) + 10px); writing-mode: vertical-rl; transform: translateY(-50%) rotate(180deg); font-size: 9px; letter-spacing: .14em; }
@media (max-width: 360px) { html body .vgd .vgd-banc-titre-139 { right: calc(50% + var(--ecart) / 2 + var(--mini) + 7px); font-size: 8px; letter-spacing: .08em; } }
html body .vgd .vgd-banc-titre-139 { font-size: clamp(7px, calc(var(--mini) * .11), 9px); letter-spacing: .06em; }
/* 1.40.0, retours de Rudy : « INTERCAFÉS · J4 » aligné à droite sur la ligne de « FERMETURE DANS » ; onglets sur une
   ligne au téléphone (pastilles compactes, Défis en petite pastille grisée). */
html body .mpb-jeu-140 .mpb-bloc-140 { grid-template-columns: minmax(0, 1fr) auto; row-gap: 6px; }
html body .mpb-jeu-140 .mpb-bloc-sur-140 { grid-column: 1 / -1; justify-content: space-between; flex-wrap: nowrap; }
html body .mpb-jeu-140 .mpb-bloc-sur-140 .mpb-j-140 { padding: 0; background: none; color: var(--creme); letter-spacing: .12em; white-space: nowrap; }
@media (max-width: 480px) {
  html body .pr-app.mpb-jeu-140 .mpb-onglets-140 { gap: 4px; margin: 12px -10px 0; padding: 8px 10px; overflow-x: visible; }
  html body .pr-app.mpb-jeu-140 .mpb-onglets-140 button { flex: 1 1 auto; min-width: 0; min-height: 40px; padding: 0 7px; font-size: clamp(11.5px, 3.6vw, 15px); letter-spacing: .02em; white-space: nowrap; }
  html body .pr-app.mpb-jeu-140 .mpb-onglets-140 .mpb-defis-140 { flex: 0 0 auto; min-height: 26px; align-self: center; padding: 0 7px; font-size: 10px; letter-spacing: .04em; opacity: .45; }
}
@media (max-width: 480px) { html body .pr-app.mpb-jeu-140 .mpb-onglets-140 button { padding: 0 5px; font-size: clamp(10.5px, 3.25vw, 15px); letter-spacing: 0; } html body .mpb-jeu-140 .mpb-bloc-sur-140 { letter-spacing: .1em; } }

/* ===== 1.41.0 (Rudy) : Mon espace, sections Tes stats, Succès, Mes cartes (maquette 1.1.0) ===== */
/* Maquette « Mon espace, sections 1.1.0 ». DA : vert, crème, une touche de jaune et de rouge. Pas de terracotta (réservé au jeu).
   1.1.0 (Rudy) : plus de grand bloc vert foncé ; du relief et de la couleur sur fond crème. */
:root { --ms-vert: #0e3d2e; --ms-vert2: #1d5a45; --ms-vif: #1f7a4d; --ms-creme: #f8f1e4; --ms-papier: #fffdf7; --ms-trait: #e3dcc8; --ms-gris: #5b6b5f; --ms-jaune: #f2c531; --ms-or: #9a6c00; --ms-rouge: #c62f2f; --ms-sable: #b98a3e; }

/* ---------- 1. Tes stats ---------- */
html body #me-sec-stats > .me-tuiles, html body #me-sec-stats > #me-stats-140, html body #me-sec-stats > #me-officiel { display: none !important; }
.ms-stats { display: grid; gap: 12px; }
.ms-cles { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.ms-cle { position: relative; display: grid; justify-items: start; align-content: start; padding: 12px 12px 12px; border-radius: 16px; background: var(--ms-papier); border: 1px solid var(--ms-trait); box-shadow: 0 3px 10px rgba(9, 47, 37, .06); overflow: hidden; }
.ms-cle::before { content: ''; position: absolute; inset: 0 0 auto; height: 4px; background: var(--c); }
.ms-cle-ico { position: absolute; top: 12px; right: 12px; display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: var(--fond); color: var(--ico); }
.ms-cle-ico svg { width: 18px; height: 18px; }
.ms-cle strong { margin-top: 6px; color: var(--c); font: 400 50px/.95 Impact, "Arial Narrow", sans-serif; letter-spacing: .01em; }
.ms-cle-mot { margin-top: 4px; color: var(--ms-vert); font: 800 11px/1.2 Arial, Helvetica, sans-serif; letter-spacing: .12em; text-transform: uppercase; }
.ms-cle-p { --c: var(--ms-vif); --fond: #dcefe3; --ico: var(--ms-vif); }
.ms-cle-j { --c: var(--ms-vert); --fond: #e3e9e4; --ico: var(--ms-vert); }
.ms-cle-v { --c: var(--ms-vif); --fond: var(--ms-jaune); --ico: var(--ms-vert); }
.ms-cle-o { --c: var(--ms-rouge); --fond: #f8dcd8; --ico: var(--ms-rouge); }
.ms-cle-taux { display: flex; align-items: center; gap: 8px; width: 100%; margin-top: 8px; }
.ms-cle-taux b { padding: 2px 8px; border-radius: 999px; background: var(--ms-jaune); color: var(--ms-vert); font: 800 12.5px/1.3 Arial, Helvetica, sans-serif; }
.ms-cle-taux > i { flex: 1; height: 7px; border-radius: 999px; background: #e7e3d4; overflow: hidden; }
.ms-cle-taux > i > i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--ms-vif), #6fbf73); }
.ms-petits { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.ms-petits li { display: inline-flex; align-items: center; gap: 6px; padding: 6px 12px 6px 10px; border-radius: 999px; background: var(--ms-papier); border: 1px solid var(--ms-trait); color: var(--ms-gris); font: 700 13px/1 Arial, Helvetica, sans-serif; }
.ms-petits b { color: var(--ms-vert); font: 400 19px/1 Impact, "Arial Narrow", sans-serif; }
.ms-petits svg { width: 15px; height: 15px; }
.ms-p-d b { color: var(--ms-rouge); }
.ms-p-s svg, .ms-p-m svg { color: var(--ms-or); }
.ms-p-m { background: #fff6d6 !important; border-color: #ecd27a !important; }

.ms-carte { padding: 14px 16px; border-radius: 16px; background: var(--ms-papier); border: 1px solid var(--ms-trait); box-shadow: 0 3px 10px rgba(9, 47, 37, .05); }
.ms-carte-tete { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin: 0 0 12px; }
.ms-carte-tete h3 { display: flex; align-items: center; gap: 9px; margin: 0; color: var(--ms-vert); font: 400 22px/1 Impact, "Arial Narrow", sans-serif; letter-spacing: .03em; text-transform: uppercase; }
.ms-h-ico { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 9px; background: var(--ms-vert); color: var(--ms-jaune); }
.ms-h-ico svg { width: 17px; height: 17px; }
.ms-h-or { background: var(--ms-jaune); color: var(--ms-vert); }
.ms-carte-tete a { color: var(--ms-vif); font: 800 14px/1.2 Arial, Helvetica, sans-serif; text-decoration: none; }
.ms-ic-haut { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin: 0 0 12px; }
.ms-ic-logo { flex: none; width: 104px; height: auto; }
.ms-rang { display: flex; align-items: center; gap: 12px; margin: 0; }
.ms-rang strong { flex: none; display: grid; place-items: center; width: 62px; height: 62px; border-radius: 50%; background: radial-gradient(circle at 35% 30%, #ffe27a, var(--ms-jaune) 55%, #d9a514); color: var(--ms-vert); font: 400 27px/1 Impact, "Arial Narrow", sans-serif; box-shadow: 0 4px 10px rgba(154, 108, 0, .3); }
.ms-rang span { color: var(--ms-vert); font: 700 14.5px/1.3 Arial, Helvetica, sans-serif; }
.ms-rang small { display: block; margin-top: 3px; color: var(--ms-gris); font-weight: 400; font-size: 13px; }
.ms-journees { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.ms-journees li { display: grid; grid-template-columns: 34px 1fr 38px; align-items: center; gap: 10px; color: var(--ms-vert); font: 800 13.5px/1 Arial, Helvetica, sans-serif; }
.ms-journees b { display: grid; place-items: center; height: 24px; border-radius: 7px; background: #e9efe9; font: 400 14px/1 Impact, "Arial Narrow", sans-serif; letter-spacing: .03em; }
.ms-journees em { font-style: normal; text-align: right; }
.ms-barre { display: block; height: 12px; border-radius: 999px; background: #ebe6d6; overflow: hidden; }
.ms-barre i { display: block; height: 100%; border-radius: inherit; }
.ms-top .ms-barre i { background: linear-gradient(90deg, var(--ms-vif), #5fbf6f); }
.ms-bien .ms-barre i { background: linear-gradient(90deg, #d9a514, var(--ms-jaune)); }
.ms-dur .ms-barre i { background: linear-gradient(90deg, #a92424, #e05a4f); }
.ms-aussi { margin: 10px 0 0; color: var(--ms-gris); font: 400 13px/1.35 Arial, Helvetica, sans-serif; }
.ms-to-ligne { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; margin: 0 0 12px; }
.ms-to-ligne span { display: grid; justify-items: center; gap: 4px; padding: 9px 4px; border-radius: 12px; background: #f3efe2; color: var(--ms-gris); font: 700 11px/1.15 Arial, Helvetica, sans-serif; text-align: center; }
.ms-to-ligne b { color: var(--ms-vert); font: 400 24px/1 Impact, "Arial Narrow", sans-serif; }
html body .ms-to-ligne .ms-to-meilleure { background: #fff3c9; }
.ms-to-meilleure b { color: var(--ms-or); }
.ms-to-liste { display: grid; margin: 0; padding: 0; list-style: none; }
.ms-to-liste li { display: flex; align-items: center; gap: 12px; padding: 9px 0; border-top: 1px solid #ece6d6; color: var(--ms-vert); font: 700 14.5px/1.25 Arial, Helvetica, sans-serif; }
.ms-to-liste small { display: block; margin-top: 2px; color: var(--ms-gris); font-weight: 400; font-size: 12.5px; }
.ms-place { flex: none; display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: #ece8dc; color: #8a8f86; font: 400 17px/1 Impact, "Arial Narrow", sans-serif; }
.ms-place-1 { background: radial-gradient(circle at 35% 30%, #ffe27a, #e0ad1c); color: var(--ms-vert); }
.ms-place-2 { background: radial-gradient(circle at 35% 30%, #ffffff, #c4cbc8); color: var(--ms-vert); }
.ms-place-3 { background: radial-gradient(circle at 35% 30%, #f3c79c, #b8753e); color: #fff; }
.ms-deux { display: grid; gap: 12px; }
.ms-liste { margin: 0; padding: 0; list-style: none; }
.ms-liste li { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 9px 0; border-top: 1px solid #ece6d6; color: var(--ms-vert); font: 400 15px/1.25 Arial, Helvetica, sans-serif; }
.ms-liste li:first-child, .ms-to-liste li:first-child { border-top: 0; }
.ms-liste small { display: block; margin-top: 2px; color: var(--ms-gris); font-size: 12.5px; }
.ms-adv li { display: grid; grid-template-columns: minmax(0, 1fr) 70px auto; }
.ms-vd-barre { display: block; height: 8px; border-radius: 999px; background: #f0c9c4; overflow: hidden; }
.ms-vd-barre i { display: block; height: 100%; background: var(--ms-vif); }
.ms-vd { display: flex; gap: 4px; }
.ms-vd i { min-width: 36px; padding: 4px 6px; border-radius: 8px; font: 800 12.5px/1 Arial, Helvetica, sans-serif; font-style: normal; text-align: center; }
.ms-vd .ms-v { background: var(--ms-vif); color: #fff; }
.ms-vd .ms-d { background: #f8dcd8; color: #a32525; }
.ms-dern li { padding-left: 12px; border-left: 4px solid transparent; }
.ms-dern li.ms-l-v { border-left-color: var(--ms-vif); }
.ms-dern li.ms-l-d { border-left-color: var(--ms-rouge); }
.ms-gagne, .ms-perdu { padding: 5px 10px; border-radius: 999px; font: 800 13px/1 Arial, Helvetica, sans-serif; }
.ms-gagne { background: #dcefe3; color: #17603c; }
.ms-perdu { background: #f8dcd8; color: #a32525; }
@media (min-width: 760px) { .ms-cles { grid-template-columns: repeat(4, minmax(0, 1fr)); } .ms-deux { grid-template-columns: 1fr 1fr; } }

/* ---------- 2. Succès ---------- */
.ms-succes .me-hf { margin: 0; padding: 0; border: 0; background: none; }
.ms-succes-total { position: relative; margin: 0 0 14px; padding: 16px; border-radius: 18px; background: linear-gradient(160deg, #fffaf0, #f6eed9); border: 1px solid #ead9a4; box-shadow: 0 4px 14px rgba(154, 108, 0, .12); }
.ms-succes-ico { position: absolute; top: 14px; right: 14px; display: grid; place-items: center; width: 48px; height: 48px; border-radius: 50%; background: radial-gradient(circle at 35% 30%, #ffe27a, var(--ms-jaune) 55%, #d9a514); color: var(--ms-vert); box-shadow: 0 4px 10px rgba(154, 108, 0, .3); }
.ms-succes-ico svg { width: 26px; height: 26px; }
.ms-succes-total p { display: grid; margin: 0 60px 12px 0; }
.ms-succes-total p strong { color: var(--ms-vert); font: 400 64px/.9 Impact, "Arial Narrow", sans-serif; }
.ms-succes-total p span { margin-top: 4px; color: var(--ms-gris); font: 700 14px/1.2 Arial, Helvetica, sans-serif; }
.ms-jauge { height: 16px; border-radius: 999px; background: #e9e1c9; overflow: hidden; box-shadow: inset 0 1px 2px rgba(0, 0, 0, .08); }
.ms-jauge span { position: relative; display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--ms-vif), #e0b21c); }
.ms-jauge span::after { content: ''; position: absolute; inset: 2px 4px auto; height: 4px; border-radius: 999px; background: rgb(255 255 255 / .45); }
.ms-succes-familles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin: 14px 0 0; padding: 0; list-style: none; }
.ms-succes-familles li { display: grid; gap: 4px; padding: 9px 9px 10px; border-radius: 12px; background: var(--ms-papier); border-top: 4px solid var(--f); color: var(--ms-vert); font: 700 11.5px/1.15 Arial, Helvetica, sans-serif; box-shadow: 0 2px 6px rgba(9, 47, 37, .06); }
.ms-succes-familles b { color: var(--f); font: 400 26px/1 Impact, "Arial Narrow", sans-serif; }
.ms-succes-familles b i { font-style: normal; font-size: 15px; color: #8a9a90; }
.ms-f-jauge { display: block; height: 6px; border-radius: 999px; background: #ece7d7; overflow: hidden; }
.ms-f-jauge i { display: block; height: 100%; background: var(--f); }
.ms-f-ic { --f: var(--ms-vif); }
.ms-f-to { --f: #c99a1e; }
.ms-f-li { --f: var(--ms-sable); }

/* Le carnet : couleur propre à chaque famille, en-tête plus franc, badges débloqués brillants, verrouillés en gris. */
html body .ms-succes .sx-cat { border-top: 5px solid var(--f); box-shadow: 0 3px 10px rgba(9, 47, 37, .05); }
html body .ms-succes .sx-ic { --f: var(--ms-vif); --f2: #0b3d2c; --pale: #e6f3ea; }
html body .ms-succes .sx-to { --f: #e0ad1c; --f2: #a87a00; --pale: #fff4cf; }
html body .ms-succes .sx-li { --f: var(--ms-sable); --f2: #7c5a22; --pale: #f6ecd8; }
html body .ms-succes .sx-pastille { width: 48px; height: 48px; border-radius: 50%; background: radial-gradient(circle at 35% 30%, color-mix(in srgb, var(--f) 55%, #fff), var(--f) 60%, var(--f2)); color: #fff; box-shadow: 0 4px 10px rgb(0 0 0 / .15); }
html body .ms-succes .sx-to .sx-pastille { color: var(--ms-vert); }
html body .ms-succes .sx-tete { grid-template-columns: 48px minmax(0, 1fr) auto; }
html body .ms-succes .sx-compte { color: var(--f2); font: 400 34px/1 Impact, "Arial Narrow", sans-serif; }
html body .ms-succes .sx-jauge { height: 12px; border-radius: 999px; }
html body .ms-succes .sx-jauge span { position: relative; border-radius: 999px; background: linear-gradient(90deg, var(--f2), var(--f)); }
html body .ms-succes .sx-sous { color: var(--f2); }
html body .ms-succes .sx-bande > li, html body .ms-succes .sx-grille > li { grid-template-columns: 44px minmax(0, 1fr); background: #f4f2ec; border-color: #e2dfd5; }
/* Verrouillé : médaille grise, texte adouci. */
html body .ms-succes li:not(.sx-fait) .sx-medaille { background: linear-gradient(160deg, #d7d5ce, #b4b1a8); color: #f4f2ec; }
html body .ms-succes li:not(.sx-fait) .sx-texte strong { color: #4d5a52; }
/* Débloqué : médaille en couleur avec une brillance, carte teintée de la famille. */
html body .ms-succes li.sx-fait { background: var(--pale) !important; border-color: var(--f) !important; box-shadow: 0 3px 10px rgb(0 0 0 / .07); }
html body .ms-succes .sx-medaille { position: relative; width: 44px; height: 50px; overflow: hidden; }
html body .ms-succes li.sx-fait .sx-medaille { background: linear-gradient(160deg, color-mix(in srgb, var(--f) 70%, #fff), var(--f) 45%, var(--f2)); color: #fff; }
html body .ms-succes .sx-to li.sx-fait .sx-medaille { color: var(--ms-vert); }
html body .ms-succes li.sx-fait .sx-medaille::after { content: ''; position: absolute; top: -30%; left: -60%; width: 40%; height: 160%; background: linear-gradient(90deg, transparent, rgb(255 255 255 / .65), transparent); transform: rotate(25deg); }
html body .ms-succes li.sx-fait .sx-texte em { color: var(--f2); }
html body .ms-succes li.sx-fait .sx-texte small { color: var(--f2); }

/* ---------- 3. Mes cartes : vignette crème, liseré vert, comme Mon petit billard mais sans terracotta ---------- */
html body .me-page .ms-vcartes { margin: 18px 0; border: 8px solid var(--ms-vert); border-radius: 22px; overflow: hidden; background: var(--ms-creme); color: var(--ms-vert); box-shadow: 0 10px 28px rgba(9, 47, 37, .18); font-family: Arial, Helvetica, sans-serif; }
.ms-vc-tete { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; padding: 16px 16px 0; }
.ms-vc-tete h2 { margin: 0; color: var(--ms-vert); font: 400 clamp(34px, 9.6vw, 44px)/.95 Impact, "Arial Narrow", sans-serif; letter-spacing: .02em; white-space: nowrap; }
.ms-vc-tete h2 small { display: block; margin: 0 0 6px; color: var(--ms-vert2); font: 800 11px/1 Arial, Helvetica, sans-serif; letter-spacing: .18em; text-transform: uppercase; }
.ms-vc-tete a { margin-top: 0; color: var(--ms-vert); font: 800 13.5px/1.2 Arial, Helvetica, sans-serif; text-decoration: none; white-space: nowrap; }
.ms-eventail { position: relative; height: 210px; margin: 10px 0 0; }
.ms-eventail-carte { position: absolute; left: 50%; top: 14px; width: 118px; transform-origin: 50% 100%; }
.ms-eventail-carte img { display: block; width: 100%; height: auto; border-radius: 8px; border: 2px solid var(--ms-papier); box-shadow: 0 10px 20px rgba(9, 47, 37, .32); }
.ms-ev-0 { transform: translateX(-108%) rotate(-11deg); z-index: 1; }
.ms-ev-1 { transform: translateX(-50%) translateY(-8px); z-index: 2; }
.ms-ev-2 { transform: translateX(8%) rotate(11deg); z-index: 1; }
.ms-vc-vide { margin: 0; padding: 70px 16px 0; text-align: center; color: var(--ms-gris); }
.ms-vc-compte { padding: 4px 16px 16px; }
.ms-vc-compte p { margin: 0; font: 400 15px/1.25 Arial, Helvetica, sans-serif; }
.ms-vc-compte p strong { font: 400 30px/1 Impact, "Arial Narrow", sans-serif; letter-spacing: .01em; }
.ms-vc-compte .ms-vc-sur { margin: 2px 0 10px; color: var(--ms-gris); font-size: 13px; }
.ms-vc-compte .ms-jauge { background: #e3ddcb; }
.ms-vc-compte .ms-jauge span { background: var(--ms-vert2); }
.ms-vc-bas { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; padding: 14px 16px 12px; background: var(--ms-vert); }
.ms-vc-bas a { display: grid; place-items: center; min-height: 46px; border-radius: 12px; font: 400 16px/1 Impact, "Arial Narrow", sans-serif; letter-spacing: .04em; text-transform: uppercase; text-decoration: none; }
.ms-vc-voir { background: var(--ms-creme); color: var(--ms-vert); }
.ms-vc-creer { background: var(--ms-jaune); color: var(--ms-vert); }
html body .ms-vc-bas a.ms-vc-creations { grid-column: 1 / -1; min-height: 0; padding: 2px 0 0; color: rgb(248 241 228 / .85); font: 700 13px/1.2 Arial, Helvetica, sans-serif; letter-spacing: 0; text-transform: none; }
@media (min-width: 760px) { .ms-eventail { height: 250px; } .ms-eventail-carte { width: 140px; } }

.ms-ev-legende { display: grid; grid-template-columns: repeat(3, auto); justify-content: center; gap: 8px; margin: -4px 16px 14px; }
.ms-ev-rarete { justify-self: center; padding: 3px 8px; border-radius: 999px; font: 800 9.5px/1.2 Arial, Helvetica, sans-serif; font-style: normal; letter-spacing: .08em; text-transform: uppercase; white-space: nowrap; box-shadow: 0 2px 6px rgba(9, 47, 37, .25); }
.ms-r-0 { background: var(--ms-vert); color: var(--ms-creme); }
.ms-r-1 { background: var(--ms-jaune); color: var(--ms-vert); }
.ms-r-2 { background: linear-gradient(90deg, #d8f1e2, #fff4cf, #f8dcd8); color: var(--ms-vert); }
/* 1.41.1 : date courte, en minuscules comme écrite (« 31/10 · 14 h »). */ html body .mpb-jeu-140 .mpb-bloc-date-140 { text-transform: none; white-space: nowrap; }

/* ===== 1.42.0 (Rudy) : les onglets de la page du jeu ===== */
html body .mpb-jeu-140 .mpb-onglets-142 button { cursor: pointer; }
html body .mpb-jeu-140 .mpb-onglets-142 button:disabled { cursor: default; }
html body .mpb-jeu-140 .mpb-onglets-142 .mpb-ico-142 { display: none; width: 24px; height: 24px; }
html body .mpb-jeu-140 .mpb-onglets-142 .mpb-court-142 { display: none; }
/* Variante B : barre fixée en bas de l'écran, 5 icônes et un libellé court ; l'actif en terracotta. */
html body .mpb-tabs-b-142 { padding-bottom: calc(84px + env(safe-area-inset-bottom, 0px)); }
html body .mpb-tabs-b-142 .mpb-onglets-142 { position: fixed; right: 0; bottom: 0; left: 0; z-index: 30; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); padding: 6px max(6px, env(safe-area-inset-right, 0px)) calc(6px + env(safe-area-inset-bottom, 0px)) max(6px, env(safe-area-inset-left, 0px)); border-top: 1px solid #e3dac4; background: #fffdf7; box-shadow: 0 -6px 18px rgb(9 47 37 / .1); }
html body .mpb-tabs-b-142 .mpb-onglets-142 button { display: grid; justify-items: center; align-content: center; gap: 3px; min-height: 56px; padding: 4px 2px; border: 0; border-radius: 12px; background: none; color: #5b6b5f; font: 800 11px/1.1 Arial, Helvetica, sans-serif; }
html body .mpb-tabs-b-142 .mpb-onglets-142 .mpb-ico-142 { display: block; }
html body .mpb-tabs-b-142 .mpb-onglets-142 .mpb-long-142 { display: none; }
html body .mpb-tabs-b-142 .mpb-onglets-142 .mpb-court-142 { display: block; white-space: nowrap; }
html body .mpb-tabs-b-142 .mpb-onglets-142 button[aria-selected="true"] { color: var(--acc); }
html body .mpb-tabs-b-142 .mpb-onglets-142 button[aria-selected="true"] .mpb-ico-142 { stroke-width: 2.4; }
html body .mpb-tabs-b-142 .mpb-onglets-142 button:disabled { opacity: .4; }
html body .mpb-tabs-b-142 .mpb-onglets-142 button:focus-visible { outline: 2px solid var(--acc); outline-offset: -2px; }
@media (min-width: 760px) { html body .mpb-tabs-b-142 .mpb-onglets-142 { left: 50%; right: auto; bottom: 16px; width: 520px; margin-left: -260px; border: 1px solid #e3dac4; border-radius: 18px; } }
html body .mpb-tabs-b-142 .mpb-onglets-142 button { padding: 4px 0; font-size: clamp(9.5px, 2.9vw, 11.5px); letter-spacing: -.01em; }
@media (max-width: 360px) { html body .mpb-tabs-b-142 .mpb-onglets-142 { padding-left: 2px; padding-right: 2px; } html body .mpb-tabs-b-142 .mpb-onglets-142 button { font-size: 9px; letter-spacing: -.02em; } }
/* 1.42.1 (Rudy) : notice du bas en 2 lignes, de l'air au-dessus, plus de grand vide (seulement la place de la barre). */ html body .mpb-jeu-140 .mpb-tampon { margin-top: 18px; } html body .mpb-jeu-140 .mpb-notice-142 { margin: 10px 0 0; color: #5b6b5f; font: 400 12px/1.4 Arial, Helvetica, sans-serif; } html body .pr-app.mpb-tabs-b-142 { padding-bottom: calc(72px + env(safe-area-inset-bottom, 0px)); min-height: 0; } html body .mpb-jeu-140 .pr-corps { padding-bottom: 0; margin-bottom: 0; }
html body .pr-app.mpb-tabs-b-142 { padding-bottom: 16px; } html body:has(.mpb-tabs-b-142) { padding-bottom: calc(72px + env(safe-area-inset-bottom, 0px)); } html body:has(.mpb-tabs-b-142) main#app { min-height: 0; padding-bottom: 0; margin-bottom: 0; }

/* ===== 1.42.2 (Rudy) ===== */
/* En-tête du jeu entouré du liseré vert foncé de la vignette (8 px). */
html body .mpb-jeu-140 .mpb-tete-140 { border: 8px solid var(--vert); }
/* Équipe : un titre qui en jette, l'info de la journée en petit sous « Partager ». */
html body .mpb-jeu-140 .mpb-titre-equipe-142 { display: grid; margin: 22px 0 4px; font: 900 clamp(46px, 14vw, 64px)/.88 Impact, "Arial Narrow", sans-serif; letter-spacing: -.005em; text-transform: uppercase; color: var(--vert); }
html body .mpb-jeu-140 .mpb-titre-equipe-142 small { color: var(--acc); font: 900 clamp(22px, 6.6vw, 30px)/1 Impact, "Arial Narrow", sans-serif; letter-spacing: .06em; }
html body .mpb-jeu-140 .mpb-infos-142 .pr-sub { margin: 10px 0 0; font-size: 12px; text-align: center; }
html body .mpb-jeu-140 .mpb-infos-142 .pr-bientot { margin-top: 10px; }
/* Pronos : aperçu grisé avec un gros « ? ». */
html body .mpb-jeu-140 .pr-apercu-bandeau-142 { margin: 8px 0 10px; padding: 8px 12px; border-radius: 10px; background: #fff0c6; color: #5c3a0c; font: 700 12.5px/1.35 Arial, Helvetica, sans-serif; text-align: center; }
html body .mpb-jeu-140 .pr-apercu-142 { position: relative; margin-bottom: 8px; padding: 8px 12px 6px; filter: grayscale(.85); opacity: .7; }
html body .mpb-jeu-140 .pr-apercu-142 .pr-team img { width: 64px; height: 40px; }
html body .mpb-jeu-140 .pr-apercu-142 .pr-team b { font-size: 13px; }
html body .mpb-jeu-140 .pr-apercu-142 .pr-team small { display: none; }
html body .mpb-jeu-140 .pr-apercu-q-142 { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -42%); color: var(--acc); font: 900 64px/1 Impact, "Arial Narrow", sans-serif; opacity: .85; pointer-events: none; }
html body .mpb-jeu-140 .pr-apercu-142 .pr-vs { visibility: hidden; }
html body .mpb-jeu-140 .pr-apercu-lieu-142 { margin: 2px 0 0; color: #5b6b5f; font: 700 11px/1.2 Arial, Helvetica, sans-serif; text-align: center; }
html body .mpb-jeu-140 .pr-apercu-142 .pr-affiche-tete { display: none; }
html body .mpb-jeu-140 .pr-apercu-142 { padding: 6px 10px 4px; }
html body .mpb-jeu-140 .pr-apercu-142 .pr-team img { width: 52px; height: 32px; }
html body .mpb-jeu-140 .pr-apercu-q-142 { font-size: 48px; transform: translate(-50%, -55%); }
html body .mpb-jeu-140 .pr-apercu-bandeau-142 { margin: 6px 0 8px; padding: 6px 10px; }
html body .mpb-jeu-140 .mpb-titre-equipe-142 { font-size: clamp(54px, 16vw, 72px); }
html body .mpb-jeu-140 .mpb-titre-equipe-142 small { font-size: clamp(24px, 7vw, 32px); }
/* 1.42.3 (Rudy) : « TON ÉQUIPE » sur une ligne, avec le triangle du logo ; les cartes remontent pour tenir sous l'en-tête. */
html body .mpb-jeu-140 .mpb-titre-equipe-143 { display: flex; align-items: center; gap: 10px; margin: 14px 0 0; color: var(--vert); font: 900 32px/1 Impact, "Arial Narrow", sans-serif; letter-spacing: .02em; text-transform: uppercase; }
html body .mpb-jeu-140 .mpb-tri-143 { width: 0; height: 0; border-left: 12px solid transparent; border-right: 12px solid transparent; border-top: 20px solid var(--acc); }
html body .mpb-jeu-140 .mpb-titre-equipe-143 + .pr-retour:empty { display: none; }
html body .mpb-jeu-140 .mpb-terrain-140 { margin-top: 6px; padding-top: 0; }
html body .mpb-jeu-140 .mpb-scene-140 { margin-top: 4px; }
html body .mpb-jeu-140 .pr-fil { margin-bottom: 4px; }
html body .mpb-jeu-140 .mpb-logo-140 { padding: 12px 16px 8px; }
html body .mpb-jeu-140 .mpb-logo-140 .mpb-logo { width: min(250px, 62vw); }
html body .mpb-jeu-140 .mpb-bloc-140 { padding-top: 10px; padding-bottom: 12px; }
html body .mpb-jeu-140 #mpb-compte-140 { font-size: clamp(28px, 8.4vw, 38px); margin: 3px 0 2px; }
@media (max-width: 480px) and (max-height: 760px) {
  html body .mpb-jeu-140 .mpb-logo-140 { padding: 8px 14px 6px; }
  html body .mpb-jeu-140 .mpb-logo-140 .mpb-logo { width: min(190px, 52vw); }
  html body .mpb-jeu-140 .mpb-bloc-140 { padding-top: 8px; padding-bottom: 10px; row-gap: 3px; }
  html body .mpb-jeu-140 .mpb-titre-equipe-143 { margin-top: 8px; font-size: 28px; }
  html body .mpb-jeu-140 .mpb-scene-140 { height: 158px; }
  html body .mpb-jeu-140 .mpb-carte-140 { width: 92px; margin-left: -46px; }
  html body .mpb-jeu-140 .mpb-noms-140 { margin-top: 8px; }
  html body .mpb-jeu-140 .pr-fil { margin-bottom: 2px; }
}
/* 1.42.4 (Rudy) : « ▼ MON ÉQUIPE MPB · J4 », le numéro de journée en terracotta, un peu plus petit. */ html body .mpb-jeu-140 .mpb-titre-equipe-143 { white-space: nowrap; font-size: clamp(24px, 7.6vw, 32px); } html body .mpb-jeu-140 .mpb-j-144 { margin-left: -2px; color: var(--acc); font-size: .78em; }
html body .mpb-jeu-140 .mpb-j-144 { margin-left: -4px; }
/* 1.42.5 (Rudy) : « MPB » en mini-logo (M et P terracotta, B vert, resserrés, triangle du rack en haut à droite du B). */
html body .mpb-jeu-140 .mpb-titre-equipe-143 { gap: 8px; align-items: baseline; }
html body .mpb-jeu-140 .mpb-mini-145 { position: relative; display: inline-flex; align-items: baseline; padding-right: 13px; font-size: 1.18em; letter-spacing: -.035em; line-height: 1; }
html body .mpb-jeu-140 .mpb-mini-145 b { color: var(--acc); font-weight: inherit; }
html body .mpb-jeu-140 .mpb-mini-145 i { color: var(--vert); font-style: normal; }
html body .mpb-jeu-140 .mpb-mini-tri-145 { position: absolute; top: .12em; right: 0; width: 0; height: 0; border-left: 6px solid transparent; border-right: 6px solid transparent; border-top: 10px solid var(--acc); }
html body .mpb-jeu-140 .mpb-j-144 { margin-left: 0; }
/* 1.42.6 (Rudy) : moins de vide entre l'en-tête et « MON ÉQUIPE MPB », pour garder les titulaires visibles à l'ouverture. */ html body .mpb-jeu-140 .pr-corps { padding-top: 6px; } html body .mpb-jeu-140 .mpb-titre-equipe-143 { margin-top: 4px; } html body .mpb-jeu-140 .pr-corps > .mpb-terrain-140 { margin-top: 4px; }
/* 1.42.7 (Rudy) : titre « cartouche net » : le sigle en SVG, la journée en étiquette verte. */
html body .mpb-jeu-140 .mpb-titre-equipe-143 { display: flex; align-items: center; gap: 8px; height: 36px; margin: 4px 0 0; }
html body .mpb-jeu-140 .mpb-titre-svg-147 { display: block; height: 36px; width: auto; max-width: calc(100% - 50px); }
html body .mpb-jeu-140 .mpb-etiquette-147 { display: grid; place-items: center; min-width: 34px; height: 34px; padding: 0 6px; border-radius: 7px; background: #0b3d2e; color: #f8f1e4; font: 900 22px/1 Impact, "Arial Narrow", sans-serif; letter-spacing: .01em; box-sizing: border-box; }
html body .mpb-jeu-140 .mpb-sr-147 { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
/* 1.43.0 (Rudy) : Ma rencontre, puissance des joueurs sur 100 et favori avant le match. */
html body .fm-puiss-143 { display: block; color: #5b6b5f; font: 700 11px/1.2 Arial, Helvetica, sans-serif; white-space: nowrap; }
html body .fm-favori-143 strong { color: var(--acc, #b8401f); }
/* 1.43.2 (Rudy) : onglet Équipe au téléphone, tout jusqu'aux prénoms des remplaçants dès l'ouverture. */
@media (max-width: 480px) {
  html body .mpb-jeu-140 .mpb-terrain-140 { padding-bottom: 6px; }
  html body .mpb-jeu-140 .mpb-noms-140 { margin-top: 6px; }
  html body .mpb-jeu-140 .mpb-banc-140 { margin-top: 8px; }
  html body .mpb-jeu-140 .mpb-banc-tete-140 { margin-bottom: 6px; }
  html body .mpb-jeu-140 .mpb-banc-cartes-140 figure { gap: 3px; }
  html body .mpb-jeu-140 .mpb-terrain-140[style*="--jw"] .mpb-scene-140 { height: calc(var(--jw) * 1.4 + 16px); margin-top: 8px; }
  html body .mpb-jeu-140 .mpb-terrain-140[style*="--jw"] .mpb-carte-140 { width: var(--jw); margin-left: calc(var(--jw) / -2); }
  html body .mpb-jeu-140 .mpb-terrain-140[style*="--jm"] .mpb-banc-cartes-140 { --mini: var(--jm); }
}
/* Écrans courts (≤ 700 px de haut) : en-tête plus compact, « REMPLAÇANTS » à la verticale à gauche, comme dans la vignette. */
@media (max-width: 480px) and (max-height: 700px) {
  html body .mpb-jeu-140 .pr-fil { margin: 0; }
  html body .mpb-jeu-140 .pr-fil a { min-height: 30px; }
  html body .mpb-jeu-140 .mpb-logo-140 { padding: 6px 12px 4px; }
  html body .mpb-jeu-140 .mpb-logo-140 .mpb-logo { width: 150px; }
  html body .mpb-jeu-140 .mpb-bloc-140 { padding: 6px 12px 8px; row-gap: 2px; }
  html body .mpb-jeu-140 #mpb-compte-140 { font-size: 26px; margin: 1px 0; }
  html body .mpb-jeu-140 .mpb-credits-140 { padding: 6px 10px; }
  html body .mpb-jeu-140 .mpb-credits-140 b { font-size: 24px; }
  html body .mpb-jeu-140 .pr-corps { padding-top: 2px; }
  html body .mpb-jeu-140 .mpb-banc-tete-140 { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  html body .mpb-jeu-140 .mpb-banc-cartes-140::before { content: 'REMPLAÇANTS'; position: absolute; top: calc(var(--mini) * .7); right: calc(50% + var(--ecart) / 2 + var(--mini) + 8px); transform: translateY(-50%) rotate(180deg); writing-mode: vertical-rl; color: var(--acc); font: 800 8px/1.2 Arial, Helvetica, sans-serif; letter-spacing: .08em; }
  html body .mpb-jeu-140 .mpb-banc-140 { margin-top: 4px; }
}
@media (max-width: 480px) and (max-height: 700px) { html body .mpb-jeu-140 .mpb-logo-140 .mpb-logo { width: 186px; } }
@media (max-width: 480px) and (max-height: 700px) { html body .mpb-jeu-140 .mpb-banc-cartes-140::before { font-size: 7px; letter-spacing: .03em; right: calc(50% + var(--ecart) / 2 + var(--mini) + 10px); } }
/* 1.43.3 (Rudy) : pastille des crédits poussée à droite (4 px avant la fin du filet « Remplaçants ») ; titre remonté de 6 px, cartes inchangées. */ @media (max-width: 480px) { html body .mpb-jeu-140 .mpb-pastille-140 { left: auto; right: 4px; } html body .mpb-jeu-140 .mpb-titre-equipe-143 { margin-top: -2px; margin-bottom: 6px; } }
/* 1.43.4 (Rudy) : titre remonté de 6 px de plus (pris sur l'écart avec l'en-tête), cartes inchangées. */ @media (max-width: 480px) { html body .mpb-jeu-140 .mpb-titre-equipe-143 { margin-top: -8px; margin-bottom: 12px; } }
/* 1.43.7 (Rudy) : bloc vert du jeu comme celui de la vignette (compte à rebours + date à droite derrière un trait fin),
   VALIDER au style du bouton JOUER (crème, texte terracotta, bordure et relief) ; enregistrée : grisé ; incomplète : grisé + « Il manque X joueurs ». */
html body .mpb-jeu-140 .mpb-bloc-140 { grid-template-columns: minmax(0, 1fr) auto; align-items: end; }
html body .mpb-jeu-140 .mpb-ligne-147 { display: flex; align-items: center; gap: 10px; min-width: 0; }
html body .mpb-jeu-140 .mpb-ligne-147 #mpb-compte-140 { margin: 0; font-size: clamp(22px, 6.6vw, 30px); }
html body .mpb-jeu-140 .mpb-date-147 { display: grid; gap: 2px; padding-left: 10px; border-left: 1px solid rgb(248 241 228 / .35); color: var(--creme); font: 800 12px/1.1 Arial, Helvetica, sans-serif; letter-spacing: .1em; text-transform: uppercase; white-space: nowrap; }
html body .mpb-jeu-140 .mpb-date-147 b, html body .mpb-jeu-140 .mpb-date-147 i { font-weight: inherit; font-style: normal; }
html body .mpb-jeu-140 .mpb-valider-147 { display: grid; justify-items: center; gap: 4px; }
html body .mpb-jeu-140 .mpb-valider-147 .vgd-jouer { display: grid; place-items: center; min-height: 46px; padding: 0 12px; border: 2px solid var(--acc); border-radius: 12px; background: var(--creme); color: var(--acc); box-shadow: 0 4px 0 #8f2f14; font: 900 20px/1 Impact, "Arial Narrow", sans-serif; letter-spacing: .06em; cursor: pointer; }
html body .mpb-jeu-140 .mpb-valider-147 .vgd-jouer:active { transform: translateY(2px); box-shadow: 0 2px 0 #8f2f14; }
html body .mpb-jeu-140 .mpb-valider-147 .vgd-jouer:disabled { border-color: rgb(248 241 228 / .5); background: rgb(248 241 228 / .55); color: #5b6b5f; box-shadow: none; cursor: default; transform: none; }
html body .mpb-jeu-140 .mpb-valider-147 .mpb-ok-147:disabled { padding: 0 8px; font-size: 14px; letter-spacing: .02em; color: #0e3d2e; }
html body .mpb-jeu-140 .mpb-valider-147 small { color: var(--creme); font: 700 10.5px/1.2 Arial, Helvetica, sans-serif; white-space: nowrap; }
@media (max-width: 360px) { html body .mpb-jeu-140 .mpb-valider-147 .vgd-jouer { padding: 0 10px; font-size: 18px; } html body .mpb-jeu-140 .mpb-date-147 { font-size: 10.5px; padding-left: 7px; } }
/* 1.43.8 (Rudy) : bouton 15 % plus petit, bord droit aligné sur « INTERCAFÉS · J4 » ; validé = vert vif, texte crème, petit rebond au clic. */
html body .mpb-jeu-140 .mpb-valider-147 { justify-items: end; text-align: right; }
html body .mpb-jeu-140 .mpb-valider-147 .vgd-jouer { min-height: 39px; padding: 0 10px; border-radius: 10px; box-shadow: 0 3px 0 #8f2f14; font-size: 17px; }
html body .mpb-jeu-140 .mpb-valider-147 .vgd-jouer:active { box-shadow: 0 1px 0 #8f2f14; }
html body .mpb-jeu-140 .mpb-valider-147 .mpb-ok-147:disabled { padding: 0 9px; border: 2px solid var(--creme); background: #2f9e5a; color: var(--creme); box-shadow: 0 3px 0 #1d6b3b; font-size: 13px; letter-spacing: .03em; opacity: 1; }
html body .mpb-jeu-140 .mpb-valider-147 .mpb-rebond-148 { animation: mpb-rebond-148 .45s ease-out; }
@keyframes mpb-rebond-148 { 0% { transform: scale(.88); } 55% { transform: scale(1.06); } 100% { transform: scale(1); } }
@media (prefers-reduced-motion: reduce) { html body .mpb-jeu-140 .mpb-valider-147 .mpb-rebond-148 { animation: none; } }
@media (max-width: 360px) { html body .mpb-jeu-140 .mpb-valider-147 .vgd-jouer { font-size: 15px; } }
/* 1.43.9 (Rudy) : le bouton reprend la taille de l'ancienne carte des crédits ; le compte à rebours et la date se centrent sur lui
   (le bouton et « Il manque X joueurs » deviennent des cases de la grille du bloc, sur deux lignes distinctes). */
html body .mpb-jeu-140 .mpb-valider-147 { display: contents; }
html body .mpb-jeu-140 .mpb-bloc-140 > .mpb-ligne-147 { grid-column: 1; grid-row: 2; align-self: center; }
html body .mpb-jeu-140 .mpb-valider-147 .vgd-jouer { grid-column: 2; grid-row: 2; justify-self: end; box-sizing: border-box; width: 96px; height: 61px; min-height: 0; padding: 0 4px; font-size: 20px; line-height: 1.05; text-align: center; }
html body .mpb-jeu-140 .mpb-valider-147 .mpb-ok-147:disabled { padding: 0 4px; font-size: 15px; line-height: 1.05; }
html body .mpb-jeu-140 .mpb-valider-147 small { grid-column: 2; grid-row: 3; justify-self: end; }
@media (max-width: 480px) and (max-height: 700px) {
  html body .mpb-jeu-140 .mpb-valider-147 .vgd-jouer { width: 77px; height: 47px; font-size: 17px; }
  html body .mpb-jeu-140 .mpb-valider-147 .mpb-ok-147:disabled { font-size: 12.5px; }
}
/* 1.43.10 (Rudy) : largeur posée par le script (celle du texte « INTERCAFÉS · J4 »), textes centrés en compensant l'espacement des lettres,
   « ÉQUIPE / VALIDÉE » sur deux lignes et coche dans un petit rond crème en coin. */
html body .mpb-jeu-140 .mpb-valider-147 .vgd-jouer { position: relative; text-indent: .06em; }
html body .mpb-jeu-140 .mpb-valider-147 .mpb-ok-147:disabled { font-size: 19px; line-height: 1; letter-spacing: .04em; text-indent: .04em; }
html body .mpb-jeu-140 .mpb-coche-1410 { position: absolute; bottom: -7px; right: -7px; display: grid; place-items: center; width: 20px; height: 20px; border-radius: 50%; background: var(--creme); color: #2f9e5a; box-shadow: 0 1px 3px rgb(0 0 0 / .3); font: 900 13px/1 Arial, Helvetica, sans-serif; text-indent: 0; letter-spacing: 0; }
@media (max-width: 480px) and (max-height: 700px) {
  html body .mpb-jeu-140 .mpb-valider-147 .mpb-ok-147:disabled { font-size: 16px; }
}
/* 1.43.11 (Rudy) : « INTERCAFÉS · J4 » resserré autour du point (5 px de moins), centré au-dessus du bouton. */
html body .mpb-jeu-140 .mpb-bloc-140 .mpb-j-140 { word-spacing: -2.5px; margin-right: 2.5px; }
/* 1.43.12 (Rudy) : le message temporaire (joueur ajouté, retiré, remplacé) centré sur l'axe de la carte du milieu, comme le titre. */
html body .mpb-jeu-140 .mpb-titre-equipe-143 + .pr-retour { text-align: center; }
/* 1.43.13 (Rudy) : équipe incomplète = bouton grisé « MANQUE / X JOUEURS » sur deux lignes, plus de ligne dessous (bloc de même hauteur). */
html body .mpb-jeu-140 .mpb-valider-147 .mpb-manque-1413:disabled { opacity: 1; color: #2c4a3c; font-size: 19px; line-height: 1; letter-spacing: .04em; text-indent: .04em; }
@media (max-width: 480px) and (max-height: 700px) { html body .mpb-jeu-140 .mpb-valider-147 .mpb-manque-1413:disabled { font-size: 16px; } }
/* 1.43.14 (Rudy) : étiquette « Nouveau » sur la mini-carte d'un joueur sans partie Intercafés. */
html body .mpb-jeu-140 .mpb-choix-140 { position: relative; }
html body .mpb-jeu-140 .mpb-nouveau-1414 { position: absolute; top: 6px; left: 6px; z-index: 2; padding: 3px 7px; border-radius: 999px; background: var(--vert); color: var(--creme); font: 800 10px/1 Arial, Helvetica, sans-serif; letter-spacing: .08em; text-transform: uppercase; }
/* 1.43.15 : écrans de 360 px et moins, le bloc vert resserré pour que le bouton ne touche jamais la date. */
@media (max-width: 360px) {
  html body .mpb-jeu-140 .mpb-bloc-sur-140, html body .mpb-jeu-140 .mpb-bloc-sur-140 .mpb-j-140 { font-size: 10px; letter-spacing: .05em; }
  html body .mpb-jeu-140 .mpb-ligne-147 { gap: 6px; }
  html body .mpb-jeu-140 .mpb-ligne-147 #mpb-compte-140 { font-size: 20px; }
  html body .mpb-jeu-140 .mpb-date-147 { padding-left: 6px; letter-spacing: .04em; }
}
/* 1.44.0 (Rudy) : pronos en mode test, bandeau bien visible et étiquette TEST sur chaque affiche. */
html body .pr-test-bandeau-144 { margin: 0 0 12px; padding: 12px 14px; border: 2px solid #b8401f; border-radius: 12px; background: #fbe9dc; color: #5a1f0c; font: 600 14px/1.4 Arial, Helvetica, sans-serif; }
html body .pr-test-bandeau-144 b { text-transform: uppercase; letter-spacing: .06em; }
html body .pr-affiche.pr-test-144 .pr-affiche-tete { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
html body .pr-test-etiquette-144 { padding: 3px 8px; border-radius: 999px; background: #b8401f; color: #fff8ec; font: 900 11px/1 Arial, Helvetica, sans-serif; letter-spacing: .12em; }
html body .pr-affiche.pr-test-144 .pr-affiche-tete span.pr-test-etiquette-144 { padding: 4px 9px; border-radius: 999px; background: #b8401f; color: #fff8ec; font: 900 11px/1 Arial, Helvetica, sans-serif; letter-spacing: .12em; }
/* 1.45.0 (Rudy) : « ENREGISTREMENT… » sur une ligne pendant l'enregistrement automatique. */
html body .mpb-jeu-140 .mpb-valider-147 .mpb-encours-149:disabled { font-size: 14px; letter-spacing: .02em; white-space: nowrap; }
@media (max-width: 360px) { html body .mpb-jeu-140 .mpb-valider-147 .mpb-encours-149:disabled { font-size: 12px; } }
/* 1.45.0 (Rudy) : premier écran de Mon espace au téléphone, réglé par lbbCadrerEspace150 (variables posées par le script). */
@media (max-width: 480px) {
  html body .me-page #me-cartes[style*="--mc-h"] { height: var(--mc-h); }
  html body .me-page #me-cartes[style*="--mc-w"] > a, html body .me-page #me-cartes[style*="--mc-w"] > .me-carte-vide { width: var(--mc-w); }
  html body .me-page #me-menu-136[style*="--air"], html body .me-page #me-sec-rdv[style*="--air"] { margin-top: var(--air); }
  html body .me-page #me-sec-rdv[style*="--rdv-h"] { min-height: var(--rdv-h); display: flex; flex-direction: column; box-sizing: border-box; }
  html body .me-page #me-sec-rdv[style*="--rdv-h"] > .me-vide { flex: 1; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; }
  html body .me-page #me-sec-rdv[style*="--rdv-h"] > .me-rdv-vedette { flex: 1; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; }
  html body .me-page.me-compact-150 .me-hero { padding: 12px 14px 14px; gap: 4px; }
  html body .me-page.me-compact-150 .me-cartes { height: 128px; }
  html body .me-page.me-compact-150 .me-cartes > a, html body .me-page.me-compact-150 .me-cartes > .me-carte-vide { width: 78px; }
}
html body .me-page .me-rdv-suite > .me-rdv-ligne[hidden] { display: none; }
/* 1.45.1 (Rudy) : remplaçants du jeu comme dans la vignette ; position et largeur du filet posées par lbbBanc1451. */
html body .mpb-jeu-140 .mpb-banc-140 .mpb-banc-tete-140 { position: static; display: block; box-sizing: border-box; height: 0; margin-top: 0; margin-bottom: 10px; overflow: visible; clip: auto; border-top: .6px solid #d8ccae; }
html body .mpb-jeu-140 .mpb-banc-140 .mpb-banc-tete-140::after { content: none; }
html body .mpb-jeu-140 .mpb-banc-140 .mpb-banc-tete-140 small { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
html body .mpb-jeu-140 .mpb-banc-cartes-140 { position: relative; }
html body .mpb-jeu-140 .mpb-banc-titre-1451 { position: absolute; left: 0; top: 0; writing-mode: vertical-rl; transform: rotate(180deg); color: var(--acc); font: 800 9px/1 Arial, Helvetica, sans-serif; letter-spacing: .12em; white-space: nowrap; }
@media (max-width: 480px) and (max-height: 700px) { html body .mpb-jeu-140 .mpb-banc-140 .mpb-banc-tete-140 { margin-bottom: 6px; } }
/* Vignette de Mon espace : petite icône ronde « partager » en haut à droite. */
html body .vgd .vgd-tete { position: relative; }
html body .vgd .vgd-partager-1451 { position: absolute; top: 0; right: 0; display: grid; place-items: center; width: 28px; height: 28px; padding: 0; border: 2px solid var(--vert); border-radius: 50%; background: transparent; color: var(--vert); cursor: pointer; }
html body .vgd .vgd-partager-1451[hidden] { display: none; }
html body .vgd .vgd-partager-1451:active { transform: scale(.94); }
html body .mpb-jeu-140 .mpb-banc-cartes-140::before { content: none; }
html body .mpb-jeu-140 .mpb-banc-titre-1451 { font-size: clamp(6.5px, calc(var(--mini, 70px) * .11), 9px); letter-spacing: .05em; }
/* 1.46.0 (Rudy) : pronos, sélecteur de score exact (− valeur +), total 18, bouton « Pas de score ». */
html body .pr-score-146 { display: grid; gap: 10px; margin-top: 12px; }
html body .pr-score-146 > p { margin: 0; color: #5b6b5f; font: 700 12px/1.3 Arial, Helvetica, sans-serif; letter-spacing: .04em; text-align: center; }
html body .pr-score-ligne-146 { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: end; gap: 8px; }
html body .pr-pas-146 { display: grid; justify-items: center; gap: 4px; min-width: 0; }
html body .pr-pas-146 small { max-width: 100%; overflow: hidden; color: #0b3d2e; font: 800 11px/1.2 Arial, Helvetica, sans-serif; text-overflow: ellipsis; white-space: nowrap; }
html body .pr-pas-146 > div { display: flex; align-items: center; gap: 6px; }
html body .pr-pas-146 button { display: grid; place-items: center; width: 40px; height: 40px; padding: 0; border: 2px solid #0b3d2e; border-radius: 50%; background: #fffdf7; color: #0b3d2e; font: 900 22px/1 Arial, Helvetica, sans-serif; cursor: pointer; touch-action: manipulation; }
html body .pr-pas-146 button:disabled { opacity: .3; cursor: default; }
html body .pr-pas-146 output { min-width: 2ch; color: #0b3d2e; font: 900 34px/1 Impact, "Arial Narrow", sans-serif; text-align: center; }
html body .pr-tiret-146 { padding-bottom: 8px; color: #b8401f; font: 900 28px/1 Impact, "Arial Narrow", sans-serif; }
html body .pr-sans-146 { justify-self: center; padding: 6px 14px; border: 1.5px solid #d8ccae; border-radius: 999px; background: transparent; color: #5b6b5f; font: 700 12px/1.2 Arial, Helvetica, sans-serif; cursor: pointer; }
html body .pr-sans-146[aria-pressed="true"] { border-color: #0b3d2e; background: #0b3d2e; color: #fffdf7; }
@media (max-width: 360px) { html body .pr-pas-146 button { width: 34px; height: 34px; font-size: 19px; } html body .pr-pas-146 output { font-size: 28px; } }
/* 1.47.1 (Rudy) : pronos, sélecteur 10 % plus petit. */
html body .pr-pas-146 button { width: 36px; height: 36px; font-size: 20px; }
html body .pr-pas-146 output { font-size: 31px; }
html body .pr-tiret-146 { font-size: 25px; padding-bottom: 7px; }
@media (max-width: 360px) { html body .pr-pas-146 button { width: 31px; height: 31px; font-size: 17px; } html body .pr-pas-146 output { font-size: 25px; } }
/* 1.47.1 (Rudy) : vignette « Mes cartes » ; tailles posées par lbbAjusterCartes1471 ; jauge en aplat ; vrais boutons en gras. */
html body .me-page .ms-vcartes[style*="--vc-min"] { display: flex; flex-direction: column; min-height: var(--vc-min); box-sizing: border-box; }
html body .me-page .ms-vcartes[style*="--vc-min"] .ms-vc-bas { margin-top: auto; }
html body .me-page .ms-vcartes[style*="--ev-w"] .ms-eventail { height: var(--ev-h); }
html body .me-page .ms-vcartes[style*="--ev-w"] .ms-eventail-carte { width: var(--ev-w); }
html body .me-page .ms-recentes-1471 { padding: 4px 16px 10px; }
html body .me-page .ms-recentes-1471 > p { margin: 0 0 8px; color: var(--ms-vert2); font: 800 11px/1 Arial, Helvetica, sans-serif; letter-spacing: .16em; text-transform: uppercase; }
html body .me-page .ms-recentes-1471 > div { display: flex; justify-content: center; gap: 12px; }
html body .me-page .ms-recentes-1471 img { width: min(72px, 22vw); height: auto; border: 2px solid var(--ms-papier); border-radius: 6px; box-shadow: 0 6px 12px rgba(9, 47, 37, .22); }
html body .me-page .ms-vc-compte .ms-jauge { height: 14px; border-radius: 8px; background: #ece4cf; box-shadow: none; }
html body .me-page .ms-vc-compte .ms-jauge span { border-radius: 8px; background: var(--ms-vert2); }
html body .me-page .ms-vc-compte .ms-jauge span::after { content: none; }
html body .me-page .ms-vc-bas a.ms-vc-voir, html body .me-page .ms-vc-bas a.ms-vc-creer { font: 700 15px/1.1 Arial, Helvetica, sans-serif; letter-spacing: .01em; text-transform: none; box-shadow: 0 3px 0 rgb(0 0 0 / .25); }
/* 1.47.1 : menu de Mon espace sur une ligne avec « Première Bande » (jamais de défilement de côté). */
@media (max-width: 480px) { html body #me-menu-136 { gap: 2px; } html body #me-menu-136 a { padding: 0 5px; font-size: clamp(10px, 2.92vw, 12px); letter-spacing: 0; } }
@media (max-width: 350px) { html body #me-menu-136 a { padding: 0 3.5px; font-size: 9.6px; } }
/* 1.48.0 (Rudy) : vignette du prochain RDV dans Mon espace, au rendu du Calendrier (ses feuilles ne s'appliquent que sur
   sa page : mêmes classes, règles reprises ici et cadrées sur Mon espace). Tailles des mini-cartes posées par le script. */
html body .me-page #me-sec-rdv .me-rdv-148 { --pc-w: 70px; position: relative; display: block; margin: 0; padding: 0 12px 12px; border: 1px solid #d9ddcf; border-left: 3px solid #092f25; border-radius: 14px; background: #fffdf6; color: #092f25; overflow: hidden; cursor: pointer; box-shadow: 0 3px 14px #092f2508; text-decoration: none; }
html body .me-page #me-sec-rdv .me-rdv-148:focus-visible { outline: 3px solid #f2c230; outline-offset: 2px; }
html body .me-page .me-rdv-148 .rdv-card-head-v120 { position: relative; display: flex; align-items: flex-end; min-height: 104px; margin: 0 -12px 8px; padding: 12px; background: #092f25; color: #faf5e6; overflow: hidden; }
html body .me-page .me-rdv-148 .rdv-card-head-v120 > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
html body .me-page .me-rdv-148 .rdv-card-head-v120:has(> img)::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgb(9 47 37 / .15), rgb(9 47 37 / .85)); }
html body .me-page .me-rdv-148 .rdv-card-head-v120 > div { position: relative; z-index: 1; display: grid; gap: 4px; width: 100%; }
html body .me-page .me-rdv-148 .rdv-card-type-v120 { justify-self: start; display: grid; padding: 6px 10px 5px; border-radius: 9px; background: #f2c230; color: #092f25; font: 400 20px/1 Impact, "Arial Narrow", sans-serif; letter-spacing: .03em; text-transform: uppercase; }
html body .me-page .me-rdv-148 .rdv-card-type-v120 b { margin-top: 2px; font: 900 10px/1.1 Arial, Helvetica, sans-serif; letter-spacing: .1em; }
html body .me-page .me-rdv-148[data-rdv-type="intercafes"] .rdv-card-type-v120 { background: #fffdf6; }
html body .me-page .me-rdv-148[data-rdv-type="partie"] .rdv-card-type-v120 { background: #d9eadb; }
html body .me-page .me-rdv-148 .rdv-card-head-v120 h3 { margin: 0; color: #faf5e6; font: 900 22px/1.1 Arial, Helvetica, sans-serif; letter-spacing: -.01em; overflow-wrap: anywhere; }
html body .me-page .me-rdv-148 .rdv-card-head-v120 p { position: absolute; top: 0; right: 0; margin: 0; padding: 3px 6px; border-radius: 5px; background: #092f25; color: #f1d17a; font: 800 11px/1.2 Arial, Helvetica, sans-serif; }
html body .me-page .me-rdv-148 .day-meta-v72 { display: flex; align-items: center; justify-content: space-between; gap: 6px; margin: 0 0 8px; color: #5e7066; font: 700 12px/1.2 Arial, Helvetica, sans-serif; }
html body .me-page .me-rdv-148 .day-meta-v72 b { color: #092f25; font-size: 13px; }
html body .me-page .me-rdv-148 .day-meta-v72 b.me-rdv-pas-148 { color: #b8401f; }
html body .me-page .me-rdv-148 .player-cards { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; }
html body .me-page .me-rdv-148 .player-card { display: grid; justify-items: center; gap: 2px; width: var(--pc-w); }
html body .me-page .me-rdv-148 .player-card img { display: block; width: 100%; aspect-ratio: 420 / 587; height: auto; object-fit: cover; border-radius: 5px; box-shadow: 0 2px 6px rgb(9 47 37 / .2); }
html body .me-page .me-rdv-148 .player-card > span { max-width: 100%; overflow: hidden; font: 700 10px/1.1 Arial, Helvetica, sans-serif; text-overflow: ellipsis; white-space: nowrap; }
html body .me-page .me-rdv-148 .person { display: inline-grid; place-items: center; padding: 4px 8px; border-radius: 999px; background: #edf0e6; font: 700 11px/1.2 Arial, Helvetica, sans-serif; }
html body .me-page .me-rdv-148 .event-actions { display: flex; margin-top: 10px; }
html body .me-page .me-rdv-148 .event-actions button { flex: 1; min-height: 40px; border: 1px solid #d0dac5; border-radius: 8px; background: #fffdf7; color: #092f25; font: 700 13px/1.2 Arial, Helvetica, sans-serif; cursor: pointer; }
html body .me-page .me-rdv-148 .event-actions button[data-rdv-148="rejoindre"] { border-color: #092f25; background: #092f25; color: #fffdf7; }
html body .me-page .me-rdv-148 .event-actions button[data-confirme] { border-color: #b8401f; color: #b8401f; }
/* Quand ça déborde encore : en-tête de la vignette plus bas, actions plus fines. */
html body .me-page .me-rdv-148.me-rdv-compact-148 .rdv-card-head-v120 { min-height: 70px; padding: 8px 12px; margin-bottom: 6px; }
html body .me-page .me-rdv-148.me-rdv-compact-148 .rdv-card-type-v120 { padding: 4px 8px 3px; font-size: 16px; }
html body .me-page .me-rdv-148.me-rdv-compact-148 .rdv-card-head-v120 h3 { font-size: 18px; }
html body .me-page .me-rdv-148.me-rdv-compact-148 .event-actions { margin-top: 6px; }
html body .me-page .me-rdv-148.me-rdv-compact-148 .event-actions button { min-height: 34px; }
/* Premier écran resserré : même écart sous la carte d'en-tête que sous le filet du menu ; titre du bloc RDV plus près. */
@media (max-width: 480px) {
  html body .me-page #me-sec-rdv:has(.me-rdv-148) { padding-top: 10px; padding-bottom: 10px; }
  html body .me-page #me-sec-rdv:has(.me-rdv-148) .me-bloc-tete { margin-bottom: 8px; }
}
/* 1.48.0 : second niveau de compactage, mini-cartes serrées, écarts du premier écran resserrés. */
html body .me-page .me-rdv-148 .player-cards { gap: 5px; }
html body .me-page .me-rdv-148 .player-cards.me-pc-mini-148 .player-card > span { display: none; }
@media (max-width: 480px) {
  html body .me-page.me-compact2-150 .me-cartes { display: none; }
  html body .me-page.me-compact2-150 .me-hero { padding: 12px 14px; }
  html body .me-page:has(.me-rdv-148) #me-menu-136 { margin-top: -8px; }
  html body .me-page:has(.me-rdv-148) #me-sec-rdv { margin-top: -8px; }
  html body .me-page #me-sec-rdv:has(.me-rdv-148) .me-bloc-tete h2 { font-size: 20px; }
}
/* 1.48.0 : pas de cadre autour de la vignette (un seul cadre) ; titres de l'en-tête de la vignette lisibles. */
html body .me-page #me-sec-rdv:has(.me-rdv-148) { padding: 0; border: 0; background: none; box-shadow: none; }
html body .me-page #me-sec-rdv:has(.me-rdv-148) .me-bloc-tete { padding: 0 2px; }
html body .me-page #me-sec-rdv .me-rdv-148 .rdv-card-head-v120 h3 { color: #faf5e6; }
html body .me-page #me-sec-rdv .me-rdv-148 .rdv-card-head-v120 p { color: #f1d17a; }
html body .me-page #me-sec-rdv .me-rdv-148 .rdv-card-head-v120 h3 { color: #faf5e6 !important; }
html body .me-page #me-sec-rdv .me-rdv-148 .rdv-card-head-v120 p { color: #f1d17a !important; }
/* 1.48.1 (Rudy) : icône Partager 36 px à 12 px du liseré, libellé « Partager » ; tuiles Pronos et Défis jumelles. */
html body .vgd { position: relative; }
html body .vgd .vgd-tete { position: static; }
html body .vgd .vgd-partager-1451 { top: 12px; right: 12px; z-index: 3; display: grid; justify-items: center; gap: 2px; width: auto; height: auto; padding: 0; border: 0; border-radius: 0; background: transparent; }
html body .vgd .vgd-rond-1481 { display: grid; place-items: center; width: 36px; height: 36px; box-sizing: border-box; border: 2px solid var(--vert); border-radius: 50%; background: var(--creme); color: var(--vert); }
html body .vgd .vgd-rond-1481 svg { width: 17px; height: 17px; }
html body .vgd .vgd-lib-1481 { color: var(--vert); font: 700 11px/1 Arial, Helvetica, sans-serif; }
html body .vgd .vgd-tuiles .vgd-t.vgd-tp-1481, html body .vgd .vgd-tuiles .vgd-t.vgd-td-1481 { display: grid; grid-template-columns: 1fr; align-content: start; gap: 6px; min-height: 92px; padding: 9px 10px 10px; border: 1.5px solid #e2d8bf; border-left: 4px solid var(--acc); border-radius: 12px; background: #f6efdd; box-sizing: border-box; }
html body .vgd .vgd-t small { display: flex; align-items: center; justify-content: space-between; gap: 6px; }
html body .vgd .vgd-test-1481, html body .vgd .vgd-bientot-1481 { padding: 2px 6px; border-radius: 999px; font: 900 9px/1.2 Arial, Helvetica, sans-serif; letter-spacing: .08em; font-style: normal; }
html body .vgd .vgd-test-1481 { background: var(--acc); color: #fff8ec; }
html body .vgd .vgd-bientot-1481 { border: 1px solid var(--acc); color: var(--acc); text-transform: uppercase; }
html body .vgd .vgd-pastilles-1481 { display: flex !important; gap: 5px; white-space: normal !important; overflow: visible !important; }
html body .vgd .vgd-pastille-1481 { display: inline-flex; align-items: center; justify-content: center; gap: 1px; width: 38px; height: 26px; border-radius: 13px; background: #fffdf7; border: 1px solid #e2d8bf; }
html body .vgd .vgd-pastille-1481 img { width: 15px; height: 15px; object-fit: contain; border-radius: 50%; opacity: .45; }
html body .vgd .vgd-pastille-1481 img.vgd-gagne-1481 { opacity: 1; box-shadow: 0 0 0 1.5px var(--vert); }
html body .vgd .vgd-pastille-1481:not(:has(.vgd-gagne-1481)) img { opacity: 1; }
html body .vgd .vgd-pastille-1481 b { color: var(--vert); font: 900 12px/1 Arial, Helvetica, sans-serif; }
html body .vgd .vgd-vide-1481 { border-style: dashed; }
html body .vgd .vgd-vide-1481 b { color: #9aa79f; }
html body .vgd .vgd-t strong#vgd-pronos { font: 900 15px/1.1 Arial, Helvetica, sans-serif; text-transform: none; }
html body .vgd .vgd-t strong.vgd-fait-1481 { color: #1f7a45; }
html body .vgd .vgd-t strong.vgd-afaire-1481 { color: var(--acc); }
html body .vgd .vgd-vs-1481 { display: grid !important; place-items: center; width: 38px; height: 26px; border-radius: 8px; background: var(--acc); color: #fff8ec; font: 400 16px/1 Impact, "Arial Narrow", sans-serif; letter-spacing: .04em; }
html body .vgd .vgd-td-1481 strong { color: var(--vert); font: 700 13px/1.15 Arial, Helvetica, sans-serif; text-transform: none; }
@media (max-width: 360px) { html body .vgd .vgd-pastille-1481 { width: 32px; } html body .vgd .vgd-pastille-1481 img { width: 12px; height: 12px; } }
/* 1.48.1 : tuiles compactes au téléphone (une ligne par élément), pastilles visibles. */
html body .vgd .vgd-tuiles .vgd-t.vgd-tp-1481, html body .vgd .vgd-tuiles .vgd-t.vgd-td-1481 { min-height: 0; gap: 5px; padding: 8px 9px; }
html body .vgd .vgd-t small { white-space: nowrap; letter-spacing: .08em; }
html body .vgd .vgd-pastille-1481 { display: inline-flex !important; }
html body .vgd .vgd-t strong#vgd-pronos { font-size: 13px; white-space: nowrap; }
html body .vgd .vgd-tuiles .vgd-t.vgd-td-1481 { grid-template-columns: auto 1fr; align-items: center; column-gap: 7px; }
html body .vgd .vgd-td-1481 small { grid-column: 1 / -1; }
html body .vgd .vgd-td-1481 strong { font-size: 12px; line-height: 1.15; }
html body .vgd .vgd-vs-1481 { width: 30px; height: 26px; font-size: 14px; }
@media (max-width: 360px) { html body .vgd .vgd-t small { font-size: 9.5px; letter-spacing: .04em; } html body .vgd .vgd-pastille-1481 { width: 30px; } }
html body .vgd .vgd-tuiles { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
@media (max-width: 480px) and (max-height: 700px) { html body .vgd .vgd-tuiles .vgd-t.vgd-tp-1481, html body .vgd .vgd-tuiles .vgd-t.vgd-td-1481 { gap: 4px; padding: 6px 8px; } html body .vgd .vgd-pastille-1481, html body .vgd .vgd-vs-1481 { height: 22px; } }
/* 1.48.3 (Rudy) : vignette du RDV, ligne compacte et silhouette ; menu plus près ; tuiles Pronos / Défis / matchs. */
html body .me-page .me-rdv-148 .me-rdv-ligne-1483 { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin: 0 0 8px; }
html body .me-page .me-rdv-148 .me-rdv-ligne-1483 > span { color: #5e7066; font: 700 12.5px/1.2 Arial, Helvetica, sans-serif; }
html body .me-page .me-rdv-148 .me-rdv-ligne-1483 button { flex: none; min-height: 30px; padding: 4px 12px; border: 1px solid #d0dac5; border-radius: 999px; background: #fffdf7; color: #092f25; font: 700 12px/1 Arial, Helvetica, sans-serif; cursor: pointer; }
html body .me-page .me-rdv-148 .me-rdv-ligne-1483 button[data-rdv-148="rejoindre"] { border-color: #092f25; background: #092f25; color: #fffdf7; }
html body .me-page .me-rdv-148 .me-rdv-ligne-1483 button[data-confirme] { border-color: #b8401f; color: #b8401f; }
html body .me-page .me-rdv-148 .me-pc-vide-148 > i { display: grid; place-items: end center; width: 100%; aspect-ratio: 420 / 587; overflow: hidden; border-radius: 5px; background: #edf0e6; color: #b9c6b8; }
html body .me-page .me-rdv-148 .me-pc-vide-148 > i svg { width: 80%; height: auto; }
@media (max-width: 480px) { html body .me-page:has(.me-rdv-148) #me-menu-136 { margin-top: -12px; } }
html body .vgd .vgd-tuiles .vgd-t.vgd-tp-1481 { justify-items: center; align-content: center; text-align: center; }
html body .vgd .vgd-tuiles .vgd-t.vgd-tp-1481 small { justify-content: center; }
html body .vgd .vgd-t strong#vgd-pronos { font-size: 17px; }
html body .vgd .vgd-tuiles .vgd-t.vgd-td-1481 { position: relative; display: grid; grid-template-columns: 1fr; overflow: hidden; }
html body .vgd .vgd-defi-1483 { display: flex !important; align-items: center; gap: 7px; white-space: normal !important; overflow: visible !important; }
html body .vgd .vgd-td-1481[data-bientot]::after { content: 'Bientôt'; position: absolute; top: 9px; right: -30px; width: 104px; padding: 3px 0; transform: rotate(35deg); background: var(--acc); color: #fff8ec; font: 900 9.5px/1 Arial, Helvetica, sans-serif; letter-spacing: .08em; text-align: center; text-transform: uppercase; box-shadow: 0 1px 3px rgb(0 0 0 / .2); }
html body .vgd .vgd-matchs-1483 { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; text-decoration: none; }
html body .vgd .vgd-matchs-1483[hidden] { display: none; }
html body .vgd .vgd-matchs-1483 .vgd-pastille-1481 { display: flex !important; width: auto; height: 34px; gap: 4px; border-radius: 17px; }
html body .vgd .vgd-matchs-1483 .vgd-pastille-1481 img { width: 22px; height: 22px; }
html body .vgd .vgd-matchs-1483 .vgd-pastille-1481 b { font-size: 15px; }
/* 1.48.3 : vignette du RDV en une ligne d'en-tête quand l'écran est trop court (l'éventail de « Salut » reste). */
html body .me-page.me-rdv-mini-1483 #me-sec-rdv .me-bloc-tete { display: none; }
html body .me-page.me-rdv-mini-1483 .me-rdv-148 .rdv-card-head-v120 { min-height: 0; padding: 7px 12px; margin-bottom: 6px; }
html body .me-page.me-rdv-mini-1483 .me-rdv-148 .rdv-card-head-v120 > img { display: none; }
html body .me-page.me-rdv-mini-1483 .me-rdv-148 .rdv-card-head-v120 > div { display: flex; align-items: center; gap: 8px; }
html body .me-page.me-rdv-mini-1483 .me-rdv-148 .rdv-card-type-v120 { display: flex; align-items: baseline; gap: 5px; padding: 3px 7px; font-size: 13px; }
html body .me-page.me-rdv-mini-1483 .me-rdv-148 .rdv-card-head-v120 h3 { font-size: 15px; }
html body .me-page.me-rdv-mini-1483 .me-rdv-148 .rdv-card-head-v120 p { position: static; margin-left: auto; }
html body .me-page #me-sec-rdv .me-rdv-148 .rdv-card-head-v120 { background: #092f25 !important; }
@media (max-width: 480px) and (max-height: 700px) { html body .vgd .vgd-tuiles { row-gap: 5px; padding-top: 6px; padding-bottom: 6px; } html body .vgd .vgd-tuiles .vgd-t.vgd-tp-1481, html body .vgd .vgd-tuiles .vgd-t.vgd-td-1481 { padding: 4px 8px; gap: 2px; } html body .vgd .vgd-matchs-1483 .vgd-pastille-1481 { height: 26px; } html body .vgd .vgd-matchs-1483 .vgd-pastille-1481 img { width: 18px; height: 18px; } html body .vgd .vgd-t strong#vgd-pronos { font-size: 15px; } }
@media (max-width: 480px) and (max-height: 700px) { html body .vgd:not([style*="--vgd-w"]) .vgd-scene { height: 104px; } }
html body .vgd .vgd-tuiles .vgd-t.vgd-td-1481 { padding-right: 22px; }
html body .vgd .vgd-td-1481[data-bientot]::after { top: 7px; right: -34px; width: 100px; font-size: 8.5px; }
html body .vgd .vgd-td-1481[data-bientot]::after { top: 9px; right: -27px; width: 96px; }

/* 1.51.0 (Rudy, maquette Mes cartes 1.1.0 de Claudette) : éventail de SES cartes, 9 équipes, compteur sur une ligne. */
html body .me-page .ms-vcartes.mc-1510 .ms-vc-tete h2 { font-size: 36px; }
html body .me-page .ms-vcartes.mc-1510 .ms-vc-tete a { font-size: 12px; }
html body .me-page .mc-1510 .mc-content { padding: 0 16px 16px; }
html body .me-page .mc-1510 .mc-content h3 { margin: 18px 0 0; color: var(--ms-vert); font: 700 14px/1.3 Arial, Helvetica, sans-serif; }
html body .me-page .mc-1510 .ms-eventail { height: 180px; margin-top: 8px; }
html body .me-page .mc-1510 .ms-eventail-carte { width: 108px; }
html body .me-page .mc-1510 .mc-a-trouver > span { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; aspect-ratio: 420 / 587; border: 2px dashed #b9ad8c; border-radius: 8px; background: #efe8d6; color: #7d735a; box-sizing: border-box; }
html body .me-page .mc-1510 .mc-a-trouver b { font: 400 34px/1 Impact, "Arial Narrow", sans-serif; color: #b9ad8c; }
html body .me-page .mc-1510 .mc-a-trouver small { font: 700 11px/1.1 Arial, Helvetica, sans-serif; text-transform: uppercase; letter-spacing: .08em; }
html body .me-page .mc-1510 .mc-a-trouver i { font: 400 10px/1.1 Arial, Helvetica, sans-serif; font-style: normal; }
html body .me-page .mc-1510 .ms-ev-0.mc-a-trouver > span { padding-right: 34%; }
html body .me-page .mc-1510 .ms-ev-2.mc-a-trouver > span { padding-left: 34%; }
html body .me-page .mc-1510 .ms-ev-1.mc-a-trouver > span { padding: 0; }
html body .me-page .mc-1510 :is(.ms-ev-0, .ms-ev-2).mc-a-trouver small { font-size: 9px; letter-spacing: .02em; text-align: center; }
html body .me-page .mc-1510 :is(.ms-ev-0, .ms-ev-2).mc-a-trouver i { font-size: 8.5px; }
html body .me-page .mc-1510 .mc-teams { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin: 12px 0 0; padding: 0; list-style: none; }
html body .me-page .mc-1510 .mc-team { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; min-width: 0; min-height: 82px; padding: 8px 10px; border: 1px solid #d8ccae; border-radius: 10px; background: #fbf6eb; box-sizing: border-box; }
html body .me-page .mc-1510 .mc-team img { display: block; width: 44px; height: 44px; object-fit: contain; }
html body .me-page .mc-1510 .mc-team-count { margin-top: 3px; color: var(--ms-vert); font: 700 11px/1.2 Arial, Helvetica, sans-serif; font-variant-numeric: tabular-nums; }
html body .me-page .mc-1510 .mc-mini { display: block; height: 3px; overflow: hidden; border-radius: 5px; background: #e3ddcb; }
html body .me-page .mc-1510 .mc-mini i { display: block; width: 0; height: 100%; border-radius: 5px; background: #2f7658; }
html body .me-page .mc-1510 .mc-team .mc-mini { width: 100%; margin-top: 5px; }
html body .me-page .mc-1510 .mc-team-complete { border-color: #b78a25; background: #fcf5df; box-shadow: inset 0 0 0 1px #d8b452; }
html body .me-page .mc-1510 .mc-team-complete .mc-mini i { background: #ad8124; }
html body .me-page .mc-1510 .mc-star { position: absolute; top: 4px; right: 5px; color: #9b7017; font: 700 11px/1 Arial, Helvetica, sans-serif; }
html body .me-page .mc-1510 .mc-counter { display: flex; align-items: center; gap: 7px; margin: 0 16px; padding: 12px 0; border-top: 1px solid #d8ccae; color: var(--ms-vert); font: 700 11px/1.2 Arial, Helvetica, sans-serif; white-space: nowrap; }
html body .me-page .mc-1510 .mc-counter > b { font-size: 11px; }
html body .me-page .mc-1510 .mc-counter > b strong { font-size: 12px; }
html body .me-page .mc-1510 .mc-counter > .mc-mini { flex: 1; min-width: 16px; margin: 0; }
html body .me-page .mc-1510 .mc-pills { display: flex; gap: 3px; }
html body .me-page .mc-1510 .mc-pills > span { padding: 4px 5px; border: 1px solid #d8ccae; border-radius: 20px; background: #fffdf7; font-size: 9px; }
html body .me-page .mc-1510 .mc-pills b { margin-left: 1px; }
html body .me-page .ms-vcartes.mc-1510 .ms-vc-bas a.ms-vc-voir, html body .me-page .ms-vcartes.mc-1510 .ms-vc-bas a.ms-vc-creer { min-height: 42px; font-size: 13px; }
html body .me-page .ms-vcartes.mc-1510 .ms-vc-bas a.ms-vc-creations { min-height: 16px; font-size: 12px; }
/* Tenir sur un écran de 390 × 844 sous le menu (Pocket retiré, puis quelques pixels repris). */
html body .me-page .mc-1510 .mc-content { padding-bottom: 10px; }
html body .me-page .mc-1510 .mc-content h3 { margin-top: 10px; }
html body .me-page .mc-1510 .ms-eventail { height: 160px; }
html body .me-page .mc-1510 .ms-eventail-carte { width: 102px; }
html body .me-page .mc-1510 .mc-teams { margin-top: 8px; gap: 6px; }
html body .me-page .mc-1510 .mc-team { min-height: 0; padding: 5px 8px; }
html body .me-page .mc-1510 .mc-team img { width: 34px; height: 34px; }
html body .me-page .mc-1510 .mc-counter { padding: 9px 0; }

/* 1.51.2 (Rudy) : logos +40 %, chiffre plus petit, 4 colonnes, cases cliquables, case Asso. */
html body .me-page .mc-1510 .mc-teams { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; }
html body .me-page .mc-1510 .mc-team { padding: 0; }
html body .me-page .mc-1510 .mc-team > a { display: flex; flex-direction: column; align-items: center; justify-content: center; width: 100%; padding: 5px 6px 6px; box-sizing: border-box; color: inherit; text-decoration: none; border-radius: 10px; }
html body .me-page .mc-1510 .mc-team > a:active { background: rgb(14 61 46 / .06); }
html body .me-page .mc-1510 .mc-team > a:focus-visible { outline: 2px solid var(--ms-vert); outline-offset: 2px; }
html body .me-page .mc-1510 .mc-team img { width: 48px; height: 48px; }
html body .me-page .mc-1510 .mc-initiales { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 50%; background: var(--ms-vert); color: var(--ms-creme); font: 400 17px/1 Impact, "Arial Narrow", sans-serif; letter-spacing: .03em; }
html body .me-page .mc-1510 .mc-team-count { margin-top: 1px; font-size: 9.5px; }
html body .me-page .mc-1510 .mc-team .mc-mini { margin-top: 4px; }

/* 1.51.3 : case Cafés ; la grille gagne des colonnes, pas des rangées. */
html body .me-page .mc-1510 .mc-teams { grid-template-columns: repeat(var(--mc-cols, 4), minmax(0, 1fr)); }
html body .me-page .mc-1510 .mc-team img, html body .me-page .mc-1510 .mc-initiales { max-width: 100%; }
html body .me-page .mc-1510 .mc-initiales.mc-cafes { width: auto; min-width: 48px; padding: 0 4px; border-radius: 24px; box-sizing: border-box; font-size: 14px; }

/* 1.52.6 (Rudy) : menu des onglets à égale distance de « Salut » au-dessus et du trait en dessous (8 px de chaque
   côté : la marge de 18 px sous la carte est reprise). L'air du cadrage du premier écran passe sous le trait, pour
   que la suite de la page ne bouge pas. Centré par des marges automatiques : elles valent 0 quand le menu déborde,
   le défilement commence donc toujours au premier onglet. */
html body .me-page #me-menu-136#me-menu-136 { margin-top: -18px; margin-bottom: 34px; }
html body .me-page #me-menu-136#me-menu-136[style*="--air"] { margin-top: -18px; margin-bottom: calc(34px + var(--air)); }
html body .me-page:has(.me-rdv-148) #me-menu-136#me-menu-136 { margin-bottom: calc(16px + 18px - 12px); }
html body .me-page:has(.me-rdv-148) #me-menu-136#me-menu-136[style*="--air"] { margin-bottom: calc(16px + 18px - 12px); }
html body .me-page #me-menu-136#me-menu-136 > a:first-child { margin-left: auto; }
html body .me-page #me-menu-136#me-menu-136 > a:last-child { margin-right: auto; }

/* 1.52.7 (Rudy) : menu fluide. Une seule ligne, toute la largeur, jamais de défilement ni de mot coupé.
   Sur grand écran : 680 px au plus, centré (le trait garde toute la largeur). Espaces de 1.52.6 inchangés. */
html body .me-page #me-menu-136#me-menu-136 { overflow-x: visible; gap: clamp(2px, .9vw, 8px); padding-left: max(0px, calc((100% - 680px) / 2)); padding-right: max(0px, calc((100% - 680px) / 2)); justify-content: stretch; }
html body .me-page #me-menu-136#me-menu-136 > a { flex: 1 1 auto; min-width: 0; justify-content: center; margin: 0; padding: 0 clamp(3px, 1.5vw, 18px); gap: clamp(3px, 1vw, 6px); font-size: clamp(9.6px, 3.1vw, 14px); letter-spacing: 0; white-space: nowrap; }
html body .me-page #me-menu-136#me-menu-136 > a.me-menu-mpb::after { width: clamp(4px, 1.3vw, 6px); height: clamp(4px, 1.3vw, 6px); flex: 0 0 auto; }

/* Espace Jeux 1.2.0 / site 1.54.0 — présentation validée */
/* Changements limités à l'espace Jeux. Terracotta réservé au composant MPB. */
.jeux-espace-100{scroll-margin-top:145px;min-width:0;background:transparent;border:0;border-radius:0;margin:18px 0}
html body #me-menu-136 .me-menu-jeux-100{color:#0e3d2e}
html body #me-menu-136 .me-menu-jeux-100.me-menu-actif{color:#fbf6e7}
.les-jeux-100{padding:18px 12px 20px;border:1px solid #0e3d2e;border-radius:16px;background:#0e3d2e}
.les-jeux-100 h2{margin:0 0 12px;color:#f8f1e4;font:400 27px/1.1 Impact,'Arial Narrow',sans-serif;text-transform:uppercase}
.jeux-rangee-100{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;align-items:stretch}
.jeu-tuile-100{position:relative;min-width:0;overflow:hidden;border:1px solid #d5c9ac;border-radius:10px;background:#fffaf0;padding:16px 6px 10px;text-align:center;color:#0e3d2e;min-height:190px;box-sizing:border-box}
.jeu-tuile-100 h3{font:700 13px/1.2 Arial,sans-serif;margin:9px 0 0;overflow-wrap:normal}
.jeu-drapeau-100{position:absolute;z-index:2;top:8px;right:0;padding:4px 8px 4px 12px;background:#e4c65b;color:#183c2e;font:700 10px/1.1 Arial,sans-serif;clip-path:polygon(0 0,100% 0,100% 100%,0 100%,5px 50%)}
.booster-mini-100{position:relative;width:70px;height:101px;margin:19px auto 0;background:#fbf6e5;box-shadow:0 5px 8px #453d2420;border:1px solid #b9c1ad;border-right:5px solid #103d2d;color:#103c2d;box-sizing:border-box;font-family:Arial,sans-serif}
.booster-mini-100:before{content:'';position:absolute;inset:4px;border:1px solid #b58b43;pointer-events:none}
.booster-mini-100 span,.booster-mini-100 small,.booster-mini-100 b,.booster-mini-100 i{position:absolute;left:0;right:0;text-align:center;white-space:nowrap}
.booster-mini-100 span{top:11px;font-size:3.6px;font-weight:700}.booster-mini-100 small{top:21px;font-size:2.5px}.booster-mini-100 img{position:absolute;left:6px;top:34px;width:52px;height:23px;object-fit:contain}.booster-mini-100 b{top:66px;font-size:3px}.booster-mini-100 i{top:88px;font-size:3px;font-style:normal}
.jeu-vs-100{display:grid;place-content:center;height:101px;margin:19px auto 0;font:400 42px/1 Impact,sans-serif;color:#0e3d2e}
.caches-100{display:flex;flex-direction:column;padding-top:16px}.caches-100 h3{margin:0 0 10px;font-size:12px}
.jeu-secret-100{display:flex;flex:1;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:#827c6a}
.jeu-secret-100>span{display:grid;place-content:center;width:53px;height:72px;clip-path:polygon(15% 0,85% 0,100% 16%,100% 85%,84% 100%,16% 100%,0 85%,0 16%);background:#d9d5c7;color:#aca592;font:400 35px/1 Impact,sans-serif}.jeu-secret-100 strong{font:700 16px Arial,sans-serif}
.jeu-trouve-100{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:140px;color:inherit;text-decoration:none}.jeu-trouve-badge-100{font:700 10px/1 Arial,sans-serif;padding:5px 7px;border-radius:20px;background:#dce9cf;color:#21482c}.jeu-mini-brique-100{color:#53724e;font-size:20px;line-height:.8;letter-spacing:-3px}.jeu-trouve-100 strong{font:700 11px/1.2 Arial,sans-serif}
.jeux-espace-100 :focus-visible{outline:3px solid #237657;outline-offset:2px}
@media(min-width:700px){.jeu-tuile-100{min-height:205px}.booster-mini-100{transform:scale(1.1);transform-origin:center}.les-jeux-100{padding:22px}}

/* MPB propre 1.3.1 : styles natifs 1.52.9, barre fixe au bas de l’écran. */
#jeux-vignette-1552 { margin:0; }
#jeux-mpb { min-width:0; margin-top:22px; scroll-margin-top:73px; }
/* Cadre natif : règle 1.42.2 conservée plus haut, border:8px solid var(--vert).
   Date sous le compteur, comme en 1.42.2 : elle dispose de sa propre ligne,
   sans prendre de largeur au bouton 1.52.9 ni changer la hauteur du bloc vert. */
html body #jeux-mpb .mpb-ligne-147 { display:grid; justify-items:start; gap:6px; }
html body #jeux-mpb .mpb-date-147 { display:flex; gap:0; padding-left:0; border-left:0; }
html body #jeux-mpb .mpb-date-147 i::before { content:' · '; white-space:pre; }
html body #jeux-mpb .pr-app { width:calc(100vw - 44px); max-width:min(560px,100%); margin:0 auto; line-height:1.6; }
html body #jeux-mpb .mpb-onglets { grid-template-columns:repeat(4,minmax(0,1fr)); }
#jeux-mpb:not(.mpb-visible-1552) .mpb-onglets { visibility:hidden; pointer-events:none; }
html body .me-page:has(#jeux-mpb.mpb-visible-1552) #me-menu-136 { position:static; }
#jeux-mpb .mpb-bientot-110 { position:absolute; top:2px; right:2px; padding:2px 4px; border-radius:3px; background:#e4c65b; color:#183c2e; font:700 8px/1.1 Arial,sans-serif; }
#jeux-mpb .mpb-onglets button { position:relative; }
html body #jeux-mpb details.mpb-aide { margin:8px 0 18px; padding:8px 10px; border:1px solid #d8ccae; border-radius:8px; color:#5b6b5f; font:12px/1.4 Arial,sans-serif; }
#jeux-mpb details.mpb-aide summary { cursor:pointer; }
html body #jeux-mpb .mpb-aide .mpb-tampon, html body #jeux-mpb .mpb-aide .mpb-notice-142 { margin:8px 0; }

/* 1.1.0 : Pronos est un jeu indépendant ; les styles natifs restent la base. */
html body .jeux-espace-100 { overflow:visible; }
.jeux-espace-100, #pronos-ecran-110 { word-break:normal; overflow-wrap:normal; hyphens:none; }
#jeux-suite-154 *, #pronos-ecran-110 * { box-sizing:border-box; word-break:normal; overflow-wrap:normal; hyphens:none; }
#jeux-suite-154 img, #pronos-ecran-110 img { max-width:100%; }
.pronos-vignette-110 { min-width:0; padding:clamp(12px,4vw,20px); border-top:1px solid #d8ccae; background:#fffaf0; scroll-margin-top:145px; }
.pronos-vignette-110 h2, #pronos-ecran-110>h1 { margin:0 0 12px; color:#0e3d2e; font:400 clamp(22px,6.8vw,30px)/1.12 Impact,'Arial Narrow',sans-serif; text-transform:uppercase; }
.pronos-apercu-110 { color:#5b6b5f; margin:0 0 12px; font:12px/1.4 Arial,sans-serif; }
.pronos-match-110 { display:flex; align-items:center; justify-content:space-between; gap:clamp(5px,2vw,10px); padding:10px 0; min-width:0; border-top:1px solid #dfd6c2; color:#0e3d2e; text-decoration:none; font:700 clamp(11px,3.2vw,14px)/1.3 Arial,sans-serif; }
.pronos-match-110>span { flex:1 1 0; min-width:0; }
.pronos-match-110>span:last-child { text-align:right; }
.pronos-match-110>b { display:grid; place-items:center; flex:0 0 28px; width:28px; height:28px; border-radius:50%; background:#eee6d3; }
.pronos-ouvrir-110 { display:block; width:fit-content; max-width:100%; margin:10px 0 0 auto; padding:10px 14px; border-radius:8px; background:#0e3d2e; color:#fffaf0; text-decoration:none; font:700 13px/1.3 Arial,sans-serif; }
html body .jeux-rangee-100 { display:flex; flex-wrap:wrap; gap:clamp(8px,2.5vw,14px); }
.jeux-rangee-100>.jeu-tuile-100 { flex:1 1 100px; min-width:0; overflow:visible; }
.jeu-tuile-100 h3 { font-size:clamp(12px,3.5vw,15px); }
#pronos-ecran-110 { width:100%; max-width:720px; min-width:0; margin:18px auto; padding:clamp(10px,4vw,20px); }
.pronos-retour-110 { display:inline-block; margin-bottom:18px; color:#0e3d2e; font:700 14px/1.4 Arial,sans-serif; }
html body #pronos-ecran-110 .pr-corps { min-width:0; padding:0; }
html body #pronos-ecran-110 .pr-bascule { display:flex; flex-wrap:wrap; gap:6px; }
html body #pronos-ecran-110 .pr-bascule button { flex:1 1 70px; min-width:0; padding:10px 4px; font-size:clamp(10px,3vw,13px); white-space:normal; }
html body #pronos-ecran-110 .pr-duel { grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); min-width:0; }
html body #pronos-ecran-110 .pr-team { min-width:0; }
html body #pronos-ecran-110 .pr-team b { white-space:normal; font-size:clamp(16px,5.2vw,24px); }
html body #pronos-ecran-110 .pr-choix { display:flex; flex-wrap:wrap; }
html body #pronos-ecran-110 .pr-choix button { flex:1 1 70px; min-width:0; white-space:normal; }
#pronos-ecran-110 details { margin:12px 0; padding:10px; border:1px solid #d8ccae; border-radius:8px; }
#pronos-ecran-110 summary { cursor:pointer; font-weight:700; }
#pronos-ecran-110 .pr-fil { font:11px/1.4 Arial,sans-serif; }

/* Aperçu natif extrait de 1.0.0 : seule la portée change. */
html body #pronos-ecran-110 .pr-apercu-bandeau-142 { margin: 8px 0 10px; padding: 8px 12px; border-radius: 10px; background: #fff0c6; color: #5c3a0c; font: 700 12.5px/1.35 Arial, Helvetica, sans-serif; text-align: center; }
html body #pronos-ecran-110 .pr-apercu-142 { position: relative; margin-bottom: 8px; padding: 8px 12px 6px; filter: grayscale(.85); opacity: .7; }
html body #pronos-ecran-110 .pr-apercu-142 .pr-team img { width: 64px; height: 40px; }
html body #pronos-ecran-110 .pr-apercu-142 .pr-team b { font-size: 13px; }
html body #pronos-ecran-110 .pr-apercu-142 .pr-team small { display: none; }
html body #pronos-ecran-110 .pr-apercu-q-142 { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -42%); color: var(--acc); font: 900 64px/1 Impact, "Arial Narrow", sans-serif; opacity: .85; pointer-events: none; }
html body #pronos-ecran-110 .pr-apercu-142 .pr-vs { visibility: hidden; }
html body #pronos-ecran-110 .pr-apercu-lieu-142 { margin: 2px 0 0; color: #5b6b5f; font: 700 11px/1.2 Arial, Helvetica, sans-serif; text-align: center; }
html body #pronos-ecran-110 .pr-apercu-142 .pr-affiche-tete { display: none; }
html body #pronos-ecran-110 .pr-apercu-142 { padding: 6px 10px 4px; }
html body #pronos-ecran-110 .pr-apercu-142 .pr-team img { width: 52px; height: 32px; }
html body #pronos-ecran-110 .pr-apercu-q-142 { font-size: 48px; transform: translate(-50%, -55%); }
html body #pronos-ecran-110 .pr-apercu-bandeau-142 { margin: 6px 0 8px; padding: 6px 10px; }
html body #pronos-ecran-110 .pr-corps > h2 { margin:18px 0 8px; color:var(--vert); font:900 28px/1 Impact,'Arial Narrow',sans-serif; letter-spacing:.01em; text-transform:uppercase; }
html body #pronos-ecran-110 .pr-apercu-142 .pr-team b { font-family:Impact,'Arial Narrow',sans-serif; }
html body #pronos-ecran-110 .pr-apercu-142 { border:0; background:#f7f3ec; }
html body #pronos-ecran-110 .pr-apercu-142 { scroll-margin-top:180px; }

/* Pronos : mise en page native fluide dans Jeux. */
html body #pronos-ecran-110 .pr-duel { display:flex; gap:clamp(5px,2vw,12px); }
html body #pronos-ecran-110 .pr-team { flex:1 1 0; }
html body #pronos-ecran-110 .pr-vs { flex:0 0 auto; }
html body #pronos-ecran-110 .pr-podium { display:flex; flex-wrap:wrap; }
html body #pronos-ecran-110 .pr-podium>div { flex:1 1 70px; min-width:0; }
html body #pronos-ecran-110 .pr-podium b { white-space:normal; }
html body #pronos-ecran-110 .pr-liste li { display:flex; flex-wrap:wrap; gap:8px; }
html body #pronos-ecran-110 .pr-liste li>b { flex:1 1 80px; min-width:0; }

/* 1.55.2 : Pronos dans Jeux, cadre vert de la DA existante. */
html body #jeux-pronos { padding:0; margin:24px auto; border:6px solid #0e3d2e; border-radius:16px; overflow:hidden; }
html body #jeux-pronos > h2 { padding:12px 14px; margin:0; background:#0e3d2e; color:#f8f1e4; }
html body #jeux-pronos #pronos-ecran-110 { width:100%; max-width:560px; margin:0 auto; padding:clamp(10px,3vw,18px); }
html body #jeux-pronos .mpb-aide { font-size:12px; }

/* Fluide lot 3 — 1.0.1 : adaptation réservée aux petits écrans ; 1.54.0 inchangée dès 768 px. */
@media screen and (max-width: 767px) {


/* Fluide lot 3 — 1.0.0 : Mon espace hors menu et Jeux ; largeur et retours naturels. */
html body:has(#me-menu-136) .me-page > :is(.me-hero,#me-sec-rdv,#me-sec-cartes,#me-sec-stats,#me-sec-succes) { min-width:0; max-width:100%; box-sizing:border-box; }
html body:has(#me-menu-136) .me-page :is(.me-hero,#me-sec-rdv,#me-sec-cartes,#me-sec-stats,#me-sec-succes),
html body:has(#me-menu-136) .me-page :is(.me-hero,#me-sec-rdv,#me-sec-cartes,#me-sec-stats,#me-sec-succes) * { overflow-wrap:normal; word-break:normal; hyphens:none; }
html body:has(#me-menu-136) .me-page :is(.me-hero,#me-sec-rdv,#me-sec-cartes,#me-sec-stats,#me-sec-succes) :is(input,select,textarea) { min-width:0; max-width:100%; }
html body:has(#me-menu-136) .me-page :is(#me-sec-rdv,#me-sec-stats,#me-sec-succes) .me-bloc-tete,
html body:has(#me-menu-136) .me-page #me-sec-cartes :is(.me-bloc-tete,.ms-vc-tete) { display:flex; flex-wrap:wrap; gap:clamp(8px,2vw,12px); }
html body:has(#me-menu-136) .me-page :is(#me-sec-rdv,#me-sec-stats,#me-sec-succes) .me-bloc-tete > h2,
html body:has(#me-menu-136) .me-page #me-sec-cartes :is(.me-bloc-tete,.ms-vc-tete) > h2 { min-width:0; flex:1 1 auto; white-space:normal; }
html body:has(#me-menu-136) .me-page #me-sec-cartes .ms-vc-tete > a { flex:0 0 auto; margin-left:auto; }
html body:has(#me-menu-136) .me-page .me-hero :is(h1,.me-infos,.me-identite) { min-width:0; max-width:100%; white-space:normal; }
html body:has(#me-menu-136) .me-page #me-sec-rdv :is(.me-rdv-ligne-1483,.day-meta-v72,.event-actions) { display:flex; flex-wrap:wrap; gap:clamp(6px,2vw,10px); }
html body:has(#me-menu-136) .me-page #me-sec-rdv .rdv-card-head-v120 > div { min-width:0; }
html body:has(#me-menu-136) .me-page #me-sec-rdv .player-cards { display:flex; flex-wrap:wrap; max-width:100%; }
html body:has(#me-menu-136) .me-page #me-sec-rdv .player-card { min-width:0; max-width:100%; }
html body:has(#me-menu-136) .me-page #me-sec-rdv .player-card > span { white-space:normal; text-overflow:clip; }
html body:has(#me-menu-136) .me-page #me-sec-cartes .mc-counter { flex-wrap:wrap; white-space:normal; }
html body:has(#me-menu-136) .me-page #me-sec-cartes .mc-counter > b,
html body:has(#me-menu-136) .me-page #me-sec-cartes .mc-pills > span { white-space:nowrap; }
html body:has(#me-menu-136) .me-page #me-sec-cartes .mc-pills { flex-wrap:wrap; }
html body:has(#me-menu-136) .me-page #me-sec-cartes .ms-vc-bas { display:flex; flex-wrap:wrap; gap:clamp(8px,2vw,10px); }
html body:has(#me-menu-136) .me-page #me-sec-cartes .ms-vc-bas > a { flex:1 1 100px; min-width:0; padding-inline:clamp(4px,1vw,8px); white-space:normal; text-align:center; }
html body:has(#me-menu-136) .me-page #me-sec-cartes .ms-vc-bas > a.ms-vc-creations { flex-basis:100%; }
html body:has(#me-menu-136) .me-page #me-sec-stats :is(.ms-cles,.ms-to-ligne) { display:flex; flex-wrap:wrap; }
html body:has(#me-menu-136) .me-page #me-sec-stats .ms-cles > .ms-cle { flex:1 1 calc(50% - 10px); min-width:0; }
html body:has(#me-menu-136) .me-page #me-sec-stats .ms-to-ligne > span { flex:1 1 calc(25% - 6px); min-width:58px; }
html body:has(#me-menu-136) .me-page #me-sec-stats :is(.ms-carte-tete,.ms-ic-haut,.ms-rang,.ms-liste li,.ms-to-liste li,.ms-petits li) { display:flex; flex-wrap:wrap; }
html body:has(#me-menu-136) .me-page #me-sec-stats :is(.ms-carte-tete h3,.ms-rang span,.ms-liste li > span,.ms-to-liste li > span) { min-width:0; flex:1 1 100px; }
html body:has(#me-menu-136) .me-page #me-sec-stats .ms-adv li > .ms-vd-barre { flex:1 1 70px; }
html body:has(#me-menu-136) .me-page #me-sec-stats .ms-vd { flex:0 0 auto; }
html body:has(#me-menu-136) .me-page #me-sec-succes .ms-succes-familles { display:flex; flex-wrap:wrap; }
html body:has(#me-menu-136) .me-page #me-sec-succes .ms-succes-familles > li { flex:1 1 calc(33.333% - 8px); min-width:80px; }
html body:has(#me-menu-136) .me-page #me-sec-succes :is(.me-hf-liste,.me-carnet-141) { min-width:0; max-width:100%; }html body:has(#me-menu-136) .me-page #me-sec-succes :is(.sx-bande,.sx-grille) { display:flex; flex-wrap:wrap; overflow:visible; scroll-snap-type:none; max-width:100%; }
html body:has(#me-menu-136) .me-page #me-sec-succes :is(.sx-bande,.sx-grille) > li { flex:1 1 230px; min-width:0; max-width:100%; scroll-snap-align:none; }
html body:has(#me-menu-136) .me-page #me-sec-succes .sx-texte { min-width:0; }
html body:has(#me-menu-136) .me-page details.me-appli > summary { flex-wrap:wrap; }
html body:has(#me-menu-136) .me-page details.me-appli > summary > h2 { flex:1 1 180px; min-width:0; }
html body:has(#me-menu-136) .me-page details.me-appli .me-appli-fleche { flex:0 0 22px; }
html body:has(#me-menu-136) .me-page .me-fiche-133 { display:flex; flex-wrap:wrap; }
html body:has(#me-menu-136) .me-page .me-fiche-133 > div { flex:1 1 110px; min-width:0; }@media(max-width:375px) {
 html body:has(#me-menu-136) .me-page #me-sec-cartes.mc-1510 .ms-eventail-carte { max-width:clamp(86px,29vw,102px); }
 html body:has(#me-menu-136) .me-page #me-sec-stats .ms-cle-mot { font-size:clamp(9px,2.8vw,11px); letter-spacing:clamp(.04em,.15vw,.12em); }
}




html body:has(#me-menu-136) .me-page #me-sec-stats#me-sec-stats .ms-carte-tete h3 { flex:1 1 140px; min-width:140px; max-width:100%; flex-wrap:wrap; }

/* Quatre chiffres dès que le bloc est assez large, avant le retour à la grille de référence. */
@media (min-width: 700px) {
 html body:has(#me-menu-136) .me-page #me-sec-stats .ms-cles > .ms-cle { flex-basis:calc(25% - 10px); }
}

}

/* MPB 1.3.3 — deux retouches décidées par Rudy : compteur sans libellé,
   date discrète dessous ; éventail entier à l'intérieur de son cadre. */
html body #jeux-mpb .mpb-bloc-sur-140 { justify-content:flex-end; }
html body #jeux-mpb .mpb-ligne-147 { width:100%; }
html body #jeux-mpb .mpb-date-147 { font-size:clamp(9px,2.6vw,11px); font-weight:600; letter-spacing:.02em; opacity:.8; }
@media (max-width:480px) {
 html body #jeux-mpb .mpb-scene-140 { --mpb-echelle-133:.82; transform:scale(var(--mpb-echelle-133)); transform-origin:center bottom; }
}

/* RDV-Termine 1.0.0 : état seulement ; aucune dimension ni mise en page modifiée. */
.rdv-termine-1552 { opacity:.66; }
.rdv-termine-1552 .rdv-card-head-v120,
.rdv-termine-1552 .cal-150-tuile { background:#e5e7e3; color:#435348; box-shadow:none; }
.rdv-termine-1552 .cal-150-moi,
.rdv-termine-1552 .player-live-v72,
.rdv-termine-1552 .playing { display:none; }

/* RDV-Termine 1.0.1 : mêmes alignements pour les deux états ; heure insécable. */
html body .me-page .me-rdv-148 .rdv-card-head-v120 p { white-space: nowrap; flex-shrink: 0; }
html body .me-page.me-rdv-mini-1483 .me-rdv-148 .rdv-card-type-v120 { white-space: nowrap; flex-shrink: 0; }
html body .me-page.me-rdv-mini-1483 .me-rdv-148 .rdv-card-head-v120 h3 { white-space: nowrap; overflow-wrap: normal; }
@media (max-width: 360px) {
  html body .me-page.me-rdv-mini-1483 .me-rdv-148 .rdv-card-head-v120 > div { gap: 5px; }
  html body .me-page.me-rdv-mini-1483 .me-rdv-148 .rdv-card-type-v120 { gap: 4px; padding-inline: 5px; font-size: 11px; }
  html body .me-page.me-rdv-mini-1483 .me-rdv-148 .rdv-card-type-v120 b { font-size: 8px; }
  html body .me-page.me-rdv-mini-1483 .me-rdv-148 .rdv-card-head-v120 h3 { font-size: 13px; }
}

/* 1.55.4 (audit) : « Fais tes pronos » suit la largeur de l'écran au lieu de dépasser de sa case (17 px gardé dès 425 px). */
html body .vgd .vgd-t strong#vgd-pronos { font-size: clamp(11px, calc(5.2vw - 5px), 17px); }
/* 1.57.2 (Rudy) : pastille « bêta » de Première Bande Pocket, à côté du nom de la tuile (drapeau POCKET_BETA_1572). */
.jeu-beta-1572{display:inline-block;vertical-align:middle;margin-left:6px;padding:2px 6px;border-radius:999px;background:#e4c65b;color:#183c2e;font:700 10px/1.2 Arial,sans-serif;letter-spacing:.03em}

/* 1.65.1 (Rudy) : les jeux ont déménagé dans Le coin des jeux (/jeux) ; Mon espace garde une seule tuile sobre. */
.coin-jeux-1651{display:flex;flex-direction:column;gap:4px;margin:0;padding:clamp(14px,4vw,20px);border:1px solid #d8ccae;border-radius:14px;background:#fffaf0;color:#0e3d2e;text-decoration:none;min-width:0}
.coin-jeux-1651 strong{font:400 clamp(22px,6.8vw,30px)/1.12 Impact,'Arial Narrow',sans-serif;text-transform:uppercase}
.coin-jeux-1651 span{font:400 clamp(13px,3.6vw,15px)/1.35 Arial,Helvetica,sans-serif;color:#3d5e52;overflow-wrap:anywhere}
.coin-jeux-1651 b{margin-top:6px;font:700 clamp(14px,3.8vw,16px)/1.2 Arial,Helvetica,sans-serif;text-decoration:underline;text-underline-offset:3px}
.coin-jeux-1651:hover b,.coin-jeux-1651:focus-visible b{text-decoration-thickness:2px}
/* 1.67.0 (Rudy) : Mon petit billard et les Pronos s'ouvrent dans le cadre de la coquille Jeux : l'en-tête et le pied du site
   (ceux de la coquille font le travail) restent dans la page pour les scripts mais ne se voient pas. */
html body.jx-dans-cadre.jx-dans-cadre > header.lbb-entete.lbb-tete-112, html body.jx-dans-cadre.jx-dans-cadre > footer.lbb-pied, html body.jx-dans-cadre.jx-dans-cadre > .bureau-environment-site-v87 { display: none !important; }
body.jx-dans-cadre { background: var(--lbb-fond, #fbf5e8); }
.mpb-page-1670 { max-width: 1100px; margin: 0 auto; }
/* 1.68.0 (Rudy) : en-tête de Mon petit prono = le logo dans l'encadré, même construction que l'en-tête de Mon petit billard (.mpb-tete-140). */
html body .mpp-page-1680 .mpp-tete-1680 { overflow: hidden; margin: 0 0 14px; border: 8px solid #0e3d2e; border-radius: 22px; background: #f8f1e4; box-shadow: 0 8px 24px rgb(9 47 37 / .12); }
html body #pronos-ecran-110 > .mpp-tete-1680 > h1.mpp-logo-1680 { margin: 0; padding: 12px 16px 8px; line-height: 0; font: inherit; text-transform: none; }
html body .mpp-page-1680 .mpp-logo-1680 .mpb-logo { display: block; width: min(250px, 62vw); height: auto; }
html body .mpp-page-1680 .mpp-bande-1680 { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 6px 12px; padding: 10px 16px 12px; background: #0e3d2e; color: #f8f1e4; font: 800 11px/1.2 Arial, Helvetica, sans-serif; letter-spacing: .16em; }
html body .mpp-page-1680 .mpp-bande-1680 b { font: 900 15px/1.1 Impact, "Arial Narrow", sans-serif; letter-spacing: .02em; white-space: nowrap; }
@media (max-width: 480px) { html body .mpp-page-1680 .mpp-tete-1680 { border-width: 6px; border-radius: 18px; } html body #pronos-ecran-110 > .mpp-tete-1680 > h1.mpp-logo-1680 { padding: 8px 14px 6px; } html body .mpp-page-1680 .mpp-logo-1680 .mpb-logo { width: min(190px, 52vw); } html body .mpp-page-1680 .mpp-bande-1680 { padding: 8px 12px 10px; letter-spacing: .1em; } }
/* 1.69.0 (Rudy) : en-tête de Mon petit prono SANS encadré : le logo seul, la journée en texte simple, puis les sous-onglets. */
html body .mpp-page-1680 .mpp-tete-1680.mpp-sans-cadre-1690 { border: 0; border-radius: 0; background: none; box-shadow: none; margin: 0 0 6px; }
html body #pronos-ecran-110 > .mpp-tete-1680.mpp-sans-cadre-1690 > h1.mpp-logo-1680 { padding: 4px 0 6px; }
html body .mpp-page-1680 .mpp-sans-cadre-1690 .mpp-bande-1680 { background: none; color: #0e3d2e; padding: 0 0 4px; justify-content: flex-start; gap: 6px 14px; }
html body .mpp-page-1680 .mpp-sans-cadre-1690 .mpp-bande-1680 b { color: #0e3d2e; }
@media (max-width: 480px) { html body #pronos-ecran-110 > .mpp-tete-1680.mpp-sans-cadre-1690 > h1.mpp-logo-1680 { padding: 2px 0 4px; } }
/* 1.112.0 (Rudy, 29/10) : « Fermeture dans … » sous le dernier match, juste au-dessus de « Règles et points ». */
html body .pr-compte.pr-compte-1111 { margin: 16px 0 4px; }
/* 1.112.0 (Rudy, 29/10) : « Partage ton prono », après l'enregistrement des pronos. */
html body .pr-partage-1111 { margin: 16px 0 6px; padding: 14px; border: 2px solid #0e3d2e; border-radius: 14px; background: #fffdf7; color: #0e3d2e; font-family: Arial, Helvetica, sans-serif; }
html body .pr-partage-1111 h3 { margin: 0 0 10px; font: 900 22px/1.1 Impact, "Arial Narrow", Arial, sans-serif; text-transform: uppercase; color: #0e3d2e; }
html body .pr-partage-formats-1111 { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; margin-bottom: 10px; }
html body .pr-partage-formats-1111 button { min-height: 44px; border: 1px solid #d8ccae; border-radius: 9px; background: #f8f1e4; color: #0e3d2e; font: 800 14px/1.2 Arial, Helvetica, sans-serif; cursor: pointer; }
html body .pr-partage-formats-1111 button small { display: block; font-weight: 400; font-size: 11px; opacity: .75; }
html body .pr-partage-formats-1111 button[aria-pressed="true"] { border-color: #0e3d2e; background: #0e3d2e; color: #f8f1e4; }
html body .pr-partage-apercu-1111 { display: grid; place-items: center; min-height: 120px; margin-bottom: 10px; }
html body .pr-partage-apercu-1111 img { display: block; width: auto; height: auto; max-width: 100%; max-height: 360px; border-radius: 10px; box-shadow: 0 6px 18px rgb(9 47 37 / .18); }
html body .pr-partage-apercu-1111 p { margin: 0; color: #5b6b5f; font-size: 13px; }
html body .pr-partage-go-1111 { display: block; width: 100%; min-height: 48px; margin-bottom: 8px; border: 0; border-radius: 10px; background: #0e3d2e; color: #f8f1e4; font: 800 15px/1.2 Arial, Helvetica, sans-serif; cursor: pointer; }
html body .pr-partage-directs-1111 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
html body .pr-partage-direct-1111 { display: flex; align-items: center; justify-content: center; min-height: 44px; padding: 8px 10px; border: 1px solid #0e3d2e; border-radius: 10px; background: #fffdf7; color: #0e3d2e; font: 800 14px/1.2 Arial, Helvetica, sans-serif; text-align: center; text-decoration: none; cursor: pointer; }
html body .pr-partage-direct-1111:hover { background: #f8f1e4; }
html body .pr-partage-direct-1111:focus-visible, html body .pr-partage-ouvrir-1111:focus-visible, html body .pr-partage-go-1111:focus-visible { outline: 3px solid #f2c531; outline-offset: 2px; }
html body .pr-partage-retour-1111 { margin: 8px 0 0; font-size: 13px; color: #0e3d2e; word-break: break-word; }
html body .pr-partage-retour-1111:empty { display: none; }
@media (min-width: 560px) { html body .pr-partage-directs-1111 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
/* 1.112.0 (Rudy, 29/10) : « Partager mon équipe » devient un petit bouton secondaire ; à côté, « Repartir de zéro ». */
html body .mpb-actions-1111 { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 12px; margin: 10px 0 0; }
html body button.mpb-partager.mpb-partager-1111 { display: inline-flex; align-items: center; gap: 6px; width: auto; min-height: 36px; margin: 0; padding: 6px 14px; border: 2px solid #0e3d2e; border-radius: 999px; background: transparent; color: #0e3d2e; font: 800 13px/1.2 Arial, Helvetica, sans-serif; }
/* 1.112.0 (Rudy, 29/10, retouche) : « Partager mes pronos » est un petit bouton qui déplie le bloc ; « Replier » le referme. */
html body .pr-partage-ouvrir-1111 { display: inline-flex; align-items: center; gap: 6px; width: auto; min-height: 36px; margin: 12px 0 0; padding: 6px 14px; border: 2px solid #0e3d2e; border-radius: 999px; background: transparent; color: #0e3d2e; font: 800 13px/1.2 Arial, Helvetica, sans-serif; cursor: pointer; }
html body .pr-partage-tete-1111 { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin: 0 0 10px; }
html body .pr-partage-tete-1111 h3 { margin: 0; }
html body .pr-partage-fermer-1111 { min-height: 32px; padding: 4px 10px; border: 1px solid #0e3d2e; border-radius: 999px; background: transparent; color: #0e3d2e; font: 700 12px/1.2 Arial, Helvetica, sans-serif; cursor: pointer; }
html body .pr-partage-fermer-1111:focus-visible { outline: 3px solid #f2c531; outline-offset: 2px; }
/* 1.112.0 (Rudy, 29/10, retouche) : « ↺ Vider » est un petit bouton juste sous la pastille des crédits ; « Confirmer ? » sur place. */
html body .mpb-banc-cartes-140 button.mpb-zero-1111 { position: absolute; z-index: 2; min-height: 24px; margin: 0; padding: 3px 8px; border: 1px solid #b8401f; border-radius: 999px; background: #fffdf7; color: #b8401f; font: 800 11px/1.1 Arial, Helvetica, sans-serif; white-space: nowrap; cursor: pointer; }
html body .mpb-banc-cartes-140 button.mpb-zero-1111.mpb-zero-confirmer-1111 { background: #b8401f; color: #fffdf7; }
html body .mpb-banc-cartes-140 button.mpb-zero-1111:focus-visible { outline: 3px solid #0e3d2e; outline-offset: 2px; }
html body .mpb-zero-msg-1111 { margin: 8px 0 0; color: #176445; font: 700 13px/1.4 Arial, Helvetica, sans-serif; }

/* 1.124.95 (Rudy, 10/11) : Mon petit billard sous les pronos, sur la même page. Sa barre d'onglets du bas n'apparaît que quand sa partie est à l'écran. */
.fus-mpb-12495 { margin-top: 28px; padding-top: 22px; border-top: 2px solid #d0dac5; scroll-margin-top: 110px; }
.fus-explique-12495 { margin: 0 0 16px; padding: 14px 16px; border: 1px solid #d0dac5; border-radius: 14px; background: #fffdf7; color: #183c2e; }
.fus-explique-12495 h2 { margin: 0 0 8px; font: 800 18px/1.25 Arial, Helvetica, sans-serif; color: #0e3d2e; }
.fus-explique-12495 ul { margin: 0; padding-left: 18px; }
.fus-explique-12495 li { margin: 4px 0; font: 15px/1.4 Arial, Helvetica, sans-serif; }
html body #mon-petit-billard:not(.fus-visible-12495) #jeux-mpb .mpb-onglets-142 { visibility: hidden; pointer-events: none; }

/* 1.124.97 (audit des pages connectées) : zones à toucher de 32 px et petits textes remontés, sans rien déplacer. */
html body .me-page details > summary, html body details.mpb-aide > summary { min-height: 32px; box-sizing: border-box; align-content: center; }
html body .me-page .mc-1510 .mc-team-count { font-size: 11px; }
html body .mpb-jeu-140 .mpb-banc-titre-1451 { font-size: clamp(9px, calc(var(--mini, 70px) * .13), 11px); }
html body .mpb-jeu-140 .mpb-zero-1111 { min-height: 32px; min-width: 44px; box-sizing: border-box; }
