/* Экран мастера настройки шасси (12.10.2026) — стиль макета
   «Настройка_шасси_ЛИС_мастер.html», ограниченный узлом `.work.wiz`.
   Свои переменные макета живут на `.wiz`, правила АРМ (`app.css`) он не трогает. */
.work.wiz{--bg:#E9EDF2;--surface:#FFFFFF;--ink:#16202E;--ink-2:#4A5668;--ink-3:#8590A0;--line:#D3D9E1;
  --spot:#1F54D1;--spot-soft:#E5ECFB;--ok:#17845A;--ok-soft:#E2F3EA;--laser:#C8241C;--laser-soft:#FBE7E5;
  --amber:#B97A00;--amber-soft:#FFF3D6;--orange:#E8820C;--r-lg:14px;--r-sm:8px;
  --f-head:"Bahnschrift","DIN Alternate","Roboto Condensed","Arial Narrow",sans-serif;
  --f-body:"Segoe UI",system-ui,-apple-system,Roboto,Arial,sans-serif;
  display:grid;grid-template-columns:220px minmax(0,1.45fr) minmax(360px,1fr);grid-template-rows:minmax(0,1fr);
  gap:16px;padding:16px;background:var(--bg);color:var(--ink);font:16px/1.45 var(--f-body);min-height:0;overflow:auto;align-items:start}
