.camion{--bg:var(--fond);--surface:var(--fond-carte);--ink:var(--texte);--muted:var(--texte-doux);--line:var(--bordure);--pos:var(--bleu-500);--neg:#cc4308;--cab:#f2b705;--box:#e7edf7;--glass:#cfe4f5;--tire:#1b2236;--primary:var(--bleu-900);--on-primary:var(--blanc);background:var(--bg);color:var(--ink);font-family:var(--police);min-height:100vh;padding:20px max(16px, env(safe-area-inset-right,0px)) 36px max(16px, env(safe-area-inset-left,0px));font-size:16px;line-height:1.45}@media (prefers-color-scheme:dark){.camion{--bg:#0e1626;--surface:#162036;--ink:#e8edf7;--muted:#9aa7c2;--line:#2a3654;--pos:#6ba3ff;--neg:#ff8b52;--cab:#f5c542;--box:#4a5b7d;--glass:#2c4b68;--tire:#070b14;--primary:#e8edf7;--on-primary:#0e1626;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}.camion *{box-sizing:border-box}.camion .wrap{gap:16px;max-width:760px;margin:0 auto;display:grid}.camion h1{text-wrap:balance;margin:0;font-size:clamp(26px,6vw,34px);font-weight:700;line-height:1.1}.camion .sub{color:var(--muted);margin:6px 0 0}.camion .retour{color:var(--pos);font-weight:600;text-decoration:none}.camion button{color:inherit;font-family:inherit}.camion button:focus-visible{outline:3px solid var(--pos);outline-offset:2px}.camion .builder{background:var(--surface);border:1px solid var(--line);border-radius:14px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;padding:14px;display:grid}.camion .field{align-content:start;gap:6px;min-width:0;display:grid}.camion .lbl{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:12px;font-weight:700}.camion .stepper,.camion .seg{border:1px solid var(--line);background:var(--bg);border-radius:10px;display:flex;overflow:hidden}.camion .stepper button{cursor:pointer;background:0 0;border:0;width:46px;height:46px;font-size:24px}.camion .stepper button:active{background:var(--line)}.camion .stepper output{font-variant-numeric:tabular-nums;flex:1;place-items:center;min-width:0;font-size:24px;font-weight:700;display:grid}.camion .seg button{height:46px;color:var(--muted);cursor:pointer;background:0 0;border:0;flex:1;font-size:24px;font-weight:700}.camion .seg button[aria-pressed=true]{background:var(--primary);color:var(--on-primary)}.camion .expr{font-variant-numeric:tabular-nums;flex-wrap:wrap;justify-content:center;align-items:center;gap:2px 4px;padding:2px 0;font-size:clamp(28px,8.2vw,46px);font-weight:700;line-height:1.2;display:flex}.camion .part{opacity:.32;white-space:nowrap;border-radius:10px;padding:2px 10px;transition:opacity .3s,background .3s}.camion .part.reached{opacity:1}.camion .part.on{background:color-mix(in srgb, var(--ink) 10%, transparent)}.camion .part.op.p{color:var(--pos)}.camion .part.op.n{color:var(--neg)}.camion .scene{background:var(--surface);border:1px solid var(--line);border-radius:14px;overflow:hidden}.camion #host{min-height:294px}.camion #host svg{max-width:100%;display:block}.camion .caption{min-height:4.6em;margin:0;padding:4px 16px 14px;font-size:16.5px}.camion .actions{flex-wrap:wrap;gap:10px;display:flex}.camion .btn{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:12px;height:48px;padding:0 18px;font-size:16px;font-weight:700}.camion .btn.primary{background:var(--primary);color:var(--on-primary);border-color:var(--primary);flex:220px}.camion .btn:disabled{opacity:.45;cursor:default}.camion .examples{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.camion .chip{border:1px solid var(--line);background:var(--surface);font-family:var(--police-mono);cursor:pointer;border-radius:999px;padding:6px 12px;font-size:14px;font-weight:600}.camion .chip:hover{border-color:var(--ink)}.camion .rules{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:14px 16px}.camion .rules h2{margin:0 0 8px;font-size:18px}.camion .rules ul{gap:6px;margin:0;padding-left:18px;display:grid}.camion .p-txt{color:var(--pos);font-weight:700}.camion .n-txt{color:var(--neg);font-weight:700}.camion .road{stroke:var(--ink);fill:var(--ink)}.camion .tick{stroke:var(--ink);stroke-width:1.5px}.camion .t-lbl{font-family:var(--police-mono);text-anchor:middle;fill:var(--ink);font-size:12px;font-weight:600}.camion .t-lbl.p{fill:var(--pos)}.camion .t-lbl.n{fill:var(--neg)}.camion .side-lbl{font-family:var(--police);letter-spacing:.09em;text-transform:uppercase;font-size:11px;font-weight:700}.camion .shelf{fill:var(--line);stroke:var(--ink);stroke-width:1.5px}.camion .park-lbl{font-family:var(--police);letter-spacing:.12em;text-transform:uppercase;fill:var(--ink);opacity:.8;text-anchor:middle;font-size:10px;font-weight:700}.camion .c-line{stroke:var(--ink);stroke-width:1.5px;stroke-linejoin:round}.camion .c-box{fill:var(--box)}.camion .c-cab{fill:var(--cab)}.camion .c-glass{fill:var(--glass)}.camion .c-rib{fill:none;stroke:var(--ink);stroke-width:1.2px;opacity:.35}.camion .c-chassis{fill:var(--tire)}.camion .c-wheel{fill:var(--tire);stroke:var(--ink);stroke-width:1.2px}.camion .c-hub{fill:var(--box)}.camion .c-head{fill:#ffe066;stroke:var(--ink);stroke-width:.8px}.camion .c-tail{fill:#e03131;stroke:var(--ink);stroke-width:.8px}.camion .look-p{stroke:var(--pos);fill:var(--pos)}.camion .look-n{stroke:var(--neg);fill:var(--neg)}.camion .look-t{text-anchor:middle;stroke:none;font-size:20px;font-weight:800}.camion .rail{fill:var(--line);stroke:var(--ink);stroke-width:1.5px}.camion .trolley{fill:var(--cab);stroke:var(--ink);stroke-width:1.5px}.camion .cable{stroke:var(--ink);stroke-width:3px}.camion .k-body{fill:var(--cab);stroke:var(--ink);stroke-width:1.5px}.camion .k-band{fill:var(--tire);opacity:.85}.camion .k-jaw{fill:var(--tire);stroke:var(--ink);stroke-width:1.5px;stroke-linejoin:round}.camion .k-pad{fill:var(--muted)}.camion .k-pin{fill:var(--box);stroke:var(--ink);stroke-width:1.2px}.camion .k-sheave{fill:var(--tire);stroke:var(--ink);stroke-width:1.5px}@media (prefers-reduced-motion:reduce){.camion .part{transition:none}}
