/* Synthèse granulaire et modélisation (avance-synthese.html#granulaire, #modelisation) */
.syn-lab-title{margin:30px 0 6px;font-size:21px;scroll-margin-top:110px}
.gr-lab,.ml-lab{display:grid;gap:12px;margin:14px 0 18px;padding:16px;border-radius:18px;background:var(--ink);color:#fff}
.gr-lab button,.ml-lab button{padding:8px 12px;border:1px solid #ffffff1c;border-radius:9px;background:#1b202b;color:#e7ebf3;font:inherit;font-size:13px;font-weight:700;cursor:pointer}
.gr-lab button[aria-pressed=true],.ml-lab button[aria-pressed=true]{background:#1f2a40;border-color:#6f9bff}
.gr-lab .gr-play,.ml-lab .ml-go{background:var(--mint);border-color:var(--mint);color:var(--ink);min-width:96px}
.gr-lab button:disabled{opacity:.5;cursor:wait}
.gr-top,.ml-top{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}
.gr-seg,.ml-seg{display:flex;flex-wrap:wrap;gap:5px}
.gr-canvas{display:block;width:100%;height:150px;border-radius:12px;background:#0d111a}
.ml-canvas{display:block;width:100%;height:220px;border-radius:12px;background:#0d111a}
.gr-ctrls,.ml-ctrls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 16px}
.ml-ctrls{grid-template-columns:repeat(4,minmax(0,1fr))}
.gr-ctrls label,.ml-ctrls label{display:grid;gap:4px;min-width:0;font-size:12.5px;color:#cfd5e1}
.gr-ctrls output,.ml-ctrls output{font:600 11.5px 'DM Mono',monospace;color:#ffd36e}
.gr-ctrls input,.ml-ctrls input{width:100%;accent-color:var(--mint)}
.ml-mat{display:flex;align-items:center;gap:8px;font-size:13px;color:#cfd5e1}
.ml-mat select{padding:7px 10px;border-radius:8px;border:1px solid #ffffff33;background:#10141d;color:#fff;font:inherit}
.ml-compare{display:grid;gap:6px;padding:10px 12px;border-radius:12px;background:#ffffff0a}
.ml-compare small{font:9.5px 'DM Mono',monospace;letter-spacing:.08em;color:#ffd36e}
.gr-lab .gr-status,.ml-lab .ml-status{margin:0;min-height:3em;font-size:13.5px;line-height:1.5;color:#e7ebf3}
.syn-table-wrap{overflow-x:auto;margin:14px 0}
.syn-table{width:100%;min-width:640px;border-collapse:collapse;font-size:14px}
.syn-table th{padding:8px 10px;text-align:left;font:10px 'DM Mono',monospace;letter-spacing:.06em;color:#6b7280;border-bottom:2px solid var(--line)}
.syn-table td{padding:10px;border-bottom:1px solid var(--line);color:#434958;vertical-align:top}
.syn-table td:first-child{font-weight:700;color:var(--ink)}
.syn-table .win{color:#1f7a4a;font-weight:700}
@media(max-width:800px){.gr-ctrls,.ml-ctrls{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.gr-ctrls,.ml-ctrls{grid-template-columns:1fr}}
/* Table d'onde (avance-synthese.html#table-d-onde) */
.wt-top{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}
.wt-view{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:10px}
.wt-stack,.wt-cycle,.wt-spec{display:block;width:100%;height:auto;border-radius:12px;background:#0d111a}
.wt-side{display:grid;gap:10px;align-content:start}
.wt-ctrls label[hidden]{display:none}
.gr-lab .wt-status{margin:0;font-size:13.5px;line-height:1.55;color:#e7ebf3}.wt-status b{color:#8be8bd}
@media(max-width:760px){.wt-view{grid-template-columns:1fr}}
/* Additive : orgue à tirettes */
.ad-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:12px;align-items:stretch}
.ad-bars{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:4px;padding:10px 8px;border-radius:12px;background:#2a2118}
.ad-bar{display:grid;justify-items:center;gap:4px;min-width:0}
.ad-bar output{font:600 12px 'DM Mono',monospace;color:#fff}
.ad-bar input{writing-mode:vertical-lr;direction:ltr;width:22px;height:150px;margin:0;accent-color:#e7ebf3}
.ad-bar span{font:600 10px 'DM Mono',monospace;color:#e8d9c4;white-space:nowrap}
.ad-bar.b0 input,.ad-bar.b1 input{accent-color:#b5612f}.ad-bar.b2 input,.ad-bar.b3 input{accent-color:#f3efe6}.ad-bar.b4 input,.ad-bar.b5 input,.ad-bar.b6 input,.ad-bar.b7 input,.ad-bar.b8 input{accent-color:#2c2c2c}
.ad-spec{display:block;width:100%;height:auto;border-radius:12px;background:#0d111a}
.ad-ctrls{grid-template-columns:repeat(2,minmax(0,1fr))}
/* FM */
.fm-body{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr);gap:12px}
.fm-algo{display:grid;gap:8px;align-content:start;padding:10px;border-radius:12px;background:#151925}.fm-algo small{font:600 10.5px 'DM Mono',monospace;color:#8f98aa;letter-spacing:.06em}
.fm-col{display:grid;justify-items:center;gap:4px}.fm-row{display:flex;gap:8px}.fm-col>i{font-style:normal;color:#8be8bd}
.fm-op{display:grid;justify-items:center;min-width:86px;padding:6px 8px;border-radius:8px;border:1px solid #4d5568;background:#1b202b}.fm-op b{font-size:13px}.fm-op small{font:10px 'DM Mono',monospace;color:#b7c0ce}
.fm-op.on{border-color:#ffb35c}.fm-op.off{opacity:.45}.fm-op.car{border-color:#8be8bd}.fm-out{font:600 10.5px 'DM Mono',monospace;color:#8f98aa}
.fm-spec{display:block;width:100%;height:auto;border-radius:12px;background:#0d111a}
.fm-ops{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.fm-ops fieldset{display:grid;gap:8px;margin:0;padding:10px;border:1px solid #ffffff1c;border-radius:12px;min-width:0}
.fm-ops legend{padding:0 6px;font:700 10.5px 'DM Mono',monospace;color:#ffb35c;letter-spacing:.06em}
.fm-ops label{display:grid;gap:4px;font-size:12.5px;color:#cfd5e1}.fm-ops output{font:600 11.5px 'DM Mono',monospace;color:#ffd36e}.fm-ops input{width:100%;accent-color:var(--mint)}
@media(max-width:760px){.ad-body,.fm-body,.fm-ops,.ad-ctrls{grid-template-columns:1fr}.ad-bar input{height:120px}}
