/* Atelier de code : styles limités aux missions Python. */
.code-workbench{--cw-mono:ui-monospace,SFMono-Regular,Consolas,"Liberation Mono",monospace;margin-top:20px;min-width:0}
.cw-data-guide{padding:24px;margin-bottom:20px;border:1px solid #416274;border-radius:14px;background:#102431;min-width:0}.cw-data-guide>.eyebrow{font-size:.62rem;color:var(--cyan)}.cw-data-guide h3{margin:0 0 14px;font-size:1.15rem}.cw-data-intro,.cw-data-note{font-size:.82rem;line-height:1.65}.cw-data-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:14px 0 23px}.cw-data-fields>div{padding:12px;border-radius:7px;background:#0a1b28}.cw-data-fields dt{font:.82rem/1.6 var(--cw-mono);color:var(--cyan)}.cw-data-fields dd{margin:5px 0 0;font-size:.78rem;line-height:1.6;color:var(--muted)}.cw-data-columns{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:24px;align-items:start}.cw-data-columns>div{min-width:0}.cw-data-table{width:100%;min-width:410px;table-layout:auto;font-size:.78rem;line-height:1.6}.cw-data-table caption{text-align:left;font-weight:600;color:var(--text);margin-bottom:12px}.cw-data-table th,.cw-data-table td{padding:10px 8px;white-space:normal;vertical-align:top;letter-spacing:0}.cw-data-table th[scope=row]{color:var(--cyan);font-size:.77rem;font-weight:500;text-transform:none}.cw-data-table td:last-child{width:auto;text-align:left;white-space:normal;color:var(--muted)}.cw-data-table code{font:inherit;font-family:var(--cw-mono)}.cw-data-example h4{margin:0 0 12px;font-size:.8rem}.cw-data-example pre{margin:0;padding:15px;border:1px solid #334b5b;border-radius:7px;background:#07131f;color:#deebf2;font:.76rem/1.75 var(--cw-mono);white-space:pre;overflow-x:auto}.cw-data-example pre code{font:inherit}.cw-data-example>p{font-size:.73rem;color:var(--muted);line-height:1.6;margin:12px 0 0}.cw-data-note{margin:20px 0 0;padding-top:16px;border-top:1px solid #355365;color:#d6e7ef}
@media(max-width:1050px){.cw-data-columns{grid-template-columns:1fr}.cw-data-guide{padding:20px}}
@media(max-width:600px){.cw-data-fields{grid-template-columns:1fr;gap:8px}.cw-data-guide{padding:17px}.cw-data-guide h3{font-size:1rem}.cw-data-example pre{font-size:.72rem;padding:12px}}
.cw-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(250px,.8fr);gap:20px;align-items:start}
.cw-main,.cw-guide{min-width:0;border:1px solid var(--line);border-radius:14px;background:var(--panel);overflow:hidden}
.cw-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:24px 25px 0}.cw-heading h3{margin:0;font-size:1.1rem}.cw-heading .eyebrow{font-size:.61rem}.cw-language{font:600 .7rem var(--cw-mono);color:var(--orange);border:1px solid #715d45;border-radius:5px;padding:6px 9px;white-space:nowrap}
.cw-editor-help{font-size:.8rem;color:var(--muted);padding:14px 25px 0;margin-bottom:18px;max-width:670px}
.cw-editor{margin:0;overflow:auto;padding:23px 25px;background:#07131f;border-top:1px solid #2e4658;border-bottom:1px solid #2e4658;color:#e7eff7;font:400 .85rem/1.9 var(--cw-mono);tab-size:4;white-space:pre}.cw-editor code{font:inherit}.cw-blank{display:inline-block;width:var(--blank-width,8ch);min-width:8ch;max-width:42ch;border:1px solid #d8a15f;border-radius:5px;background:#3b3024;color:#ffe3be;vertical-align:baseline;padding:5px 7px;min-height:35px;font:500 .85rem/1.5 var(--cw-mono);letter-spacing:0}.cw-blank::placeholder{color:#d8bc98;opacity:1}.cw-blank:focus{background:#483b2b}.cw-blank[aria-invalid=true]{border-color:var(--danger);background:#482a2a}.cw-blank:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}
.cw-actions{display:flex;flex-wrap:wrap;gap:9px;padding:20px 25px 12px;align-items:center}.cw-actions button{font-size:.8rem}.cw-actions .cw-reset{margin-left:auto;background:transparent;color:var(--muted);font-size:.73rem;font-weight:500}.cw-runtime-note{font-size:.71rem;line-height:1.55;color:var(--muted);margin:0;padding:0 25px 17px;max-width:750px}.cw-status{padding:17px 25px;border-top:1px solid var(--line);font-size:.82rem;min-height:60px;line-height:1.6;color:var(--muted)}.cw-status.ok{color:var(--success);background:#153431}.cw-status.error{color:var(--danger);background:#2b2529}
.cw-guide{padding:22px}.cw-guide .eyebrow{font-size:.57rem}.cw-guide h4{font-size:.9rem;line-height:1.4;margin:0 0 13px}.cw-guide p{font-size:.78rem;color:var(--muted)}.cw-example pre{font:.77rem/1.7 var(--cw-mono);white-space:pre-wrap;overflow-wrap:anywhere;border:1px solid #334b5b;border-radius:6px;padding:13px;background:#0b1a27;margin:0 0 13px;color:#deebf2}.cw-expected{display:grid;gap:7px;margin-bottom:0}.cw-expected span{font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.cw-expected code{font:.83rem/1.5 var(--cw-mono);color:var(--cyan);overflow-wrap:anywhere}.cw-hints{margin-top:23px;padding-top:20px;border-top:1px solid var(--line)}.cw-hints h4{color:var(--orange)}.cw-hints details{border-top:1px solid #2a4253}.cw-hints details:first-of-type{border-top:0}.cw-hints summary{font-size:.77rem;min-height:44px;padding:13px 0;color:#dfebf2}.cw-hints details p{font-size:.78rem;margin:0 0 13px;line-height:1.6}
.cw-results:empty{display:none}.cw-results{border-top:1px solid var(--line);padding:18px}.cw-error{max-height:230px;overflow:auto;padding:15px;border:1px solid #744b4a;border-radius:7px;background:#211a22;color:var(--danger);font:.76rem/1.65 var(--cw-mono);white-space:pre-wrap;overflow-wrap:anywhere;margin:0 0 14px}.cw-error:last-child{margin-bottom:0}.cw-table-scroll{overflow-x:auto}.cw-tests{font:.74rem/1.55 var(--cw-mono);width:100%;min-width:430px}.cw-tests caption{text-align:left;font:600 .82rem/1.5 Inter,ui-sans-serif,system-ui,sans-serif;margin-bottom:12px;color:var(--text)}.cw-tests th{padding:10px 8px;white-space:normal;letter-spacing:0}.cw-tests th[scope=row]{color:var(--text);font-family:Inter,ui-sans-serif,system-ui,sans-serif;min-width:110px;font-size:.73rem;font-weight:500}.cw-tests td{padding:9px 8px;vertical-align:top;max-width:230px;overflow-wrap:anywhere;white-space:pre-wrap}.cw-tests td:last-child{width:auto;white-space:nowrap}.cw-tests code{font:inherit}.cw-test-call{display:block;margin-top:5px;font:.65rem/1.5 var(--cw-mono)!important;color:var(--muted);overflow-wrap:anywhere}.cw-test-verdict{font:600 .7rem/1.6 Inter,ui-sans-serif,system-ui,sans-serif}.cw-passed .cw-test-verdict{color:var(--success)}.cw-failed .cw-test-verdict{color:var(--danger)}
.cw-details{padding:0 23px;margin-top:17px;border:1px solid var(--line);border-radius:11px;background:#101f2b}.cw-details>summary{font-size:.83rem}.cw-details>p{font-size:.78rem;color:var(--muted);max-width:900px}.cw-read-code{font:.8rem/1.75 var(--cw-mono);white-space:pre;overflow:auto;background:#07131f;border:1px solid #304758;border-radius:7px;padding:18px;margin:0 0 23px;max-height:430px}.cw-full-source{font:.8rem/1.75 var(--cw-mono);display:block;width:100%;resize:vertical;min-height:180px;max-height:650px;border:1px solid #4c687a;border-radius:7px;background:#07131f;color:var(--text);padding:16px;white-space:pre;tab-size:4}.cw-copy-row{display:flex;gap:16px;align-items:center;flex-wrap:wrap;padding:16px 0 21px}.cw-copy-row button{font-size:.75rem}.cw-copy-status{font-size:.75rem;color:var(--success)}
@media(max-width:1050px){.cw-layout{grid-template-columns:minmax(0,1.5fr) minmax(240px,.8fr);gap:14px}.cw-heading{padding:21px 19px 0}.cw-editor-help{padding-left:19px;padding-right:19px}.cw-editor{padding:20px 19px;font-size:.8rem}.cw-blank{font-size:.8rem}.cw-actions{padding-left:19px;padding-right:19px}.cw-runtime-note,.cw-status{padding-left:19px;padding-right:19px}.cw-guide{padding:19px}.cw-actions .cw-reset{margin-left:0}}
@media(max-width:800px){.cw-layout{grid-template-columns:1fr}.cw-guide{display:grid;grid-template-columns:1fr 1fr;gap:23px}.cw-hints{margin:0;padding:0 0 0 21px;border-top:0;border-left:1px solid var(--line)}.cw-editor{line-height:2}}
@media(max-width:520px){.cw-guide{display:block}.cw-hints{padding:20px 0 0;margin-top:22px;border-left:0;border-top:1px solid var(--line)}.cw-heading h3{font-size:1rem}.cw-editor{padding-left:15px;font-size:.75rem}.cw-blank{font-size:.75rem;min-height:37px;max-width:30ch}.cw-actions{gap:8px}.cw-actions button{padding:9px 11px;font-size:.74rem}.cw-actions .cw-reset{font-size:.7rem}.cw-details{padding:0 17px}.cw-results{padding:14px}.cw-full-source{font-size:.72rem}}
.cw-test-data>summary{font:500 .67rem/1.5 Inter,ui-sans-serif,system-ui,sans-serif;min-height:30px;padding:5px 0;color:var(--cyan)}.cw-test-data[open]>summary{margin-bottom:0}.cw-test-detail{font:.69rem/1.5 Inter,ui-sans-serif,system-ui,sans-serif;color:var(--danger);margin:7px 0 0}.cw-output{margin-top:14px;border-top:1px solid var(--line)}.cw-output>summary{font-size:.75rem;min-height:42px;padding:12px 0}.cw-output pre{font:.75rem/1.6 var(--cw-mono);white-space:pre-wrap;overflow-wrap:anywhere;max-height:250px;overflow:auto;background:#07131f;padding:12px;border-radius:6px}

.cw-data-key{padding-top:16px;border-top:1px solid var(--line);margin:18px 0 0;font-size:.73rem!important;line-height:1.65}.cw-data-key strong{display:block;color:#dce8f0;font-size:.73rem;margin-bottom:6px}
