/* Jouer sur scène avec un ordinateur (scene.html) */
.scene-hero{min-height:560px}
.scene-hero .plugin-back{margin-bottom:28px}
.scene-hero-art{display:grid;grid-template-columns:1fr 40px 1.2fr;align-items:center;gap:10px;padding:30px;border-radius:20px;background:var(--ink);transform:rotate(-2deg);box-shadow:0 18px 40px #15192530}
.st-laptop{aspect-ratio:1.5;border-radius:10px 10px 4px 4px;background:#252b38;border:2px solid #8f98aa;display:grid;place-items:center;font:600 16px 'DM Mono';color:#8be8bd}
.scene-hero-art>i{height:3px;background:repeating-linear-gradient(90deg,#ffd36e 0 6px,transparent 6px 10px)}
.st-outs{display:grid;gap:10px}
.st-outs b{padding:12px;border-radius:9px;font:11px 'DM Mono';letter-spacing:.05em}
.st-outs .foh{background:#1762ff33;border:1px solid #8aabff;color:#cfe0ff}
.st-outs .ears{background:#8be8bd22;border:1px solid #8be8bd;color:#bff3da}
.scene-levels{margin:18px 0;padding-left:0;list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;counter-reset:lv}
.scene-levels li{position:relative;padding:18px 18px 18px 54px;border-radius:13px;background:#eef1f7;counter-increment:lv}
.scene-levels li:before{content:counter(lv);position:absolute;left:16px;top:16px;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--blue);color:#fff;font:600 13px 'DM Mono'}
.scene-levels b{display:block;margin-bottom:4px}
.scene-levels p{margin:0;font-size:13.5px;color:#434958}
/* Outil façade / retours */
.stage-routing{margin:18px 0;padding:16px;border-radius:18px;background:var(--ink);color:#fff}
.sr-matrix{display:grid;grid-template-columns:minmax(0,1.6fr) repeat(2,minmax(0,1fr));gap:4px;align-items:stretch}
.sr-h{display:grid;align-content:end;padding:6px 10px}
.sr-h b{font-size:14px}.sr-h small{font-size:11.5px;color:#8f98aa}
.sr-src{padding:10px 12px;border-radius:9px;background:#1b202b}
.sr-src b{display:block;font-size:13.5px}.sr-src small{font-size:11.5px;color:#8f98aa}
.sr-cell{position:relative;display:grid;place-items:center;border-radius:9px;background:#1b202b;cursor:pointer}
.sr-cell input{position:absolute;opacity:0;inset:0;cursor:pointer}
.sr-cell span{width:26px;height:26px;border-radius:7px;border:2px solid #4d5568;display:grid;place-items:center}
.sr-cell input:checked+span{background:#8be8bd;border-color:#8be8bd}
.sr-cell input:checked+span:after{content:"✓\FE0E";color:#151925;font-weight:800;font-size:15px}
.sr-cell input:focus-visible+span{outline:2px solid #6f9bff;outline-offset:2px}
.sr-listen{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin:14px 0}
.sr-listen [role=group]{display:flex;flex-wrap:wrap;gap:5px}
.sr-listen [data-l]{padding:9px 12px;border:1px solid #ffffff1c;border-radius:9px;background:#1b202b;color:#e7ebf3;font:inherit;font-size:13px;font-weight:700;cursor:pointer}
.sr-listen [data-l][aria-pressed=true]{background:#1f2a40;border-color:#6f9bff}
.sr-out{padding:12px;border-radius:12px;background:#0b0f16}
.sr-out small{font:9px 'DM Mono';letter-spacing:.06em;color:#8f98aa}
.sr-out table{width:100%;margin-top:6px;border-collapse:collapse;font-size:13px}
.sr-out th,.sr-out td{padding:6px 8px;border-top:1px solid #ffffff12;text-align:left;color:#cfd5e1}
.sr-out th{font:11px 'DM Mono';color:#ffd36e;white-space:nowrap;width:1%}
.sr-report{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:5px}
.sr-report li{padding:8px 12px;border-radius:8px;background:#2e2228;font-size:13.5px;color:#ffcfc4}
.sr-report li.ok{background:#16382c;color:#bff3da}
.sr-report li.warn{background:#2b2a1c;color:#ffe7a6}
/* Checklist */
.stage-check{margin:18px 0;padding:18px;border-radius:16px;background:#fff;border:1px solid var(--line)}
.sc-head{display:flex;align-items:center;gap:12px;margin-bottom:10px}
.sc-head b{font:600 14px 'DM Mono'}
.sc-head span{flex:1;height:8px;border-radius:4px;background:#eef1f7;overflow:hidden}
.sc-head i{display:block;height:100%;width:0;background:#2c9d63;transition:width .2s}
.stage-check fieldset{margin:10px 0;padding:12px 14px;border:1px solid var(--line);border-radius:12px}
.stage-check fieldset.done{border-color:#2c9d63;background:#f1faf5}
.stage-check legend{padding:0 6px;font-weight:800}
.stage-check label{display:flex;align-items:flex-start;gap:10px;margin:6px 0;font-size:14.5px;color:#434958;cursor:pointer}
.stage-check input{accent-color:#2c9d63;width:17px;height:17px;margin-top:2px;flex:0 0 auto}
.sc-msg{margin:10px 0 0;font-size:14px;color:#1f7a4a}
@media(max-width:900px){.scene-levels{grid-template-columns:1fr}}
@media(max-width:700px){.scene-hero{min-height:0}.scene-hero-art{transform:none;padding:18px}.sr-matrix{grid-template-columns:minmax(0,1.3fr) repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.sr-out tr{display:grid;grid-template-columns:auto 1fr;gap:0 8px;padding:6px 0;border-top:1px solid #ffffff12}.sr-out th,.sr-out td{display:block;border:0;padding:2px 4px}.sr-out td:last-child{grid-column:2}.sr-matrix{grid-template-columns:minmax(0,1.2fr) repeat(2,minmax(0,1fr))}.sr-src{padding:8px}}
