/* Cahier d'écolier : papier, encre bleue, surligneur jaune */
:root{
  --bg:#fbf8f1; --surface:#ffffff; --surface-2:#f1ece0; --ink:#1b2333; --muted:#5f677a; --line:#e2dccd;
  --accent:#2446a8; --accent-ink:#ffffff; --accent-soft:#e3e9fa; --hi:#ffe14d; --hi-ink:#3a3000;
  --ok:#1f7a4a; --ok-soft:#dcf1e4; --ko:#c0392b; --ko-soft:#f9e0dc;
  --f-display:"Bricolage Grotesque",system-ui,sans-serif;
  --f-body:"Source Sans 3",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --tabs-h:62px;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --bg:#141a24; --surface:#1b2230; --surface-2:#232c3d; --ink:#e8ecf4; --muted:#9aa3b5; --line:#2e384b;
  --accent:#8fa8ff; --accent-ink:#0f1626; --accent-soft:#25304c; --hi:#ffd83a; --hi-ink:#2b2400;
  --ok:#5fcf8f; --ok-soft:#1c3a2a; --ko:#f2786a; --ko-soft:#3d2220; color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#141a24; --surface:#1b2230; --surface-2:#232c3d; --ink:#e8ecf4; --muted:#9aa3b5; --line:#2e384b;
  --accent:#8fa8ff; --accent-ink:#0f1626; --accent-soft:#25304c; --hi:#ffd83a; --hi-ink:#2b2400;
  --ok:#5fcf8f; --ok-soft:#1c3a2a; --ko:#f2786a; --ko-soft:#3d2220; color-scheme:dark}
*{box-sizing:border-box}
[hidden]{display:none!important}
html,body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--f-body);font-size:16px;line-height:1.45;-webkit-tap-highlight-color:transparent}
body{padding-bottom:calc(var(--tabs-h) + env(safe-area-inset-bottom,0px) + 16px)}
button{font:inherit;color:inherit;cursor:pointer}
a{color:var(--accent)}
.top{position:sticky;top:0;z-index:20;display:flex;justify-content:space-between;align-items:center;gap:10px;
  padding:calc(env(safe-area-inset-top,0px) + 10px) 16px 10px;background:var(--bg);border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:8px;font-family:var(--f-display);font-size:1.25rem;color:var(--ink);text-decoration:none}
