/* =========================================================================
   Permis B — style inspiré de l'expérience Feu Vert, pensé pour Android
   ========================================================================= */
:root{
  --vert:#1a8140;
  --vert-clair:#26a65b;
  --vert-fonce:#136030;
  --rouge:#e2001a;
  --rouge-clair:#ff4d5e;
  --fond:#f4f5f7;
  --carte:#ffffff;
  --texte:#1c1f26;
  --texte-doux:#666e7a;
  --bord:#e3e6ea;
  --ombre:0 2px 10px rgba(20,30,40,.08);
  --bb:64px; /* hauteur barre du bas */
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;}
html,body{margin:0;padding:0;}
body{
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  background:var(--fond);color:var(--texte);
  font-size:17px;line-height:1.45;
  -webkit-text-size-adjust:100%;
}
#app{max-width:520px;margin:0 auto;min-height:100vh;background:var(--fond);position:relative;}
.hidden{display:none !important;}
h3{font-size:18px;margin:0 0 12px;}

/* ---------- barre du haut ---------- */
.topbar{
  display:flex;align-items:center;gap:8px;
  padding:14px 14px;background:var(--vert);color:#fff;
  font-weight:800;position:sticky;top:0;z-index:20;
  padding-top:calc(14px + env(safe-area-inset-top));
}
.topbar-title{font-size:19px;flex:1;text-align:center;}
.icon-btn{background:rgba(255,255,255,.18);border:none;color:#fff;
  font-size:22px;width:46px;height:46px;border-radius:50%;line-height:1;flex:0 0 46px;}
#back-btn{font-size:30px;padding-bottom:4px;}

/* ---------- écrans ---------- */
.screen{padding:18px 16px 40px;}
.screen-plein{padding:0 0 calc(var(--bb) + 40px + env(safe-area-inset-bottom));}
.intro{color:var(--texte-doux);font-size:15px;margin:0 0 16px;}
.bloc-titre{margin:26px 0 12px;font-size:17px;}

/* ---------- accueil ---------- */
.hero{padding:8px 0 18px;text-align:center;}
.hero-h1{font-size:26px;font-weight:800;line-height:1.2;}
.hero-sub{color:var(--texte-doux);font-size:15px;margin-top:4px;}
.stat-bandeau{display:flex;gap:8px;margin-bottom:18px;}
.stat-case{flex:1;background:var(--carte);border-radius:14px;padding:12px 6px;text-align:center;box-shadow:var(--ombre);}
.stat-case b{display:block;font-size:22px;color:var(--vert);}
.stat-case span{display:block;font-size:13px;color:var(--texte-doux);line-height:1.25;margin-top:3px;}

