/* Temps mort, la ligue entre amis : le téléphone droit (10/11, Mathias : « une version pour téléphone, mais sur le
   téléphone droit, très épurée, en perdant aucune info […] pour que ça marche sur les vieux téléphones et sur ceux qui
   ont des petits téléphones. Quitte à ce qu'on ne voit pas le match »).

   Le même tableau de bord, la même page, les mêmes boutons : rien n'est retiré. Sur un téléphone tenu droit (moins de
   700 px de large), cette feuille le range en une seule colonne qui défile, le menu en bas, sans le voile « Tourne ton
   téléphone ». Elle retire ce qui pèse sur un vieux téléphone (le bandeau qui défile, les entrées animées, les flous,
   les découpes en biais) et ne compte pas sur color-mix ; les quelques règles en :has (les fiches, la feuille Coaching)
   sont écrites à part, pour qu'un navigateur qui ne la connaît pas garde les autres.
   Le téléphone couché, la tablette et l'ordinateur ne lisent rien d'ici : tout est dans des requêtes « portrait, moins
   de 700 px ». Cette feuille est posée dans le corps de ligue.html, après toutes les autres (celles que les modules
   ajoutent dans l'en-tête comprises) : à poids égal, ses règles passent devant.
   Affichage seulement. */
@media (orientation:portrait) and (max-width:699px){

/* ------------------------------------------------------------------ plus de voile dans la ligue */
.tmTourne,.tbxTourne,.tbTourne{display:none!important}

/* ------------------------------------------------------------------ rien ne bouge : ni entrée d'écran, ni bandeau, ni pouls,
   ni chiffre qui tourne (ligue-tableau.js, tourne). Un vieux téléphone redessine moins, et l'écran se lit tout de suite. */
.tbx *,.tbx *::before,.tbx *::after,.edFeuille *,.edFeuille *::before,.edFeuille *::after{animation:none!important;transition:none!important}

/* ------------------------------------------------------------------ le cadre : l'en-tête, l'écran qui défile, le menu en bas */
.tbx{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) auto;grid-template-areas:"tete" "ecran" "rail";font-size:15px;line-height:1.4}
.tbxTete{min-height:48px;border-bottom-width:1px;padding-right:max(.5em,env(safe-area-inset-right))}
.tbxRond{width:44px}
.tbxBug{flex:1 1 auto;max-width:none;padding:0 .6em;background:none;color:var(--texte);-webkit-clip-path:none;clip-path:none}
.tbxBug b{font-size:1.2em;color:var(--blanc)}
.tbxBug small{color:var(--texte3);opacity:1;letter-spacing:.03em}
.tbxBug .code{color:var(--orange2)}
/* le bandeau qui défile répète ce que disent Matchs, Classement et Ligue : il ne tourne pas ici */
.tbxTicker{display:none}
.tbxLive{margin:6px 0 6px .2em;padding:0 .7em;-webkit-clip-path:none;clip-path:none;border-radius:8px;font-size:.86em}
.tbxLive span{display:none}
.tbxLive b{background:none;padding:0}
.tbxLive::after{content:"en direct";font-weight:700}
.tbxTete .etatReseau span{display:none}
.tbxTete .etatReseau{padding:.45em;margin-left:.3em}

.tbxRail{flex-direction:row;align-items:stretch;gap:0;width:auto;padding:0 env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);border-right:0;border-top:1px solid var(--tt2);overflow:visible}
.tbxRail button{flex:1 1 0;min-width:0;min-height:54px;gap:.2em;padding:.35em 0 .3em;font-size:.72em;letter-spacing:.02em}
.tbxRail svg{width:1.9em;height:1.9em}
.tbxRail button[aria-current="page"]{background:none;color:var(--blanc)}
.tbxRail button[aria-current="page"]::before{left:22%;right:22%;top:0;bottom:auto;width:auto;height:3px}
.tbxRail .pt{top:.5em;right:22%}

