/* Simulateur de probabilités : même vert que le reste du site */
#features.pb-section { padding-top: 1em; }
.pb-outil { max-width: 74em; margin: 0 auto; text-align: left; }
.pb-outil *:focus-visible { outline: 3px solid #f2b01e; outline-offset: 2px; }
.pb-onglets { display: flex; flex-wrap: wrap; gap: .5em; justify-content: center; margin-bottom: .9em; }
.pb-onglet { padding: .55em 1.2em; border: 2px solid #e5e5e5; border-radius: 2em; background: #fff; color: #777; cursor: pointer; font-weight: 600; -webkit-user-select: none; user-select: none; }
.pb-onglet:hover { border-color: #5cc79a; }
.pb-onglet.actif { background: #16855a; border-color: #16855a; color: #fff; }
.pb-onglet .icon { margin-right: .3em; }
.pb-reglages { text-align: center; margin-bottom: 1em; color: #555; }
.pb-reglages p { margin: .3em 0; }
.pb-champ { display: inline-flex; align-items: center; gap: .5em; margin: .2em .4em; font-weight: 600; color: #555; }
.pb-champ select, .pb-champ input { font: inherit; padding: .3em .5em; border: 2px solid #e5e5e5; border-radius: .5em; background: #fff; color: #333; height: auto; width: auto; }
.pb-champ input { width: 4.2em; }
.pb-urne-reg { display: flex; flex-wrap: wrap; justify-content: center; gap: .3em 1em; }
.pb-pastille { display: inline-block; width: .95em; height: .95em; border-radius: 50%; background: var(--c); vertical-align: -.1em; margin-right: .25em; }
.pb-grille { display: grid; grid-template-columns: minmax(18em, 1fr) minmax(0, 1.35fr); gap: 1.2em; align-items: start; }
@media screen and (max-width: 900px) { .pb-grille { grid-template-columns: minmax(0, 1fr); } }
.pb-boite { background: #fff; border: 2px solid #e5e5e5; border-radius: 1.2em; padding: .9em 1.1em 1.1em; }
.pb-boite h3 { margin: 0 0 .6em; font-size: .95em; color: #16855a; text-align: center; letter-spacing: .05em; }
.pb-evolution { margin-top: 1.2em; }

/* La scène */
.pb-scene { min-height: 12em; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .6em; }
.pb-resultat { font-size: 1.05em; color: #555; }
.pb-resultat b { color: #16855a; font-size: 1.15em; }
.pb-piece { width: 8em; height: 8em; perspective: 600px; }
.pb-piece-in { width: 100%; height: 100%; border-radius: 50%; display: flex; align-items: center; justify-content: center; font: 700 1.5em/1 'Fredoka', 'Nunito', sans-serif; letter-spacing: .08em; color: #fff; background: radial-gradient(circle at 35% 30%, #f6d36b, #c99a1e); border: .25em solid #b08415; box-shadow: inset 0 0 0 .3em rgba(255,255,255,.35), 0 6px 14px rgba(0,0,0,.15); text-shadow: 0 1px 2px rgba(0,0,0,.35); }
.pb-piece-in.face { background: radial-gradient(circle at 35% 30%, #e8e8e8, #9aa3a8); border-color: #7d868b; }
.pb-piece.tourne .pb-piece-in { animation: pb-flip var(--pb-d, 650ms) ease-out; }
@keyframes pb-flip { 0% { transform: rotateY(0) translateY(0); } 50% { transform: rotateY(900deg) translateY(-1.5em); } 100% { transform: rotateY(1800deg) translateY(0); } }
.pb-de { width: 7em; height: 7em; display: block; }
.pb-roule { animation: pb-roule var(--pb-d, 650ms) ease-out; }
.pb-roule.b { animation-direction: reverse; }
@keyframes pb-roule { 0% { transform: rotate(-200deg) scale(.6); opacity: .3; } 70% { transform: rotate(15deg) scale(1.08); opacity: 1; } 100% { transform: none; } }
.pb-deux { display: flex; align-items: center; gap: .5em; }
.pb-deux .pb-de { width: 5em; height: 5em; }
.pb-plus { font: 700 1.6em/1 'Fredoka', 'Nunito', sans-serif; color: #888; }
.pb-somme { font: 700 2.6em/1 'Fredoka', 'Nunito', sans-serif; color: #16855a; min-width: 1.3em; text-align: center; }
.pb-urne { position: relative; display: flex; align-items: center; gap: 1em; }
.pb-urne svg { width: 9em; height: auto; }
.pb-tiree { width: 3.2em; height: 3.2em; border-radius: 50%; background: radial-gradient(circle at 35% 30%, rgba(255,255,255,.7), var(--c) 55%); box-shadow: 0 4px 10px rgba(0,0,0,.2); }
.pb-tiree.sort { animation: pb-sort var(--pb-d, 650ms) ease-out; }
@keyframes pb-sort { 0% { transform: translate(-5em, 1.5em) scale(.3); opacity: 0; } 60% { transform: translate(0, -1em) scale(1.1); opacity: 1; } 100% { transform: none; } }
.pb-err { color: #c0392b; font-weight: 700; }
.pb-compteur { text-align: center; color: #888; margin: .4em 0; }
.pb-compteur b { font: 700 1.6em/1 'Fredoka', 'Nunito', sans-serif; color: #16855a; }
.pb-lancers { display: flex; flex-wrap: wrap; gap: .45em; justify-content: center; }
.pb-bt { padding: .45em .9em; border: 2px solid #e5e5e5; border-radius: .8em; background: #fff; color: #444; cursor: pointer; font-weight: 700; -webkit-user-select: none; user-select: none; }
.pb-bt:hover { border-color: #5cc79a; }
.pb-bt .icon { margin-right: .25em; color: #16855a; }
.pb-bt-p { background: #16855a; border-color: #16855a; color: #fff; } .pb-bt-p .icon { color: #fff; }
.pb-bt.actif { border-color: #16855a; background: #eaf7f1; }
.pb-bt-gris { color: #888; font-weight: 600; }
.pb-options { display: flex; flex-wrap: wrap; gap: .5em 1.2em; justify-content: center; align-items: center; margin-top: .9em; font-size: .9em; color: #666; }
.pb-vit { display: inline-flex; align-items: center; gap: .35em; margin: 0; }
.pb-vit .icon { color: #5cc79a; }
.pb-vit select { font: inherit; padding: .25em .4em; border: 2px solid #e5e5e5; border-radius: .5em; background: #fff; color: #444; height: auto; width: auto; }
.pb-case { display: inline-flex; align-items: center; gap: .4em; margin: 0; cursor: pointer; }
.pb-case input { position: static !important; opacity: 1 !important; width: 1.1em; height: 1.1em; margin: 0; accent-color: #16855a; -webkit-appearance: checkbox; appearance: auto; }

/* Graphiques et tableau */
.pb-svg { display: block; width: 100%; height: auto; font-family: 'Nunito', sans-serif; }
.pb-barre { transition: y .3s, height .3s; }
.pb-legende { margin: .2em 0 .6em; text-align: center; font-size: .8em; color: #777; }
.pb-tiret { display: inline-block; width: 1.8em; border-top: 2.5px dashed #333; vertical-align: middle; margin-right: .3em; }
.pb-defile { overflow-x: auto; }
.pb-table { width: auto; margin: 0 auto; border-collapse: collapse; font-size: .92em; }
.pb-table th, .pb-table td { border: 1px solid #e6e6e6; padding: .35em .6em; text-align: center; white-space: nowrap; background: none; }
.pb-table thead, .pb-table thead th { background: #f3f8f5 !important; color: #16855a; }
.pb-table tbody tr { background: none; }
.pb-table tbody th { color: #666; text-align: left; }
.pb-ligne-p td { color: #333; }
.pb-ligne-p small { color: #999; }
.pb-f { display: inline-flex; flex-direction: column; align-items: center; vertical-align: middle; line-height: 1.1; font-weight: 700; }
.pb-f > span:first-child { border-bottom: 1.5px solid currentColor; padding: 0 .2em; }
.pb-suivi { text-align: center; margin-bottom: .4em; color: #666; font-size: .92em; }
.pb-suivi select { font: inherit; padding: .2em .4em; border: 2px solid #e5e5e5; border-radius: .5em; background: #fff; color: #333; height: auto; width: auto; }
.pb-aide { margin: .4em 0 0; text-align: center; font-size: .9em; color: #666; line-height: 1.6; }
.pb-rgpd { margin: 1.2em 0 0; text-align: center; font-size: .8em; color: #999; }
@media (prefers-reduced-motion: reduce) { .pb-piece.tourne .pb-piece-in, .pb-roule, .pb-tiree.sort { animation: none !important; } }
