/* Technologie Tournelles — blocs de programmation façon Scratch */
.bwrap{position:relative;overflow:auto;background:var(--sunk);border-radius:12px;padding:14px 14px 14px 26px;min-height:80px}
.sb{display:flex;flex-direction:column;gap:22px;font-family:var(--f-body);font-size:.95rem;line-height:1.2;width:max-content;min-width:100%}
.sb.small{font-size:.85rem}
.scr{display:flex;flex-direction:column;align-items:flex-start}
.b{--bc:#888;--bd:#666;--tx:#fff;position:relative;color:var(--tx);font-weight:700;margin-top:-1px}
.b > .bh{background:var(--bc);border:1.5px solid var(--bd);border-radius:7px;padding:7px 12px 7px 10px;display:flex;align-items:center;gap:6px;flex-wrap:wrap;min-height:38px;position:relative;max-width:min(560px,80vw)}
/* encoches */
.b > .bh::before{content:"";position:absolute;left:16px;top:-1.5px;width:22px;height:6px;background:var(--sunk);border:1.5px solid var(--bd);border-top:none;border-radius:0 0 6px 6px}
.b > .bh::after{content:"";position:absolute;left:16px;bottom:-7px;width:22px;height:6px;background:var(--bc);border:1.5px solid var(--bd);border-top:none;border-radius:0 0 6px 6px;z-index:2}
.b.hat > .bh{border-radius:22px 22px 7px 7px;padding-top:14px}
.b.hat > .bh::before{display:none}
.b.my.hat > .bh{border-radius:16px 16px 7px 7px}
.b.cap > .bh::after{display:none}
/* blocs en C */
.b.c{display:flex;flex-direction:column;align-items:flex-start}
.b.c > .bh{border-radius:7px 7px 0 0;border-bottom:none}
.b.c > .bh::after{left:34px}
.b.c > .bbody{border-left:18px solid var(--bc);box-shadow:-1.5px 0 0 var(--bd);margin-left:1.5px;padding:2px 0 8px 0;min-width:120px;display:flex;flex-direction:column;align-items:flex-start;position:relative}
.b.c > .bbody .bempty{height:24px;width:90px;border:1.5px dashed rgba(0,0,0,.25);border-radius:6px;margin:4px 0 0 4px}
.b.c > .belse{background:var(--bc);border:1.5px solid var(--bd);border-left:none;border-right:none;padding:6px 12px;min-width:120px;border-radius:0 7px 7px 0;box-shadow:inset 1.5px 0 0 var(--bd), 1.5px 0 0 var(--bd)}
.b.c > .bfoot{background:var(--bc);border:1.5px solid var(--bd);border-top:none;height:20px;min-width:110px;border-radius:0 0 7px 7px;position:relative}
.b.c > .bfoot::after{content:"";position:absolute;left:16px;bottom:-7px;width:22px;height:6px;background:var(--bc);border:1.5px solid var(--bd);border-top:none;border-radius:0 0 6px 6px;z-index:2}
.b.c.capc > .bfoot::after{display:none}
.b.c.capc > .bfoot::before{content:"↻";position:absolute;right:10px;top:1px;font-size:.85rem;opacity:.85}
/* couleurs (proches de Scratch, contraste renforcé) */
.b.ev{--bc:#ffbf00;--bd:#cc9900;--tx:#2b2100}
.b.ctl{--bc:#ffab19;--bd:#cf8b17;--tx:#2b1a00}
.b.mv{--bc:#3d7ee8;--bd:#2c5fb3;--tx:#fff}
.b.lk{--bc:#8b5fe0;--bd:#6a45c2;--tx:#fff}
.b.snd{--bc:#c04fc0;--bd:#9a3a9a;--tx:#fff}
.b.var{--bc:#ff8c1a;--bd:#db6e00;--tx:#2b1400}
.b.sens{--bc:#5cb1d6;--bd:#2e8eb8;--tx:#06222e}
.b.op{--bc:#59c059;--bd:#389438;--tx:#062406}
.b.my{--bc:#ff6680;--bd:#e64d6a;--tx:#2e0710}
.b.ext{--bc:#0fbd8c;--bd:#0b8e69;--tx:#032a1f}
/* champs */
.bi{display:inline-flex;align-items:center;gap:3px;font-weight:700;line-height:1.1}
.bi.num{background:#fff;color:#1a2325;border-radius:999px;padding:3px 9px;font-family:var(--f-mono);font-weight:500;min-width:26px;justify-content:center;border:1px solid rgba(0,0,0,.18)}
.bi.txt{background:#fff;color:#1a2325;border-radius:5px;padding:3px 8px;font-weight:500;border:1px solid rgba(0,0,0,.18)}
.bi.dd{background:rgba(0,0,0,.12);color:inherit;border-radius:5px;padding:3px 8px;border:1px solid rgba(0,0,0,.18)}
.bi.dd i{font-style:normal;font-size:.7em;opacity:.8}
.bi.rep{border-radius:999px;padding:3px 10px;border:1.5px solid rgba(0,0,0,.25)}
.bi.rep.var{background:#ff8c1a;color:#2b1400}
.bi.rep.sens{background:#5cb1d6;color:#06222e}
.bi.rep.op{background:#59c059;color:#062406;padding:2px 6px}
.bi.bool{padding:3px 14px;clip-path:polygon(10px 0,calc(100% - 10px) 0,100% 50%,calc(100% - 10px) 100%,10px 100%,0 50%);min-height:26px}
.bi.bool.op{background:#59c059;color:#062406}
.bi.bool.sens{background:#5cb1d6;color:#06222e}
.bi.bool .bi.bool.op{background:#7bd47b}
.bi.bool .bi.bool.sens{background:#7cc4e4}
.bi.proto{background:#ff8fa3;border-radius:6px;padding:4px 10px;border:1.5px solid #e64d6a}
.b svg.flag{width:20px;height:20px;vertical-align:middle}
.b .rot{font-size:1.1em}
/* jeton */
.b.cur > .bh{box-shadow:0 0 0 3px #ffd400,0 0 14px 2px rgba(255,212,0,.9)}
.btok{position:absolute;left:0;top:0;width:18px;height:18px;border-radius:50%;background:var(--tc,#ffd400);border:2.5px solid #1a2325;box-shadow:0 0 0 4px rgba(255,212,0,.35),0 0 14px var(--tc,#ffd400);transition:transform .22s ease;z-index:5;pointer-events:none}
.b.bad > .bh{box-shadow:0 0 0 3px var(--ko),0 0 12px var(--ko)}
.b.good > .bh{box-shadow:0 0 0 3px var(--ok)}
.b.pick > .bh{cursor:pointer}
.b.pick > .bh:hover{filter:brightness(1.08);outline:3px solid var(--focus);outline-offset:1px}
.b.sel > .bh{outline:3px solid var(--focus);outline-offset:1px}
/* scène */
.bstage{display:block;width:100%;height:auto;border-radius:10px;border:1.5px solid var(--line);background:#fff}
.bctrl{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.bctrl .flagbtn{background:#2f9e44;border-color:#2f9e44;color:#fff}
.bctrl .flagbtn svg{width:18px;height:18px}
.bctrl .stopbtn{background:#d9480f;border-color:#d9480f;color:#fff}
.lapbadge{display:inline-flex;align-items:center;gap:6px;font-family:var(--f-mono);font-size:.85rem;background:#fff3d6;color:#5a3d00;border:1.5px solid #ffab19;border-radius:999px;padding:2px 10px}
.devs{display:flex;flex-wrap:wrap;gap:8px}
.dev{display:flex;align-items:center;gap:8px;border:1.5px solid var(--line);border-radius:10px;padding:6px 10px;background:var(--surface);font-weight:700;font-size:.9rem}
.dev .led{width:16px;height:16px;border-radius:50%;background:#555;border:2px solid #222}
.dev.on .led{background:var(--lc,#ffd400);box-shadow:0 0 10px var(--lc,#ffd400)}
.dev .val{font-family:var(--f-mono);background:var(--sunk);border-radius:6px;padding:1px 8px}
