body.pathway-kids.session-started .kids-lab-panel > :not(.kids-lab) { display:none!important; }
body:not(.pathway-kids) .kids-lab { display:none!important; }
body.pathway-kids.session-started .kids-lab-panel { padding:24px!important; background:#faf8fd!important; }
.kids-lab { max-width:1080px; margin:auto; color:#35134f; }
.kids-lab * { box-sizing:border-box; }
.kids-lab h2 { font-size:clamp(26px,4vw,42px)!important; line-height:1.15!important; margin:8px 0 12px!important; }
.kids-lab h3 { font-size:22px; margin:26px 0 14px; }
.lab-intro { margin:12px 0 24px; }
.lab-intro > p:first-child { color:#71349d; font-size:12px; font-weight:800; letter-spacing:.1em; }
.lab-intro p { line-height:1.6; max-width:700px; }
.kids-lab button { cursor:pointer; font:inherit; min-height:46px; padding:12px 18px; border:1px solid #d9c9e4; border-radius:14px; background:white; color:#35134f; text-align:left; }
.kids-lab button:hover { border-color:#71349d; background:#f3ecfa; }
.kids-lab :is(button,select):focus-visible { outline:3px solid #71349d; outline-offset:3px; }
.kids-lab button:disabled { opacity:.6; cursor:wait; }
.lab-categories { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.lab-categories button { display:grid; gap:12px; padding:24px; border-radius:22px; border-bottom:5px solid #71349d; }
.lab-categories button:nth-child(2) { border-bottom-color:#d3a000; }
.lab-categories button:nth-child(3) { border-bottom-color:#42796d; }
.lab-symbol { font-size:32px; background:#fff0b3; border-radius:14px; width:56px; height:56px; display:grid; place-items:center; }
.lab-categories strong { font-size:24px; }
.lab-categories small { color:#71349d; }
.lab-resume { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:22px; background:#eee4f8; border-radius:20px; margin:24px 0; }
.lab-resume h3 { margin:8px 0; }
.lab-resume p { margin:0; }
.lab-resume button,.lab-play > button { background:#ffd747; border-color:#ffd747; font-weight:750; }
.lab-skills,.lab-activities { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.lab-skills article,.lab-activities button { display:grid; gap:10px; background:white; border:1px solid #e5daee; padding:20px; border-radius:16px; }
.lab-skills span { color:#65328a; font-weight:750; }
.lab-skills small,.lab-note { color:#75647e; font-size:13px; line-height:1.5; }
.lab-activities strong { font-size:21px; }
.lab-activities em { font-style:normal; font-weight:750; color:#71349d; }
.lab-play { padding:24px; border-radius:24px; background:white; border:1px solid #e5daee; }
.lab-guide { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; margin-bottom:20px; padding:16px; border-radius:16px; background:#fff3c4; line-height:1.5; }
.lab-guide strong { flex:1 1 230px; }
.lab-guide button { background:#fff; font-size:14px; }
.lab-program .is-playing { outline:3px solid #71349d; border-radius:12px; background:#fff0b0; }
.lab-program li::marker { font-weight:800; color:#71349d; }
.lab-play [data-lab-test] { font-size:18px; box-shadow:0 4px 0 #c59a14; margin:8px 12px 8px 0; }
.lab-play [data-lab-undo] { font-size:14px; }
.lab-object-cards button:disabled { opacity:1; cursor:default; font-size:26px; min-height:150px; background:#eee3f8; }
.lab-object-cards button[hidden] { display:none!important; }
.lab-targets button { transition:transform .15s,background .15s; }
.lab-targets button:hover { transform:translateY(-3px); background:#fff0b0; }
.lab-grid { display:grid; grid-template-columns:repeat(var(--size),1fr); width:min(100%,320px); gap:5px; background:#f4eef9; padding:8px; border-radius:16px; }
.lab-grid > span { aspect-ratio:1; display:grid; place-items:center; background:#fff; border-radius:8px; font-size:24px; border:1px solid #dfd1e9; }
.lab-grid > .lab-wall { background:repeating-linear-gradient(45deg,#76667f 0 5px,#92829b 5px 10px); }
.lab-grid b { font-size:22px; white-space:nowrap; }
.lab-palette,.lab-choices,.lab-after { display:flex; flex-wrap:wrap; gap:10px; margin:16px 0; }
.lab-palette button { background:#eee2fa; border-left:5px solid #71349d; }
.lab-program { min-height:66px; padding:16px 16px 16px 40px; background:#f8f5fc; border-radius:16px; }
.lab-program:empty::after { content:'Ton programme apparaîtra ici'; color:#75647e; }
.lab-program li { margin:5px 0; }
.lab-associations { display:grid; gap:12px; margin-bottom:20px; }
.lab-associations label { display:grid; grid-template-columns:1fr 2fr; gap:16px; align-items:center; font-weight:700; }
.lab-associations select { min-width:0; width:100%; padding:12px; border:1px solid #cbb4db; border-radius:12px; font:inherit; color:#35134f; background:#fff; }
.lab-feedback:not(:empty) { padding:18px; margin-top:20px; border-radius:14px; background:#fff2c6; line-height:1.6; border-left:4px solid #bc8900; }
.lab-feedback.is-success { background:#e8f4ed; border-left-color:#347658; }
.lab-scene { font-size:36px; letter-spacing:12px; padding:20px; background:#f8f5fc; width:fit-content; border-radius:16px; }
.lab-association-game { display:grid; grid-template-columns:1fr 1fr; gap:24px; margin:20px 0; }
.lab-object-cards,.lab-targets { display:grid; align-content:start; gap:10px; }
.lab-object-cards button,.lab-targets button { display:grid; gap:8px; min-height:80px; }
.lab-object-cards button { background:#f4eafa; box-shadow:0 4px 0 #dfc9ed; }
.lab-object-cards button[aria-pressed="true"] { background:#ffd747; border-color:#71349d; box-shadow:0 0 0 3px #71349d; }
.lab-targets button { background:#fffae5; border:2px solid #dfcb7d; border-radius:18px; min-height:110px; }
.lab-targets button > span { font-size:30px; }
.lab-targets small,.lab-object-cards small { line-height:1.4; }
.lab-scratch-stage { height:170px; overflow:hidden; position:relative; border-radius:18px; background:linear-gradient(#f1eafa 78%,#ded0eb 78%); padding:35px; }
.lab-scratch-stage > span { display:inline-block; font-size:58px; transition:transform 1s ease; }
.lab-scratch-stage.is-running > span { transform:translateX(90px); }
.lab-scratch-stage > b { position:absolute; left:185px; top:25px; padding:14px; border-radius:20px 20px 20px 0; background:white; color:#35134f; }
.lab-palette button { border-radius:7px 14px 14px 7px; box-shadow:0 4px 0 #d6bde8; margin-bottom:4px; }
.lab-choices button { flex:1 1 180px; min-height:90px; border-bottom:4px solid #cdb8dd; font-weight:700; }
.lab-choices button:hover { border-bottom-color:#71349d; }
.lab-activities button { position:relative; padding-top:70px; background:linear-gradient(135deg,#fff 60%,#f2e6fc); }
.lab-activities button::before { content:'▶'; position:absolute; top:17px; left:20px; display:grid; place-items:center; width:38px; height:38px; border-radius:12px; background:#ffd747; color:#35134f; }
@media(prefers-reduced-motion:reduce) { .lab-scratch-stage > span { transition:none; } }
@media(max-width:650px) { .lab-association-game { grid-template-columns:1fr; } .lab-targets { grid-template-columns:repeat(2,minmax(0,1fr)); } .lab-scratch-stage > b { left:130px; } .lab-scratch-stage.is-running > span { transform:translateX(45px); } }
@media(max-width:650px) {
  body.pathway-kids.session-started .kids-lab-panel { padding:14px!important; }
  .lab-categories,.lab-skills,.lab-activities { grid-template-columns:1fr; }
  .lab-resume { align-items:stretch; flex-direction:column; }
  .lab-play { padding:16px; }
  .lab-associations label { grid-template-columns:1fr; gap:6px; }
}
