/* Atelier Scratch : mise en page éditeur + scène + exercices */
body.scratch{background:var(--bg)}
.atelier{display:grid;grid-template-columns:300px 1fr;gap:0;min-height:calc(100vh - 72px)}
.exos{border-right:1px solid var(--line);overflow-y:auto;max-height:calc(100vh - 72px);padding:14px}
.exos h2{font-size:20px;margin:6px 0 10px}
.exos .theme{margin-bottom:14px}
.exos .theme > button{width:100%;text-align:left;display:flex;justify-content:space-between;align-items:center;font-weight:600;font-size:15px;padding:9px 12px}
.exos .theme > button .prog{font-weight:400;color:var(--muted);font-size:13px}
.exos .theme.open > button{background:var(--accent);color:var(--bg)}
.exos .theme.open > button .prog{color:var(--bg)}
.exos ol{list-style:none;padding:0;margin:6px 0 0;display:none}
.exos .theme.open ol{display:block}
.exos li{margin:0}
.exos li button{width:100%;text-align:left;border:0;border-radius:4px;padding:6px 10px;font-size:14px;display:flex;gap:8px;align-items:center}
.exos li button:hover{background:var(--line);color:var(--fg)}
.exos li button.actif{background:var(--code);color:var(--accent)}
.exos li button .n{color:var(--muted);min-width:22px}
.exos li button.ok .n{color:var(--ok)}
.exos li button.ok .n:after{content:" ✓"}
.travail{display:grid;grid-template-rows:auto 1fr;min-width:0;margin:0;max-width:none;width:100%}
.enonce{padding:14px 18px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr auto;gap:14px;align-items:start}
.enonce h1{font-size:clamp(20px,2.2vw,28px);margin:0 0 6px;letter-spacing:-.02em}
.enonce p{margin:4px 0;font-size:16px;max-width:none}
.enonce .consigne{font-size:clamp(17px,1.6vw,20px)}
.enonce .attendu{color:var(--muted);font-size:15px}
.enonce details{margin-top:6px;padding-top:6px;border-top:1px dashed var(--line)}
.enonce #exoAide{white-space:pre-line;line-height:1.5}
.enonce #solutionTexte{white-space:pre;font-family:Consolas,"Cascadia Mono",monospace;font-size:14px;line-height:1.5;background:var(--code);border:1px solid var(--line);border-radius:6px;padding:10px 14px;overflow-x:auto;color:var(--fg);max-width:100%}
.enonce #solutionTexte .why{white-space:pre-line;font-family:Segoe UI,Arial,sans-serif;color:var(--muted);display:block;margin-top:8px;border-top:1px dashed var(--line);padding-top:6px}
.enonce summary{font-size:15px}
.enonce .actions{display:flex;flex-direction:column;gap:8px;min-width:170px}
.enonce .actions button{padding:8px 12px;font-size:15px}
.enonce .verdict{font-size:15px;min-height:22px}
.enonce .verdict.ok{color:var(--ok)}
.enonce .verdict.ko{color:var(--ko)}
.editeur{display:grid;grid-template-columns:1fr 480px;min-height:520px}
#blockly{min-height:520px;height:100%}
.scene{border-left:1px solid var(--line);background:var(--code);display:flex;flex-direction:column}
.scene .barre{display:flex;gap:8px;align-items:center;padding:8px 10px;border-bottom:1px solid var(--line)}
.scene .barre button{padding:6px 12px;font-size:15px}
.scene .barre .drapeau{background:var(--ok);color:var(--bg);border-color:var(--ok);font-weight:700}
.scene .barre .stop{color:var(--ko);border-color:var(--ko)}
.scene .barre .stop:hover{background:var(--ko);color:#fff}
.scene .barre .info{margin-left:auto;color:var(--muted);font-size:13px}
.scene canvas{display:block;width:480px;height:360px;background:#fff;border-radius:0 0 0 6px;outline:none}
.scene .sous{padding:8px 10px;color:var(--muted);font-size:13px;display:flex;gap:14px;flex-wrap:wrap}
.blocklyToolboxDiv{background:#f9f9f9;color:#333}
.blocklyTreeRow{padding:6px 8px!important;font-size:14px}
.blocklyMainBackground{stroke:none!important}
.blocklySvg{background:#f9f9f9}
@media(max-width:1100px){
.editeur{grid-template-columns:1fr}
.scene{border-left:0;border-top:1px solid var(--line)}
.scene canvas{width:100%;max-width:480px;height:auto;aspect-ratio:4/3}
}
@media(max-width:800px){
.atelier{grid-template-columns:1fr}
.exos{max-height:none;border-right:0;border-bottom:1px solid var(--line)}
.enonce{grid-template-columns:1fr}
.enonce .actions{flex-direction:row;flex-wrap:wrap}
#blockly{min-height:420px}
}
@media print{.atelier{display:block}.editeur,.scene,.exos{display:none}}
