/* Figer, rendre, imprimer (avance-routage.html#figer) */
.freeze-lab{margin:26px 0;padding:16px;border-radius:18px;background:var(--ink);color:#fff}
.fz-ops{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.fz-ops button{display:grid;gap:2px;padding:10px 12px;border:1px solid #ffffff1c;border-radius:10px;background:#1b202b;color:#e7ebf3;font:inherit;font-size:14px;font-weight:700;text-align:left;cursor:pointer}
.fz-ops button small{font:9px 'DM Mono';color:#8f98aa;letter-spacing:.06em}
.fz-ops button[aria-pressed=true]{background:#1f2a40;border-color:#6f9bff}
.fz-ops button[aria-pressed=true] small{color:var(--mint)}
.fz-chain{display:grid;grid-template-columns:repeat(7,minmax(0,1fr)) minmax(0,1.15fr);gap:18px;align-items:stretch;margin-top:14px;padding:14px;border-radius:12px;background:#111620}
.fz-stage{position:relative;display:grid;align-content:start;gap:2px;min-width:0;padding:9px 10px;border-radius:9px;border:1px solid #ffffff1c;background:#1b202b;transition:background .2s,border-color .2s}
.fz-stage b{font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fz-stage+.fz-stage:before{content:"→\FE0E";position:absolute;left:-15px;top:50%;transform:translateY(-50%);color:#6c7588;font-size:13px}
.fz-stage small{font-size:10.5px;color:#aab2c2}
.fz-stage em{font:9px 'DM Mono';font-style:normal;letter-spacing:.02em;line-height:1.3}
.fz-stage.baked{background:#3a2a55;border-color:#b89cff}
.fz-stage.baked em{color:#d4c4ff}
.fz-stage.live{background:#16382c;border-color:#8be8bd99}
.fz-stage.live em{color:var(--mint)}
.fz-stage.off{opacity:.45}
.fz-target{display:grid;align-content:center;gap:2px;min-width:0;padding:9px 12px;border-radius:9px;background:#b89cff;color:#151925}
.fz-target small{font:9px 'DM Mono';letter-spacing:.06em}
.fz-target b{font-size:12.5px}
.fz-legend{display:flex;flex-wrap:wrap;gap:6px 16px;margin:8px 2px;font-size:11.5px;color:#cfd5e1}
.fz-legend span:before{content:"";display:inline-block;width:12px;height:12px;margin-right:6px;border-radius:3px;vertical-align:-2px}
.fz-legend .baked:before{background:#3a2a55;border:1px solid #b89cff}
.fz-legend .live:before{background:#16382c;border:1px solid #8be8bd}
.fz-legend .off:before{background:#1b202b;border:1px solid #ffffff30;opacity:.5}
.fz-options{display:flex;flex-wrap:wrap;gap:8px 20px;padding:10px 12px;border-radius:10px;background:#1b202b;font-size:13px;color:#e7ebf3}
.fz-options[hidden],.fz-options label[hidden]{display:none}
.fz-options label{display:flex;align-items:center;gap:7px;cursor:pointer}
.fz-options input{accent-color:#b89cff;width:15px;height:15px}
.fz-result{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:16px;margin-top:10px;padding:18px;border-radius:12px;background:#252b38}
.fz-result .eyebrow{color:var(--mint);margin:0}
.fz-result h4{font-size:24px;margin:6px 0}
.fz-text{margin:0;font-size:14px;color:#c1c8d3}
.fz-warn{margin:12px 0 0;padding:10px 12px;border-left:4px solid var(--orange);background:#0d1018;font-size:13px;color:#e7ebf3}
.fz-warn:empty{display:none}
.fz-props{display:grid;grid-template-columns:auto 1fr;gap:6px 12px;margin:0;font-size:13px}
.fz-props dt{color:#aab2c2}
.fz-props dd{margin:0;color:#fff;font-weight:600}
.freeze-names{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:22px 0}
.freeze-names article{padding:18px;border-radius:12px;background:#eef1f7}
.freeze-names small{font:10px 'DM Mono';color:var(--blue);letter-spacing:.06em}
.freeze-names h3{margin:6px 0;font-size:18px}
.freeze-names p{margin:0;font-size:13.5px;color:#434958}
.freeze-names p+p{margin-top:8px;font-size:12px;color:var(--muted)}
.freeze-pitfalls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:18px 0;padding:0;list-style:none}
.freeze-pitfalls li{padding:14px 16px;border-left:4px solid var(--orange);border-radius:4px 10px 10px 4px;background:#fff1ec;font-size:13px;color:#434958}
.freeze-pitfalls b{display:block;margin-bottom:3px;color:var(--ink);font-size:14px}
@media(max-width:1100px){.fz-chain{grid-template-columns:repeat(4,minmax(0,1fr))}.fz-stage:nth-child(4n+1):before{display:none}}
@media(max-width:900px){.fz-ops,.freeze-names{grid-template-columns:1fr 1fr}.fz-result,.freeze-pitfalls{grid-template-columns:1fr}}
@media(max-width:560px){.fz-chain{grid-template-columns:1fr 1fr}.fz-stage:before{display:none}}
@media(max-width:560px){.fz-ops,.freeze-names{grid-template-columns:1fr}}