.tbxEcran,.tbxEcran:not(.ancien){display:block;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:0}
.tbxEcran.ancien{padding:.9em .9em 1.6em}
.tbxCols{display:block}
.tbxCol{overflow:visible;border-right:0;padding:.8em .9em .4em}
.tbxCol+.tbxCol{border-top:6px solid #000}
.tbxCol:last-child{padding-bottom:1.6em}

/* ------------------------------------------------------------------ Mon club : les panneaux l'un sous l'autre */
.tbx .tbm:not(.tbxCols){display:block;height:auto}
.tbx .tbmOnglets{position:-webkit-sticky;position:sticky;top:0;z-index:4;padding:0 .2em}
.tbx .tbmOnglets button{min-height:44px;padding:0 .8em;font-size:.95em;letter-spacing:.04em}
.tbx .tbmVue{overflow:visible;padding:.8em .9em 1.6em}
.tbx .tbmVue .tbmDash,.tbx .tbmVue .tbmDash.un,.tbx .tbmVue .tbmDash.vCompo,.tbx .tbmVue .tbmDash.vTactique,.tbx .tbmVue .tbmDash.vMatch,.tbx .tbmVue .tbmDash.vClub{display:block;height:auto}
.tbx .tbmVue .tbmDash>*{margin:0 0 .8em}
.tbx .tbmVue .tbmDash>*:last-child{margin-bottom:0}
.tbx .tbmPan,.tbx .tbmCorps{overflow:visible}
.tbx .tbmCorps{display:block}
.tbx .tbmMeta{white-space:normal}
.tbx .jrxPile{display:block;height:auto}
.tbx .jrxPile>*{margin:0 0 .8em}
/* ce qui se partageait la hauteur d'un panneau prend maintenant sa hauteur à lui */
.tbx .tbmOpt,.tbx .tbmGroupe,.tbx .tbmPostes li,.tbx .tbmResume li,.tbx .tbmPan.pClassement .tbxBref li{flex:none}
.tbx .tbmJ{flex:none;max-height:none;min-height:56px}
/* le curseur des minutes passe devant la zone à toucher du nom posé juste au-dessus (elle déborde de 12 px) */
.tbx .tbmJ input[type=range]{position:relative;z-index:3}
.tbx .tbmOpt{min-height:0;padding:.7em .9em}
.tbx .tbmGroupe{min-height:0;padding:.7em 0}
.tbx .tbmTerrainBox{display:block;height:auto;min-height:0;container-type:normal}
.tbx .tbmTerrain{width:100%;height:auto;max-width:26em;margin:0 auto}
.tbx .tbmPan.pEffectif .tbxEff{height:auto}
.tbx .tbmDash.vTactique>.tbmPan{max-height:none}
.tbx .tbmBarre{bottom:0}

/* ------------------------------------------------------------------ le mercato */
.tbx .mcxVue{overflow:visible}
.tbx .mcxGrille,.tbx .mcxGrille.n1,.tbx .mcxGrille.n2,.tbx .mcxGrille.n3{display:block;min-height:0}
.tbx .mcxGrille>*{margin:0 0 .8em}
.tbx .mcxPan{overflow:visible;max-height:none}
.tbx .mcxCorps{overflow:visible;container-type:normal}
.tbx .mcxPT small{white-space:normal;text-align:right}
.tbx .mcxTete{display:block}
.tbx .mcxStatut{margin:0 0 .4em}
.tbx .mcxJauge{display:flex;flex-wrap:wrap;align-items:center;gap:.2em .6em}
.tbx .mcxJauge>i{flex:1 1 100%;order:3}
.tbx .mcxClubs{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-flow:row;grid-auto-columns:auto;overflow:visible}
.tbx .mcxClub>span:last-child{white-space:normal;overflow:visible;line-height:1.15}

/* ------------------------------------------------------------------ les fiches (un club, un joueur) : une colonne */
.tbx .tbfCols,.tbx .tbfClub.grand .tbfCols,.tbx .tbfJoueur .tbfCols{display:block}
.tbx .tbfCol{overflow:visible;border-right:0;padding:.7em .9em .3em}
.tbx .tbfCol+.tbfCol{border-top:6px solid #000}

/* ------------------------------------------------------------------ Matchs : une ligne par club, le score à droite
   (les noms des clubs en entier ; toute la ligne ouvre le match, d'où l'on ouvre la fiche de chaque club) */
.tbx .tbxJour{background:none;border:0;padding:0}
.tbx .tbxAffTete{padding:0 0 .5em;flex-wrap:nowrap;align-items:center}
.tbx .tbxAffTete>span:nth-child(2){flex:1 1 auto;text-align:left;min-width:0}
.tbx .tbxPastille{padding:.3em .6em;-webkit-clip-path:none;clip-path:none;border-radius:4px;font-size:.95em}
.tbx .tbxJNav{flex:none;display:flex;gap:.3em}
.tbx .tbxJour .tbxCoup{justify-content:flex-start;align-items:baseline;margin:0 0 .5em}
.tbx .tbxJour .tbxCompte{font-size:1.7em}
.tbx .tbxMs{gap:0;padding:0;border-top:1px solid var(--tt)}
.tbx .tbxM{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"dom sc" "ext sc";align-items:center;min-height:0;padding:.4em 0;background:none;border-bottom:1px solid var(--tt)}
.tbx .tbxM.moi{outline:0;box-shadow:inset 3px 0 0 var(--orange);padding-left:.6em;background:rgba(255,122,26,.07)}
.tbx .tbxM .tbxMC{grid-area:dom;justify-content:flex-start;gap:.55em;min-height:28px;padding:.1em 0;background:none;color:var(--texte);-webkit-clip-path:none;clip-path:none;text-align:left;pointer-events:none}
.tbx .tbxM .tbxMC.ext{grid-area:ext;flex-direction:row-reverse;justify-content:flex-end}
.tbx .tbxM .tbxMC b{flex:none;width:3.1em;padding-left:.45em;border-left:4px solid var(--c);font:800 .82em/1.5 var(--titre);font-style:normal;color:var(--texte2);letter-spacing:.03em}
.tbx .tbxM .tbxMC span{display:block;font:600 1em/1.3 var(--lecture);text-transform:none;opacity:1}
.tbx .tbxMSc{grid-area:sc;align-items:flex-end;min-width:0;padding:0 0 0 .7em;background:none}
.tbx .tbxMSc b{font-size:1.15em;font-style:normal}
.tbx .tbxMSc.fini,.tbx .tbxMSc.live{flex-direction:row-reverse;align-items:center;gap:.7em}
.tbx .tbxMSc.fini b,.tbx .tbxMSc.live b{display:flex;flex-direction:column;align-items:flex-end;line-height:1.55}
.tbx .tbxMSc.fini b i,.tbx .tbxMSc.live b i{display:none}
.tbx .tbxMSc small{font-size:.78em}
.tbx .tbxMRecit,.tbx .tbxMCotes{grid-column:1 / -1;justify-content:flex-start;flex-wrap:wrap;gap:.2em .6em;padding:.15em 0 0;background:none;font-size:.86em}
.tbx .tbxMCotes .cbListe.cbVide{display:none}

/* ------------------------------------------------------------------ le match en direct : le même tableau de bord, en une
   colonne. En haut, le score, le temps et les quarts-temps (toujours visibles) ; dessous, le terrain vu d'en haut (sans la
   salle en 3D : ligue-ui.js, brancheDirect), tes cartes et ton cinq, les chiffres, l'adversaire, l'écart ; en bas, la
   barre du coach. Les feuilles (Coaching, Stats, Le fil, Chambrer) prennent tout l'écran sous le score. */
body{--tbH:86px}
.tb .tbTete{display:grid;grid-template-columns:46px minmax(0,1fr) auto;grid-template-rows:50px 34px;grid-template-areas:"retour score score" "qs qs etat";align-items:center;gap:0;height:var(--tbH);min-height:var(--tbH);padding:0;border-bottom-width:1px;overflow:hidden}
.tb .tbTete .edRond{grid-area:retour;align-self:stretch;width:46px;height:auto}
.tb .tbScore{grid-area:score;align-self:stretch;margin:0;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}
.tb .tbScore .edEq,.tb .tbScore .edEq.ext{padding:0 .7rem;-webkit-clip-path:none;clip-path:none}
.tb .tbScore .edEq b{font-size:1.1rem;font-style:normal}
.tb .tbScore .edEq .edPts{font-size:1.9rem;line-height:1;font-style:normal}
.tb .tbScore .edHeure{padding:0 .7rem;border-top:0}
.tb .tbScore .edHeure b{font-size:1.35rem;line-height:1;font-style:normal}
.tb .tbQs{grid-area:qs;margin:0 .5rem;justify-self:start}
.tb .edEtat{grid-area:etat;margin:0 .5rem 0 0;padding:.3rem .6rem;-webkit-clip-path:none;clip-path:none;border-radius:4px;font-style:normal}
.tb .tbTitre,.tb .tbPage{display:none}
.tb .tbGrille{display:flex;flex-direction:column;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch}
.tb .tbGrille>*{flex:none}
.tb .tbMilieu{order:-1;display:flex;flex-direction:column}
.tb .tbMilieu>*{flex:none}
.tb .tbCol,.tb .tbCol:first-child,.tb .tbCol:last-child{overflow:visible;border:0;padding:.7rem .8rem .4rem;gap:.6rem}
.tb .tbCol+.tbCol,.tb .tbMilieu+.tbCol{border-top:6px solid #000}
.tb .terrainDirect.tbTerrain{flex:none;height:auto}
/* le terrain garde en bas la place d'un commentaire posé sur l'image (radar.js, lisMarges) ; ici le commentaire est sous
   l'image : cette bande vide passe dessous, et le terrain gagne en taille */
.tb .terrainDirect.tbTerrain .dsalle>canvas:last-of-type{flex:none;height:calc(56vw + 46px);max-height:calc(15rem + 46px);margin-bottom:-46px}
.tb .dsCom{position:relative;z-index:2;height:auto;min-height:44px;padding:.3rem .5rem;background:#05070a}
.tb .dsCom p{font-size:.88rem}
/* le mot sur la salle en 3D passe après les chiffres : le premier écran garde le score, le terrain et le match */
.tb .tbDroitNote{order:5;display:flex;flex-wrap:wrap;align-items:center;gap:0 .8rem;margin:0;padding:.2rem .8rem .4rem;font-size:12px;line-height:1.3;color:var(--texte3)}
.tb .tbDroitNote .lien{min-height:44px;font-size:12px}
.tb .tbChiffres{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.3rem 1rem;padding:.6rem .8rem;border-top-width:1px}
.tb .tbEqT,.tb .tbCol .tbEqT{width:auto;margin:0;padding:.5rem .7rem;-webkit-clip-path:none;clip-path:none;border-radius:4px}
.tb .tbEqT>.edNum{display:none}
.tb .tbEqN b{font-size:1.05rem;font-style:normal;white-space:normal}
.tb .tbEqN small{font-size:12px;white-space:normal;line-height:1.25}
.tb .tbJ{font-size:.88rem}
.tb .tbJ th,.tb .tbJ td{padding:.42rem .25rem}
.tb .tbJ thead th,.tb .tbJ .tbBancT th{font-size:12px}
.tb .tbJ tbody th{max-width:none;font-size:.95rem;white-space:nowrap}
.tb .tbJ .tbRb,.tb .tbJ .tbPd{display:table-cell}
.tb .tbJ .edNum{width:1.6rem;height:1.6rem;font-size:12px}
.tb .tbJ .tbN{width:1.9rem}
.tb .tbJ .tbE{width:2.6rem}
.tb .tbBloc h3{-webkit-clip-path:none;clip-path:none;padding:0;background:none;color:var(--texte3);font-size:12px;font-style:normal;letter-spacing:.08em}
.tb .tbEnJeu{font-size:.95rem}
.tb .tbBloc .lien{font-size:.95rem;min-height:44px}
.tb .tbBloc .fil div{font-size:.9rem}
.tb .tbEcart{height:4.5rem}
.tb .tbBarre{gap:.15rem;padding:.25rem .3rem calc(.25rem + env(safe-area-inset-bottom))}
.tb .tbBarre .edB{flex:1 1 0;flex-direction:column;gap:.15rem;min-height:50px;max-width:none;padding:.2rem .1rem;font-size:.72rem}
.tb .tbBarre .edB.tbBDeux{max-width:none}
.tb .tbBarre .edB.tbBDeux>span{align-items:center}
.tb .tbBarre .edB .tbBSous{display:none}
.tb .tbBarre .edB.edTm{-webkit-clip-path:none;clip-path:none;border-radius:6px;padding-inline:.1rem}
/* les feuilles : tout l'écran sous le score, une seule colonne qui défile */
.tb~.edVoile.tbV{top:var(--tbH)}
.tb~.edFeuille.tbF,.tb~.edFeuille.tbF.tbF-fil,.tb~.edFeuille.tbF.tbF-stats,.tb~.edFeuille.tbF.tbF-chambrer,.tb~.edFeuille.tbF.tbF-coaching{top:var(--tbH);left:0;right:0;bottom:0;width:auto;height:auto;max-height:none;transform:none;border:0;border-top:2px solid var(--orange);border-radius:0;box-shadow:none}
.tb~.edFeuille.tbF .edFTete{padding:.5rem .8rem .4rem;min-height:44px}
.tb~.edFeuille.tbF .edFTete h2{font-size:1.2rem}
.tb~.edFeuille.tbF .edFCorps{padding:0 .8rem 1rem;-webkit-overflow-scrolling:touch}
/* (chaque règle en :has est écrite à part : un navigateur qui ne la connaît pas garde les autres) */
.tb~.edFeuille.tbF-coaching .edFCorps{display:block;columns:auto;overflow-x:hidden;overflow-y:auto}
.tb~.edFeuille.tbF-coaching .edFCorps:has(>.banc+.jeu){display:block;columns:auto;overflow-x:hidden;overflow-y:auto}
.tbF-coaching .edFCorps>*{overflow:visible;margin:0 0 .7rem!important}
.tbF-coaching .edFCorps:has(>.banc+.jeu)>*{overflow:visible;margin:0 0 .7rem!important}
.tbF-coaching .edFCorps>.banc{display:block}

/* la feuille d'une fiche : tout l'écran, le bandeau du club sur deux rangées (le nom en entier, les chiffres dessous) */
.tbx .tbxFeuille:has(.tbfFiche),.tbx .tbxFeuille:has(.tbfJoueur){top:0;left:0;right:0;bottom:0;transform:none;width:auto;height:auto;max-height:none;border:0;box-shadow:none}
.tbx .edFCorps:has(>.tbfFiche){display:block;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch}
.tbx .tbfFiche{display:block}
.tbx .tbfBande{grid-template-columns:auto minmax(0,1fr);grid-template-areas:"bl id" "ch ch";gap:.5em .7em;padding:.7em 56px .7em .9em;background:var(--c1,#3a4656)}
.tbx .tbfBande>.blason,.tbx .tbfNumG{grid-area:bl}
.tbx .tbfId{grid-area:id}
.tbx .tbfNom{font-size:1.45em;font-style:normal}
.tbx .tbfSous{white-space:normal}
.tbx .tbfChif{grid-area:ch;flex-wrap:wrap;margin-right:-44px}
.tbx .tbfCh{min-width:3.2em;padding:.25em .6em .3em;-webkit-clip-path:none;clip-path:none;border-radius:4px}
.tbx .tbfCh b{font-size:1.5em;font-style:normal}
.tbx .tbfNumG{align-self:center;margin:0;min-width:2.4em;padding:.2em .4em;-webkit-clip-path:none;clip-path:none;border-radius:4px}
.tbx .tbfNumG b{font-size:1.9em;font-style:normal}

/* ------------------------------------------------------------------ rien ne sort à droite, jusqu'à 320 px de large */
.tbx .tbxTitre{flex-wrap:wrap;row-gap:.3em}
.tbx .tbxTitre::after{min-width:1em}
.tbx .tbmVue .tbmBandeau .tbmNotes{flex-wrap:wrap;gap:.5em 1.2em}
.tbx .tbmBandeau{gap:.5em 1em;padding:.6em .8em}
.tbx .mcxJT{white-space:normal}
.tbx .tbxRpR{white-space:normal;text-align:right}
.tbx .tbmBandeau>#fmNotes{flex:1 1 100%;min-width:0}
.tbx .tbmOpt,.tbx .tbmOpt *{text-align:left}
/* l'affiche du prochain match : un club par ligne, son nom en entier */
.tbx .tbxDuel{grid-template-columns:minmax(0,1fr)}
.tbx .tbxCamp,.tbx .tbxCamp.ext,.tbx .tbmPan.pAffiche .tbxCamp{flex-direction:row;text-align:left;min-height:3.1em;margin:0;padding:.5em .8em;-webkit-clip-path:none;clip-path:none}
.tbx .tbxCamp.ext .tbxCampF{flex-direction:row;text-align:left}
.tbx .tbxCampT b,.tbx .tbmPan.pAffiche .tbxCampT b{font-size:1.25em;font-style:normal}
.tbx .tbxCamp.ext .tbxCampSc{margin-left:auto;margin-right:0}
.tbx .tbmPan.pAffiche .tbxCompte{font-size:3em}
.tbx .tbmPan.pAffiche .tbxCoup{margin:.5em .6em;gap:.2em}

/* une carte de joueur (l'effectif) : le nom et la note en haut, ses chiffres puis son prix dessous, rien de coupé */
.tbx .tbxJ{grid-template-areas:"num nom ovr" "num st st" "num prix prix";row-gap:.25em;padding:.5em .6em .5em 0}
.tbx .tbxJNum{margin:-.5em 0;-webkit-clip-path:none;clip-path:none}
.tbx .tbxJNom small{white-space:normal;line-height:1.25}
.tbx .tbxJPrix{justify-self:start;white-space:normal}
.tbx .tbxJOvr b{-webkit-clip-path:none;clip-path:none;border-radius:3px}
/* avant le lancement (Mon club, le marché, la ligue : les pages d'avant, dans le cadre) : une seule colonne */
.tbx .tbxEcran.ancien .grille,.tbx .tbxEcran.ancien .grille.tiers,.tbx .tbxEcran.ancien .grille.deux{grid-template-columns:minmax(0,1fr);gap:.8rem}
.tbx .tbxEcran.ancien .grille.tiers .plans.trois{grid-template-columns:repeat(3,minmax(0,1fr))}
.tbx .tbxEcran.ancien .grille.tiers .jr .qui b,.tbx .tbxEcran.ancien .grille.tiers .jr b{overflow-wrap:normal}
/* la feuille d'un moment au doigt : un fond plein (ni flou, ni entrée animée), resserrée pour que le geste reste à
   l'écran sur un petit téléphone (douze secondes pour jouer : rien à faire défiler) */
.moment{max-height:100%;padding:.7rem .8rem calc(.7rem + env(safe-area-inset-bottom));border-radius:12px 12px 0 0;background:#0c1016;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;animation:none}
.moment .mo-tete b{font-size:1.25rem}
.moment .mo-sous{margin:.3rem 0 .1rem;font-size:.88rem;line-height:1.3}
.moment .mo-ligne{gap:.3rem;margin-top:.4rem}
.moment .mo-ligne .puce{min-height:44px;padding-left:.7rem;padding-right:.7rem}
.moment .mo-sys .puce{min-height:40px}
.moment .mo-geste{margin-top:.5rem}
/* les héros (le leader du classement, le meilleur d'une catégorie) : sans biais, le nom coupé entre deux mots */
.tbx .tbxTete1{gap:.6em;padding:.6em .7em;background:var(--c1);-webkit-clip-path:none;clip-path:none;border-radius:4px}
.tbx .tbxTete1 .blason.grand{width:2.8em;height:2.8em;font-size:1em}
.tbx .tbxTete1T b{font-size:1.3em;font-style:normal;overflow-wrap:break-word}
.tbx .tbxTete1V{padding:.2em .5em;-webkit-clip-path:none;clip-path:none;border-radius:4px}
.tbx .tbxTete1V b{font-size:1.8em;font-style:normal}
/* les tables (classement, clubs) : un peu plus serrées, pour tenir sans glisser */
.tbx .tbxClt th,.tbx .tbxClt td{padding-left:.3em;padding-right:.3em}
/* l'affiche d'avant-match (la page d'un match à venir) : un club par ligne, son nom en entier */
.tbx .tbmFace{grid-template-columns:minmax(0,1fr)}
.tbx .tbmCamp,.tbx .tbmCamp.ext{flex-direction:row;align-items:center;gap:.7em;text-align:left;min-height:3.6em;margin:0;padding:.55em .8em;background:var(--c1);-webkit-clip-path:none;clip-path:none}
.tbx .tbmCampT b{font-size:1.25em;font-style:normal;overflow-wrap:break-word}
.tbx .tbmFace>.tbxVs{display:none}
/* les longues parties repliées (ligue-tableau.js, plieDroit) */
.tbx .drChoix{margin:0 0 .6em}
.tbx .drTrophees .trSection{display:none}
.tbx .tbxReplie>summary{min-height:48px}
}
/* ================================================================== le dessin d'ensemble (10/11, Mathias : « occupe-toi
   du design en général »). Une seule façon de faire chaque chose, sur tous les écrans du téléphone droit :
   - plus de boîte dans une boîte : un panneau est un titre et son contenu, posés sur le fond ; un filet les sépare ;
   - une marge de 16 px de chaque côté, partout ;
   - des lettres droites (l'italique ne reste qu'au nom de la ligue, en haut) ;
   - un bloc replié est une ligne : son titre à gauche, son résumé, un chevron à droite ;
   - l'orange ne dit qu'une chose : ce qui se touche ou ce qui est choisi. */
@media (orientation:portrait) and (max-width:699px){
.tbx *,.tbx *::before,.tbx *::after{font-style:normal!important}
.tbx .tbxBug>b{font-style:italic!important}

/* ---- les marges */
.tbx .tbxCol{padding:14px 16px 6px}
.tbx .tbxCol:last-child{padding-bottom:28px}
.tbx .tbxCol+.tbxCol{border-top:1px solid var(--tt)}
.tbx .tbmVue{padding:14px 16px 28px}
.tbx .tbxEcran.ancien{padding:14px 16px 28px}
/* Mon club : la barre des onglets va d'un bord à l'autre et colle en haut ; la marge est portée par la vue, dessous
   (une marge sur l'écran qui défile décalerait la barre collée) */
.tbx .tbxEcran.ancien[data-k="club"]{padding:0}
.tbx .tbxEcran.ancien[data-k="club"]>:not(.tbm):not(.tbxAvis){margin:14px 16px 28px}
.tbx .tbfCol{padding:14px 16px 6px}
.tbx .tbfCol+.tbfCol{border-top:1px solid var(--tt)}
.tbx .tbmOnglets{padding:0;gap:0}
.tbx .tbmOnglets button{flex:1 1 auto;padding:0 .5em}

/* ---- un panneau : un titre et son contenu, sans cadre */
.tbx .tbmPan{background:none;border:0;border-radius:0}
.tbx .tbmVue .tbmDash>*{margin:0 0 22px}
.tbx .tbmT{padding:0 0 10px;border-bottom:0;font-size:12px;letter-spacing:.09em;color:var(--texte3)}
.tbx .tbmT>span:first-child{color:var(--texte2)}
.tbx .tbmCorps{padding:0}
.tbx .tbmBandeau{padding:12px 14px;border:0;border-radius:8px;background:var(--tp)}
.tbx .tbmResume{border:0;border-radius:0;background:none}
.tbx .tbmResume ol{padding:0}
.tbx .tbmResume .tbmT{padding:0 0 10px}
.tbx .tbxTitre{margin:22px 0 10px}
.tbx .tbxTitre:first-child{margin-top:2px}
.tbx .tbxTitre>span:first-child{font-size:12px;letter-spacing:.09em}

/* ---- le point du jour : une liste de choses à faire, sans cadre autour */
.tbx .jrxPile>*{margin:0 0 22px}
.tbx .jrxJour{padding:0;border:0;border-radius:0;background:none}
.tbx .jrxJour header{margin:0 0 10px}
.tbx .jrxJour header b{font-size:12px;letter-spacing:.09em;color:var(--texte2)}
.tbx .jrxJour ol{display:block;overflow:visible;padding:0}
.tbx .jrxJour li{margin:0 0 8px}
.tbx .jrxJour li button{gap:4px 12px;padding:10px 12px;border:0;border-radius:8px;background:var(--tp)}
.tbx .jrxJour li.faire button{border:0;background:var(--tp);box-shadow:inset 3px 0 0 var(--orange)}
.tbx .jrxJour li span{display:block;font-size:14px;overflow:visible}

/* ---- un bloc replié : une ligne, son chevron à droite */
.tbx .tbxReplie{margin:0;border-top:1px solid var(--tt)}
.tbx .tbxReplie>summary{min-height:52px;gap:12px;padding:6px 0;border-radius:0}
.tbx .tbxReplie>summary::before{content:none}
.tbx .tbxReplie>summary::after{content:"";flex:none;order:9;width:8px;height:8px;margin:0 4px 0 auto;border-right:2px solid var(--texte3);border-bottom:2px solid var(--texte3);-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}
.tbx .tbxReplie[open]>summary::after{-webkit-transform:rotate(45deg);transform:rotate(45deg);border-color:var(--orange)}
.tbx .tbxRpT{font-size:13px;letter-spacing:.06em;color:var(--texte)}
.tbx .tbxRpR{font-size:13px;line-height:1.3}
.tbx .tbxRpC{padding:2px 0 16px}
.tbx .tbxReplie+.tbxTitre,.tbx .tbxReplie+h3{margin-top:26px}
.tbx .jrxJour .tbxReplie,.tbx .tbmPan .tbxReplie{margin-top:6px}

/* ---- « Géré par l'adjoint » (le créateur seul le voit) : un mot discret, plus une pastille */
.tbx .tbxAdj,.tbx .tbxAdj.court{margin:0;padding:0;border:0;background:none;color:var(--texte3);font:500 12px/1.3 var(--lecture);text-transform:none;letter-spacing:0}
.tbx .tbxMAdj{gap:4px;margin:0 10px 0 0;font:600 12px/1.3 var(--lecture);text-transform:none;color:var(--texte3)}
.tbx .tbfSous .tbxAdj{margin:0 0 0 4px}
.tbx .tbfSous .tbxAdj::before{content:"· "}

/* ---- Matchs : l'en-tête d'une journée sur deux lignes nettes, des flèches légères */
.tbx .tbxJour .tbxAffTete{flex-wrap:wrap;row-gap:8px;padding:0 0 10px}
.tbx .tbxJour .tbxAffTete>span:nth-child(2){order:3;flex:1 1 100%;font-size:14px;letter-spacing:.04em;color:var(--texte)}
.tbx .tbxJour .tbxJNav{margin-left:auto;gap:8px}
.tbx .tbxJNavB,.tbx .tbxJNav button{min-width:44px;min-height:40px;border:1px solid var(--tt2);border-radius:8px;background:none}
.tbx .tbxM{padding:10px 0}
.tbx .tbxM.moi{padding-left:12px;border-radius:0}
.tbx .tbxM .tbxMC b{width:3em;font-size:12px;color:var(--texte3)}
.tbx .tbxM .tbxMC span{font:700 1.02em/1.3 var(--titre);text-transform:uppercase;letter-spacing:.03em}
.tbx .tbxMRecit,.tbx .tbxMCotes{padding-top:4px;font-size:13px;color:var(--texte2)}
.tbx .rcTag{display:inline-flex;align-items:center;gap:8px}

/* ---- le direct : les notes sans biais, le mot sur la salle en retrait */
.tb .tbJ td.note,.tb .tbJ .note{background:none;-webkit-clip-path:none;clip-path:none}
.tb .tbCol,.tb .tbCol:first-child,.tb .tbCol:last-child{padding:14px 16px 6px}
.tb .tbCol+.tbCol,.tb .tbMilieu+.tbCol{border-top:1px solid var(--tt)}
.tb .tbChiffres{padding:12px 16px}
.tb .tbDroitNote{padding:0 16px 8px}
.tb .tbEqT,.tb .tbCol .tbEqT{padding:10px 12px;border-radius:8px}
.tb~.edFeuille.tbF .edFTete{padding:10px 16px 6px}
.tb~.edFeuille.tbF .edFCorps{padding:0 16px 20px}

/* ---- les choix à deux ou trois cases (Essentiel, Complet, Puissance ; Cartes, Tableau) */
.tbx .tbxChoix{border-radius:8px;overflow:hidden}

/* ---- aucun texte sous 12 px (mesuré écran par écran : _outils/tempsmort-essais/droit/audit-dessin.mjs) */
.tbx .tbxRail button{font-size:12px;letter-spacing:.01em}
.tb .tbBarre .edB{font-size:12px}
.tbx .tbxMSc small{font-size:12px}
.tbx .tbxJ .vlx{font-size:12px}
.tbx .trTuileL>li>small{font-size:12px}
.tbx .tbxFeuille small,.tbx .tbxFeuille sup,.tbx .tbfTu>i,.tbx .tbfDuo>div>i,.tbx .tbfEffT>span,.tbx .eloEch>i{font-size:12px}
.tbx .tbxFeuille .tbfSc>small{font-size:.9em}
.edFeuille th>.tit{font-size:12px}
.tbx sup{font-size:max(12px,.7em)}
.tbx .unxFl{font-size:12px}
.tbx .tbxFeuille dt{font-size:12px}
/* ---- les tables du classement et des clubs tiennent dans la largeur, même avec cinq matchs de forme (le 11/11, la
   forme est passée à quatre matchs : les deux tables sortaient de 11 à 42 px à droite). Les cases et les pastilles se
   resserrent ; le nom d'un club et la ligne de son coach passent à la ligne au lieu d'être coupés. */
.tbx .tbxClt th,.tbx .tbxClt td{padding-left:.2em;padding-right:.2em}
.tbx .tbxClt thead th{letter-spacing:.02em}
.tbx .tbxClt .tbxForme{gap:2px}
.tbx .tbxClt .tbxForme i{width:1.05em;height:1.3em}
.tbx .tbxClubL{gap:.45em}
.tbx .tbxClubL b{display:block;white-space:normal;overflow:visible;text-overflow:clip;line-height:1.1;overflow-wrap:break-word}
.tbx .tbxClubL small{white-space:normal;overflow:visible;text-overflow:clip;line-height:1.25}

/* ---- le mercato sur un petit téléphone (moins de 620 px de haut) : les règles « écran bas » du téléphone couché
   (ligue-mercato.css) cachaient la phrase d'état, les deux compteurs et les derniers échanges. Ici l'écran défile :
   tout reste, comme sur un grand téléphone. */
.tbx .mcxVue>.mcxStatut,.tbx .mcxTete>.mcxStatut{display:block}
.tbx .mcx .jrxLimite{display:grid;align-items:start;gap:.6em 1.2em;margin:0 0 .75em;padding:.7em .85em;border-radius:10px}
.tbx .mcx .jrxLimT{flex-direction:column;align-items:stretch;gap:.2em}
.tbx .mcx .jrxLimT>span{display:block}
.tbx .mcx .jrxLimN{display:grid}
.tbx .mcx .jrxLimF{display:block}
.tbx .mcx .jrxLimT>.jrxHorloge{font-size:2em}

/* ---- (11/11) Proposer : « Tu donnes » puis « Tu reçois », l'un sous l'autre. Le panneau n'est plus un conteneur au
   téléphone droit (container-type:normal, plus haut) : la règle qui les empilait dans un panneau étroit
   (ligue-mercato.css, @container) ne jouait plus, les deux listes restaient côte à côte et les noms disparaissaient
   (défaut de tm-123 à tm-127) */
.tbx .mcxDeux{grid-template-columns:minmax(0,1fr)}

/* ---- (11/11) le bilan d'un échange (Proposer) sur un petit téléphone : la règle « écran bas » du téléphone couché le
   mettait en deux colonnes, le texte serré mot par mot à côté des boutons ; ici le texte, puis les boutons dessous */
.tbx .mcxResume{display:flex;flex-direction:column}
.tbx .mcxRL{display:flex;flex-wrap:wrap;align-items:center;gap:.3em 1em}
.tbx .mcxRL>.mcxBts{grid-column:auto;grid-row:auto;flex:1 1 100%;flex-wrap:wrap;margin:.2em 0 0}

/* ---- une phrase d'attente (« Le rapport arrive avant ton prochain match ») : un mot en retrait, sans vide autour */
.tbx .tbmNote{margin:0;font-size:13px;line-height:1.4;color:var(--texte3)}
.tbx .tbmVue .tbmDash>.tbmPan.pFace{margin-bottom:10px}
/* « Depuis ton dernier match » : une ligne repliée comme les autres, alignée sur la marge */
.tbx .tbmPan.pDepuis>.tbmCorps,.tbx .tbmPan.nu.pDepuis .tbmCorps{padding:0}
}
/* sous 390 px, les cinq onglets de Mon club se resserrent pour tenir sans glisser */
@media (orientation:portrait) and (max-width:389px){
.tbx .tbmOnglets button{padding:0 .4em;font-size:.9em}
/* (11/11) une ligne de joueur du mercato : sous 390 px, le nom n'avait plus que 30 px (« Au… Re… ») ; le poste et le
   prix passent l'un sous l'autre à droite, le nom prend la place du milieu, l'étiquette passe dessous */
.tbx .mcxJ{grid-template-columns:2.3em minmax(0,1fr) auto;grid-template-areas:"no nm po" "no nm px";row-gap:.15em}
.tbx .mcxJ>.mcxNote{grid-area:no}
.tbx .mcxJ>.mcxNom{grid-area:nm}
.tbx .mcxJ>.mcxPoste{grid-area:po;justify-self:end}
.tbx .mcxJ>.mcxPrix{grid-area:px;justify-self:end}
.tbx .mcxJ>.mcxLT,.tbx .mcxJ>.mcxLP,.tbx .mcxJ>em{grid-column:2/-1;grid-row:auto}
/* sous 390 px, cinq pastilles à lettre ne tiennent plus dans les tables du classement et des clubs : la forme passe en
   barres. Haute et verte, gagné ; basse et rouge, perdu (les lettres restent lues par un lecteur d'écran). Cinq matchs
   tiennent dans 38 px au lieu de 85. */
.tbx .tbxClt .tbxForme{align-items:flex-end;gap:2px}
.tbx .tbxClt .tbxForme i{width:6px;height:14px;font-size:0;border-radius:1px}
.tbx .tbxClt .tbxForme i.d{height:7px}
}
/* les plus petits (moins de 360 px) : les cinq onglets de Mon club tiennent sans glisser */
@media (orientation:portrait) and (max-width:359px){
.tbx .tbmOnglets button{padding:0 .3em;font-size:.86em;letter-spacing:.02em}
.tbx .tbxRail button{font-size:12px;letter-spacing:0}
.tbx .tbmPion{font-size:.86em}
.tb .tbBarre .edB{font-size:12px;letter-spacing:0}
.tbx .tbxClt{font-size:.88em}
.tbx .tbxClt th,.tbx .tbxClt td{padding-left:.18em;padding-right:.18em}
.tbx .tbxClubL .blason{display:none}
.tbx .tbxClubL b{font-size:.96em}
.tbx .tbxClt thead th{letter-spacing:0}
/* le choix du club d'un échange : un club par ligne, son nom en entier (à deux par ligne, « Les timberwolves » sortait de sa case) */
.tbx .mcxClubs{grid-template-columns:minmax(0,1fr)}
}
