/* Au-delà de la stéréo (avance-acoustique.html#spatial) */
.spatial-formats{grid-template-columns:repeat(4,minmax(0,1fr))}
.spatial-lab{max-width:1000px;margin:auto;padding:16px;border-radius:18px;background:#0d1118;border:1px solid #ffffff16;color:#e7ebf3}
.sp-phones{margin:0 0 12px;padding:8px 12px;border-radius:9px;background:#2b2a1c;color:#ffe7a6;font-size:13.5px}
.sp-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:center}
.sp-top{display:block;width:100%;max-width:420px;margin:auto;aspect-ratio:1;touch-action:none;cursor:crosshair;border-radius:50%;outline-offset:4px}
.sp-top:focus-visible{outline:2px solid #6f9bff}
.sp-top .ring{fill:#151a24;stroke:#ffffff22}
.sp-top .ring.in{fill:none;stroke-dasharray:3 4}
.sp-top .axis{stroke:#ffffff12}
.sp-top text{font:7px 'DM Mono';fill:#6c7588;letter-spacing:.05em}
.sp-top .head ellipse{fill:#2c3446;stroke:#8f98aa}
.sp-top .nose{fill:none;stroke:#8f98aa}
.sp-top .src circle{fill:#ffd36e;stroke:#fff;stroke-width:1.5}
.sp-ctrls{display:grid;gap:12px;align-content:start}
.sp-modes{display:grid;grid-template-columns:1fr 1fr;gap:5px}
.sp-modes button{padding:9px 10px;border:1px solid #ffffff1c;border-radius:9px;background:#1b202b;color:#e7ebf3;font:inherit;font-size:13px;font-weight:700;cursor:pointer}
.sp-modes button[aria-pressed=true]{background:#1f2a40;border-color:#6f9bff}
.sp-ctrls label{display:grid;gap:5px;font-size:13px;color:#cfd5e1}
.sp-ctrls output{font:12px 'DM Mono';color:#ffd36e;margin-left:6px}
.sp-ctrls input[type=range]{width:100%;accent-color:#ffd36e}
.sp-ctrls select{padding:6px;border:1px solid #ffffff2a;border-radius:6px;background:#1b2130;color:#fff;font:inherit;font-size:13px}
.sp-spin{display:flex!important;align-items:center;gap:8px;cursor:pointer}
.sp-spin input{accent-color:var(--mint);width:16px;height:16px}
.sp-read{margin:0;padding:10px 12px;border-radius:9px;background:#1b2130;font-size:13.5px;color:#cfd5e1}
.sp-read em{display:block;margin-top:4px;font-style:normal;color:#ff9a7e}
.sp-status{min-height:2.8em;margin:12px 2px 0;font-size:14px;color:var(--mint)}
@media(max-width:1000px){.spatial-formats{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.sp-grid{grid-template-columns:1fr}}
@media(max-width:560px){.spatial-formats{grid-template-columns:1fr}}

/* Chapitre Surround et immersif (avance-spatial.html) */
.sp-hero{flex-direction:row;flex-wrap:wrap;gap:4px 8px}
.sp-hero strong{font:600 88px 'DM Mono';line-height:1;color:#fff}
.sp-hero i{font:600 60px 'DM Mono';font-style:normal;color:var(--mint)}
.sp-hero small{flex-basis:100%;text-align:center;font:11px 'DM Mono';color:#8f98aa;letter-spacing:.08em}
.sp-four{grid-template-columns:repeat(4,minmax(0,1fr))}
.sp-table-wrap{overflow-x:auto;margin:18px 0;border:1px solid var(--line);border-radius:14px}
.sp-table{width:100%;min-width:620px;border-collapse:collapse;font-size:14px;background:#fff}
.sp-table th,.sp-table td{padding:12px 14px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;color:#434958}
.sp-table thead th{font:10px 'DM Mono';letter-spacing:.06em;color:var(--muted);background:#f6f7fa}
.sp-table tbody th{color:var(--ink);width:26%}
.sp-table tr:last-child>*{border-bottom:0}
.layout-lab,.object-lab{max-width:1100px;margin:auto;padding:16px;border-radius:18px;background:#0d1118;border:1px solid #ffffff16;color:#e7ebf3}
.ll-top,.ol-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 20px;margin-bottom:12px;font-size:13px;color:#cfd5e1}
.ll-top select{margin-left:6px;padding:6px;border:1px solid #ffffff2a;border-radius:6px;background:#1b2130;color:#fff;font:inherit;font-size:13px}
.ol-top label{display:flex;align-items:center;gap:8px}
.ol-top output{font:12px 'DM Mono';color:#ffd36e;min-width:40px}
.ol-top input[type=range]{width:160px;accent-color:#ffd36e}
.ll-fmts{display:flex;flex-wrap:wrap;gap:5px}
.ll-fmts button{padding:8px 13px;border:1px solid #ffffff1c;border-radius:9px;background:#1b202b;color:#e7ebf3;font:600 13px 'DM Mono';cursor:pointer}
.ll-fmts button[aria-pressed=true]{background:#1f2a40;border-color:#6f9bff}
.ll-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:start}
.ll-room{display:block;width:100%;max-width:440px;margin:auto;aspect-ratio:1}
.ll-room.obj{touch-action:none;cursor:crosshair;outline-offset:4px}
.ll-room.obj:focus-visible{outline:2px solid #6f9bff;border-radius:12px}
.ll-room .room{fill:#151a24;stroke:#ffffff22}
.ll-room .ring{fill:none;stroke:#ffffff14;stroke-dasharray:3 4}
.ll-room .head ellipse{fill:#2c3446;stroke:#8f98aa}
.ll-room .nose{fill:none;stroke:#8f98aa}
.ll-room .spk{cursor:pointer}
.ll-room .spk circle,.ll-room .spk rect{fill:#252b38;stroke:#8aabff;stroke-width:1.2}
.ll-room .spk.top rect{stroke:#d4a5ff}
.ll-room .spk.lfe rect{stroke:#ffb35c}
.ll-room .spk text{font:600 6.5px 'DM Mono';fill:#e7ebf3;pointer-events:none}
.ll-room .spk.on circle,.ll-room .spk.on rect{fill:#ffd36e;stroke:#fff}
.ll-room .spk.on text{fill:#151925}
.object-lab .ll-room .spk{cursor:default}
.object-lab .ll-room .spk.lit circle,.object-lab .ll-room .spk.lit rect{fill:rgba(139,232,189,var(--lvl));stroke:#8be8bd}
.object-lab .ll-room .spk.lit text{fill:#151925}
.ll-room .obj-dot circle{fill:#ffd36e;stroke:#fff;stroke-width:1.5}
.ll-room .obj-dot .halo{fill:none;stroke:#ffd36e66;stroke-width:1}
.ll-note{margin:0 0 10px;padding:10px 12px;border-radius:9px;background:#1b2130;font-size:13.5px;color:#cfd5e1}
.ll-note em{display:block;margin-top:4px;font-style:normal;color:#ff9a7e}
.ll-order{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:4px}
.ll-order li{display:grid;grid-template-columns:24px 42px minmax(0,1fr);align-items:center;gap:6px;padding:6px 8px;border-radius:7px;background:#151a24;font-size:12px;color:#aab2c2}
.ll-order span{font:10px 'DM Mono';color:#6c7588}
.ll-order b{font:600 12.5px 'DM Mono';color:#fff}
.ll-order li.on{background:#ffd36e;color:#151925}.ll-order li.on b,.ll-order li.on span{color:#151925}
.ll-actions{display:grid;gap:10px;margin-top:12px}
.ll-swap{display:flex;align-items:center;gap:8px;font-size:13px;color:#cfd5e1;cursor:pointer}
.ll-swap[hidden]{display:none}
.ll-swap input{accent-color:#ff8a5c;width:16px;height:16px}
.ll-status{min-height:2.8em;margin:12px 2px 0;font-size:14px;color:var(--mint)}
.ob-gains{display:grid;gap:4px;margin-bottom:10px}
.ob-gains div{display:grid;grid-template-columns:40px minmax(0,1fr) 64px;align-items:center;gap:8px;font-size:12px}
.ob-gains b{font:600 12px 'DM Mono'}
.ob-gains i{display:block;height:8px;border-radius:4px;background:#8be8bd}
.ob-gains span{font:11px 'DM Mono';color:#aab2c2;text-align:right}
.ob-bin{margin:0;padding:12px;border-radius:9px;background:#1b2130;font-size:13.5px;color:#cfd5e1}
@media(max-width:1000px){.sp-four{grid-template-columns:1fr 1fr}}
@media(max-width:800px){.ll-grid{grid-template-columns:1fr}}
@media(max-width:560px){.sp-four,.ll-order{grid-template-columns:1fr}.sp-hero strong{font-size:60px}}