.wiz b{font-weight:600}
.wiz .wiz-stages{background:var(--surface);border-radius:var(--r-lg);padding:10px 8px;display:flex;flex-direction:column;gap:2px;position:sticky;top:0}
.wiz .wiz-sth{font:600 13px/1 var(--f-head);color:var(--ink-3);margin:8px 8px 6px}
.wiz .wiz-pill{border-radius:999px;padding:6px 12px;font:600 14px/1.2 var(--f-head);background:var(--amber-soft);color:#6B4700;margin:2px 0 6px}
.wiz .wiz-pill.hold{background:#DCE6F7;color:#173C8C}
.wiz .wiz-pill.late{background:var(--laser);color:#fff}
.wiz .wiz-pill.done{background:var(--ok-soft);color:var(--ok)}
.wiz .stg.todo:disabled{opacity:.7}
.wiz .wiz-media{margin:0}
.wiz .wiz-panel{background:var(--surface);border-radius:var(--r-lg);padding:22px 24px 20px;display:flex;flex-direction:column;gap:15px;position:sticky;top:0}
.wiz .wiz-panel .checks .chk .bx{color:#fff;font-weight:700;font-size:15px}
.wiz .wiz-panel .chk.on .bx{opacity:1}
.wiz .wiz-panel .chk:not(.on) .bx{color:transparent}
.wiz .wiz-shot,.wiz .wiz-ready,.wiz .wiz-conv{display:flex;flex-direction:column;gap:8px}
.wiz .wiz-ind{background:#F2F4F7;border-radius:var(--r-sm);padding:10px 12px}
/* Маячок (пакет N, 15.10.2026): один орган результата — значок слева, заголовок,
   заливка по тону сервера; та же геометрия, что у полос ответа `.opt`. */
.wiz .wiz-beacon{display:flex;gap:14px;align-items:center;border:2px solid var(--line);border-radius:12px;padding:10px 12px;background:#F2F4F7}
.wiz .wiz-beacon.ok{background:var(--ok-bg,#E3F4EC);border-color:#9FD3B9}
.wiz .wiz-beacon.act{background:var(--act-bg,#FDEBD3);border-color:#F2C089}
.wiz .wiz-beacon.bad{background:var(--bad-bg,#FBE7E5);border-color:#EDB3AE}
.wiz .wiz-bicon{flex:none;width:64px;height:64px;display:grid;place-items:center}
.wiz .wiz-bicon svg{width:64px;height:64px;display:block}
.wiz .wiz-bicon.arrow{width:96px;height:96px}
.wiz .wiz-bicon.arrow svg{width:96px;height:96px;background:#fff;border-radius:8px}
.wiz .wiz-btext{display:flex;flex-direction:column;gap:4px;min-width:0}
.wiz .wiz-btext > b{font:600 18px/1.2 var(--f-head)}
.wiz .wiz-beacon .card-more{font-size:14px}
.wiz .wiz-parts{display:flex;flex-direction:column;gap:8px}
.wiz .wiz-zones{display:flex;gap:6px;flex-wrap:wrap;margin-top:4px}
.wiz .wiz-zone{border-radius:6px;padding:2px 8px;font-size:13px}
.wiz .wiz-zone.ok{background:var(--ok-bg,#E3F4EC)}
.wiz .wiz-zone.act{background:var(--act-bg,#FDEBD3)}
.wiz .wiz-spec{grid-column:1/-1;display:flex;flex-direction:column;gap:6px}
/* Панель «Спектр ▸» в сетке мастера (дефект 15.10.2026): `.chartbox` здесь не
   под `.work.tuning`, и его колонка брала ширину по внутренней ширине канвы —
   та на каждой перерисовке ставила себе ширину контейнера, и график уезжал за
   экран (1152 → 2612 → 2717 px). Та же колонка, что у режима настройки:
   ширина — от контейнера, канва — 100 %. */
.wiz .wiz-spec .chartbox{display:flex;flex-direction:column;min-height:0;min-width:0}
.wiz .wiz-spec .chartbox > .chartwrap{min-width:0;width:auto}
.wiz .wiz-spec .sp-canvas{width:100%}
.wiz .wiz-spec > button{align-self:flex-start}
/* Нижний ряд мастера (пакет S3): «Спектр ▸» и «Служебное ▸» рядом; раскрытая панель — на всю ширину. */
/* Ряд прилеплен к низу рабочей области (16.10.2026): шапка служб стала выше, и при
   1366×768 кнопки уезжали под край. Полоса прозрачна и щелчков не ловит — видны
   только кнопки (внизу слева, под колонкой этапов), карточку справа она не режет. */
.wiz .wiz-foot{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px 12px;align-items:flex-start;
  position:sticky;bottom:0;z-index:2;pointer-events:none}
.wiz .wiz-foot > *{pointer-events:auto}
/* min-width:0 — иначе flex-элемент берёт ширину по канве, а канва на каждой перерисовке
   ставит себе ширину контейнера: панель уезжала за экран (16.10.2026, 2373 px в ряду 1332). */
.wiz .wiz-foot > .wiz-spec{flex:0 0 auto;min-width:0;max-width:100%}
.wiz .wiz-foot > .wiz-spec:has(> button[aria-expanded="true"]){flex:1 0 100%}
.wiz .wiz-svc{flex:0 0 auto;display:flex;flex-direction:column;gap:8px;min-width:0}
.wiz .wiz-svc > button{align-self:flex-start}
/* Раскрытая панель: первая строка сетки — по содержимому (иначе 1fr ужимается и ряд ложится на фото). */
.work.wiz:has(> .wiz-foot > .wiz-svc.open){grid-template-rows:auto}
/* …ряд не заходит под липкую (sticky) карточку справа — «Измерение» видно всегда — и лежит поверх липкой колонки этапов. */
.work.wiz:has(> .wiz-foot > .wiz-svc.open) > .wiz-foot{grid-column:1/3;z-index:2;background:var(--bg)}
.wiz .wiz-svc.open{flex:1 0 100%;background:var(--surface);border-radius:var(--r-lg);padding:12px}
.wiz .wiz-svc-body{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:12px;align-items:start}
.wiz .wiz-svc-sec{display:flex;flex-direction:column;gap:6px;min-width:0}
.wiz .wiz-svc-rows{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:4px;font-size:13px;max-height:320px;overflow:auto}
.wiz .wiz-svc-rows li{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px}
.wiz .wiz-svc-rows li.bad{color:var(--laser)}
/* Тот же ряд под карточкой простого экрана вне мастера (16.10.2026): шаги 16–18. */
.tuning-stage .wiz-foot{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:flex-start}
.tuning-stage .wiz-foot > .wiz-spec{flex:0 0 auto;min-width:0;max-width:100%}
.tuning-stage .wiz-foot > .wiz-spec:has(> button[aria-expanded="true"]){flex:1 0 100%}
.tuning-stage .wiz-svc{flex:0 0 auto;display:flex;flex-direction:column;gap:8px;min-width:0}
.tuning-stage .wiz-svc > button{align-self:flex-start}
.tuning-stage .wiz-svc.open{flex:1 0 100%;background:var(--surface);border-radius:var(--r-lg);padding:12px}
.tuning-stage .wiz-svc-body{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:12px;align-items:start}
.tuning-stage .wiz-svc-sec{display:flex;flex-direction:column;gap:6px;min-width:0}
.tuning-stage .wiz-svc-rows{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:4px;font-size:13px;max-height:320px;overflow:auto}
.tuning-stage .wiz-svc-rows li{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px}
.tuning-stage .wiz-svc-rows li.bad{color:var(--laser)}
.wiz .wiz-end{display:flex;flex-direction:column;gap:12px}
.wiz .wiz-end .ok{color:var(--ok);font-weight:600;margin:0}
.wiz .bns:empty{display:none}
.wiz .bns{display:flex;flex-direction:column;gap:8px}
.wiz .kitwrap{display:flex;flex-direction:column;gap:6px}
.wiz .stg{display:flex;align-items:center;gap:8px;width:100%;text-align:left;background:none;border:0;padding:5px 8px;border-radius:6px;cursor:pointer;color:var(--ink-2);font-size:14px;line-height:1.25}
.wiz .stg:disabled{cursor:default;color:var(--ink-3)}
.wiz .stg .d{flex:none;width:9px;height:9px;border-radius:50%;border:1.5px solid var(--ink-3)}
.wiz .stg.done .d{background:var(--ok);border-color:var(--ok)}
.wiz .stg.cur{background:var(--spot-soft);color:var(--ink);font-weight:600}
.wiz .stg.cur .d{background:var(--spot);border-color:var(--spot)}
.wiz .stg:not(:disabled):not(.cur):hover{background:#F2F4F7}
.wiz .media{background:var(--surface);border-radius:var(--r-lg);padding:14px;display:grid;gap:12px;min-height:420px;align-content:center;align-items:center;position:relative}
.wiz .media.n2{grid-template-columns:1fr 1fr}
.wiz .media.n3{grid-template-columns:1fr 1fr 1fr}
.wiz .media.stack{grid-template-columns:1fr}
.wiz .media.stack .fig > svg{max-height:34vh}
.wiz .media.stack .mw img{max-height:40vh}
.wiz .fig{margin:0;display:flex;flex-direction:column;align-items:center;gap:6px;min-width:0}
.wiz .mw{position:relative;display:inline-block;max-width:100%;line-height:0}
.wiz .mw img{display:block;max-width:100%;max-height:62vh;width:auto;height:auto;border-radius:var(--r-sm);cursor:zoom-in;background:#F4F6F9}
.wiz .fig.small .mw img{max-height:40vh;max-width:260px}
.wiz .media.n2 .mw img{max-height:56vh}
.wiz .media.n3 .mw img{max-height:48vh}
.wiz .fig figcaption{font-size:14px;color:var(--ink-2);text-align:center;line-height:1.3}
.wiz .fig figcaption.good{color:var(--ok);font-weight:600}
.wiz .fig figcaption.bad{color:var(--laser);font-weight:600}
.wiz .fig > svg{width:100%;height:auto;max-height:62vh;display:block}
.wiz .ring{position:absolute;transform:translate(-50%,-50%);aspect-ratio:1;border-radius:50%;border:3.5px solid #FF2D20;box-shadow:0 0 0 2px rgba(255,255,255,.85),inset 0 0 0 2px rgba(255,255,255,.6);pointer-events:none;animation:pulse 1.8s ease-in-out infinite}
.wiz .ring.lbl::after{content:attr(data-l);position:absolute;left:100%;top:-6px;margin-left:4px;font:600 15px/1 var(--f-head);color:#fff;background:#FF2D20;padding:3px 6px;border-radius:5px;white-space:nowrap;line-height:1}
.wiz .ring.off{display:none}
.wiz 0%, .wiz 100%{transform:translate(-50%,-50%) scale(1)}
.wiz 50%{transform:translate(-50%,-50%) scale(1.12)}
.wiz .wiz-panel{background:var(--surface);border-radius:var(--r-lg);padding:22px 24px 20px;display:flex;flex-direction:column;gap:15px;position:sticky;top:0}
.wiz .code{font:600 15px/1.2 var(--f-head);color:var(--spot)}
.wiz .code span{color:var(--ink-3);font-weight:400}
.wiz .wiz-panel h1{font:600 29px/1.15 var(--f-head);margin:-6px 0 0;text-wrap:balance}
.wiz .sub{margin:-8px 0 0;color:var(--ink-2);font-size:17px}
.wiz .hints{margin:0;padding:0;list-style:none;display:grid;gap:6px}
.wiz .hints li{padding-left:22px;position:relative;font-size:16px}
.wiz .hints li::before{content:"";position:absolute;left:6px;top:.62em;width:6px;height:6px;border-radius:50%;background:var(--ink-3)}
.wiz .armbtn{display:inline-block;padding:1px 9px 2px;border-radius:6px;background:var(--ink);color:#fff;font:600 .92em/1.3 var(--f-head);white-space:nowrap;vertical-align:1px}
.wiz .tools{display:grid;gap:6px}
.wiz .tools .th{font:600 13px/1 var(--f-head);color:var(--ink-3);margin-bottom:2px}
.wiz .tool{display:grid;grid-template-columns:46px minmax(0,1fr);align-items:center;gap:10px;border:1px solid var(--line);border-radius:var(--r-sm);padding:4px 10px 4px 4px;background:#fff;cursor:help}
.wiz .tool:hover{border-color:var(--spot);background:var(--spot-soft)}
.wiz .tool img{width:46px;height:46px;object-fit:cover;border-radius:5px}
.wiz .tool .noimg{width:46px;height:46px;border-radius:5px;background:#EEF1F5}
.wiz .tool b{display:block;font-size:14.5px;font-weight:600;line-height:1.25}
.wiz .tool small{display:block;font-size:12.5px;color:var(--ink-2);line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wiz .bn{display:flex;gap:12px;align-items:flex-start;border-radius:0 var(--r-sm) var(--r-sm) 0;padding:10px 12px;font-size:14.5px;border-left:4px solid}
.wiz .bn svg{flex:none;margin-top:1px}
.wiz .bn.shot{background:var(--laser-soft);border-color:var(--laser)}
.wiz .bn.shot b{color:var(--laser)}
.wiz .bn.polar{background:var(--amber-soft);border-color:var(--amber);color:#4D3700}
.wiz .bn.off{background:#E8EEF8;border-color:#5874A8;color:#22355A}
.wiz .bn.cover{background:#232E3E;border-color:#0E1520;color:#E6ECF5}
.wiz .bn.gloves{background:#EEF6FB;border-color:#3D86B8;color:#173E5A}
.wiz .todo{background:var(--amber-soft);border-radius:var(--r-sm);padding:9px 12px;font-size:13.5px;color:#5E4300}
.wiz .todo b{font:600 13px/1 var(--f-head);background:#F2C34E;color:#3D2B00;padding:3px 7px;border-radius:4px;margin-right:6px}
.wiz .checks{display:grid;gap:8px}
.wiz .chk{display:flex;align-items:center;gap:12px;padding:11px 14px;border:1.5px solid var(--line);border-radius:var(--r-sm);cursor:pointer;user-select:none;font-weight:500;background:#fff;line-height:1.3}
.wiz .chk input{position:absolute;opacity:0;pointer-events:none}
.wiz .chk .bx{flex:none;width:24px;height:24px;border-radius:6px;border:2px solid var(--ink-3);display:grid;place-items:center;transition:background .15s,border-color .15s}
.wiz .chk .bx svg{opacity:0;transition:opacity .15s}
.wiz .chk.on{border-color:var(--ok);background:var(--ok-soft)}
.wiz .chk.on .bx{background:var(--ok);border-color:var(--ok)}
.wiz .chk.on .bx svg{opacity:1}
.wiz .chk:focus-within{outline:3px solid var(--spot);outline-offset:2px}
.wiz .nav{display:flex;gap:10px;margin-top:4px;align-items:center;flex-wrap:wrap}
.wiz .btn{border:0;border-radius:10px;padding:14px 22px;font:600 18px/1 var(--f-head);cursor:pointer;display:inline-flex;align-items:center;gap:10px}
.wiz .btn kbd{font:500 11px/1 var(--f-body);opacity:.65;border:1px solid currentColor;border-radius:4px;padding:2px 5px}
.wiz .btn.next{background:var(--spot);color:#fff;flex:1;justify-content:center}
.wiz .btn.next:disabled{background:#B8C3D3;cursor:not-allowed}
.wiz .btn.back{background:#EEF1F5;color:var(--ink-2)}
.wiz .btn.back:disabled{opacity:.4;cursor:default}
.wiz .btn.go{background:var(--spot);color:#fff}
.wiz .btn.ghost{background:#EEF1F5;color:var(--ink)}
.wiz .btn.big{background:var(--amber);color:#fff;width:100%;justify-content:center;padding:16px}
.wiz .btn.big.on{background:var(--ok)}
.wiz .lnk{font-size:14px;color:var(--spot);background:none;border:0;padding:0;cursor:pointer;text-decoration:underline;text-underline-offset:3px;justify-self:start;align-self:flex-start}
.wiz .lock{font-size:13px;color:var(--ink-3);text-align:center;margin-top:-6px}
.wiz .ask{display:grid;gap:10px}
.wiz .opt{display:flex;align-items:center;gap:14px;text-align:left;border:2px solid var(--line);background:#fff;border-radius:12px;padding:10px 12px;cursor:pointer;transition:border-color .15s,background .15s}
.wiz .opt:hover{border-color:var(--spot)}
.wiz .opt .thumb{flex:none;width:92px;height:68px;border-radius:8px;background:#F4F6F9;overflow:hidden;display:grid;place-items:center}
.wiz .opt .thumb svg, .wiz .opt .thumb img{width:100%;height:100%;object-fit:cover}
.wiz .opt .thumb.ico{width:64px;height:64px;background:none}
.wiz .opt .lbl{font:600 18px/1.2 var(--f-head)}
.wiz .opt .lbl small{display:block;font:400 14px/1.3 var(--f-body);color:var(--ink-2);margin-top:3px}
.wiz .opt.ok{border-color:#9FD3B9}
.wiz .opt.ok:hover{border-color:var(--ok);background:var(--ok-soft)}
.wiz .opt.neutral{border-color:#C3CEE2}
.wiz .opt.bad{border-color:#EDB3AE}
.wiz .opt.bad:hover{border-color:var(--laser);background:var(--laser-soft)}
.wiz .opt kbd{margin-left:auto;font:500 12px/1 var(--f-body);color:var(--ink-3);border:1px solid var(--line);border-radius:4px;padding:3px 6px}
.wiz .ask.compact .opt{padding:8px 12px}
.wiz .ask.compact .thumb{width:40px;height:40px;background:none}
.wiz .wiz-panel.stop{border-top:6px solid var(--laser)}
.wiz .wiz-panel.redo{border-top:6px solid var(--amber)}
.wiz .wiz-panel.stop h1{color:var(--laser)}
.wiz .steps{margin:0;padding:0;list-style:none;counter-reset:s;display:grid;gap:8px}
.wiz .steps li{counter-increment:s;display:flex;gap:10px;align-items:baseline;font-size:17px}
.wiz .steps li::before{content:counter(s);flex:none;width:24px;height:24px;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center;font:600 13px/1 var(--f-head);transform:translateY(-1px)}
.wiz .rules{display:grid;gap:12px}
.wiz .rule{display:flex;gap:16px;align-items:center;padding:14px;border-radius:12px;background:#F6F7F9}
.wiz .rule svg{flex:none}
.wiz .rule b{display:block;font:600 19px/1.2 var(--f-head)}
.wiz .rule span{font-size:14.5px;color:var(--ink-2)}
.wiz .rule.danger{background:var(--laser-soft)}
.wiz .rule.danger b{color:var(--laser)}
.wiz .kit{display:flex;flex-direction:column;gap:2px;max-height:52vh;overflow:auto;padding-right:4px}
.wiz .kit label{display:grid;grid-template-columns:18px 20px 44px minmax(0,1fr);gap:8px;align-items:center;padding:4px 6px;border-radius:6px;cursor:pointer;line-height:1.25}
.wiz .kit label:hover, .wiz .kit label.hl{background:var(--spot-soft)}
.wiz .kit input{accent-color:var(--ok);width:16px;height:16px;margin:0}
.wiz .kit em{font:600 13px/1 var(--f-head);font-style:normal;color:var(--ink-3);text-align:right}
.wiz .kit .kth img{width:44px;height:36px;object-fit:cover;border-radius:4px;display:block}
.wiz .kit b{display:block;font-size:14px;font-weight:600}
.wiz .kit small{display:block;font-size:12.5px;color:var(--ink-2)}
.wiz .conn{display:grid;gap:4px}
.wiz .conn button{display:grid;grid-template-columns:52px 1fr;gap:2px 10px;text-align:left;border:1.5px solid var(--line);background:#fff;border-radius:var(--r-sm);padding:8px 10px;cursor:pointer}
.wiz .conn button b{grid-row:span 2;font:600 19px/1.1 var(--f-head);color:var(--laser);align-self:center}
.wiz .conn button span{font-size:14.5px;line-height:1.25}
.wiz .conn button small{font-size:12.5px;color:var(--ink-2);line-height:1.25}
.wiz .conn button:hover, .wiz .conn button.on{border-color:var(--laser);background:#FFF6F5}
.wiz .slit .hole{fill:#C9CED6;stroke:#8E97A4;stroke-width:1.5}
.wiz .slit .cap{fill:#fff;stroke:#5B6676;stroke-width:2}
.wiz .slit .cap.hi{stroke:var(--spot);stroke-width:3}
.wiz .slit .sl{stroke:#1D2633;stroke-width:2.2;stroke-linecap:round}
.wiz .slit .mk{stroke:var(--laser);stroke-width:1.4}
.wiz .slit .sp{stroke:var(--spot);stroke-width:1.4}
.wiz .slit .arw{stroke:var(--spot);stroke-width:2.2;fill:none;stroke-linecap:round;stroke-linejoin:round}
.wiz .slit .act{font:600 13px var(--f-head);fill:var(--spot)}
.wiz .slit .mkt{fill:var(--laser);font:500 12.5px var(--f-body)}
.wiz .ind text{font:500 13px var(--f-body);fill:var(--ink-2)}
.wiz .ind .ttl2{font:600 14px var(--f-head);fill:var(--ink)}
.wiz .led{animation:blink 1s steps(1) infinite}
.wiz 50%{opacity:.15}
@keyframes pulse{0%,100%{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(-50%,-50%) scale(1.12)}}
@keyframes blink{50%{opacity:.15}}
@media (max-width:1100px){ .work.wiz{grid-template-columns:minmax(0,1fr)} .wiz .wiz-stages{position:static;flex-direction:row;flex-wrap:wrap} .wiz .wiz-panel{position:static} }
@media (prefers-reduced-motion:reduce){ .wiz *{transition:none!important;animation:none!important} }
.wiz .wiz-media:empty{visibility:hidden}
/* тренажёры макета */
.wiz .trainer{display:grid;gap:14px;width:100%}
.wiz .trainer .board{background:#F7F8FA;border-radius:var(--r-sm);padding:6px}
.wiz .trainer .board svg{max-height:46vh;width:100%;display:block}
.wiz .ctl{display:grid;grid-template-columns:160px 1fr 70px;align-items:center;gap:12px;font-size:14.5px}
.wiz .ctl b{font:600 15px/1.2 var(--f-head)}
.wiz .ctl output{font:600 15px/1 var(--f-head);text-align:right;font-variant-numeric:tabular-nums;color:var(--ink-2)}
.wiz .ctl input[type=range]{width:100%;accent-color:var(--spot);height:28px}
.wiz .verdict{padding:12px 14px;border-radius:var(--r-sm);font-weight:600;background:#F2F4F7;color:var(--ink-2)}
.wiz .verdict.ok{background:var(--ok-soft);color:var(--ok)}
.wiz .verdict.warm{background:#FFF0DD;color:#8A4A00}
.wiz .legend{display:grid;gap:10px}
.wiz .legend div{display:grid;grid-template-columns:28px 1fr;gap:10px;align-items:start;font-size:15px}
.wiz .legend i{width:28px;height:28px;border-radius:7px;background:var(--spot-soft);display:grid;place-items:center;font:600 15px/1 var(--f-head);font-style:normal;color:var(--spot)}
.wiz .seg{display:flex;gap:6px}
.wiz .seg button{flex:1;border:1.5px solid var(--line);background:#fff;border-radius:8px;padding:8px;cursor:pointer;font:600 15px/1 var(--f-head)}
.wiz .seg button.on{border-color:var(--spot);background:var(--spot-soft);color:var(--spot)}
.wiz .wiz-spots{display:flex;align-items:center;gap:10px;justify-content:space-between;background:#F2F4F7;border-radius:8px;padding:8px 12px;font-size:14px;color:var(--ink-2)}
.wiz .wiz-spots.out{background:var(--amber-soft);color:#6B4700;font-weight:600}
.wiz .wiz-spots .btn{padding:8px 12px;font-size:14px}
/* макет v3 (14.10.2026): подсказки, маршрут шлейфа, «как двигается», правила, тренажёры */
.wiz-tip{position:fixed;z-index:60;pointer-events:none;background:#fff;border-radius:10px;box-shadow:0 10px 30px rgba(16,24,40,.22);padding:8px;max-width:380px;display:none;flex-direction:column;gap:4px;border:1px solid #D3D9E1;color:#16202E;font:14px/1.35 "Segoe UI",system-ui,sans-serif}
.wiz-tip.on{display:flex}
.wiz-tip img{max-width:360px;max-height:300px;border-radius:6px;display:block;align-self:center}
.wiz-tip b{font:600 15px/1.25 "Bahnschrift","Segoe UI",sans-serif;padding:2px 4px 0}
.wiz-tip span{font-size:13.5px;color:#4A5668;padding:0 4px 2px}
.wiz [data-zoom]{cursor:zoom-in}
.wiz .route{grid-column:1/-1;background:#FFF6F5;border:1.5px solid #F2C9C5;border-radius:12px;padding:8px 10px 10px;display:grid;gap:6px}
.wiz .route .rl{font:600 15px/1.25 var(--f-head);color:var(--laser)}
.wiz .route .rrow{display:flex;align-items:center;justify-content:center;gap:8px}
.wiz .route .rimg{display:flex;flex-direction:column;align-items:center;gap:3px;min-width:0;flex:1}
.wiz .route .rimg small{font-size:12px;color:var(--ink-2)}
.wiz .route .mw img{max-height:26vh}
.wiz .media:has(.route) .fig .mw img{max-height:34vh}
.wiz .ring.thin{border-width:2.5px}
.wiz .rtag{position:absolute;white-space:nowrap;font:600 13px/1 var(--f-head);color:#fff;background:#C8241C;padding:4px 7px;border-radius:5px;pointer-events:none;box-shadow:0 0 0 2px #fff;z-index:2;line-height:1}
.wiz .rtag.r{transform:translateY(-50%);margin-left:3.4%}
.wiz .rtag.l{transform:translate(-100%,-50%);margin-left:-3.4%}
.wiz .howto{display:grid;gap:10px;width:100%}
/* Колонка рисунков АРМ уже, чем у макета: строка — в две строки сетки всегда. */
.wiz .hrow{display:grid;grid-template-columns:32px 150px minmax(0,1fr);gap:8px 14px;align-items:center;background:#F7F8FA;border-radius:12px;padding:10px 12px}
.wiz .hrow .harr{display:none}
.wiz .hrow .hanim{grid-column:2}
.wiz .hrow .hres{grid-column:3}
.wiz .hrow:not(:has(.hph img)) .hph{display:none}
.wiz .hrow:not(:has(.hph img)) .hact{grid-column:2/-1}
.wiz .hn{width:30px;height:30px;border-radius:50%;background:var(--spot);color:#fff;display:grid;place-items:center;font:600 16px/1 var(--f-head)}
.wiz .hph .mw img{max-height:120px;max-width:150px}
.wiz .hact{font:600 16px/1.25 var(--f-head)}
.wiz .hanim svg{width:100%;height:auto;max-height:150px;display:block;background:#fff;border-radius:8px}
.wiz .hres{font-size:15px;color:var(--ink-2)}
.wiz .wiz-rules{display:grid;gap:10px}
.wiz .rgrp{border-radius:12px;padding:12px 14px;display:grid;gap:6px}
.wiz .rgrp.opt{background:#EEF6FB}
.wiz .rgrp.las{background:#FFF8D9}
.wiz .rgh{display:flex;align-items:center;gap:10px}
.wiz .rgh b{font:600 18px/1 var(--f-head)}
.wiz .rgrp ul{margin:0;padding-left:20px;display:grid;gap:4px;font-size:15.5px}
.wiz .bn.warn{background:var(--laser-soft);border-color:var(--laser);color:#5A120E}
.wiz .trn{display:flex;align-items:center;gap:8px;width:100%;text-align:left;background:none;border:0;padding:5px 8px;border-radius:6px;cursor:pointer;color:var(--ink-2);font-size:14px;line-height:1.25}
.wiz .trn:hover{background:#F2F4F7}
.wiz .trn[aria-current]{background:var(--spot-soft);color:var(--ink);font-weight:600}
.wiz .trn .n{flex:none;width:20px;height:20px;border-radius:50%;border:1.5px dashed var(--ink-3);display:grid;place-items:center;font:600 12px/1 var(--f-head);color:var(--ink-3)}
.wiz .ctl:has(.cth){grid-template-columns:58px 160px minmax(0,1fr) 60px}
.wiz .ctl .cth img{width:58px;height:44px;object-fit:cover;border-radius:6px;display:block}
.wiz .ctl b small{display:block;font:400 12.5px/1.2 var(--f-body);color:var(--ink-2)}
.wiz .ind-board{display:grid;grid-template-columns:minmax(0,1fr) 150px;gap:12px;align-items:center}
.wiz .ind-hint{border-radius:10px;padding:10px;display:grid;place-items:center;min-height:140px}
.wiz .ind-hint.warn{background:#FDEBD3}
.wiz .ind-hint.ok{background:var(--ok-soft)}
.wiz .ind-hint svg{width:110px;height:110px;display:block}
.wiz .ind-board #indNode svg{max-height:40vh;width:100%;display:block}
.wiz .ind-board .ind-hint svg{width:130px;height:130px}
/* Шаги после мастера на экране мастера (16.10.2026, `domain/guide.py`): ветка
   «если не в норме» в колонке этапов, маршрут возврата, поле «мм», подпись индикатора. */
.wiz .stg.branch{padding-left:20px;font-size:13.5px}
.wiz .stg.branch.todo{opacity:.7}
.wiz .wiz-route{background:#EEF2FA;border-radius:var(--r-sm);padding:10px 12px;font-size:14.5px;color:#22355A}
.wiz .wiz-route ol{margin:6px 0 0;padding-left:20px}
.wiz .wiz-move{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.wiz .wiz-move label{display:flex;gap:10px;align-items:center}
.wiz .wiz-move input{width:90px;font-size:18px;padding:8px;border:1.5px solid var(--line);border-radius:8px}
.wiz .wiz-move.done{color:var(--ok);font-weight:600}
.wiz .gauge-cap{font:600 16px/1.2 var(--f-head);color:var(--ink-2)}
/* Схема «образец к носику» шагов 10–15 (R5, 18.10.2026): тон пластины — классы маячка. */
.wiz .smp .smp-plate{fill:#F2F4F7;stroke:#C5CCD6;stroke-width:3}
.wiz .smp.ok .smp-plate{fill:var(--ok-bg,#E3F4EC);stroke:#17845A;stroke-width:5}
.wiz .smp.act .smp-plate{fill:var(--act-bg,#FDEBD3);stroke:#E8820C;stroke-width:5}
.wiz .smp.bad .smp-plate{fill:var(--bad-bg,#FBE7E5);stroke:#C8241C;stroke-width:5}
.wiz .smp .smp-name{height:100%;display:flex;align-items:center;justify-content:center;text-align:center;font:700 26px/1.15 "Segoe UI",Arial,sans-serif;color:#16202E;overflow-wrap:anywhere}
.wiz .smp .smp-dot{fill:#fff;stroke:#8590A0;stroke-width:2;stroke-dasharray:4 3}
.wiz .smp .smp-dot.on{fill:#4A5668;stroke-dasharray:none}
.wiz .wiz-stages{max-height:calc(100vh - 150px);overflow-y:auto}
