:root{
  --bg:#0b1020;--panel:#151d35;--panel2:#10172a;--text:#f7f8ff;--muted:#a9b3cd;
  --orange:#ffad24;--cyan:#35d4c7;--blue:#3479e6;--green:#38dc88;--yellow:#e8bd39;
  --line:rgba(255,255,255,.09);--shadow:0 14px 38px rgba(0,0,0,.25)
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;min-height:100vh;background:radial-gradient(circle at 18% 0,#1a2850 0,#0b1020 42%);color:var(--text);font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif}
button{font:inherit}
.app-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px clamp(14px,4vw,42px);background:rgba(11,16,32,.94);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}
.brand{display:flex;align-items:center;gap:10px}.brand-mark{display:grid;place-items:center;width:39px;height:39px;border-radius:12px;background:linear-gradient(145deg,var(--cyan),#168c83);color:#041816;font-weight:950;font-size:1.3rem}.brand strong{display:block;font-size:1.03rem}.brand small{display:block;color:var(--muted);font-size:.72rem;margin-top:1px}.refresh-button{border:1px solid rgba(53,212,199,.4);background:rgba(53,212,199,.12);color:var(--cyan);padding:8px 12px;border-radius:10px;font-weight:800;cursor:pointer}.refresh-button b{display:none;font-size:1.1rem}
.page-shell{width:min(980px,calc(100% - 20px));margin:14px auto 32px;display:grid;gap:12px}
.draw-title,.model-card,.previous-card,.status-card{background:linear-gradient(145deg,rgba(25,35,65,.98),rgba(15,22,42,.98));border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}
.draw-title{text-align:center;padding:11px 12px 12px;border-top:3px solid var(--cyan)}.draw-title>span{color:var(--muted);text-transform:uppercase;letter-spacing:.11em;font-size:.64rem;font-weight:850}.draw-title h1{margin:4px 0 2px;font-size:clamp(1.35rem,4vw,2rem);line-height:1.08;letter-spacing:-.025em}.draw-title small{color:var(--muted);font-size:.7rem}
.model-card{padding:16px;display:flex;flex-direction:column;min-height:0}.model-one{border-top:3px solid var(--orange)}.model-two{border-top:3px solid var(--cyan)}.model-header{text-align:center}.model-header>div{display:flex;justify-content:center;align-items:center;gap:9px;flex-wrap:wrap}.model-header h2{margin:0;font-size:clamp(1.12rem,3vw,1.5rem)}.model-header p{margin:5px auto 0;color:var(--muted);line-height:1.35;max-width:720px;font-size:.78rem}.model-index{display:inline-flex;padding:5px 8px;border-radius:7px;background:rgba(255,255,255,.08);font-size:.62rem;font-weight:900;letter-spacing:.08em}
.number-row{display:grid;grid-template-columns:repeat(7,minmax(34px,52px));justify-content:center;gap:7px;margin:12px auto 9px}.number-ball{aspect-ratio:1;border-radius:50%;display:grid;place-items:center;font-weight:950;font-size:clamp(.92rem,3vw,1.15rem);border:2px solid rgba(255,255,255,.3);box-shadow:inset 0 1px 0 rgba(255,255,255,.3),0 5px 12px rgba(0,0,0,.25)}.number-ball.hot{background:linear-gradient(145deg,#ffc14d,#e99000);color:#211300}.number-ball.medium{background:linear-gradient(145deg,#c58cff,#7542b5);color:#fff}.number-ball.cold{background:linear-gradient(145deg,#5e6881,#303a52)}.number-ball.base{background:linear-gradient(145deg,#59efdf,#1ca79b);color:#041a17}.number-ball.assoc{background:linear-gradient(145deg,#3b8dff,#2252ba)}
.chart-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;padding-top:8px;margin:5px 0 5px;border-top:1px solid var(--line)}.chart-heading strong{font-size:.82rem}.chart-heading span{color:var(--muted);font-size:.68rem}.chart-wrap{height:150px;min-height:75px;background:var(--panel2);border:1px solid rgba(255,255,255,.06);border-radius:12px;padding:3px;overflow:hidden}.chart-wrap canvas{display:block;width:100%;height:100%}
.previous-card{padding:14px;border-top:3px solid var(--green)}.previous-header{display:flex;align-items:center;justify-content:space-between;gap:10px}.previous-header span{color:var(--muted);font-size:.63rem;text-transform:uppercase;letter-spacing:.08em;font-weight:850}.previous-header h2{margin:2px 0 0;font-size:clamp(1rem,2.8vw,1.35rem)}.score-row{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}.score-chip{padding:5px 8px;border-radius:999px;background:#11192e;border:1px solid var(--line);font-size:.7rem;font-weight:850}.score-chip.win{color:#63e8a6;border-color:rgba(56,220,136,.38)}.score-chip.lose{color:#ffaaaa}
.previous-numbers{display:grid;grid-template-columns:repeat(12,minmax(27px,44px));justify-content:center;gap:5px;margin:10px 0 7px}.previous-ball{aspect-ratio:1;border-radius:50%;display:grid;place-items:center;font-weight:950;font-size:.84rem;background:linear-gradient(145deg,#3479de,#1c438b);border:1.5px solid rgba(255,255,255,.27);box-shadow:0 4px 10px rgba(0,0,0,.22)}.previous-ball.yellow{background:linear-gradient(145deg,#f1cb4a,#b38716);color:#231a00}.previous-ball.predicted{box-shadow:inset 0 0 0 2px #fff,inset 0 0 0 4px rgba(11,16,32,.72),0 4px 10px rgba(0,0,0,.22)}.green-note{margin:0;text-align:center;color:var(--muted);font-size:.69rem;line-height:1.25}.green-note i{display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--green);vertical-align:-1px;margin-right:4px}
.status-card{padding:11px 14px;display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:.72rem}.status-card strong{color:var(--text)}footer{text-align:center;color:#7f89a5;font-size:.68rem;padding:3px 12px 18px}.error-box{padding:14px;border-radius:13px;background:rgba(255,80,80,.12);border:1px solid rgba(255,80,80,.3);color:#ffb3b3;text-align:center}

/* Smartphone portrait : toute la page utile tient dans un seul écran. */
@media(max-width:720px){
  html,body{height:100%;height:100dvh;overflow:hidden}
  body{min-height:0}
  .app-header{position:relative;height:44px;padding:4px 7px}
  .brand{gap:6px}.brand-mark{width:32px;height:32px;border-radius:9px;font-size:1.05rem}.brand strong{font-size:.88rem}.brand small{display:none}
  .refresh-button{width:32px;height:32px;padding:0;display:grid;place-items:center;border-radius:9px}.refresh-button span{display:none}.refresh-button b{display:block}
  .page-shell{width:100%;height:calc(100dvh - 44px);margin:0;padding:4px;gap:4px;grid-template-rows:42px minmax(0,1fr) minmax(0,1fr) 82px;overflow:hidden}
  .draw-title,.model-card,.previous-card{border-radius:11px;box-shadow:0 5px 15px rgba(0,0,0,.2)}
  .draw-title{height:42px;padding:3px 5px;border-top-width:2px;display:flex;align-items:center;justify-content:center;gap:5px;flex-wrap:wrap;align-content:center}
  .draw-title>span{display:none}.draw-title h1{margin:0;font-size:clamp(.94rem,4.2vw,1.12rem);line-height:1;white-space:nowrap}.draw-title small{width:100%;font-size:.54rem;line-height:1;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .model-card{padding:5px 6px;border-top-width:2px;overflow:hidden}
  .model-header{height:21px;flex:0 0 21px}.model-header>div{height:21px;gap:5px;flex-wrap:nowrap}.model-header h2{font-size:.82rem;line-height:1;white-space:nowrap}.model-header p{display:none}.model-index{padding:3px 5px;font-size:.49rem;line-height:1;white-space:nowrap}
  .number-row{width:100%;height:31px;flex:0 0 31px;grid-template-columns:repeat(7,31px);gap:5px;margin:2px auto 2px}.number-ball{width:31px;height:31px;font-size:.83rem;border-width:1px;box-shadow:none}
  .chart-heading{height:15px;flex:0 0 15px;padding:2px 2px 0;margin:0;border-top:1px solid var(--line)}.chart-heading strong{font-size:.57rem}.chart-heading span{font-size:.52rem}
  .chart-wrap{height:auto;min-height:0;flex:1 1 auto;border-radius:7px;padding:1px}
  .previous-card{height:82px;padding:4px 5px;border-top-width:2px;overflow:hidden}
  .previous-header{height:28px;gap:4px}.previous-header>div{min-width:0}.previous-header span{display:none}.previous-header h2{margin:0;font-size:.72rem;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.score-row{gap:3px;flex-wrap:nowrap}.score-chip{padding:3px 5px;font-size:.56rem;white-space:nowrap}
  .previous-numbers{height:26px;grid-template-columns:repeat(12,24px);gap:3px;margin:2px auto 1px}.previous-ball{width:24px;height:24px;font-size:.64rem;border-width:1px;box-shadow:none}
  .green-note{font-size:.52rem;line-height:1;white-space:nowrap}.green-note i{width:7px;height:7px;margin-right:2px}
  .status-card,footer{display:none}
}

@media(max-width:360px){
  .number-row{grid-template-columns:repeat(7,28px);gap:4px}.number-ball{width:28px;height:28px;font-size:.76rem}
  .previous-numbers{grid-template-columns:repeat(12,22px);gap:2px}.previous-ball{width:22px;height:22px;font-size:.59rem}
}

@media(max-width:720px) and (max-height:650px){
  .app-header{height:38px}.brand-mark{width:28px;height:28px}.refresh-button{width:28px;height:28px}
  .page-shell{height:calc(100dvh - 38px);grid-template-rows:34px minmax(0,1fr) minmax(0,1fr) 68px;gap:3px;padding:3px}
  .draw-title{height:34px}.draw-title h1{font-size:.88rem}.draw-title small{display:none}
  .model-card{padding:3px 5px}.model-header{height:18px;flex-basis:18px}.model-header>div{height:18px}.model-header h2{font-size:.72rem}.model-index{font-size:.43rem}
  .number-row{height:27px;flex-basis:27px;grid-template-columns:repeat(7,27px);gap:4px}.number-ball{width:27px;height:27px;font-size:.73rem}
  .chart-heading{height:12px;flex-basis:12px}.chart-heading strong,.chart-heading span{font-size:.48rem}
  .previous-card{height:68px;padding:3px 4px}.previous-header{height:22px}.previous-header h2{font-size:.64rem}.score-chip{padding:2px 4px;font-size:.49rem}
  .previous-numbers{height:22px;grid-template-columns:repeat(12,20px);gap:2px}.previous-ball{width:20px;height:20px;font-size:.54rem}.green-note{font-size:.45rem}
}

/* Version 5 : le tirage précédent est placé sous chaque pronostic. */
.model-previous{
  margin:2px 0 5px;
  padding:7px 8px 8px;
  border-radius:11px;
  background:rgba(8,13,27,.54);
  border:1px solid rgba(255,255,255,.065)
}
.previous-mini-head{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  margin-bottom:6px;
  min-width:0
}
.previous-mini-head span{
  color:var(--muted);
  font-size:.65rem;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.065em
}
.previous-mini-head strong{
  font-size:.78rem;
  white-space:nowrap
}
.previous-mini-head em{
  min-width:42px;
  padding:3px 7px;
  border-radius:999px;
  font-size:.7rem;
  font-style:normal;
  font-weight:950;
  text-align:center;
  background:#11192e;
  border:1px solid var(--line)
}
.previous-mini-head em.win{color:#63e8a6;border-color:rgba(56,220,136,.42)}
.previous-mini-head em.lose{color:#ffaaaa}
.model-previous .previous-numbers{margin:0 auto;}

@media(max-width:720px){
  .page-shell{
    grid-template-rows:42px minmax(0,1fr) minmax(0,1fr);
  }
  .model-card{padding:4px 5px;}
  .model-header{height:18px;flex:0 0 18px}
  .model-header>div{height:18px}
  .model-header h2{font-size:.76rem}
  .model-index{padding:2px 4px;font-size:.46rem}
  .number-row{
    height:29px;
    flex:0 0 29px;
    grid-template-columns:repeat(7,29px);
    gap:4px;
    margin:1px auto 2px
  }
  .number-ball{width:29px;height:29px;font-size:.78rem}
  .model-previous{
    height:43px;
    flex:0 0 43px;
    margin:0 0 2px;
    padding:2px 3px 3px;
    border-radius:7px
  }
  .previous-mini-head{
    height:14px;
    margin:0 0 2px;
    gap:4px;
    line-height:1
  }
  .previous-mini-head span{font-size:.47rem;letter-spacing:.03em}
  .previous-mini-head strong{font-size:.56rem}
  .previous-mini-head em{min-width:31px;padding:1px 4px;font-size:.5rem}
  .model-previous .previous-numbers{
    height:23px;
    grid-template-columns:repeat(12,21px);
    gap:2px;
    margin:0 auto
  }
  .model-previous .previous-ball{
    width:21px;
    height:21px;
    font-size:.55rem;
    border-width:1px;
    box-shadow:none
  }
  .chart-heading{height:13px;flex:0 0 13px;padding:1px 2px 0}
  .chart-heading strong,.chart-heading span{font-size:.49rem}
  .chart-wrap{min-height:42px}
}

@media(max-width:360px){
  .number-row{grid-template-columns:repeat(7,27px);gap:3px}
  .number-ball{width:27px;height:27px;font-size:.73rem}
  .model-previous .previous-numbers{grid-template-columns:repeat(12,20px);gap:2px}
  .model-previous .previous-ball{width:20px;height:20px;font-size:.52rem}
}

@media(max-width:720px) and (max-height:650px){
  .page-shell{grid-template-rows:34px minmax(0,1fr) minmax(0,1fr)}
  .model-card{padding:2px 4px}
  .model-header{height:16px;flex-basis:16px}.model-header>div{height:16px}
  .model-header h2{font-size:.66rem}.model-index{font-size:.39rem}
  .number-row{height:25px;flex-basis:25px;grid-template-columns:repeat(7,25px);gap:3px}
  .number-ball{width:25px;height:25px;font-size:.67rem}
  .model-previous{height:37px;flex-basis:37px;padding:1px 2px 2px;margin-bottom:1px}
  .previous-mini-head{height:12px;margin-bottom:1px}.previous-mini-head span{font-size:.4rem}.previous-mini-head strong{font-size:.49rem}.previous-mini-head em{font-size:.43rem;min-width:28px}
  .model-previous .previous-numbers{height:20px;grid-template-columns:repeat(12,18px);gap:2px}
  .model-previous .previous-ball{width:18px;height:18px;font-size:.47rem}
  .chart-heading{height:11px;flex-basis:11px}.chart-heading strong,.chart-heading span{font-size:.43rem}
  .chart-wrap{min-height:30px}
}

/* Version 9 : boules et chiffres agrandis sur iPhone, sans défilement. */
.previous-ball.predicted{
  position:relative;
  z-index:1;
  transform:scale(1.08);
  filter:brightness(1.24) saturate(1.12);
  border-color:#fff8b8;
  box-shadow:
    inset 0 0 0 2px rgba(255,255,255,.95),
    inset 0 0 0 4px rgba(255,221,73,.7),
    0 0 7px 3px rgba(255,226,84,.95),
    0 2px 7px rgba(0,0,0,.35)
}

@media(max-width:720px){
  .number-row{
    height:38px;
    flex-basis:38px;
    grid-template-columns:repeat(7,36px);
    gap:6px;
    margin:2px auto 2px
  }
  .number-ball{
    width:36px;
    height:36px;
    font-size:1rem;
    line-height:1;
    border-width:1.5px;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.28),0 3px 8px rgba(0,0,0,.25)
  }
  .model-previous{
    height:49px;
    flex-basis:49px;
    padding:2px 3px 3px
  }
  .previous-mini-head{height:15px;margin-bottom:2px}
  .previous-mini-head span{font-size:.5rem}
  .previous-mini-head strong{font-size:.59rem}
  .previous-mini-head em{font-size:.54rem;min-width:34px}
  .model-previous .previous-numbers{
    height:27px;
    grid-template-columns:repeat(12,25px);
    gap:2px
  }
  .model-previous .previous-ball{
    width:25px;
    height:25px;
    font-size:.68rem;
    line-height:1;
    font-weight:950
  }
  .chart-wrap{min-height:34px}
}

@media(max-width:360px){
  .number-row{
    height:34px;
    flex-basis:34px;
    grid-template-columns:repeat(7,32px);
    gap:4px
  }
  .number-ball{width:32px;height:32px;font-size:.9rem}
  .model-previous{height:45px;flex-basis:45px}
  .model-previous .previous-numbers{
    height:24px;
    grid-template-columns:repeat(12,22px);
    gap:1px
  }
  .model-previous .previous-ball{width:22px;height:22px;font-size:.61rem}
}

@media(max-width:720px) and (max-height:650px){
  .number-row{
    height:33px;
    flex-basis:33px;
    grid-template-columns:repeat(7,31px);
    gap:4px
  }
  .number-ball{width:31px;height:31px;font-size:.86rem}
  .model-previous{height:43px;flex-basis:43px;padding:1px 2px 2px}
  .previous-mini-head{height:13px;margin-bottom:1px}
  .model-previous .previous-numbers{
    height:24px;
    grid-template-columns:repeat(12,22px);
    gap:1px
  }
  .model-previous .previous-ball{width:22px;height:22px;font-size:.6rem}
  .chart-wrap{min-height:28px}
}


/* Version 10 : la surbrillance doit rester prioritaire après toutes les règles mobiles. */
.model-previous .previous-ball.predicted,
.model-previous .previous-ball[data-hit="true"]{
  position:relative;
  z-index:3;
  transform:scale(1.13);
  filter:brightness(1.32) saturate(1.2);
  border:2px solid #fff !important;
  outline:3px solid #ffe45c;
  outline-offset:-5px;
  box-shadow:
    0 0 0 2px rgba(255,255,255,.98),
    0 0 0 4px rgba(255,220,45,.98),
    0 0 12px 6px rgba(255,222,69,.95),
    0 2px 7px rgba(0,0,0,.4) !important;
  animation:amigo-hit-pulse 1.25s ease-in-out infinite alternate;
}
.model-previous .previous-ball.predicted::after,
.model-previous .previous-ball[data-hit="true"]::after{
  content:"";
  position:absolute;
  inset:3px;
  border-radius:50%;
  border:2px solid rgba(255,255,255,.98);
  pointer-events:none;
}
@keyframes amigo-hit-pulse{
  from{transform:scale(1.08);filter:brightness(1.2) saturate(1.12)}
  to{transform:scale(1.17);filter:brightness(1.42) saturate(1.28)}
}
@media (prefers-reduced-motion:reduce){
  .model-previous .previous-ball.predicted,
  .model-previous .previous-ball[data-hit="true"]{animation:none}
}

/* Version 11 : tailles réellement agrandies sur smartphone.
   Placé en dernier pour neutraliser toutes les anciennes réductions mobiles. */
@media (max-width:720px){
  :root{
    --prediction-ball-size:clamp(36px,10vw,42px);
    --previous-ball-size:clamp(25px,7vw,29px);
  }
  .model-card{
    padding:4px 5px !important;
  }
  .number-row{
    width:100% !important;
    height:var(--prediction-ball-size) !important;
    flex:0 0 var(--prediction-ball-size) !important;
    grid-template-columns:repeat(7,var(--prediction-ball-size)) !important;
    gap:clamp(4px,1.35vw,7px) !important;
    margin:2px auto 3px !important;
  }
  .number-row .number-ball{
    width:var(--prediction-ball-size) !important;
    height:var(--prediction-ball-size) !important;
    min-width:var(--prediction-ball-size) !important;
    min-height:var(--prediction-ball-size) !important;
    font-size:clamp(1rem,4.7vw,1.28rem) !important;
    line-height:1 !important;
    font-weight:950 !important;
    border-width:2px !important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 3px 9px rgba(0,0,0,.28) !important;
  }
  .model-previous{
    height:calc(var(--previous-ball-size) + 23px) !important;
    flex:0 0 calc(var(--previous-ball-size) + 23px) !important;
    padding:2px 3px 3px !important;
  }
  .previous-mini-head{
    height:17px !important;
    margin-bottom:2px !important;
  }
  .previous-mini-head span{font-size:.54rem !important}
  .previous-mini-head strong{font-size:.64rem !important}
  .previous-mini-head em{font-size:.59rem !important;min-width:36px !important}
  .model-previous .previous-numbers{
    width:100% !important;
    height:var(--previous-ball-size) !important;
    grid-template-columns:repeat(12,var(--previous-ball-size)) !important;
    gap:clamp(1px,.55vw,3px) !important;
    margin:0 auto !important;
  }
  .model-previous .previous-ball{
    width:var(--previous-ball-size) !important;
    height:var(--previous-ball-size) !important;
    min-width:var(--previous-ball-size) !important;
    min-height:var(--previous-ball-size) !important;
    font-size:clamp(.72rem,3.25vw,.91rem) !important;
    line-height:1 !important;
    font-weight:950 !important;
    border-width:1.5px !important;
  }
  .model-previous .previous-ball.predicted,
  .model-previous .previous-ball[data-hit="true"]{
    transform:scale(1.12) !important;
    outline:3px solid #ffe45c !important;
    outline-offset:-5px !important;
    box-shadow:
      0 0 0 2px #fff,
      0 0 0 4px #ffd91f,
      0 0 13px 6px rgba(255,225,65,.98),
      0 2px 7px rgba(0,0,0,.42) !important;
  }
  .chart-heading{height:13px !important;flex:0 0 13px !important}
  .chart-wrap{min-height:28px !important}
}

@media (max-width:720px) and (max-height:700px){
  :root{
    --prediction-ball-size:clamp(34px,9.5vw,38px);
    --previous-ball-size:clamp(24px,6.7vw,26px);
  }
  .model-header{height:17px !important;flex-basis:17px !important}
  .model-header>div{height:17px !important}
  .model-header h2{font-size:.72rem !important}
  .model-index{font-size:.43rem !important}
  .model-previous{
    height:calc(var(--previous-ball-size) + 20px) !important;
    flex-basis:calc(var(--previous-ball-size) + 20px) !important;
  }
  .previous-mini-head{height:14px !important;margin-bottom:1px !important}
  .chart-heading{height:11px !important;flex-basis:11px !important}
  .chart-wrap{min-height:24px !important}
}

/* Version 13 : repérage discret et lisible des numéros trouvés.
   Un seul cercle lumineux, sans halo, pulsation, zoom ni éclaircissement. */
.model-previous .previous-ball.predicted,
.model-previous .previous-ball[data-hit="true"]{
  position:relative;
  z-index:2;
  transform:none !important;
  filter:none !important;
  animation:none !important;
  border-color:rgba(255,255,255,.95) !important;
  outline:2px solid rgba(255,244,150,.98) !important;
  outline-offset:-4px !important;
  box-shadow:0 0 4px rgba(255,244,150,.7),0 3px 8px rgba(0,0,0,.25) !important;
}
.model-previous .previous-ball.predicted::after,
.model-previous .previous-ball[data-hit="true"]::after{
  content:none !important;
  display:none !important;
}
@media (max-width:720px){
  .model-previous .previous-ball.predicted,
  .model-previous .previous-ball[data-hit="true"]{
    transform:none !important;
    filter:none !important;
    animation:none !important;
    outline:2px solid rgba(255,244,150,.98) !important;
    outline-offset:-4px !important;
    box-shadow:0 0 4px rgba(255,244,150,.7),0 3px 8px rgba(0,0,0,.25) !important;
  }
}

/* Version 16 : un seul pronostic, mise en page iPhone plus lisible et aérée. */
.single-model-layout{max-width:780px}
.main-prediction-card{gap:10px;padding:22px}
.main-model-header{text-align:center}
.main-model-header .model-index{font-size:.82rem;padding:7px 12px;background:rgba(255,173,36,.14);color:#ffd277;border:1px solid rgba(255,173,36,.3)}
.main-model-header h2{margin:8px 0 0;font-size:clamp(1.55rem,4vw,2.15rem)}
.main-model-header p{font-size:.9rem;margin-top:5px}
.main-number-row{grid-template-columns:repeat(7,clamp(52px,8vw,70px));gap:12px;margin:12px auto 16px}
.main-number-row .number-ball{width:clamp(52px,8vw,70px);height:clamp(52px,8vw,70px);font-size:clamp(1.35rem,3vw,1.8rem);border:2px solid rgba(255,255,255,.55);box-shadow:inset 7px 8px 12px rgba(255,255,255,.24),inset -8px -10px 15px rgba(0,0,0,.32),0 8px 16px rgba(0,0,0,.38),0 1px 0 rgba(255,255,255,.5)}
.main-number-row .number-ball::before{content:"";position:absolute;width:34%;height:22%;border-radius:50%;background:rgba(255,255,255,.45);top:13%;left:18%;filter:blur(1px)}
.main-number-row .number-ball{position:relative;isolation:isolate}
.main-number-row .number-ball{overflow:hidden}
.main-number-row .number-ball{ text-shadow:0 1px 1px rgba(0,0,0,.38)}
.main-chart{height:190px}
.main-previous{margin-top:6px;padding:14px;border-radius:16px}
.main-previous-head{margin-bottom:12px;gap:12px;flex-wrap:wrap}
.main-previous-head span{font-size:1.17rem;letter-spacing:.04em}
.main-previous-head strong{font-size:1.22rem}
.main-previous-head em{font-size:1rem;padding:6px 11px}
.main-previous-numbers{grid-template-columns:repeat(6,clamp(52px,8vw,70px));gap:10px 12px;margin:0 auto}
.main-previous-numbers .previous-ball{width:clamp(52px,8vw,70px);height:clamp(52px,8vw,70px);font-size:clamp(1.35rem,3vw,1.8rem);border-width:2px;box-shadow:inset 5px 6px 9px rgba(255,255,255,.18),inset -6px -8px 12px rgba(0,0,0,.3),0 5px 12px rgba(0,0,0,.3)}

@media(max-width:720px){
  html,body{height:auto;min-height:100%;overflow-x:hidden;overflow-y:auto}
  .app-header{height:46px;padding:5px 9px}
  .page-shell.single-model-layout{width:100%;height:auto;min-height:calc(100dvh - 46px);margin:0;padding:7px;display:grid;grid-template-rows:auto 1fr;gap:7px;overflow:visible}
  .draw-title{height:auto;min-height:50px;padding:6px 8px}
  .draw-title h1{font-size:clamp(1rem,4.6vw,1.25rem)}
  .draw-title small{font-size:.59rem}
  .main-prediction-card{padding:10px 8px 12px;gap:7px;border-radius:15px;overflow:visible}
  .main-model-header{height:auto!important;flex:0 0 auto!important}
  .main-model-header .model-index{font-size:.66rem!important;padding:5px 9px!important}
  .main-model-header h2{font-size:clamp(1.28rem,6vw,1.58rem)!important;line-height:1.05;white-space:normal;margin-top:6px}
  .main-model-header p{display:block;font-size:.68rem;margin:4px 0 0}
  .main-number-row{--main-ball:clamp(40px,11vw,47px);width:100%!important;height:var(--main-ball)!important;flex:0 0 var(--main-ball)!important;grid-template-columns:repeat(7,var(--main-ball))!important;gap:clamp(3px,1.2vw,6px)!important;margin:7px auto 8px!important}
  .main-number-row .number-ball{width:var(--main-ball)!important;height:var(--main-ball)!important;min-width:var(--main-ball)!important;min-height:var(--main-ball)!important;font-size:clamp(1.08rem,5vw,1.32rem)!important;box-shadow:inset 5px 6px 8px rgba(255,255,255,.25),inset -6px -8px 11px rgba(0,0,0,.34),0 5px 10px rgba(0,0,0,.35)!important}
  .chart-heading{height:auto!important;flex:0 0 auto!important;padding:5px 2px 2px!important}
  .chart-heading strong{font-size:.7rem!important}.chart-heading span{font-size:.62rem!important}
  .main-chart{height:115px!important;min-height:115px!important;flex:none!important}
  .main-previous{height:auto!important;flex:none!important;margin:3px 0 0!important;padding:9px 6px 10px!important}
  .main-previous-head{height:auto!important;margin:0 0 8px!important;gap:5px 8px!important}
  .main-previous-head span{font-size:1.02rem!important;letter-spacing:.02em!important}
  .main-previous-head strong{font-size:1rem!important}
  .main-previous-head em{font-size:.8rem!important;min-width:43px!important;padding:4px 7px!important}
  .main-previous-numbers{--result-ball:clamp(40px,11vw,47px);width:100%!important;height:auto!important;grid-template-columns:repeat(6,var(--result-ball))!important;gap:6px clamp(5px,2vw,9px)!important;margin:0 auto!important}
  .main-previous-numbers .previous-ball{width:var(--result-ball)!important;height:var(--result-ball)!important;min-width:var(--result-ball)!important;min-height:var(--result-ball)!important;font-size:clamp(1.08rem,5vw,1.32rem)!important;line-height:1!important}
  .status-card,footer{display:none}
}

@media(max-width:375px){
  .main-number-row{--main-ball:39px;gap:3px!important}
  .main-previous-numbers{--result-ball:39px;gap:5px 7px!important}
  .main-chart{height:100px!important;min-height:100px!important}
  .main-model-header h2{font-size:1.22rem!important}
}

@media(max-width:720px) and (max-height:700px){
  .main-chart{height:88px!important;min-height:88px!important}
  .main-prediction-card{padding-top:7px;gap:4px}
  .main-model-header p{display:none}
  .main-number-row{margin:4px auto 5px!important}
  .main-previous{padding-top:6px!important;padding-bottom:7px!important}
  .main-previous-head{margin-bottom:5px!important}
}


/* Feu de tendance fondé sur le momentum de la courbe */
.trend-signal{display:flex;align-items:center;justify-content:center;gap:14px;margin:0 auto 2px;padding:8px 14px;border:1px solid var(--line);border-radius:16px;background:rgba(7,12,24,.58);width:min(100%,520px)}
.traffic-light{display:flex;gap:7px;padding:7px 10px;border-radius:999px;background:#070b13;border:1px solid rgba(255,255,255,.14);box-shadow:inset 0 2px 7px rgba(0,0,0,.8)}
.light{width:24px;height:24px;border-radius:50%;opacity:.2;border:2px solid rgba(255,255,255,.16);box-shadow:inset 0 2px 4px rgba(0,0,0,.7)}
.light.red{background:#e83d47}.light.orange{background:#ff9f22}.light.green{background:#25d873}
.light.active{opacity:1;box-shadow:0 0 12px currentColor,0 0 22px currentColor,inset 0 2px 4px rgba(255,255,255,.35)}
.trend-red .light.red{color:#e83d47}.trend-orange .light.orange{color:#ff9f22}.trend-green .light.green{color:#25d873}
.trend-copy{display:grid;line-height:1.05;min-width:0}.trend-copy small{color:var(--muted);font-size:.66rem;text-transform:uppercase;letter-spacing:.1em;font-weight:850}.trend-copy strong{font-size:1.18rem;margin-top:3px}.trend-copy span{color:var(--muted);font-size:.68rem;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.trend-green .trend-copy strong{color:#50e99a}.trend-orange .trend-copy strong{color:#ffb84d}.trend-red .trend-copy strong{color:#ff6c74}
@media(max-width:720px){
  .trend-signal{gap:8px;padding:5px 8px;border-radius:11px;margin-bottom:0;width:100%}
  .traffic-light{gap:5px;padding:5px 7px}.light{width:18px;height:18px;border-width:1px}
  .trend-copy small{font-size:.5rem}.trend-copy strong{font-size:.88rem;margin-top:1px}.trend-copy span{font-size:.52rem;margin-top:2px}
}

/* v19 — quatre tirages précédents, du plus récent au plus ancien */
.previous-four-block{
  height:auto !important;
  min-height:0;
  padding:7px 8px 8px !important;
}
.previous-four-title{
  margin:0 0 6px;
  text-align:center;
  font-size:clamp(.9rem,3.8vw,1.35rem);
  line-height:1;
  font-weight:950;
  letter-spacing:.02em;
}
.previous-draws-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:6px;
}
.previous-draw-item{
  min-width:0;
  padding:5px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:11px;
  background:rgba(7,12,27,.52);
}
.previous-draw-item-head{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  margin-bottom:4px;
  white-space:nowrap;
}
.previous-draw-item-head strong{font-size:.76rem}
.previous-draw-item-head span{font-size:.65rem;color:var(--muted)}
.previous-draw-item-head em{
  min-width:31px;
  padding:2px 5px;
  border:1px solid var(--line);
  border-radius:999px;
  font-size:.62rem;
  font-style:normal;
  font-weight:950;
  text-align:center;
}
.previous-draw-item-head em.win{color:#63e8a6;border-color:rgba(56,220,136,.42)}
.previous-draw-item-head em.lose{color:#ffaaaa}
.previous-draw-item .previous-numbers{
  display:grid !important;
  grid-template-columns:repeat(6,28px) !important;
  justify-content:center;
  gap:3px !important;
  height:auto !important;
  margin:0 !important;
}
.previous-draw-item .previous-ball{
  width:28px !important;
  height:28px !important;
  font-size:.72rem !important;
}
@media (max-width:390px){
  .previous-draws-grid{gap:4px}
  .previous-draw-item{padding:4px 2px}
  .previous-draw-item-head{gap:3px;margin-bottom:3px}
  .previous-draw-item-head strong{font-size:.67rem}
  .previous-draw-item-head span{font-size:.58rem}
  .previous-draw-item-head em{min-width:27px;padding:1px 3px;font-size:.56rem}
  .previous-draw-item .previous-numbers{grid-template-columns:repeat(6,25px) !important;gap:2px !important}
  .previous-draw-item .previous-ball{width:25px !important;height:25px !important;font-size:.65rem !important}
}
@media (max-height:760px) and (max-width:540px){
  .previous-four-title{font-size:.84rem;margin-bottom:4px}
  .previous-draw-item .previous-numbers{grid-template-columns:repeat(6,23px) !important}
  .previous-draw-item .previous-ball{width:23px !important;height:23px !important;font-size:.59rem !important}
}

/* v20 — tirages précédents agrandis et courbe pilotable */
.chart-heading{gap:8px;flex-wrap:wrap}
.chart-controls{display:flex;align-items:center;gap:6px;margin-left:auto}
.chart-controls label{font-size:.72rem;color:var(--muted);font-weight:750}
.chart-controls select{border:1px solid rgba(255,255,255,.16);background:#10172a;color:var(--text);border-radius:8px;padding:6px 9px;font-weight:800;font-size:.75rem;outline:none}
.chart-controls select:focus{border-color:var(--orange);box-shadow:0 0 0 2px rgba(255,173,36,.18)}
.main-chart{height:220px}
.previous-draw-item{padding:7px 5px}
.previous-draw-item-head strong{font-size:.9rem}
.previous-draw-item-head span{font-size:.76rem}
.previous-draw-item-head em{font-size:.72rem;min-width:36px}
.previous-draw-item .previous-numbers{grid-template-columns:repeat(6,34px) !important;gap:4px !important}
.previous-draw-item .previous-ball{width:34px !important;height:34px !important;font-size:.88rem !important}

@media(max-width:720px){
  .main-model-header{min-height:26px!important;display:flex;align-items:center;justify-content:center}
  .main-model-header .model-index{font-size:.82rem!important;padding:6px 13px!important}
  .chart-heading{justify-content:center;padding:6px 2px 4px!important}
  .chart-heading strong{font-size:.82rem!important}
  .chart-heading>span{width:100%;text-align:center;font-size:.66rem!important}
  .chart-controls{margin-left:0}
  .chart-controls label{font-size:.68rem}
  .chart-controls select{font-size:.72rem;padding:5px 7px}
  .main-chart{height:150px!important;min-height:150px!important}
  .previous-four-title{font-size:1rem;margin-bottom:6px}
  .previous-draw-item{padding:5px 2px}
  .previous-draw-item-head{gap:4px}
  .previous-draw-item-head strong{font-size:.75rem}
  .previous-draw-item-head span{font-size:.65rem}
  .previous-draw-item-head em{font-size:.63rem;min-width:31px;padding:2px 4px}
  .previous-draw-item .previous-numbers{grid-template-columns:repeat(6,29px) !important;gap:3px !important}
  .previous-draw-item .previous-ball{width:29px !important;height:29px !important;font-size:.76rem !important}
}
@media(max-width:375px){
  .previous-draw-item .previous-numbers{grid-template-columns:repeat(6,27px) !important;gap:2px !important}
  .previous-draw-item .previous-ball{width:27px !important;height:27px !important;font-size:.72rem !important}
  .main-chart{height:135px!important;min-height:135px!important}
}
@media(max-width:720px) and (max-height:700px){
  .main-chart{height:120px!important;min-height:120px!important}
  .previous-draw-item .previous-numbers{grid-template-columns:repeat(6,27px) !important}
  .previous-draw-item .previous-ball{width:27px !important;height:27px !important;font-size:.7rem !important}
}


/* v22 — suppression du feu et agrandissement des quatre tirages */
.trend-signal,.traffic-light,.trend-copy{display:none!important}
.main-prediction-card{gap:8px}
.previous-four-block{padding:12px 10px 14px!important}
.previous-four-title{font-size:clamp(1.15rem,4.6vw,1.55rem)!important;margin-bottom:10px!important}
.previous-draws-grid{gap:10px!important}
.previous-draw-item{padding:10px 7px!important;border-radius:14px!important}
.previous-draw-item-head{margin-bottom:7px!important;gap:7px!important}
.previous-draw-item-head strong{font-size:1rem!important}
.previous-draw-item-head span{font-size:.84rem!important}
.previous-draw-item-head em{font-size:.8rem!important;min-width:42px!important;padding:3px 6px!important}
.previous-draw-item .previous-numbers{grid-template-columns:repeat(6,38px)!important;gap:5px!important}
.previous-draw-item .previous-ball{width:38px!important;height:38px!important;min-width:38px!important;min-height:38px!important;font-size:1rem!important}

@media(max-width:720px){
  .single-model-layout{padding-bottom:5px!important}
  .previous-four-block{padding:9px 5px 10px!important}
  .previous-four-title{font-size:1.08rem!important;margin-bottom:8px!important}
  .previous-draws-grid{gap:7px!important}
  .previous-draw-item{padding:7px 3px!important}
  .previous-draw-item-head{gap:4px!important;margin-bottom:5px!important}
  .previous-draw-item-head strong{font-size:.84rem!important}
  .previous-draw-item-head span{font-size:.72rem!important}
  .previous-draw-item-head em{font-size:.68rem!important;min-width:34px!important;padding:2px 4px!important}
  .previous-draw-item .previous-numbers{grid-template-columns:repeat(6,32px)!important;gap:3px!important}
  .previous-draw-item .previous-ball{width:32px!important;height:32px!important;min-width:32px!important;min-height:32px!important;font-size:.84rem!important}
}
@media(min-width:390px) and (max-width:720px){
  .previous-draw-item .previous-numbers{grid-template-columns:repeat(6,34px)!important;gap:4px!important}
  .previous-draw-item .previous-ball{width:34px!important;height:34px!important;min-width:34px!important;min-height:34px!important;font-size:.9rem!important}
}
@media(max-width:375px){
  .previous-draw-item .previous-numbers{grid-template-columns:repeat(6,30px)!important;gap:2px!important}
  .previous-draw-item .previous-ball{width:30px!important;height:30px!important;min-width:30px!important;min-height:30px!important;font-size:.8rem!important}
}
@media(max-width:720px) and (max-height:700px){
  .previous-four-block{padding-top:6px!important;padding-bottom:7px!important}
  .previous-four-title{font-size:.98rem!important;margin-bottom:5px!important}
  .previous-draws-grid{gap:5px!important}
  .previous-draw-item{padding:5px 2px!important}
  .previous-draw-item .previous-numbers{grid-template-columns:repeat(6,29px)!important;gap:2px!important}
  .previous-draw-item .previous-ball{width:29px!important;height:29px!important;min-width:29px!important;min-height:29px!important;font-size:.76rem!important}
}

/* v23 — titre de grille plus lisible */
.draw-title h1{font-size:clamp(1.75rem,5.2vw,2.6rem)!important;font-weight:950!important;line-height:1.05!important;}
@media (max-width:600px){.draw-title{min-height:58px!important;padding:7px 6px!important}.draw-title h1{font-size:clamp(1.28rem,5.8vw,1.62rem)!important;white-space:nowrap!important}.draw-title small{font-size:.62rem!important}}

/* v25 — smartphone : largeur maîtrisée, 4 tirages agrandis sur 3 lignes */
html,body{max-width:100%;overflow-x:hidden}
.page-shell,.model-card,.previous-four-block,.previous-draws-grid,.previous-draw-item{min-width:0;max-width:100%;box-sizing:border-box}

@media(max-width:720px){
  .draw-title h1{
    white-space:normal!important;
    overflow-wrap:anywhere;
    font-size:clamp(1.05rem,4.7vw,1.38rem)!important;
    line-height:1.12!important;
  }
  .previous-four-block{padding:10px 5px 12px!important}
  .previous-draws-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
    width:100%!important;
  }
  .previous-draw-item{
    width:100%!important;
    padding:8px 3px!important;
    overflow:hidden!important;
  }
  .previous-draw-item-head{
    gap:4px!important;
    margin-bottom:7px!important;
    white-space:nowrap!important;
  }
  .previous-draw-item-head strong{font-size:.9rem!important}
  .previous-draw-item-head span{font-size:.76rem!important}
  .previous-draw-item-head em{font-size:.72rem!important;min-width:36px!important}
  .previous-draw-item .previous-numbers{
    grid-template-columns:repeat(4,clamp(32px,9vw,37px))!important;
    grid-auto-rows:clamp(32px,9vw,37px)!important;
    justify-content:center!important;
    gap:5px!important;
    width:100%!important;
  }
  .previous-draw-item .previous-ball{
    width:clamp(32px,9vw,37px)!important;
    height:clamp(32px,9vw,37px)!important;
    min-width:clamp(32px,9vw,37px)!important;
    min-height:clamp(32px,9vw,37px)!important;
    font-size:clamp(.86rem,4vw,1rem)!important;
  }
}

@media(min-width:390px) and (max-width:720px){
  .previous-draw-item .previous-numbers{
    grid-template-columns:repeat(4,38px)!important;
    grid-auto-rows:38px!important;
    gap:5px!important;
  }
  .previous-draw-item .previous-ball{
    width:38px!important;height:38px!important;
    min-width:38px!important;min-height:38px!important;
    font-size:1rem!important;
  }
}

@media(max-width:360px){
  .previous-draws-grid{gap:5px!important}
  .previous-draw-item{padding:6px 1px!important}
  .previous-draw-item-head strong{font-size:.8rem!important}
  .previous-draw-item-head span{font-size:.68rem!important}
  .previous-draw-item-head em{font-size:.64rem!important;min-width:31px!important;padding:2px 3px!important}
  .previous-draw-item .previous-numbers{
    grid-template-columns:repeat(4,31px)!important;
    grid-auto-rows:31px!important;
    gap:4px!important;
  }
  .previous-draw-item .previous-ball{
    width:31px!important;height:31px!important;
    min-width:31px!important;min-height:31px!important;
    font-size:.83rem!important;
  }
}

/* v26 — bouton d'actualisation orange, large et prioritaire */
.refresh-button{
  min-width:132px;
  min-height:44px;
  padding:10px 17px;
  border:2px solid rgba(255,209,105,.95) !important;
  border-radius:14px;
  background:linear-gradient(180deg,#ffbd3e 0%,#f28b00 100%) !important;
  color:#241300 !important;
  font-size:.94rem;
  font-weight:950;
  line-height:1;
  box-shadow:0 5px 0 #a94f00,0 9px 18px rgba(0,0,0,.34),inset 0 1px 0 rgba(255,255,255,.55);
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  user-select:none;
  -webkit-tap-highlight-color:transparent;
}
.refresh-button span{display:inline !important}
.refresh-button b{display:inline-block !important;font-size:1.2rem;line-height:1}
.refresh-button:hover{filter:brightness(1.06)}
.refresh-button:active{transform:translateY(3px);box-shadow:0 2px 0 #a94f00,0 5px 10px rgba(0,0,0,.3)}
.refresh-button:disabled{opacity:.72;cursor:wait;transform:none;box-shadow:0 3px 0 #a94f00,0 6px 12px rgba(0,0,0,.25)}
.refresh-button.refresh-success{background:linear-gradient(180deg,#73e8a6,#29b86b) !important;border-color:#baffd3 !important;color:#062314 !important;box-shadow:0 5px 0 #147a42,0 9px 18px rgba(0,0,0,.3)}
.refresh-button.refresh-empty{background:linear-gradient(180deg,#ffc65a,#ed8700) !important}
.refresh-button.refresh-error{background:linear-gradient(180deg,#ff8b79,#d53d2f) !important;border-color:#ffd1c9 !important;color:#2a0905 !important;box-shadow:0 5px 0 #832118,0 9px 18px rgba(0,0,0,.3)}

@media(max-width:720px){
  .app-header{height:58px;padding:6px 8px}
  .page-shell{height:calc(100dvh - 58px)}
  .refresh-button{
    width:auto !important;
    min-width:118px !important;
    height:42px !important;
    min-height:42px !important;
    padding:8px 12px !important;
    border-radius:12px !important;
    font-size:.84rem !important;
  }
  .refresh-button span{display:inline !important}
  .refresh-button b{display:inline-block !important;font-size:1.08rem !important}
}
@media(max-width:390px){
  .brand strong{font-size:.82rem}
  .refresh-button{min-width:108px !important;padding:7px 9px !important;font-size:.78rem !important}
}
@media(max-width:720px) and (max-height:650px){
  .app-header{height:50px}
  .page-shell{height:calc(100dvh - 50px)}
  .refresh-button{height:38px !important;min-height:38px !important;min-width:105px !important;font-size:.75rem !important}
}

/* v30 — numéro de grille mis en valeur, ligne de dernier résultat supprimée */
.next-grid-number{color:#48a9ff;font-size:1.12em;font-weight:950;text-shadow:0 0 10px rgba(72,169,255,.28)}
.next-grid-details{color:inherit;font-size:.92em;font-weight:850}
@media (max-width:600px){
  .draw-title{min-height:52px!important}
  .draw-title h1{white-space:normal!important;text-align:center!important;line-height:1.08!important}
  .next-grid-number{font-size:1.16em}
  .next-grid-details{font-size:.82em}
}


/* v32 — tirages précédents renforcés et sélecteur 20T / demi-journée / journée */
.chart-controls label{
  font-size:.92rem!important;
  font-weight:900!important;
}
.chart-controls select{
  min-height:40px!important;
  padding:8px 12px!important;
  font-size:1rem!important;
  font-weight:900!important;
  border-width:2px!important;
}
.previous-four-title{
  font-size:clamp(1.35rem,5vw,1.75rem)!important;
  font-weight:950!important;
  letter-spacing:.01em!important;
}
.previous-draw-item-head strong{
  font-size:1.18rem!important;
  font-weight:950!important;
}
.previous-draw-item-head span{
  font-size:1.04rem!important;
  font-weight:900!important;
}
.previous-draw-item-head em{
  font-size:1.03rem!important;
  font-weight:950!important;
  min-width:54px!important;
  padding:5px 8px!important;
}
.previous-draw-item .previous-numbers{
  grid-template-columns:repeat(4,44px)!important;
  grid-auto-rows:44px!important;
  gap:7px!important;
}
.previous-draw-item .previous-ball{
  width:44px!important;
  height:44px!important;
  min-width:44px!important;
  min-height:44px!important;
  font-size:1.2rem!important;
  font-weight:950!important;
  border-width:2px!important;
}

@media(max-width:720px){
  .chart-heading strong{font-size:1rem!important}
  .chart-controls{gap:5px!important}
  .chart-controls label{font-size:.88rem!important}
  .chart-controls select{
    min-height:38px!important;
    max-width:190px!important;
    padding:7px 9px!important;
    font-size:.91rem!important;
  }
  .previous-four-block{padding:12px 5px 15px!important}
  .previous-four-title{font-size:1.28rem!important;margin-bottom:10px!important}
  .previous-draws-grid{gap:9px!important}
  .previous-draw-item{padding:10px 3px!important}
  .previous-draw-item-head{margin-bottom:9px!important;gap:5px!important}
  .previous-draw-item-head strong{font-size:1.04rem!important}
  .previous-draw-item-head span{font-size:.93rem!important}
  .previous-draw-item-head em{font-size:.92rem!important;min-width:48px!important;padding:4px 6px!important}
  .previous-draw-item .previous-numbers{
    grid-template-columns:repeat(4,clamp(37px,10.2vw,43px))!important;
    grid-auto-rows:clamp(37px,10.2vw,43px)!important;
    gap:5px!important;
  }
  .previous-draw-item .previous-ball{
    width:clamp(37px,10.2vw,43px)!important;
    height:clamp(37px,10.2vw,43px)!important;
    min-width:clamp(37px,10.2vw,43px)!important;
    min-height:clamp(37px,10.2vw,43px)!important;
    font-size:clamp(1rem,4.8vw,1.16rem)!important;
  }
}
@media(max-width:375px){
  .chart-controls select{max-width:170px!important;font-size:.84rem!important}
  .previous-draws-grid{gap:6px!important}
  .previous-draw-item{padding:8px 2px!important}
  .previous-draw-item-head strong{font-size:.96rem!important}
  .previous-draw-item-head span{font-size:.84rem!important}
  .previous-draw-item-head em{font-size:.83rem!important;min-width:43px!important}
  .previous-draw-item .previous-numbers{
    grid-template-columns:repeat(4,36px)!important;
    grid-auto-rows:36px!important;
    gap:4px!important;
  }
  .previous-draw-item .previous-ball{
    width:36px!important;height:36px!important;
    min-width:36px!important;min-height:36px!important;
    font-size:.98rem!important;
  }
}


/* v33 — interface iPhone compactée */
@media(max-width:720px){
  .page-shell.single-model-layout{padding:3px!important;gap:3px!important}
  .draw-title{min-height:46px!important;padding:3px 4px!important;margin:0!important}
  .main-prediction-card{padding:6px 5px 7px!important;gap:3px!important}
  .main-model-header{min-height:22px!important;height:22px!important}
  .main-number-row{margin:3px auto 4px!important}
  .chart-heading{padding:2px 1px!important;margin:1px 0 2px!important;gap:3px!important}
  .chart-controls{gap:3px!important}
  .chart-wrap.main-chart{margin:0!important}
  .previous-four-block{padding:5px 3px 6px!important;margin:1px 0 0!important}
  .previous-four-title{margin:0 0 4px!important}
  .previous-draws-grid{gap:4px!important}
  .previous-draw-item{padding:5px 2px!important;border-radius:10px!important}
  .previous-draw-item-head{margin-bottom:4px!important;gap:3px!important}
  .previous-draw-item .previous-numbers{gap:3px!important}
  .status-card{padding:5px 7px!important;margin:0!important;font-size:.62rem!important}
  footer{display:none!important}
}
@media(max-width:390px){
  .previous-draws-grid{gap:3px!important}
  .previous-draw-item{padding:4px 1px!important}
  .previous-draw-item .previous-numbers{gap:2px!important}
}

/* iPhone / PWA : réserve la zone de l'heure, du Wi‑Fi et de la batterie. */
@supports (padding-top: env(safe-area-inset-top)) {
  @media (max-width:720px) {
    .app-header {
      height:calc(44px + env(safe-area-inset-top));
      padding-top:calc(4px + env(safe-area-inset-top));
    }
    .page-shell {
      height:calc(100dvh - 44px - env(safe-area-inset-top));
    }
  }

  @media (max-width:720px) and (max-height:650px) {
    .app-header {
      height:calc(38px + env(safe-area-inset-top));
      padding-top:calc(3px + env(safe-area-inset-top));
    }
    .page-shell {
      height:calc(100dvh - 38px - env(safe-area-inset-top));
    }
  }
}


/* v36 — sélecteur de modèle centré dans l'en-tête */
.app-header{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
  align-items:center;
}
.brand{justify-self:start;min-width:0}
.refresh-button{justify-self:end}
.header-model-control{
  justify-self:center;
  display:flex;
  align-items:center;
  gap:7px;
  min-width:0;
}
.header-model-control label{
  color:#cbd5ed;
  font-size:.78rem;
  font-weight:900;
  white-space:nowrap;
}
.header-model-control select{
  max-width:190px;
  height:38px;
  padding:6px 30px 6px 10px;
  border:1px solid rgba(112,174,255,.55);
  border-radius:11px;
  background:#13213e;
  color:#f4f7ff;
  font-size:.84rem;
  font-weight:900;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 4px 10px rgba(0,0,0,.22);
}
.header-model-control select:focus-visible{outline:2px solid #62c8ff;outline-offset:2px}

@media(max-width:720px){
  .app-header{grid-template-columns:minmax(82px,1fr) minmax(108px,132px) minmax(88px,1fr);gap:5px}
  .header-model-control{width:100%;gap:3px;justify-content:center}
  .header-model-control label{font-size:.62rem}
  .header-model-control select{width:100%;max-width:126px;height:34px;padding:5px 22px 5px 6px;font-size:.68rem;border-radius:9px}
  .refresh-button{min-width:96px!important;padding:7px 8px!important}
}
@media(max-width:390px){
  .app-header{grid-template-columns:minmax(76px,1fr) minmax(102px,118px) minmax(82px,1fr);gap:3px;padding-left:6px;padding-right:6px}
  .brand{gap:4px}
  .brand-mark{width:29px;height:29px}
  .brand strong{font-size:.72rem}
  .header-model-control label{display:none}
  .header-model-control select{max-width:116px;font-size:.64rem;padding-left:5px}
  .refresh-button{min-width:88px!important;padding:6px!important;font-size:.7rem!important}
}
@media(max-width:350px){
  .app-header{grid-template-columns:72px minmax(94px,108px) 78px}
  .brand-mark{display:none}
  .refresh-button span{font-size:0}
  .refresh-button span::after{content:"Actualiser";font-size:.66rem}
  .refresh-button{min-width:76px!important}
}

/* v39 — sélecteur de modèle agrandi et rouge, éléments latéraux compactés */
.app-header{
  grid-template-columns:minmax(100px,.72fr) minmax(220px,280px) minmax(90px,.72fr);
  gap:8px;
}
.brand{
  max-width:150px;
  gap:7px;
}
.brand-mark{
  width:34px;
  height:34px;
  border-radius:10px;
  font-size:1.08rem;
  flex:0 0 auto;
}
.brand strong{font-size:.88rem}
.brand small{font-size:.62rem}
.header-model-control{
  width:100%;
  gap:6px;
}
.header-model-control label{
  color:#ffd7d7;
  font-size:.8rem;
}
.header-model-control select{
  width:100%;
  max-width:245px;
  height:46px;
  padding:7px 34px 7px 12px;
  border:2px solid #ffb0a8;
  border-radius:13px;
  background:linear-gradient(180deg,#e84235 0%,#b91f18 100%);
  color:#fff;
  font-size:1rem;
  font-weight:950;
  text-shadow:0 1px 1px rgba(0,0,0,.35);
  box-shadow:0 5px 0 #78110d,0 9px 18px rgba(0,0,0,.32),inset 0 1px 0 rgba(255,255,255,.35);
  cursor:pointer;
}
.header-model-control select:hover{filter:brightness(1.06)}
.header-model-control select:focus-visible{
  outline:3px solid rgba(255,202,197,.75);
  outline-offset:2px;
}
.header-model-control select option{
  background:#9f1b16;
  color:#fff;
  font-weight:800;
}
.refresh-button{
  min-width:102px;
  min-height:40px;
  padding:8px 10px;
  font-size:.79rem;
  border-radius:12px;
}
.refresh-button b{font-size:1.02rem}

@media(max-width:720px){
  .app-header{
    grid-template-columns:68px minmax(174px,1fr) 76px;
    gap:4px;
    padding-left:6px;
    padding-right:6px;
  }
  .brand{
    width:68px;
    max-width:68px;
    gap:3px;
    overflow:hidden;
  }
  .brand-mark{
    width:25px;
    height:25px;
    border-radius:7px;
    font-size:.82rem;
  }
  .brand strong{
    font-size:.63rem;
    line-height:1;
    letter-spacing:-.025em;
  }
  .brand small{display:none}
  .header-model-control{gap:0}
  .header-model-control label{display:none}
  .header-model-control select{
    width:100%;
    max-width:none;
    height:44px;
    padding:6px 26px 6px 9px;
    border-radius:12px;
    font-size:.88rem;
    letter-spacing:-.015em;
  }
  .refresh-button{
    width:76px !important;
    min-width:76px !important;
    height:40px !important;
    min-height:40px !important;
    padding:6px 5px !important;
    border-radius:11px !important;
    gap:3px;
    font-size:.62rem !important;
  }
  .refresh-button b{font-size:.9rem !important}
}

@media(max-width:390px){
  .app-header{
    grid-template-columns:62px minmax(170px,1fr) 70px;
    gap:3px;
    padding-left:5px;
    padding-right:5px;
  }
  .brand{
    width:62px;
    max-width:62px;
  }
  .brand-mark{width:23px;height:23px}
  .brand strong{font-size:.59rem}
  .header-model-control select{
    height:43px;
    font-size:.82rem;
    padding-left:7px;
    padding-right:23px;
  }
  .refresh-button{
    width:70px !important;
    min-width:70px !important;
    padding:5px 3px !important;
    font-size:.57rem !important;
  }
}

@media(max-width:350px){
  .app-header{
    grid-template-columns:50px minmax(174px,1fr) 62px;
    gap:2px;
    padding-left:4px;
    padding-right:4px;
  }
  .brand{
    width:50px;
    max-width:50px;
  }
  .brand-mark{display:none}
  .brand strong{font-size:.58rem;letter-spacing:-.04em}
  .header-model-control select{
    height:41px;
    font-size:.77rem;
    padding-left:6px;
  }
  .refresh-button{
    width:62px !important;
    min-width:62px !important;
    height:38px !important;
    min-height:38px !important;
    font-size:.53rem !important;
  }
  .refresh-button b{font-size:.78rem !important}
}

@media(max-width:720px) and (max-height:650px){
  .header-model-control select{height:38px;font-size:.78rem}
  .refresh-button{
    height:36px !important;
    min-height:36px !important;
  }
}


/* v40 — icône seule à gauche et sélecteur assorti au bleu des quatre derniers tirages */
.brand-icon-only{
  width:54px;
  max-width:54px;
  min-width:54px;
  justify-content:flex-start;
  overflow:visible;
}
.app-header-icon{
  display:block;
  width:42px;
  height:42px;
  object-fit:cover;
  border-radius:11px;
  border:1px solid rgba(255,255,255,.26);
  box-shadow:0 4px 11px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.2);
}
.header-model-control label{color:#cfe2ff}
.header-model-control select{
  border-color:rgba(153,199,255,.86);
  background:linear-gradient(145deg,#3479de 0%,#1c438b 100%);
  color:#fff;
  text-shadow:0 1px 1px rgba(0,0,0,.38);
  box-shadow:0 5px 0 #102b62,0 9px 18px rgba(0,0,0,.32),inset 0 1px 0 rgba(255,255,255,.32);
}
.header-model-control select:hover{filter:brightness(1.08)}
.header-model-control select:focus-visible{
  outline:3px solid rgba(125,191,255,.82);
  outline-offset:2px;
}
.header-model-control select option{
  background:#173a78;
  color:#fff;
}

@media(max-width:720px){
  .brand-icon-only{
    width:50px;
    max-width:50px;
    min-width:50px;
    justify-content:center;
  }
  .app-header-icon{
    width:38px;
    height:38px;
    border-radius:10px;
  }
}
@media(max-width:390px){
  .brand-icon-only{width:46px;max-width:46px;min-width:46px}
  .app-header-icon{width:36px;height:36px;border-radius:9px}
}
@media(max-width:350px){
  .brand-icon-only{width:42px;max-width:42px;min-width:42px}
  .app-header-icon{display:block;width:34px;height:34px;border-radius:8px}
}
@media(max-width:720px) and (max-height:650px){
  .app-header-icon{width:32px;height:32px;border-radius:8px}
}


/* v41 — sélecteur réduit à 80 % et flamme de période chaude renforcée */
.header-model-control{
  position:relative;
  justify-content:center;
}
.header-model-control select{
  width:80%;
  max-width:196px;
  height:37px;
  padding:5px 28px 5px 9px;
  border-radius:10px;
  font-size:.80rem;
  box-shadow:0 4px 0 #102b62,0 7px 14px rgba(0,0,0,.30),inset 0 1px 0 rgba(255,255,255,.32);
}
.hot-flame{
  display:none;
  flex:0 0 auto;
  width:34px;
  height:34px;
  place-items:center;
  font-size:1.75rem;
  line-height:1;
  filter:drop-shadow(0 0 4px rgba(255,190,40,.95)) drop-shadow(0 0 10px rgba(255,83,35,.82));
  transform-origin:50% 85%;
  position:relative;
  z-index:3;
}
.hot-flame.is-active{
  display:grid;
  animation:amigo-flame-jump .62s ease-in-out infinite alternate, amigo-flame-glow 1.15s ease-in-out infinite;
}
.hot-flame.is-active::before,
.hot-flame.is-active::after{
  content:"✦";
  position:absolute;
  color:#fff3a6;
  font-size:.72rem;
  text-shadow:0 0 5px #fff,0 0 10px #ffcb35;
  pointer-events:none;
}
.hot-flame.is-active::before{
  top:-5px;
  left:-4px;
  animation:amigo-flame-spark-a .8s ease-in-out infinite;
}
.hot-flame.is-active::after{
  right:-5px;
  top:4px;
  animation:amigo-flame-spark-b .8s ease-in-out .35s infinite;
}
.header-model-control select.hot-model-active{
  border-color:#ffd55c;
  box-shadow:0 4px 0 #102b62,0 0 0 2px rgba(255,210,65,.38),0 0 18px rgba(255,112,35,.55),inset 0 1px 0 rgba(255,255,255,.32);
}
@keyframes amigo-flame-jump{
  0%{transform:translateY(2px) scale(.98) rotate(-4deg)}
  100%{transform:translateY(-4px) scale(1.17) rotate(4deg)}
}
@keyframes amigo-flame-glow{
  0%,100%{filter:drop-shadow(0 0 3px rgba(255,220,90,.95)) drop-shadow(0 0 8px rgba(255,77,28,.75))}
  50%{filter:drop-shadow(0 0 7px #fff0a4) drop-shadow(0 0 15px #ff4b1f) brightness(1.25)}
}
@keyframes amigo-flame-spark-a{
  0%,100%{opacity:.15;transform:translate(2px,4px) scale(.45) rotate(0)}
  45%{opacity:1;transform:translate(-3px,-4px) scale(1.35) rotate(35deg)}
}
@keyframes amigo-flame-spark-b{
  0%,100%{opacity:.12;transform:translate(-2px,3px) scale(.35) rotate(0)}
  50%{opacity:1;transform:translate(4px,-5px) scale(1.2) rotate(-35deg)}
}

@media(max-width:720px){
  .header-model-control select{
    width:80%;
    max-width:none;
    height:35px;
    padding:5px 22px 5px 7px;
    border-radius:10px;
    font-size:.70rem;
  }
  .hot-flame{width:29px;height:29px;font-size:1.52rem}
}
@media(max-width:390px){
  .header-model-control select{height:34px;font-size:.67rem;padding-left:6px;padding-right:20px}
  .hot-flame{width:27px;height:27px;font-size:1.42rem}
}
@media(max-width:350px){
  .header-model-control select{height:33px;font-size:.63rem}
  .hot-flame{width:25px;height:25px;font-size:1.34rem}
}
@media(max-width:720px) and (max-height:650px){
  .header-model-control select{height:31px;font-size:.63rem}
  .hot-flame{width:24px;height:24px;font-size:1.28rem}
}
@media(prefers-reduced-motion:reduce){
  .hot-flame.is-active,
  .hot-flame.is-active::before,
  .hot-flame.is-active::after{animation:none}
}


/* v42 — logo +150 %, interface légèrement abaissée, sélecteur resserré et actualiser élargi */
.app-header{
  min-height:76px;
  padding-top:9px;
  padding-bottom:9px;
  grid-template-columns:minmax(76px,.72fr) minmax(190px,250px) minmax(118px,.72fr);
}
.brand-icon-only{
  width:76px;
  max-width:76px;
  min-width:76px;
}
.app-header-icon{
  width:63px;
  height:63px;
  border-radius:15px;
}
.header-model-control select{
  width:72%;
  max-width:176px;
}
.refresh-button{
  min-width:120px;
  min-height:43px;
  padding:8px 13px;
  font-size:.84rem;
  white-space:nowrap;
}
.page-shell{margin-top:20px}

@media(max-width:720px){
  .app-header{
    height:64px;
    min-height:64px;
    padding:4px 5px;
    grid-template-columns:60px minmax(0,1fr) 96px;
    gap:4px;
  }
  .brand-icon-only{
    width:60px;
    max-width:60px;
    min-width:60px;
  }
  .app-header-icon{
    width:57px;
    height:57px;
    border-radius:13px;
  }
  .header-model-control select{
    width:72%;
    max-width:none;
    height:35px;
    font-size:.70rem;
  }
  .refresh-button{
    width:96px!important;
    min-width:96px!important;
    height:42px!important;
    min-height:42px!important;
    padding:6px 7px!important;
    font-size:.68rem!important;
    white-space:nowrap;
  }
  .refresh-button span{display:inline;font-size:inherit}
  .refresh-button b{display:none}
  .page-shell.single-model-layout{
    min-height:calc(100dvh - 64px);
    padding-top:9px;
  }
}

@media(max-width:390px){
  .app-header{
    grid-template-columns:56px minmax(0,1fr) 91px;
    gap:3px;
  }
  .brand-icon-only{width:56px;max-width:56px;min-width:56px}
  .app-header-icon{width:54px;height:54px;border-radius:12px}
  .header-model-control select{width:70%;height:34px;font-size:.66rem}
  .refresh-button{
    width:91px!important;
    min-width:91px!important;
    font-size:.65rem!important;
    padding-left:5px!important;
    padding-right:5px!important;
  }
}

@media(max-width:350px){
  .app-header{grid-template-columns:53px minmax(0,1fr) 84px;gap:2px}
  .brand-icon-only{width:53px;max-width:53px;min-width:53px}
  .app-header-icon{width:51px;height:51px;border-radius:11px}
  .header-model-control select{width:68%;height:33px;font-size:.61rem;padding-left:5px;padding-right:18px}
  .refresh-button{
    width:84px!important;
    min-width:84px!important;
    font-size:.60rem!important;
  }
}

@media(max-width:720px) and (max-height:650px){
  .app-header{height:55px;min-height:55px;padding:3px 5px}
  .brand-icon-only{width:50px;max-width:50px;min-width:50px}
  .app-header-icon{width:48px;height:48px;border-radius:11px}
  .header-model-control select{height:31px;font-size:.62rem}
  .refresh-button{height:37px!important;min-height:37px!important}
  .page-shell.single-model-layout{min-height:calc(100dvh - 55px);padding-top:6px}
}

@supports (padding-top: env(safe-area-inset-top)) {
  @media(max-width:720px){
    .app-header{
      height:calc(64px + env(safe-area-inset-top));
      min-height:calc(64px + env(safe-area-inset-top));
      padding-top:calc(4px + env(safe-area-inset-top));
    }
    .page-shell.single-model-layout{min-height:calc(100dvh - 64px - env(safe-area-inset-top))}
  }
  @media(max-width:720px) and (max-height:650px){
    .app-header{
      height:calc(55px + env(safe-area-inset-top));
      min-height:calc(55px + env(safe-area-inset-top));
      padding-top:calc(3px + env(safe-area-inset-top));
    }
    .page-shell.single-model-layout{min-height:calc(100dvh - 55px - env(safe-area-inset-top))}
  }
}

/* v45 — texte du sélecteur agrandi et hauteur alignée sur Actualiser */
.app-header{--header-control-height:43px}
.header-model-control select{
  height:var(--header-control-height) !important;
  min-height:var(--header-control-height) !important;
  box-sizing:border-box;
  font-size:.96rem !important;
  line-height:1.1;
  padding-top:7px;
  padding-bottom:7px;
}
.refresh-button{
  height:var(--header-control-height) !important;
  min-height:var(--header-control-height) !important;
  box-sizing:border-box;
}

@media(max-width:720px){
  .app-header{--header-control-height:42px}
  .header-model-control select{
    font-size:.82rem !important;
    padding-top:6px;
    padding-bottom:6px;
  }
}
@media(max-width:390px){
  .header-model-control select{font-size:.79rem !important}
}
@media(max-width:350px){
  .header-model-control select{font-size:.73rem !important}
}
@media(max-width:720px) and (max-height:650px){
  .app-header{--header-control-height:37px}
  .header-model-control select{font-size:.72rem !important}
}

/* v46 — verrouillage du pronostic 30 secondes avant le tirage. */
.main-number-row.prediction-locked{
  display:flex!important;
  align-items:center;
  justify-content:center;
  width:100%!important;
  min-height:clamp(52px,8vw,70px);
  height:auto!important;
  margin:12px auto 16px;
}
.betting-lock-message{
  width:min(100%,640px);
  min-height:clamp(52px,8vw,70px);
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  padding:10px 18px;
  border:2px solid rgba(255,183,61,.92);
  border-radius:16px;
  background:linear-gradient(135deg,rgba(156,38,38,.96),rgba(102,20,20,.98));
  color:#fff7df;
  box-shadow:0 0 18px rgba(255,96,65,.42),inset 0 1px 0 rgba(255,255,255,.18);
  text-align:center;
  font-size:clamp(1rem,2.8vw,1.35rem);
  line-height:1.15;
  letter-spacing:.01em;
}
.betting-lock-message span{font-size:1.5em;line-height:1;animation:bettingLockPulse 1s ease-in-out infinite}
.betting-lock-message strong{font-weight:900}
@keyframes bettingLockPulse{0%,100%{transform:scale(1);opacity:.82}50%{transform:scale(1.16);opacity:1}}
@media(max-width:720px){
  .main-number-row.prediction-locked{
    min-height:var(--main-ball)!important;
    height:var(--main-ball)!important;
    margin:3px auto 4px!important;
  }
  .betting-lock-message{
    width:100%;
    min-height:var(--main-ball);
    height:var(--main-ball);
    padding:4px 8px;
    gap:7px;
    border-radius:12px;
    font-size:clamp(.78rem,3.6vw,1rem);
  }
  .betting-lock-message span{font-size:1.25em}
}

/* v48 — grille réellement jouée figée */
.previous-draw-item.played-grid-frozen {
  position: relative;
  border-color: rgba(56, 220, 136, .72);
  box-shadow: 0 0 0 1px rgba(56, 220, 136, .18), 0 8px 22px rgba(0,0,0,.2);
}
.played-model-badge {
  display: block;
  margin: 0 0 7px;
  color: #73edac;
  font-size: .72rem;
  font-weight: 900;
  line-height: 1.15;
  text-transform: uppercase;
  letter-spacing: .025em;
}


/* v49 — 8 tirages précédents avec défilement vertical conservé */
.previous-four-block{
  overflow:hidden!important;
}
.previous-draws-grid{
  max-height:430px!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  padding-right:4px!important;
  align-content:start!important;
  -webkit-overflow-scrolling:touch;
  scrollbar-gutter:stable;
}
@media(max-width:720px){
  .previous-draws-grid{
    max-height:390px!important;
  }
}
@media(max-width:390px){
  .previous-draws-grid{
    max-height:350px!important;
  }
}

/* v52 — les 8 tirages sont tous déployés ; seul le document défile */
.previous-four-block{
  overflow:visible!important;
  max-height:none!important;
}
.previous-draws-grid{
  max-height:none!important;
  height:auto!important;
  overflow:visible!important;
  padding-right:0!important;
  scrollbar-gutter:auto!important;
}

/* v56 — petite flamme précoce + grosse flamme de confirmation */
.hot-flame.is-early{
  display:grid;
  width:24px;
  height:24px;
  font-size:1.18rem;
  opacity:.88;
  filter:drop-shadow(0 0 3px rgba(255,190,40,.72)) drop-shadow(0 0 7px rgba(255,83,35,.46));
  animation:amigo-flame-early 1.15s ease-in-out infinite alternate;
}
.hot-flame.is-early::before,
.hot-flame.is-early::after{display:none}
.header-model-control select.hot-model-early{
  border-color:rgba(255,198,70,.82);
  box-shadow:0 4px 0 #102b62,0 0 0 1px rgba(255,210,65,.24),0 0 10px rgba(255,112,35,.28),inset 0 1px 0 rgba(255,255,255,.32);
}
@keyframes amigo-flame-early{
  0%{transform:translateY(1px) scale(.94);opacity:.72}
  100%{transform:translateY(-1px) scale(1.06);opacity:1}
}
@media(max-width:720px){
  .hot-flame.is-early{width:22px;height:22px;font-size:1.08rem}
}
@media (prefers-reduced-motion: reduce){
  .hot-flame.is-early{animation:none}
}


/* v58 — contour gagnant simple, même épaisseur, contraste renforcé */
.previous-draw-item .previous-ball.predicted,
.model-previous .previous-ball.predicted,
.model-previous .previous-ball[data-hit="true"]{
  position:relative;
  z-index:2;
  transform:none !important;
  filter:none !important;
  animation:none !important;
  outline:2px solid #ffffff !important;
  outline-offset:-4px !important;
  box-shadow:0 4px 10px rgba(0,0,0,.22) !important;
}
.previous-draw-item .previous-ball.yellow.predicted,
.model-previous .previous-ball.yellow.predicted,
.model-previous .previous-ball.yellow[data-hit="true"]{
  outline-color:#0b1020 !important;
}
.previous-draw-item .previous-ball.predicted::after,
.model-previous .previous-ball.predicted::after,
.model-previous .previous-ball[data-hit="true"]::after{
  content:none !important;
  display:none !important;
}


/* v59 — contour unique beaucoup plus lisible : anneau intérieur franc */
.previous-ball.predicted,
.model-previous .previous-ball[data-hit="true"]{
  position:relative;
  z-index:2;
  transform:none !important;
  filter:none !important;
  animation:none !important;
  outline:none !important;
  border-color:rgba(255,255,255,.27) !important;
  box-shadow:inset 0 0 0 2px #ffffff,0 4px 10px rgba(0,0,0,.22) !important;
}
.previous-ball.yellow.predicted,
.model-previous .previous-ball.yellow[data-hit="true"]{
  border-color:rgba(255,255,255,.27) !important;
  box-shadow:inset 0 0 0 2px #081225,0 4px 10px rgba(0,0,0,.22) !important;
}
.previous-ball.predicted::after,
.model-previous .previous-ball[data-hit="true"]::after{
  content:none !important;
  display:none !important;
}


/* v60 — contraste maximal demandé : blanc pur sur bleu, quasi noir sur jaune */
.previous-ball.predicted,
.model-previous .previous-ball[data-hit="true"]{
  position:relative;
  z-index:2;
  transform:none !important;
  filter:none !important;
  animation:none !important;
  outline:none !important;
  border-color:rgba(255,255,255,.27) !important;
  box-shadow:inset 0 0 0 3px #ffffff,0 4px 10px rgba(0,0,0,.22) !important;
}
.previous-ball.yellow.predicted,
.model-previous .previous-ball.yellow[data-hit="true"]{
  border-color:rgba(255,255,255,.27) !important;
  box-shadow:inset 0 0 0 3px #05070d,0 4px 10px rgba(0,0,0,.22) !important;
}
.previous-ball.predicted::after,
.model-previous .previous-ball[data-hit="true"]::after{
  content:none !important;
  display:none !important;
}


/* v61 — trait noir conservé avec blanc brillant à l'extérieur */
.previous-ball.predicted,
.model-previous .previous-ball[data-hit="true"]{
  position:relative;
  z-index:2;
  transform:none !important;
  filter:none !important;
  animation:none !important;
  outline:none !important;
  border-color:rgba(255,255,255,.27) !important;
  box-shadow:
    inset 0 0 0 3px #05070d,
    0 0 0 2px rgba(255,255,255,.98),
    0 0 8px rgba(255,255,255,.9),
    0 4px 10px rgba(0,0,0,.22) !important;
}
.previous-ball.predicted::after,
.model-previous .previous-ball[data-hit="true"]::after{
  content:none !important;
  display:none !important;
}


/* v62 — trait intérieur noir + cercle extérieur blanc pur, sans jaune */
.previous-ball.predicted,
.model-previous .previous-ball[data-hit="true"]{
  position:relative;
  z-index:2;
  transform:none !important;
  filter:none !important;
  animation:none !important;
  outline:none !important;
  outline-offset:0 !important;
  border-color:rgba(255,255,255,.27) !important;
  box-shadow:
    inset 0 0 0 3px #05070d,
    0 0 0 2px #ffffff,
    0 4px 10px rgba(0,0,0,.22) !important;
}
.previous-ball.yellow.predicted,
.model-previous .previous-ball.yellow[data-hit="true"]{
  outline:none !important;
  outline-offset:0 !important;
  border-color:rgba(255,255,255,.27) !important;
  box-shadow:
    inset 0 0 0 3px #05070d,
    0 0 0 2px #ffffff,
    0 4px 10px rgba(0,0,0,.22) !important;
}
.previous-ball.predicted::after,
.model-previous .previous-ball[data-hit="true"]::after{
  content:none !important;
  display:none !important;
}

/* v69 — signal de mise séparé des flammes */
.bet-signal{
  width:min(100%,760px);
  margin:2px auto 4px;
  padding:8px 12px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:12px;
  background:rgba(8,13,27,.62);
  text-align:center;
  line-height:1.15;
}
.bet-signal strong{
  flex:0 0 auto;
  font-size:.9rem;
  font-weight:950;
  letter-spacing:.015em;
}
.bet-signal span{
  color:#c3cce0;
  font-size:.7rem;
  font-weight:750;
}
.bet-signal.bet-play{
  border-color:rgba(56,220,136,.72);
  background:linear-gradient(145deg,rgba(24,111,72,.34),rgba(9,39,30,.66));
  box-shadow:0 0 0 1px rgba(56,220,136,.12),0 5px 15px rgba(0,0,0,.18);
}
.bet-signal.bet-play strong{color:#70f0ab}
.bet-signal.bet-wait{
  border-color:rgba(255,173,36,.42);
  background:linear-gradient(145deg,rgba(92,63,16,.25),rgba(28,24,17,.58));
}
.bet-signal.bet-wait strong{color:#ffd070}
.bet-signal.bet-stop{
  border-color:rgba(255,86,86,.68);
  background:linear-gradient(145deg,rgba(126,31,31,.34),rgba(48,14,18,.68));
  box-shadow:0 0 0 1px rgba(255,86,86,.12),0 5px 15px rgba(0,0,0,.18);
}
.bet-signal.bet-stop strong{color:#ff9a9a}
.bet-signal.bet-stop span{color:#ffd0d0}
.header-model-control select.bet-model-active{
  border-color:rgba(56,220,136,.95)!important;
  box-shadow:0 4px 0 #102b62,0 0 0 1px rgba(56,220,136,.3),0 0 10px rgba(56,220,136,.28),inset 0 1px 0 rgba(255,255,255,.32)!important;
}
@media(max-width:720px){
  .bet-signal{
    min-height:30px;
    margin:0 auto 2px;
    padding:4px 7px;
    gap:6px;
    border-radius:9px;
    flex-wrap:wrap;
  }
  .bet-signal strong{font-size:.72rem;line-height:1}
  .bet-signal span{width:100%;font-size:.54rem;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
}
@media(max-width:390px){
  .bet-signal{padding:3px 5px;min-height:28px}
  .bet-signal strong{font-size:.68rem}
  .bet-signal span{font-size:.5rem}
}


/* v70 — rééquilibrage iPhone après ajout du signal de mise */
@media (max-width:720px){
  /* Le libellé PRONOSTIC est redondant sur petit écran : l'espace revient au contenu utile. */
  .main-model-header{
    display:none!important;
    height:0!important;
    min-height:0!important;
    flex-basis:0!important;
    margin:0!important;
    padding:0!important;
  }

  .page-shell.single-model-layout{
    padding:4px!important;
    gap:4px!important;
  }
  .draw-title{
    min-height:48px!important;
    padding:4px 5px!important;
  }
  .draw-title h1{
    font-size:clamp(1.12rem,5.25vw,1.42rem)!important;
    line-height:1.06!important;
  }

  .main-prediction-card{
    padding:6px 5px 8px!important;
    gap:4px!important;
  }

  /* Signal lisible mais compact : deux lignes maximum. */
  .bet-signal{
    width:100%!important;
    min-height:39px!important;
    margin:0 auto 2px!important;
    padding:5px 7px!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    justify-items:center!important;
    align-content:center!important;
    gap:2px!important;
    border-radius:10px!important;
  }
  .bet-signal strong{
    font-size:.88rem!important;
    line-height:1.02!important;
  }
  .bet-signal span{
    width:100%!important;
    font-size:.60rem!important;
    line-height:1.08!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }

  /* Les 7 numéros restent la zone visuelle prioritaire. */
  .main-number-row{
    --main-ball:clamp(42px,11.35vw,46px)!important;
    margin:4px auto 5px!important;
    gap:clamp(3px,1vw,4px)!important;
  }
  .main-number-row .number-ball{
    font-size:clamp(1.12rem,5vw,1.30rem)!important;
  }

  /* Contrôles de courbe plus équilibrés en largeur et hauteur. */
  .chart-heading{
    min-height:34px!important;
    padding:1px 2px!important;
    margin:0 0 2px!important;
    gap:5px!important;
  }
  .chart-heading strong{font-size:.92rem!important}
  .chart-controls{gap:4px!important}
  .chart-controls label{font-size:.74rem!important}
  .chart-controls select{
    min-height:34px!important;
    height:34px!important;
    max-width:175px!important;
    padding:5px 8px!important;
    font-size:.78rem!important;
  }
  .main-chart{
    height:132px!important;
    min-height:132px!important;
  }

  /* Les 8 tirages utilisent toute la largeur sans gonfler les marges. */
  .previous-four-block{
    padding:7px 3px 8px!important;
    margin:1px 0 0!important;
  }
  .previous-four-title{
    margin:0 0 6px!important;
    font-size:1.08rem!important;
    line-height:1.05!important;
  }
  .previous-draws-grid{gap:5px!important}
  .previous-draw-item{
    padding:6px 2px!important;
    border-radius:11px!important;
  }
  .previous-draw-item-head{
    margin-bottom:5px!important;
    gap:3px!important;
  }
  .previous-draw-item-head strong{font-size:.90rem!important}
  .previous-draw-item-head span{font-size:.76rem!important}
  .previous-draw-item-head em{
    font-size:.72rem!important;
    min-width:36px!important;
    padding:2px 4px!important;
  }
  .played-model-badge{
    margin:0 0 4px!important;
    font-size:.58rem!important;
  }
  .previous-draw-item .previous-numbers{
    grid-template-columns:repeat(4,clamp(33px,9.15vw,37px))!important;
    grid-auto-rows:clamp(33px,9.15vw,37px)!important;
    gap:3px!important;
  }
  .previous-draw-item .previous-ball{
    width:clamp(33px,9.15vw,37px)!important;
    height:clamp(33px,9.15vw,37px)!important;
    min-width:clamp(33px,9.15vw,37px)!important;
    min-height:clamp(33px,9.15vw,37px)!important;
    font-size:clamp(.88rem,4vw,1rem)!important;
  }
}

@media (max-width:390px){
  .draw-title{min-height:45px!important}
  .draw-title h1{font-size:clamp(1.04rem,5.15vw,1.28rem)!important}
  .bet-signal{min-height:37px!important;padding:4px 5px!important}
  .bet-signal strong{font-size:.82rem!important}
  .bet-signal span{font-size:.56rem!important}
  .main-number-row{--main-ball:clamp(39px,10.8vw,42px)!important;gap:3px!important}
  .chart-controls label{display:none!important}
  .chart-controls select{max-width:165px!important;font-size:.74rem!important}
  .main-chart{height:122px!important;min-height:122px!important}
  .previous-four-title{font-size:1.02rem!important}
  .previous-draws-grid{gap:4px!important}
  .previous-draw-item .previous-numbers{
    grid-template-columns:repeat(4,clamp(31px,8.7vw,34px))!important;
    grid-auto-rows:clamp(31px,8.7vw,34px)!important;
    gap:2px!important;
  }
  .previous-draw-item .previous-ball{
    width:clamp(31px,8.7vw,34px)!important;
    height:clamp(31px,8.7vw,34px)!important;
    min-width:clamp(31px,8.7vw,34px)!important;
    min-height:clamp(31px,8.7vw,34px)!important;
    font-size:.86rem!important;
  }
}

@media (max-width:720px) and (max-height:700px){
  .draw-title{min-height:42px!important}
  .bet-signal{min-height:34px!important;padding-top:3px!important;padding-bottom:3px!important}
  .bet-signal strong{font-size:.78rem!important}
  .bet-signal span{font-size:.53rem!important}
  .main-chart{height:108px!important;min-height:108px!important}
  .previous-four-block{padding-top:5px!important}
}


/* v73 — grosse flamme supprimée de l'interface ; petite flamme affichée à 200 % */
.hot-flame.is-active{
  display:none !important;
}
.hot-flame.is-early{
  display:grid !important;
  width:48px !important;
  height:48px !important;
  font-size:2.36rem !important;
  opacity:1 !important;
}
@media(max-width:720px){
  .hot-flame.is-early{
    width:44px !important;
    height:44px !important;
    font-size:2.16rem !important;
  }
}
@media(max-width:390px){
  .hot-flame.is-early{
    width:44px !important;
    height:44px !important;
    font-size:2.16rem !important;
  }
}
@media(max-width:350px), (max-width:720px) and (max-height:650px){
  .hot-flame.is-early{
    width:42px !important;
    height:42px !important;
    font-size:2.08rem !important;
  }
}


/* v76 — retour de la grosse flamme scintillante comme flamme unique */
.hot-flame.is-active{
  display:grid !important;
  width:48px !important;
  height:48px !important;
  font-size:2.36rem !important;
  opacity:1 !important;
  animation:amigo-flame-jump .62s ease-in-out infinite alternate, amigo-flame-glow 1.15s ease-in-out infinite !important;
}
.hot-flame.is-active::before,
.hot-flame.is-active::after{
  display:block !important;
}
.hot-flame.is-early{
  display:none !important;
}
@media(max-width:720px){
  .hot-flame.is-active{
    width:44px !important;
    height:44px !important;
    font-size:2.16rem !important;
  }
}
@media(max-width:390px){
  .hot-flame.is-active{
    width:44px !important;
    height:44px !important;
    font-size:2.16rem !important;
  }
}
@media(max-width:350px), (max-width:720px) and (max-height:650px){
  .hot-flame.is-active{
    width:42px !important;
    height:42px !important;
    font-size:2.08rem !important;
  }
}
@media(prefers-reduced-motion:reduce){
  .hot-flame.is-active,
  .hot-flame.is-active::before,
  .hot-flame.is-active::after{animation:none !important}
}

.notify-button{min-width:42px;padding-left:10px!important;padding-right:10px!important}.notify-button.notifications-on{box-shadow:0 0 0 2px rgba(73,210,130,.55) inset}

.notification-panel{
  margin:18px auto 22px;
  padding:14px;
  max-width:760px;
  border:1px solid rgba(255,255,255,.15);
  border-radius:16px;
  background:rgba(255,255,255,.05);
}
.notification-panel-title{
  font-weight:800;
  font-size:1.05rem;
  margin-bottom:10px;
}
.notification-status-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:10px;
}
.notification-status.on{color:#4edb8b}
.notification-status.off{color:#ffb45c}
.notification-actions{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
}
.notification-action{
  min-height:44px;
  border:0;
  border-radius:12px;
  padding:10px 12px;
  font-weight:750;
  cursor:pointer;
}
.notification-help{
  margin:9px 0 0;
  opacity:.72;
  font-size:.86rem;
  line-height:1.3;
}
@media (max-width:640px){
  .notification-panel{margin:14px 10px 18px;padding:12px}
  .notification-actions{grid-template-columns:1fr}
  .notification-action{font-size:1rem}
}

.score-frequency-30{
  margin:10px 0 14px;
  padding:10px 12px;
  border-radius:14px;
  background:rgba(255,255,255,.055);
  border:1px solid rgba(255,255,255,.11);
}
.score-frequency-title{
  font-weight:800;
  font-size:.95rem;
  margin-bottom:8px;
}
.score-frequency-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
}
.score-frequency-item{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  min-height:58px;
  padding:7px 5px;
  border-radius:11px;
  background:rgba(255,255,255,.045);
  text-align:center;
}
.score-frequency-item strong{font-size:1.05rem}
.score-frequency-item span{font-size:.82rem;line-height:1.2;margin-top:3px}
@media(max-width:520px){
  .score-frequency-30{padding:9px 8px}
  .score-frequency-grid{gap:5px}
  .score-frequency-item{padding:6px 3px;min-height:54px}
  .score-frequency-item span{font-size:.74rem}
}

.app-path-heading{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:12px;
  margin:14px 0 7px;
}
.app-path-heading strong{
  font-size:1rem;
  font-weight:850;
}
.app-path-heading span{
  font-size:.76rem;
  opacity:.72;
  text-align:right;
}
.app-path-chart{
  margin-bottom:8px;
}
@media(max-width:560px){
  .app-path-heading{
    align-items:flex-start;
    flex-direction:column;
    gap:2px;
    margin-top:12px;
  }
  .app-path-heading span{
    text-align:left;
    font-size:.72rem;
  }
}

.trend-chart-card{
  margin:12px 0;
  padding:12px;
  border:1px solid rgba(255,255,255,.13);
  border-radius:16px;
  background:rgba(255,255,255,.035);
}
.trend-chart-card-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:8px;
}
.trend-chart-card-head>div:first-child{
  display:flex;
  flex-direction:column;
  min-width:0;
}
.trend-chart-card-head strong{
  font-size:1rem;
  font-weight:850;
}
.trend-chart-card-head>div:first-child span{
  margin-top:2px;
  font-size:.76rem;
  opacity:.72;
}
.inline-frequency-box{
  display:grid;
  grid-template-columns:repeat(3,minmax(96px,1fr));
  gap:6px;
  flex:0 1 430px;
}
.inline-frequency-box>div{
  min-height:48px;
  padding:5px 7px;
  border-radius:10px;
  background:rgba(255,255,255,.055);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
}
.inline-frequency-box b{
  font-size:.92rem;
  line-height:1;
}
.inline-frequency-box span{
  margin-top:4px;
  font-size:.72rem;
  line-height:1.1;
  white-space:nowrap;
}
.trend-chart-card .chart-wrap{
  margin-top:4px;
}
@media(max-width:720px){
  .trend-chart-card{padding:9px}
  .trend-chart-card-head{
    flex-direction:column;
    align-items:stretch;
    gap:7px;
  }
  .inline-frequency-box{
    flex:none;
    width:100%;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:5px;
  }
  .inline-frequency-box>div{
    min-height:44px;
    padding:5px 3px;
  }
  .inline-frequency-box span{
    font-size:.67rem;
    white-space:normal;
  }
}


/* v136 — défilement horizontal réel de la vue « 30 derniers tirages ».
   Le canevas est plus large que son cadre afin de garder ~30 points visibles,
   avec glisser tactile/souris et synchronisation des deux graphiques. */
.chart-wrap.scrollable-30{
  overflow-x:auto !important;
  overflow-y:hidden !important;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior-x:contain;
  scrollbar-width:thin;
  scrollbar-gutter:stable;
  touch-action:pan-x;
  cursor:grab;
  user-select:none;
}
.chart-wrap.scrollable-30.is-dragging{
  cursor:grabbing;
  scroll-behavior:auto;
}
.chart-wrap.scrollable-30 canvas{
  display:block;
  height:100% !important;
  max-width:none !important;
  min-width:100% !important;
  flex:none !important;
  pointer-events:none;
}
.chart-wrap.scrollable-30::-webkit-scrollbar{height:7px}
.chart-wrap.scrollable-30::-webkit-scrollbar-thumb{background:rgba(255,255,255,.25);border-radius:999px}
.chart-wrap.scrollable-30::-webkit-scrollbar-track{background:rgba(255,255,255,.05)}


/* v137 — axe Y fixe et scroll exact par fenêtres de 30 tirages. */
.chart-wrap.scrollable-30{position:relative!important;}
.chart-wrap.scrollable-30 .fixed-y-axis{
  position:sticky;left:0;top:0;z-index:8;float:left;
  width:48px;height:100%;margin-right:-48px;pointer-events:none;
  background:linear-gradient(90deg,#10172a 0%,#10172a 78%,rgba(16,23,42,.94) 88%,rgba(16,23,42,0) 100%);
}
.chart-wrap.scrollable-30 .fixed-y-label{
  position:absolute;left:2px;width:34px;transform:translateY(-50%);
  color:#b6bfd6;font:800 14px system-ui;text-align:right;line-height:1;
  text-shadow:0 1px 2px rgba(0,0,0,.8);
}
.chart-wrap.scrollable-30 .fixed-y-4{color:#73edac;}
@media(max-width:540px){
 .chart-wrap.scrollable-30 .fixed-y-axis{width:38px;margin-right:-38px;}
 .chart-wrap.scrollable-30 .fixed-y-label{width:28px;font-size:12px;}
}


/* v138 — un seul graphique, hauteur lisible sur iPhone. */
.model-trend-card{display:none!important;}
.app-trend-card .chart-wrap.main-chart{height:240px!important;min-height:240px!important;}
@media(max-width:720px){
  .app-trend-card .chart-wrap.main-chart{height:220px!important;min-height:220px!important;}
}
@media(max-width:430px){
  .app-trend-card .chart-wrap.main-chart{height:210px!important;min-height:210px!important;}
}


/* v146 — axe Y réellement fixe + scroll 30 tirages robuste iPhone/souris. */
.chart-wrap.scrollable-30{
  position:relative!important;
  display:block!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior-x:contain;
  touch-action:pan-x;
  cursor:grab;
}
.chart-wrap.scrollable-30.is-dragging{cursor:grabbing!important;}
.chart-wrap.scrollable-30 .fixed-y-axis{
  position:sticky!important;
  left:0!important;
  top:0!important;
  z-index:40!important;
  float:left!important;
  width:50px!important;
  height:100%!important;
  margin-right:-50px!important;
  pointer-events:none!important;
  transform:none!important;
  background:linear-gradient(90deg,#10172a 0%,#10172a 78%,rgba(16,23,42,.96) 89%,rgba(16,23,42,0) 100%)!important;
}
.chart-wrap.scrollable-30 .fixed-y-label{
  position:absolute!important;
  left:2px!important;
  width:36px!important;
  transform:translateY(-50%)!important;
  color:#b6bfd6!important;
  font:800 14px system-ui!important;
  text-align:right!important;
  line-height:1!important;
  text-shadow:0 1px 2px rgba(0,0,0,.85)!important;
}
.chart-wrap.scrollable-30 .fixed-y-4{color:#73edac!important;}
.chart-wrap.scrollable-30 canvas{
  display:block!important;
  max-width:none!important;
  min-width:100%!important;
  pointer-events:none!important;
}
@media(max-width:540px){
  .chart-wrap.scrollable-30 .fixed-y-axis{width:40px!important;margin-right:-40px!important;}
  .chart-wrap.scrollable-30 .fixed-y-label{width:30px!important;font-size:12px!important;}
}

/* v180 — opportunité intermédiaire visuellement distincte d’un signal fort */
.bet-signal.bet-continuity{
  border-color:rgba(76,156,255,.78);
  background:linear-gradient(135deg,rgba(24,70,128,.68),rgba(28,44,83,.82));
  box-shadow:0 0 0 1px rgba(76,156,255,.18),0 8px 22px rgba(0,0,0,.24);
}
.bet-signal.bet-continuity strong{color:#b9dcff}

/* v180 — bandeau de décision prioritaire, toujours apparent */
.bet-signal{position:relative;z-index:5!important;min-height:54px!important;border-width:2px!important}
.bet-signal strong{font-size:1.02rem!important}
.bet-signal.bet-play{box-shadow:0 0 0 2px rgba(56,220,136,.16),0 8px 24px rgba(0,0,0,.28)!important}
.bet-signal.bet-continuity{border-color:rgba(73,188,255,.95)!important;background:linear-gradient(135deg,rgba(17,81,149,.88),rgba(18,44,89,.96))!important}
.bet-signal.bet-continuity strong{color:#e5f5ff!important}
@media(max-width:720px){.bet-signal{min-height:52px!important;padding:6px 8px!important}.bet-signal strong{font-size:.92rem!important;line-height:1.08!important}.bet-signal span{font-size:.62rem!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important}}

/* v183 — compte de jeu 100 % virtuel */
.virtual-wallet{margin:10px 0 14px;padding:12px;border:1px solid rgba(117,190,255,.38);border-radius:16px;background:rgba(9,28,57,.82)}
.virtual-wallet-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:10px}
.virtual-wallet-head>div{display:flex;flex-direction:column;gap:2px}.virtual-wallet-head strong{font-size:1rem}.virtual-wallet-head span{font-size:.72rem;color:#aebbd0}
.virtual-wallet-badge{flex:0 0 auto!important;padding:3px 7px;border-radius:999px;border:1px solid rgba(117,190,255,.55);color:#d9efff!important;font-weight:900;letter-spacing:.05em}
.virtual-wallet-metrics{display:grid;grid-template-columns:1fr 1fr 1.25fr;gap:7px;margin-bottom:9px}
.virtual-wallet-metric{min-width:0;padding:8px 7px;border-radius:11px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;gap:2px}
.virtual-wallet-metric span{font-size:.64rem;color:#9eabc0}.virtual-wallet-metric strong{font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.virtual-wallet-metric strong.positive{color:#75e6a5}.virtual-wallet-metric strong.negative{color:#ff8e8e}
.virtual-play-button{width:100%;min-height:48px;border:0;border-radius:13px;font-weight:950;font-size:1rem;letter-spacing:.01em;background:#19b86c;color:#04170d;box-shadow:0 7px 20px rgba(0,0,0,.25)}
.virtual-play-button:not(:disabled):active{transform:translateY(1px)}.virtual-play-button:disabled{opacity:.48;filter:saturate(.5);box-shadow:none}
.virtual-play-button.already-played{background:#52627a;color:#eef4ff}
.virtual-wallet-status{min-height:18px;margin-top:7px;font-size:.72rem;color:#c7d2e5;text-align:center}.virtual-wallet-status.win{color:#78e9a8}.virtual-wallet-status.loss{color:#ffaaaa}.virtual-wallet-status.error{color:#ff9c9c}
.virtual-wallet-details{margin-top:8px;border-top:1px solid rgba(255,255,255,.09);padding-top:7px}.virtual-wallet-details summary{cursor:pointer;font-size:.75rem;font-weight:800;color:#bdd0ea}
.virtual-wallet-reset{display:grid;grid-template-columns:1fr 90px 110px;gap:6px;align-items:end;margin:9px 0}.virtual-wallet-reset label{font-size:.68rem;color:#aebbd0}.virtual-wallet-reset select,.virtual-wallet-reset button{min-height:34px;border-radius:9px;border:1px solid rgba(255,255,255,.15);background:#111e35;color:#eef5ff;padding:5px 7px}.virtual-wallet-reset button{font-weight:800}
.virtual-wallet-history{display:flex;flex-direction:column;gap:6px}.virtual-wallet-empty{font-size:.72rem;color:#96a4b8;padding:6px 0}
.virtual-wallet-history-row{display:grid;grid-template-columns:minmax(0,1.45fr) auto;gap:8px;align-items:center;padding:8px;border-radius:10px;background:rgba(255,255,255,.04)}
.virtual-wallet-history-main{min-width:0;display:flex;flex-direction:column;gap:2px}.virtual-wallet-history-main strong{font-size:.76rem}.virtual-wallet-history-main span{font-size:.65rem;color:#9eabc0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.virtual-wallet-history-result{text-align:right;display:flex;flex-direction:column;gap:1px}.virtual-wallet-history-result strong{font-size:.78rem}.virtual-wallet-history-result span{font-size:.63rem;color:#9eabc0}.virtual-wallet-history-result .positive{color:#75e6a5}.virtual-wallet-history-result .negative{color:#ff9d9d}.virtual-wallet-history-result .pending{color:#ffd27d}
@media(max-width:540px){.virtual-wallet{padding:9px}.virtual-wallet-metrics{grid-template-columns:1fr 1fr}.virtual-wallet-metric:nth-child(3){grid-column:1/-1}.virtual-wallet-reset{grid-template-columns:1fr 82px}.virtual-wallet-reset button{grid-column:1/-1}.virtual-play-button{min-height:46px;font-size:.94rem}}
.virtual-play-button.manual-bet{background:#315c8d;color:#eef7ff}


/* v187 — conseil JOUER plus grand, lisible et strictement contenu dans la feuille */
.bet-signal{
  box-sizing:border-box!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  min-height:72px!important;
  padding:10px 14px!important;
  margin:4px 0 8px!important;
  overflow:hidden!important;
}
.bet-signal strong{
  max-width:100%!important;
  font-size:1.20rem!important;
  line-height:1.12!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
}
.bet-signal span{
  max-width:100%!important;
  font-size:.76rem!important;
  line-height:1.18!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  text-overflow:clip!important;
}
.virtual-play-button{
  box-sizing:border-box!important;
  max-width:100%!important;
  min-width:0!important;
  min-height:58px!important;
  padding:10px 12px!important;
  font-size:1.08rem!important;
  line-height:1.12!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
}
@media(max-width:720px){
  .bet-signal{
    min-height:68px!important;
    padding:9px 10px!important;
    margin:3px 0 7px!important;
  }
  .bet-signal strong{font-size:1.02rem!important;line-height:1.12!important}
  .bet-signal span{font-size:.68rem!important;line-height:1.16!important}
  .virtual-play-button{
    min-height:56px!important;
    padding:9px 10px!important;
    font-size:1rem!important;
  }
}
@media(max-width:390px){
  .bet-signal{
    min-height:64px!important;
    padding:8px 8px!important;
  }
  .bet-signal strong{font-size:.96rem!important}
  .bet-signal span{font-size:.64rem!important}
  .virtual-play-button{font-size:.96rem!important}
}

/* v188 — ancien indicateur période chaude supprimé */
.hot-flame,.hot-period-badge,.period-hot-label{display:none!important}


/* v194 — bilan automatique quotidien des recommandations */
.recommendation-daily-band{margin:-4px 0 14px;padding:10px 11px;border:1px solid rgba(69,198,122,.46);border-radius:14px;background:linear-gradient(135deg,rgba(9,42,53,.92),rgba(10,28,54,.94));box-shadow:0 7px 20px rgba(0,0,0,.18)}
.recommendation-daily-head{display:flex;align-items:flex-start;justify-content:space-between;gap:9px;margin-bottom:8px}.recommendation-daily-head>div{min-width:0;display:flex;flex-direction:column;gap:2px}.recommendation-daily-head strong{font-size:.79rem;line-height:1.15;letter-spacing:.015em}.recommendation-daily-head span{font-size:.63rem;color:#aebed0}.recommendation-daily-live{flex:0 0 auto!important;padding:3px 6px;border-radius:999px;border:1px solid rgba(91,224,151,.52);color:#9cf2c1!important;font-size:.57rem!important;font-weight:950;letter-spacing:.04em}
.recommendation-daily-metrics{display:grid;grid-template-columns:1.15fr repeat(3,1fr);gap:6px}.recommendation-daily-metrics>div{min-width:0;padding:7px 6px;border-radius:10px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.075);display:flex;flex-direction:column;gap:2px;text-align:center}.recommendation-daily-metrics span{font-size:.59rem;color:#9eabc0}.recommendation-daily-metrics strong{font-size:.88rem;white-space:nowrap}.recommendation-daily-metrics strong.positive{color:#75e6a5}.recommendation-daily-metrics strong.negative{color:#ff8e8e}.recommendation-daily-status{min-height:16px;margin-top:6px;font-size:.65rem;line-height:1.2;color:#bfd0df;text-align:center}.recommendation-daily-status.error{color:#ff9c9c}
.recommendation-daily-band.positive{border-color:rgba(82,225,147,.72)}.recommendation-daily-band.negative{border-color:rgba(255,127,127,.48)}
@media(max-width:540px){.recommendation-daily-band{padding:9px 8px}.recommendation-daily-head strong{font-size:.72rem}.recommendation-daily-live{font-size:.52rem!important}.recommendation-daily-metrics{grid-template-columns:1fr 1fr}.recommendation-daily-metrics>div{padding:6px 5px}.recommendation-daily-metrics strong{font-size:.84rem}.recommendation-daily-status{font-size:.61rem}}


/* v195 — historique journalier persistant du bilan automatique */
.recommendation-history-details{margin-top:7px;border-top:1px solid rgba(255,255,255,.09);padding-top:6px}
.recommendation-history-details>summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:8px;padding:3px 1px;color:#e8f3ff;font-size:.69rem;font-weight:850}
.recommendation-history-details>summary::-webkit-details-marker{display:none}
.recommendation-history-details>summary:before{content:"▸";font-size:.68rem;color:#92a9bf;transition:transform .15s ease}
.recommendation-history-details[open]>summary:before{transform:rotate(90deg)}
.recommendation-history-details>summary span{margin-right:auto}.recommendation-history-details>summary small{font-size:.59rem;color:#9fb1c4;font-weight:650;text-align:right}
.recommendation-history-totals{margin:5px 0 7px;padding:6px 7px;border-radius:9px;background:rgba(255,255,255,.045);font-size:.62rem;line-height:1.25;color:#c2d2df;text-align:center}
.recommendation-history-totals.positive{color:#8ceab3}.recommendation-history-totals.negative{color:#ffabab}
.recommendation-history-list{display:flex;flex-direction:column;gap:5px;max-height:310px;overflow-y:auto;padding-right:2px}
.recommendation-history-row{display:grid;grid-template-columns:minmax(145px,1.45fr) repeat(3,minmax(72px,.72fr));gap:5px;align-items:stretch;padding:6px;border-radius:10px;background:rgba(255,255,255,.04);border-left:3px solid rgba(163,178,196,.42)}
.recommendation-history-row.positive{border-left-color:#5cdda0}.recommendation-history-row.negative{border-left-color:#ff8585}
.recommendation-history-date{min-width:0;display:flex;flex-direction:column;justify-content:center;gap:1px;padding:1px 3px}.recommendation-history-date strong{font-size:.69rem;line-height:1.15}.recommendation-history-date span{font-size:.57rem;color:#9eafc0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.recommendation-history-metric{min-width:0;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:1px;padding:4px 3px;border-radius:8px;background:rgba(255,255,255,.035);text-align:center}.recommendation-history-metric span{font-size:.53rem;color:#93a6b9;white-space:nowrap}.recommendation-history-metric strong{font-size:.67rem;white-space:nowrap}.recommendation-history-metric strong.positive{color:#75e6a5}.recommendation-history-metric strong.negative{color:#ff9393}
.recommendation-history-empty{padding:9px 4px;text-align:center;font-size:.63rem;color:#9eafc0}
@media(max-width:540px){.recommendation-history-details>summary{font-size:.66rem}.recommendation-history-details>summary small{font-size:.55rem}.recommendation-history-row{grid-template-columns:repeat(3,1fr);gap:4px}.recommendation-history-date{grid-column:1/-1;flex-direction:row;justify-content:space-between;align-items:center;padding:1px 2px 3px}.recommendation-history-date strong{font-size:.66rem}.recommendation-history-date span{font-size:.55rem}.recommendation-history-metric{padding:4px 2px}.recommendation-history-metric strong{font-size:.65rem}.recommendation-history-metric span{font-size:.51rem}.recommendation-history-totals{font-size:.58rem}}