.menu-card{
  display:flex;align-items:center;gap:14px;width:100%;text-align:left;
  background:var(--carte);border:none;border-radius:16px;padding:16px 14px;
  margin-bottom:12px;box-shadow:var(--ombre);font-family:inherit;color:var(--texte);
}
.menu-card:active{background:#eef3ee;}
.mc-ico{font-size:26px;flex:0 0 34px;text-align:center;}
.mc-txt{flex:1;min-width:0;}
.mc-txt b{display:block;font-size:17px;}
.mc-txt i{display:block;font-style:normal;font-size:14px;color:var(--texte-doux);line-height:1.32;margin-top:3px;}
.mc-fleche{color:#c2c8d0;font-size:26px;line-height:1;}
.menu-card-fort{background:var(--vert);color:#fff;}
.menu-card-fort .mc-txt i{color:rgba(255,255,255,.85);}
.menu-card-fort .mc-fleche{color:rgba(255,255,255,.7);}

.disclaimer{font-size:13.5px;color:var(--texte-doux);margin-top:24px;text-align:center;line-height:1.5;}
.ios-tip{background:#eaf4ee;border:1px solid #cfe5d8;color:#1a5c36;border-radius:12px;
  padding:12px 14px;font-size:14.5px;line-height:1.4;margin:0 0 12px;}

/* ---------- thèmes / sous-thèmes ---------- */
.theme-card{
  display:flex;align-items:center;gap:14px;width:100%;text-align:left;
  background:var(--carte);border:none;border-radius:14px;padding:14px;
  margin-bottom:10px;box-shadow:var(--ombre);font-family:inherit;color:var(--texte);
}
.theme-num{font-size:20px;font-weight:800;color:#c2c8d0;flex:0 0 34px;}
.theme-nom{flex:1;font-size:16.5px;font-weight:700;line-height:1.25;}
.theme-sous{font-size:13.5px;color:var(--texte-doux);font-weight:600;display:block;margin-top:3px;}
.theme-ico{font-size:22px;}

.sous-bloc{margin-bottom:10px;}
.sous-head{
  display:flex;align-items:center;gap:12px;width:100%;text-align:left;
  background:var(--carte);border:none;border-radius:14px;padding:14px;
  box-shadow:var(--ombre);font-family:inherit;color:var(--texte);
}
.sous-head.ouvert{background:#ffd9cd;}
.sous-head .theme-num{color:#1c1f26;}
.serie-item{
  display:flex;align-items:center;gap:12px;width:100%;text-align:left;
  background:transparent;border:none;min-height:52px;padding:14px 14px 14px 48px;
  font-family:inherit;font-size:16px;color:var(--texte);
}
.pastille{width:14px;height:14px;border-radius:50%;background:#dfe3e8;flex:0 0 14px;}
.pastille.vert{background:var(--vert-clair);}
.pastille.orange{background:#f0a500;}
.pastille.rouge{background:var(--rouge);}
.serie-score{margin-left:auto;font-size:13px;color:var(--texte-doux);font-weight:700;}

/* ---------- quiz ---------- */
.quiz-top{background:#fff;position:sticky;top:0;z-index:15;
  padding:calc(10px + env(safe-area-inset-top)) 14px 0;box-shadow:0 1px 0 rgba(0,0,0,.05);}
.qt-ligne{display:flex;align-items:center;gap:10px;}
.qt-serie{flex:1;font-size:14.5px;color:var(--texte-doux);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.qt-quitter{background:none;border:none;color:var(--texte-doux);font-size:15.5px;font-family:inherit;
  min-height:46px;padding:6px 4px 6px 14px;}
.qt-num{text-align:center;font-weight:800;color:var(--vert);font-size:16px;padding:2px 0 8px;}
.qt-bar{height:4px;background:#eceff2;border-radius:2px;overflow:hidden;}
.qt-bar-fill{height:100%;background:#ffb59a;width:0%;transition:width .3s;}

.quiz-corps{padding:16px 14px 20px;}
.chrono{position:sticky;top:0;margin:0 auto 10px;width:64px;text-align:center;
  background:var(--vert);color:#fff;font-weight:800;font-size:20px;border-radius:20px;padding:6px 0;}
.chrono.urgent{background:var(--rouge);}
.outils{display:flex;gap:10px;margin:0 0 16px;}
.outil{flex:1;background:#eef1f5;color:var(--texte);border:1px solid #dde2e8;
  border-radius:12px;min-height:52px;padding:13px 10px;font-size:16px;font-weight:700;
  font-family:inherit;}
.outil:active{background:#e2e7ee;}
.outil-tr{background:#eaf4ee;border-color:#cfe5d8;color:var(--vert-fonce);}
.outil-tr:active{background:#dcecE2;}
.outil-aide{background:#fff3d9;border-color:#f0dcae;color:#8a5a00;}
.outil-marge{margin:0 0 16px;}
.outil-aide:active{background:#ffe9bd;}
.outil-plein{width:100%;margin:12px 0 0;}
.visuel{background:#fff;border-radius:14px;overflow:hidden;box-shadow:var(--ombre);margin-bottom:16px;}
.visuel svg{width:100%;height:auto;max-height:42vh;display:block;margin:0 auto;}
.q-texte{font-size:19px;font-weight:700;line-height:1.35;margin-bottom:10px;
  padding-left:14px;border-left:5px solid var(--vert-clair);}
/* traduction turque : toujours visible, mais clairement secondaire */
.q-tr{font-size:15.5px;line-height:1.45;color:#4a5560;background:#eef3f7;
  border-radius:12px;padding:11px 13px 11px 40px;margin-bottom:14px;position:relative;}
.q-tr::before{content:"🇹🇷";position:absolute;left:13px;top:10px;font-size:16px;}

.reponses{display:flex;flex-direction:column;gap:10px;}
.rep{
  display:flex;align-items:center;gap:12px;width:100%;text-align:left;
  background:#fff;border:2px solid #fff;border-radius:12px;min-height:64px;padding:14px 12px;
  box-shadow:var(--ombre);font-family:inherit;font-size:16px;color:var(--texte);line-height:1.35;
}
.rep-lettre{font-weight:800;color:var(--texte-doux);flex:0 0 22px;text-align:center;
  border-right:2px solid var(--bord);padding-right:10px;align-self:stretch;display:flex;align-items:center;}
.rep-txt{flex:1;}
/* traduction turque sous chaque réponse */
.rep-tr{display:block;font-style:normal;font-size:14px;line-height:1.35;
  color:#6b7580;margin-top:4px;font-weight:500;}
.rep.faux .rep-tr{color:rgba(255,255,255,.9);}
.rep.choisi .rep-tr{color:#4a5560;}
.rep-ico{flex:0 0 26px;font-size:20px;text-align:center;}
.rep.choisi{background:#dcdfe8;border-color:#dcdfe8;font-weight:700;}
.rep.juste{background:#fff;border-color:var(--vert-clair);font-weight:700;}
.rep.faux{background:var(--rouge);border-color:var(--rouge);color:#fff;font-weight:700;}
.rep.faux .rep-lettre{color:#fff;border-color:rgba(255,255,255,.5);}
.rep[disabled]{opacity:1;}

/* explication */
.expl{margin-top:18px;background:#fff;border-radius:14px;box-shadow:var(--ombre);overflow:hidden;}
.expl-titre{padding:13px 14px;border-bottom:1px solid var(--bord);
  font-weight:800;font-size:16px;color:var(--vert);}
.expl-corps{padding:14px;font-size:15.5px;line-height:1.5;}
.expl .outil-plein{width:calc(100% - 28px);margin:0 14px 14px;}
.expl-regle{margin-top:10px;background:#eaf4ee;border-radius:10px;padding:10px 12px;font-weight:700;color:var(--vert-fonce);}
.expl-faux{margin-top:10px;font-size:14.5px;color:var(--texte-doux);}
.lex{margin-top:12px;border-top:1px solid var(--bord);padding-top:10px;font-size:14.5px;}
.lex b{color:var(--vert-fonce);}

/* barre du bas */
.barre-bas{
  position:fixed;left:0;right:0;bottom:0;z-index:2147483000;
  display:flex;align-items:center;gap:12px;
  padding:10px 14px calc(10px + env(safe-area-inset-bottom));
  background:#c8ccd6;
  max-width:520px;margin:0 auto;
}
.barre-bas.ok{background:var(--vert);}
.barre-bas.ko{background:var(--rouge);}
.barre-bas-neutre{background:#c8ccd6;}
.bb-msg{flex:1;color:#fff;font-weight:800;font-size:17px;line-height:1.2;}
.bb-btn{background:#fff;border:none;border-radius:999px;min-height:50px;padding:14px 20px;flex:0 0 auto;
  font-family:inherit;font-size:16px;font-weight:800;color:var(--texte);white-space:nowrap;}

/* ---------- bilan ---------- */
.bilan-carte{background:linear-gradient(120deg,#26a65b,#1a8140);border-radius:16px;
  padding:22px 18px;color:#fff;text-align:center;margin-bottom:18px;}
.bilan-carte.echec{background:linear-gradient(120deg,#ff6b78,#e2001a);}
.bilan-rond{width:150px;height:150px;border-radius:50%;border:2px solid rgba(255,255,255,.65);
  margin:0 auto 14px;display:flex;flex-direction:column;align-items:center;justify-content:center;}
.bilan-rond span{font-size:14px;opacity:.9;}
.bilan-rond b{font-size:40px;font-weight:800;line-height:1.1;}
.bilan-msg{font-size:19px;font-weight:800;line-height:1.3;}
.verdict{background:#fff;border-radius:14px;padding:16px;box-shadow:var(--ombre);margin-bottom:8px;}
.verdict b{display:block;font-size:22px;margin-bottom:6px;}
.verdict.reussi b{color:var(--vert);}
.verdict.echec b{color:var(--rouge);}
.verdict span{font-size:14.5px;color:var(--texte-doux);}

.rev{background:#fff;border-radius:12px;box-shadow:var(--ombre);margin-bottom:10px;overflow:hidden;}
.rev-head{display:flex;align-items:center;gap:10px;width:100%;text-align:left;
  background:none;border:none;padding:14px 12px;font-family:inherit;font-size:15px;color:var(--texte);}
.rev-num{font-weight:800;color:var(--texte-doux);flex:0 0 24px;}
.rev-q{flex:1;line-height:1.35;}
.rev-etat{font-size:19px;flex:0 0 24px;text-align:center;}
.rev-corps{padding:0 12px 14px;font-size:15px;}
.rev-bonne{background:#eaf4ee;border-radius:10px;padding:10px 12px;font-weight:700;color:var(--vert-fonce);margin-bottom:8px;}

/* ---------- suivi ---------- */
.card{background:var(--carte);border-radius:16px;padding:16px;box-shadow:var(--ombre);margin-bottom:14px;}
.row{display:flex;justify-content:space-between;align-items:center;padding:7px 0;font-size:15.5px;}
.row span{color:var(--texte-doux);}
.bar{height:12px;background:#e6e9ec;border-radius:8px;overflow:hidden;margin-top:10px;}
.bar-fill{height:100%;background:var(--vert-clair);transition:width .4s;}
.hist{background:#fff;border-radius:12px;padding:13px 14px;box-shadow:var(--ombre);margin-bottom:9px;
  display:flex;align-items:center;gap:12px;}
.hist-txt{flex:1;min-width:0;}
.hist-txt b{display:block;font-size:15.5px;}
.hist-txt i{font-style:normal;font-size:13.5px;color:var(--texte-doux);}
.hist-score{font-weight:800;font-size:17px;}
.hist-score.ok{color:var(--vert);}
.hist-score.ko{color:var(--rouge);}
.vide{color:var(--texte-doux);font-size:14.5px;padding:6px 2px 14px;}

/* ---------- flashcards ---------- */
.flash-reponse{background:#fff;border-radius:14px;box-shadow:var(--ombre);padding:16px;margin-top:4px;}
.flash-reponse b{display:block;font-size:19px;color:var(--vert-fonce);margin-bottom:6px;}
.flash-reponse i{font-style:normal;font-size:15px;color:var(--texte-doux);}
.flash-tr{margin-top:10px;background:#eaf4ee;border-radius:10px;padding:10px 12px;font-size:15px;}

/* ---------- boutons génériques ---------- */
.btn{display:block;width:100%;border:none;border-radius:14px;padding:15px;
  font-size:17px;font-weight:700;margin-bottom:12px;font-family:inherit;}
.btn-primary{background:var(--vert);color:#fff;box-shadow:var(--ombre);}
.btn-ghost{background:transparent;color:var(--texte-doux);box-shadow:none;font-weight:600;margin-top:22px;}
.btn-install{background:var(--vert-clair);color:#fff;box-shadow:var(--ombre);}

/* ---------- réglages ---------- */
.settings-panel{position:fixed;inset:0;background:rgba(15,22,30,.55);z-index:60;
  display:flex;align-items:flex-end;justify-content:center;}
.settings-card{background:#fff;width:100%;max-width:520px;border-radius:20px 20px 0 0;
  padding:22px 18px calc(22px + env(safe-area-inset-bottom));}
.switch-row{display:flex;justify-content:space-between;align-items:center;
  font-size:16px;font-weight:600;padding:12px 0;}
.switch-row input{width:24px;height:24px;accent-color:var(--vert);}
.settings-hint{font-size:14px;color:var(--texte-doux);margin:0 0 10px;line-height:1.45;}


/* ===== Fenêtre d'aide en turc ===== */
.modal{position:fixed;inset:0;z-index:2147483600;display:flex;align-items:flex-end;justify-content:center;}
.modal-fond{position:absolute;inset:0;background:rgba(15,22,30,.55);}
.modal-boite{position:relative;background:#fff;width:100%;max-width:520px;
  border-radius:20px 20px 0 0;max-height:88vh;display:flex;flex-direction:column;
  box-shadow:0 -6px 30px rgba(0,0,0,.25);}
.modal-tete{display:flex;align-items:center;gap:10px;padding:16px 14px 12px;
  border-bottom:1px solid var(--bord);font-size:18px;font-weight:800;}
.modal-tete span{flex:1;}
.modal-x{background:#eef1f5;border:none;border-radius:50%;width:46px;height:46px;
  font-size:20px;color:var(--texte);flex:0 0 46px;font-family:inherit;}
.modal-corps{overflow-y:auto;-webkit-overflow-scrolling:touch;padding:16px 14px;
  font-size:16px;line-height:1.55;flex:1;}
.modal-pied{padding:12px 14px calc(14px + env(safe-area-inset-bottom));border-top:1px solid var(--bord);}
.modal-pied .btn{margin:0;}
.aide-bloc{margin-bottom:16px;}
.aide-bloc h4{margin:0 0 6px;font-size:15px;color:var(--vert-fonce);text-transform:none;}
.aide-q{background:#eaf4ee;border-radius:12px;padding:12px 14px;font-weight:700;}
.aide-liste{margin:0;padding-left:20px;}
.aide-liste li{margin-bottom:6px;}
.aide-juste{background:#eaf4ee;border-left:5px solid var(--vert-clair);border-radius:8px;padding:10px 12px;}
.aide-faux{background:#fdecec;border-left:5px solid var(--rouge);border-radius:8px;padding:10px 12px;margin-bottom:10px;}
.aide-mot{display:flex;gap:8px;padding:6px 0;border-bottom:1px dashed var(--bord);}
.aide-mot b{color:var(--vert-fonce);min-width:42%;}
.aide-note{font-size:14.5px;color:var(--texte-doux);line-height:1.45;}

/* question en français, bien lisible, au-dessus de la traduction */
.aide-qfr{font-size:17px;font-weight:700;line-height:1.35;margin-bottom:8px;
  padding-left:12px;border-left:5px solid var(--vert-clair);}

/* les 3 réponses : français en gras, turc en dessous */
.aide-rep{display:flex;gap:10px;align-items:flex-start;background:#f6f8fa;
  border-radius:10px;padding:11px 12px;margin-bottom:8px;}
.aide-lettre{font-weight:800;color:var(--vert-fonce);flex:0 0 20px;font-size:17px;}
.aide-rep b{display:block;font-weight:700;line-height:1.35;}
.aide-rep i{display:block;font-style:normal;font-size:14.5px;color:var(--texte-doux);margin-top:3px;line-height:1.4;}

/* bloc verrouillé : la réponse reste cachée tant qu'on n'appuie pas */
.aide-verrou{background:#f6f8fa;border:2px dashed #cbd3dc;border-radius:14px;
  padding:16px 14px;text-align:center;margin-top:6px;}
.aide-verrou-t{font-weight:800;font-size:17px;margin-bottom:4px;}
.aide-verrou .btn{margin:14px 0 0;}
.aide-sep{font-weight:800;font-size:17px;color:var(--vert-fonce);
  border-top:2px solid var(--bord);margin:18px 0 14px;padding-top:16px;}


/* ===== Badge de l'hébergeur : masqué (il se superposait aux boutons) ===== */
#nl-badge-frame,
iframe[src*="netlify-badge"],
iframe[title*="Netlify" i],
[class*="netlify-badge" i]{
  display:none !important;
  visibility:hidden !important;
  pointer-events:none !important;
  width:0 !important;height:0 !important;
}


/* ===== Flashcards : réponse complète ===== */
.flash-reponse b{display:block;font-size:19px;color:var(--vert-fonce);margin-bottom:6px;line-height:1.3;}
.flash-reponse i{display:block;font-style:normal;font-size:15.5px;color:var(--texte);line-height:1.45;}
.bb-btn-sec{background:rgba(255,255,255,.85);font-size:15px;padding:14px 16px;}

/* ===== Message court (double appui pour quitter) ===== */
.toast{position:fixed;left:50%;transform:translateX(-50%);
  bottom:calc(84px + env(safe-area-inset-bottom));z-index:2147483600;
  background:rgba(20,28,36,.94);color:#fff;font-size:15.5px;font-weight:600;
  padding:13px 20px;border-radius:999px;max-width:88%;text-align:center;
  box-shadow:0 4px 18px rgba(0,0,0,.3);}