.logo{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:8px;background:var(--accent);color:var(--accent-ink);font-size:.9rem;font-weight:800}
.tag{text-decoration:none;margin-right:auto;font-family:var(--f-body);font-size:.8rem;font-weight:700;background:var(--hi);color:var(--hi-ink);border-radius:99px;padding:1px 8px}
.btn-ghost{border:1px solid var(--accent);background:transparent;color:var(--accent);border-radius:99px;padding:4px 12px;font-size:.85rem;font-weight:600}
main{padding:16px 16px 0;max-width:680px;margin:0 auto;display:flex;flex-direction:column;gap:16px;outline:none}
h1,h2,h3{font-family:var(--f-display);margin:0;line-height:1.15;text-wrap:balance}
h1{font-size:1.7rem;font-weight:800}
h2{font-size:1.2rem;font-weight:800}
h3{font-size:1.05rem;font-weight:600}
p{margin:0}
.muted{color:var(--muted)}
.small{font-size:.85rem}
.hi{background:linear-gradient(transparent 55%,var(--hi) 55%);color:inherit;padding:0 2px}
.card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:14px;display:flex;flex-direction:column;gap:10px}
.row{display:flex;align-items:center;justify-content:space-between;gap:10px}
.seg{display:grid;grid-template-columns:1fr 1fr;background:var(--surface-2);border-radius:12px;padding:4px;gap:4px}
.seg button{border:0;background:transparent;border-radius:9px;padding:9px;font-weight:700}
.seg button[aria-pressed="true"]{background:var(--surface);box-shadow:0 1px 3px rgba(0,0,0,.12);color:var(--accent)}
.count{font-family:var(--f-display);font-size:2.4rem;font-weight:800;line-height:1}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.subj{display:flex;flex-direction:column;gap:6px;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:12px;min-height:96px}
.subj b{font-family:var(--f-display);font-size:1.02rem}
.bar{height:6px;border-radius:99px;background:var(--surface-2);overflow:hidden}
.bar i{display:block;height:100%;background:var(--accent);border-radius:99px}
.btn{border:0;border-radius:12px;padding:12px 16px;font-weight:700;background:var(--accent);color:var(--accent-ink);text-align:center;text-decoration:none;display:block}
.btn.alt{background:var(--surface-2);color:var(--ink)}
.btn.hi-btn{background:var(--hi);color:var(--hi-ink)}
.btns{display:flex;flex-direction:column;gap:8px}
.q{font-size:1.12rem;font-weight:600}
.choices{display:flex;flex-direction:column;gap:8px}
.choice{display:flex;gap:10px;align-items:flex-start;text-align:left;border:1.5px solid var(--line);background:var(--surface);border-radius:12px;padding:12px}
.choice .l{flex:none;display:inline-grid;place-items:center;width:26px;height:26px;border-radius:7px;background:var(--surface-2);font-weight:700;font-size:.85rem}
.choice.ok{border-color:var(--ok);background:var(--ok-soft)}
.choice.ok .l{background:var(--ok);color:#fff}
.choice.ko{border-color:var(--ko);background:var(--ko-soft)}
.choice.ko .l{background:var(--ko);color:#fff}
.choice:disabled{cursor:default;color:var(--ink)}
.expl{border-left:4px solid var(--hi);background:var(--surface-2);border-radius:0 10px 10px 0;padding:10px 12px}
.progress{display:flex;justify-content:space-between;font-size:.85rem;color:var(--muted)}
.timer{font-family:var(--f-display);font-weight:800}
.score{font-family:var(--f-display);font-size:3rem;font-weight:800;line-height:1;color:var(--accent)}
.lock{display:inline-flex;align-items:center;gap:4px;font-size:.8rem;font-weight:700;color:var(--muted)}
.steps{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:6px}
input.code{font:inherit;font-size:1.2rem;letter-spacing:.12em;text-transform:uppercase;text-align:center;padding:12px;border:1.5px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink);width:100%}
.msg-ok{color:var(--ok);font-weight:700}
.msg-ko{color:var(--ko);font-weight:700}
.list{display:flex;flex-direction:column;gap:8px}
.tabs{position:fixed;left:0;right:0;bottom:0;z-index:30;display:grid;grid-template-columns:repeat(4,1fr);height:calc(var(--tabs-h) + env(safe-area-inset-bottom,0px));
  padding-bottom:env(safe-area-inset-bottom,0px);background:var(--surface);border-top:1px solid var(--line)}
.tabs a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:var(--muted);text-decoration:none;font-size:.72rem;font-weight:600}
.tabs svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.tabs a[aria-current="page"]{color:var(--accent)}
.subj.lvl{min-height:70px;justify-content:center}
.subj[aria-pressed="true"]{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}
.tag:empty{display:none}
.news-btn{position:relative;text-decoration:none;font-size:1.25rem;line-height:1;padding:4px}.news-btn .dot{position:absolute;top:-4px;right:-6px;background:#e5484d;color:#fff;font-style:normal;font-size:.65rem;font-weight:700;border-radius:99px;min-width:16px;height:16px;display:grid;place-items:center;padding:0 4px}
.src{margin-top:6px;font-size:.8rem;color:var(--muted)}
.tag-src{font-size:.75rem;font-weight:700;color:var(--accent);text-transform:uppercase;letter-spacing:.03em}
.trial{display:block;text-decoration:none;color:var(--hi-ink);background:var(--hi);border-radius:12px;padding:10px 14px;font-weight:600}
.field{font:inherit;padding:12px;border:1.5px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink);width:100%}
.linkbtn{border:0;background:none;color:var(--accent);text-decoration:underline;padding:0}
.lib{display:flex;justify-content:space-between;gap:8px;padding:10px 0;border-bottom:1px solid var(--line,#e7e1d3);text-decoration:none;color:inherit}.lib:last-child{border-bottom:0}
.rub .tile{text-decoration:none;color:inherit;gap:4px}.tile .ico{font-size:1.5rem}
.grid.rub{grid-template-columns:repeat(4,1fr);gap:8px;margin:4px 0 14px}
.grid.rub .tile{min-height:0;padding:10px 4px;align-items:center;text-align:center;justify-content:flex-start;border-radius:16px}
.grid.rub .tile .ico{font-size:1.7rem;line-height:1}
.grid.rub .tile b{font-family:var(--f-body,inherit);font-size:.78rem;font-weight:700;line-height:1.15}
@media (max-width:340px){.grid.rub{grid-template-columns:repeat(3,1fr)}}
.rubwrap .rubh{font-size:1rem;margin:14px 2px 6px}
.sosbig{display:flex;gap:12px;align-items:center;background:#d93636;color:#fff;border-radius:18px;padding:14px 16px;margin:6px 0 4px;text-decoration:none;box-shadow:0 3px 0 #a72525}
.sosbig .ico{font-size:2.2rem;line-height:1}.sosbig b{display:block;font-size:1.08rem;line-height:1.2}.sosbig small{display:block;opacity:.92;margin-top:3px;font-size:.82rem}
.outilsbox{background:#fff4d6;border:2px solid #f2c94c;border-radius:18px;padding:10px 10px 0;margin:10px 0 4px}
.outilsbox .grid.rub{margin-bottom:10px}.outilsbox .tile{background:#fff}
.hello h2{margin:0 0 4px}
.lib-card{display:flex;flex-direction:column;gap:4px;text-decoration:none;color:inherit}
.btn .small{display:block;font-weight:400;opacity:.85}
.prog{gap:8px}.mission{display:flex;gap:10px;align-items:center;padding:8px 0;border-top:1px solid var(--line);text-decoration:none;color:inherit}.mission.done span:last-child{text-decoration:line-through;color:var(--muted)}
.chart{display:flex;flex-direction:column;gap:8px}.crow{display:grid;grid-template-columns:7.5em 1fr 3.5em;gap:8px;align-items:center;font-size:.9rem}.clab{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ctrack{height:12px;background:var(--surface-2);border-radius:6px;overflow:hidden}.ctrack i{display:block;height:100%;border-radius:6px}.crow b{text-align:right}
.days{display:grid;grid-template-columns:repeat(10,1fr);gap:4px;align-items:end}.day{display:flex;flex-direction:column;align-items:center;gap:2px}.dbar{position:relative;width:100%;height:90px;background:var(--surface-2);border-radius:6px;overflow:hidden}.dbar i{position:absolute;bottom:0;left:0;right:0;background:var(--accent-soft)}.dbar i.okp{background:var(--ok)}
.notion-fig svg{width:100%;max-height:220px;display:block;color:var(--ink)}
.notion-key{border-left:4px solid var(--accent)}
.btn.alt.on{background:var(--accent);color:#fff}
.chk{padding:8px 0;white-space:normal;border-top:1px solid var(--line);align-items:flex-start;gap:8px}
.chk input,#all{width:18px;height:18px;vertical-align:-3px;margin-right:6px}
.chk .small{white-space:nowrap}
.tuto video{width:100%;border-radius:12px;margin-top:8px;background:#000;max-height:70vh}
details summary { cursor: pointer; color: var(--accent); font-weight: 600; margin: 6px 0; }
.vec { position: relative; display: inline-block; padding-top: .25em; }
.vec::after { content: "→"; position: absolute; left: 0; right: 0; top: -.45em; text-align: center; font-size: .75em; line-height: 1; }
.bubble { border-radius: 16px; padding: 10px 14px; margin: 10px 0; max-width: 92%; }
.bubble.me { margin-left: auto; background: var(--accent); color: var(--accent-ink); border-bottom-right-radius: 4px; width: fit-content; }
.bubble.bot { background: var(--surface); border: 1px solid var(--line); border-bottom-left-radius: 4px; }
.bubble.bot .steps { margin: 4px 0 8px; }
.bubble .row.wrap { flex-wrap: wrap; gap: 6px; }
.bubble .btn.small { width: auto; padding: 8px 12px; margin: 0; }
.ask { display: flex; gap: 8px; position: sticky; bottom: 72px; background: var(--bg); padding: 6px 0; }
.ask input { flex: 1; min-width: 0; padding: 12px; border-radius: 12px; border: 1px solid var(--line); background: var(--surface); color: var(--ink); font: inherit; }
.card.mini { margin: 8px 0 0; padding: 10px; }
.onglets, .days { gap: 6px; flex-wrap: wrap; margin-bottom: 10px; }
.onglets .btn, .days .btn { width: auto; flex: 1; margin: 0; padding: 8px 6px; }
.btn.on { background: var(--accent); color: var(--accent-ink); }
.slot, .sugg { align-items: center; gap: 8px; padding: 8px 0; border-bottom: 1px solid var(--line); }
.slot .btn, .sugg .btn, .todo .btn.small { width: auto; margin: 0; padding: 6px 10px; flex: none; }
.card select, .card input[type=time], .card input[type=date], .card input:not([type]) { width: 100%; padding: 10px; margin: 4px 0 10px; border-radius: 10px; border: 1px solid var(--line); background: var(--surface); color: var(--ink); font: inherit; box-sizing: border-box; }
.todo.late { border-left: 4px solid #d33; }

/* Mieux apprendre : plan, carte mentale, chrono du jour J */
.plan-row{padding:10px 0;border-bottom:1px solid var(--line)}.plan-row:last-child{border-bottom:0}.plan-row.done b{text-decoration:line-through;color:var(--muted)}
.mm{display:flex;flex-direction:column;align-items:center;gap:14px;margin:8px 0 16px}
.mm-c{background:var(--accent);color:var(--accent-ink);font-family:var(--f-display);font-weight:800;font-size:1.15rem;padding:14px 20px;border-radius:999px;text-align:center;max-width:100%}
.mm-b{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;width:100%;position:relative}
.mm-n{display:flex;flex-direction:column;gap:4px;background:var(--surface);border:1px solid var(--line);border-left:6px solid hsl(var(--h) 65% 50%);border-radius:14px;padding:12px 14px;text-decoration:none;color:inherit}
.mm-n ul{margin:4px 0 0;padding-left:18px}.mm-n li{margin:3px 0}
#jj-bar{position:fixed;left:8px;right:8px;bottom:calc(var(--tabs-h) + env(safe-area-inset-bottom,0px) + 8px);z-index:40;display:flex;gap:8px;align-items:center;justify-content:space-between;background:var(--ink);color:var(--bg);padding:10px 12px;border-radius:14px;font-size:.9rem;box-shadow:0 6px 20px rgba(0,0,0,.25)}
#jj-bar .btn-ghost{color:var(--bg);border-color:var(--bg)}#jj-bar.over{background:var(--ko);color:#fff}

.gtab{border-collapse:collapse;width:100%;font-size:.78rem;table-layout:fixed}.gtab th{font-weight:600;padding:2px;color:var(--muted);font-size:.72rem}.gtab td{border:1px solid var(--line);height:20px;padding:0 2px;text-align:center;cursor:pointer;overflow:hidden;white-space:nowrap}.gtab tr.demi td{border-top:1px dashed var(--line)}.gtab td.g-on{background:var(--accent);color:#fff;font-weight:700}.gtab td.g-pris{background:var(--surface-2);color:var(--muted)}.gtab td.g-pause{background:var(--accent-soft)}
.mic-btn{white-space:nowrap}.mic-btn.on{background:var(--ko,#c0392b);color:#fff}

.news-btn .dot.pt{min-width:10px;width:10px;height:10px;padding:0;top:0;right:-2px}
.dispo{display:grid;grid-template-columns:repeat(auto-fit,minmax(88px,1fr));gap:6px}
.dispo-i{display:flex;flex-direction:column;align-items:center;text-align:center;background:var(--bg,#f6f3ec);border-radius:12px;padding:8px 4px;text-decoration:none;color:inherit}
.dispo-i b{font-size:1rem}.dispo-i span{font-size:.75rem;opacity:.8}

.hello2{display:grid;grid-template-columns:1.25fr 1fr;gap:10px;align-items:start}
.hello2 .dispo{grid-template-columns:1fr 1fr}
.hello2 .dispo-i{padding:6px 2px}.hello2 .dispo-i b{font-size:.9rem}.hello2 .dispo-i span{font-size:.68rem}
.reviser{border-left:2px solid #eee4d0;padding-left:10px}
.rev-i{display:flex;gap:8px;align-items:center;background:#eaf0ff;border-radius:12px;padding:8px;margin-bottom:6px;text-decoration:none;color:inherit}
.rev-i span{font-size:1.3rem}.rev-i b{font-size:.8rem;line-height:1.15}
@media (max-width:330px){.hello2{grid-template-columns:1fr}.reviser{border:0;padding:0}}

/* rangées incomplètes : les tuiles s'étirent pour occuper toute la largeur */
.grid.rub.r1{grid-template-columns:1fr}.grid.rub.r2{grid-template-columns:repeat(2,1fr)}.grid.rub.r3{grid-template-columns:repeat(3,1fr)}
.grid.rub.r1 .tile,.grid.rub.r2 .tile{flex-direction:row;justify-content:center;gap:10px;padding:12px 8px}

.sharebig{display:flex;gap:12px;align-items:center;background:#1f9d55;color:#fff;border-radius:18px;padding:12px 16px;margin:14px 0 4px;text-decoration:none;box-shadow:0 3px 0 #157a40}
.sharebig .ico{font-size:1.9rem;line-height:1}.sharebig b{display:block;font-size:1.02rem}.sharebig small{display:block;opacity:.92;font-size:.8rem}.sharebig .go{margin-left:auto;font-size:1.6rem}

/* tuto d'installation */
.ins-intro{text-align:center}.ins-logo{width:72px;height:72px;border-radius:18px;margin:0 auto}
.ins-choix{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:10px 0}
.ins-os{display:flex;flex-direction:column;align-items:center;gap:4px;padding:18px 10px;border-radius:18px;border:2px solid var(--line,#ddd);background:var(--card,#fff);color:inherit;font:inherit;cursor:pointer}
.ins-os span{font-size:42px}.ins-os b{font-size:1.2rem}.ins-os small{opacity:.7;text-align:center}.ins-os em{font-style:normal;font-size:.8rem;color:#1b7f3b;font-weight:700}
.ins-devine{border-color:#2446a8;box-shadow:0 0 0 3px rgba(36,70,168,.15)}
.ins-points{display:flex;justify-content:center;gap:8px;margin:8px 0}.ins-points i{width:10px;height:10px;border-radius:50%;background:#ccc}.ins-points i.fait{background:#1b7f3b}.ins-points i.ici{background:#2446a8;transform:scale(1.3)}
.ins-phone{position:relative;width:200px;height:300px;margin:12px auto;border:8px solid #222;border-radius:30px;background:#f4f4f6;color:#222;overflow:hidden;font-size:12px;display:flex;flex-direction:column}
.ins-url{background:#e6e6ea;margin:8px;border-radius:10px;padding:6px 8px;display:flex;justify-content:space-between;align-items:center}
.ins-body{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:8px;text-align:center}
.ins-bar{display:flex;justify-content:space-around;align-items:center;padding:8px 4px;background:#e6e6ea;font-size:16px;color:#2a6df4}
.ins-sheet{margin-top:auto;background:#fff;border-radius:14px 14px 0 0;padding:6px 0}.ins-sheet-top{margin-top:0;margin-left:40px;border-radius:12px;box-shadow:0 4px 14px rgba(0,0,0,.2)}
.ins-row{padding:9px 12px;border-bottom:1px solid #eee;display:flex;justify-content:space-between;align-items:center}
.ins-top{display:flex;justify-content:space-between;padding:12px 8px;background:#fff;color:#2a6df4}.ins-top b{color:#222}
.ins-dialog{margin:auto 12px;background:#fff;border-radius:14px;padding:14px;display:flex;flex-direction:column;align-items:center;gap:10px;box-shadow:0 6px 20px rgba(0,0,0,.25)}
.ins-dlg-btns{display:flex;gap:18px;color:#1a73e8;font-weight:700}
.ins-home{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;padding:22px 12px;background:linear-gradient(#5b7bd5,#2446a8);flex:1}
.ins-app{display:flex;flex-direction:column;align-items:center;gap:3px;color:#fff}.ins-app img,.ins-app i{width:42px;height:42px;border-radius:11px;font-style:normal;font-size:24px;display:flex;align-items:center;justify-content:center;background:#fff2}
.ins-dialog .ins-app,.ins-body .ins-app{color:#222}
.ins-hl,.ins-hl-row,.ins-hl-txt,.ins-hl-app{animation:inspulse 1.2s infinite;border-radius:10px}
.ins-hl-row{background:#e7efff;font-weight:700}.ins-hl-txt{font-weight:800;padding:2px 6px}
@keyframes inspulse{0%,100%{box-shadow:0 0 0 0 rgba(255,140,0,.9)}50%{box-shadow:0 0 0 7px rgba(255,140,0,0)}}
body.ins-mode .tabs,body.ins-mode .top-r{display:none}body.ins-mode main{padding-bottom:24px}
.ins-phone{height:250px}
/* mode parent répétiteur : l'espace parent n'a pas d'onglets « Mes erreurs » et « Progrès » */
body.mode-parent .tabs a[data-tab="erreurs"], body.mode-parent .tabs a[data-tab="progres"] { display: none; }
#fambtn { text-decoration: none; white-space: nowrap; margin-right: 6px; }
.modechoix { width: 100%; text-align: left; cursor: pointer; border: 2px solid transparent; }
.modechoix:hover { border-color: var(--accent); }
/* Mode enfant (CE1 à CM2, enfant.js) : plus gros, plus coloré, plus simple */
body.kid{font-size:18px}
.kid .q{font-size:1.3rem;line-height:1.4}
.kid .choice{padding:16px;border-radius:18px;font-size:1.1rem;border-width:2px}
.kid .choice .l{width:32px;height:32px;border-radius:50%}
.kid .btn{border-radius:18px}
.kid-voix{border:0;background:var(--accent-soft);color:var(--accent);font-weight:700;border-radius:999px;padding:6px 14px;margin-bottom:8px;font-size:.95rem}
.kid-hello{display:flex!important;flex-direction:row;gap:14px;align-items:center;text-align:left}
.kid-hello h1{margin:0 0 4px;font-size:1.6rem}
.kid-mascotte{font-size:3.2rem;line-height:1}
.kid-go{display:flex;gap:12px;align-items:center;background:var(--hi);color:var(--hi-ink);border-radius:20px;padding:16px 18px;font-size:1.5rem;font-weight:800;text-decoration:none;margin:12px 0;box-shadow:0 3px 0 rgba(0,0,0,.12)}
.kid-go span{display:flex;flex-direction:column;font-size:1.2rem}
.kid-go small{font-size:.85rem;font-weight:600;opacity:.85}
.kid-h{margin:18px 2px 8px}
.kid-grille{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.kid-tuile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:110px;border-radius:20px;background:var(--surface);border:2px solid var(--line);color:#1b2333;text-decoration:none;text-align:center;padding:10px;font-size:1.05rem}
.kid-ico{font-size:2.4rem;line-height:1}
.kid-titre{display:flex;gap:12px;align-items:center;border-radius:20px;padding:14px 16px;color:#1b2333;margin-bottom:8px}
.kid-titre h1{margin:0}
.kid-lecon b{font-size:1.1rem}
.kid-btns{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.kid-btns .btn{flex:1;margin:0}
.kid-etoiles{font-size:3rem;letter-spacing:4px;margin:6px 0;color:#f2b400}
.kid-big{font-size:1.3rem;font-weight:700}
.choice{position:relative}
.kid-pop{position:absolute;right:12px;top:4px;font-size:1.8rem;animation:kidpop .9s ease-out forwards;pointer-events:none}
@keyframes kidpop{from{transform:translateY(0) scale(.6);opacity:1}to{transform:translateY(-40px) scale(1.4);opacity:0}}
@media (prefers-reduced-motion: reduce){.kid-pop{animation:none}}
.plan-l{display:flex;flex-direction:column;gap:6px;padding:10px 0;border-top:1px solid var(--line)}
.plan-l>div:first-child{display:flex;flex-direction:column}
.plan-l.fait{opacity:.6}
.tbl{overflow-x:auto}.tbl table{width:100%;border-collapse:collapse;font-size:.92rem}.tbl th,.tbl td{text-align:left;padding:6px 4px;border-bottom:1px solid var(--line);vertical-align:top}
/* espace Jeux (jeux.js) */
.kid-jeux{background:linear-gradient(135deg,#ffb703,#fb8500);color:#1b2333}
.jeu-tuile small{font-size:.78rem;color:#4a5568;font-weight:500}
.jeu-tuile .jeu-best{color:#b45309;font-weight:700}
.jeu-haut{display:flex;align-items:center;gap:10px;margin:6px 0 10px;font-size:1.1rem}
.jeu-haut b{flex:1}.btn.petit{padding:6px 10px;min-height:0}
.jeu-chrono{font-weight:800;background:#eef2ff;border-radius:12px;padding:4px 10px}
.jeu-chrono.urgent{background:#fee2e2;color:#b91c1c;animation:pulse 1s infinite}
.jeu-score{font-weight:800;background:#fef3c7;border-radius:12px;padding:4px 10px}
.jeu-q{font-size:1.6rem;font-weight:800;text-align:center;margin:12px 0}
.jeu-choix{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.jeu-choix .choice,.jeu-ordre .choice{font-size:1.25rem;font-weight:700;justify-content:center;text-align:center;min-height:64px}
.jeu-ordre{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.jeu-ordre .choice{min-width:40%}
.jeu-ordre .ok{background:#d6f2dc;border-color:#22c55e}.jeu-ordre .ko{background:#fee2e2;border-color:#ef4444}
.jeu-vf{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.jeu-v,.jeu-f{font-size:1.4rem;font-weight:800;border:0;border-radius:18px;padding:22px 8px;color:#fff}
.jeu-v{background:#16a34a}.jeu-f{background:#dc2626}
.jeu-ecoute{display:block;width:100%;font-size:1.5rem;font-weight:800;border:0;border-radius:18px;padding:22px;background:#2563eb;color:#fff;margin:8px 0}
.memory{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.mem{min-height:84px;border-radius:14px;border:0;background:#6366f1;color:transparent;font-weight:700;font-size:.9rem;padding:6px;box-shadow:0 3px 0 rgba(0,0,0,.15)}
.mem span{visibility:hidden}.mem.vu{background:#fff;color:#1b2333;border:2px solid #6366f1}.mem.vu span{visibility:visible}
.mem.ok{background:#d6f2dc;border-color:#22c55e}
.jeu-flash{position:fixed;top:40%;left:50%;transform:translate(-50%,-50%);font-size:5rem;font-weight:900;pointer-events:none;animation:jf .45s ease-out forwards;z-index:99}
.jeu-flash.ok{color:#16a34a}.jeu-flash.ko{color:#dc2626}
@keyframes jf{from{opacity:1;transform:translate(-50%,-50%) scale(.6)}to{opacity:0;transform:translate(-50%,-70%) scale(1.3)}}
@keyframes pulse{50%{opacity:.6}}
.jeu-fin{text-align:center}.jeu-record{font-size:1.3rem;font-weight:800;color:#b45309}
.jeu-chrono:empty{display:none}
/* questionnaire parents (enquete.js) */
.enq-hero{border:2px solid var(--hi,#f5a623)}
#enq h2{font-size:1.05rem;margin:18px 0 6px}
#enq .row.wrap{flex-wrap:wrap;gap:8px;justify-content:flex-start}
.chip-c{display:inline-flex;align-items:center;gap:6px;border:1.5px solid var(--line);border-radius:999px;padding:8px 12px;background:var(--surface);cursor:pointer}
.chip-c:has(input:checked){border-color:var(--accent,#2563eb);background:#e8efff;font-weight:700}
#enq textarea{width:100%;box-sizing:border-box}
body.enq-mode .tabs,body.enq-mode .top-r{display:none}body.enq-mode main{padding-bottom:24px}
.enq-plus{background:#f3f7ff;border-radius:14px;padding:4px 14px 10px;margin:14px 0;border:1.5px solid #c9d8ff}
body.enq-mode .brand,body.enq-mode .tag{pointer-events:none}
