/* Проведение аттестации — язык BOB OBJ */
.console{position:sticky;top:70px;z-index:30;margin-top:22px;display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:8px;
  background:color-mix(in srgb,var(--bg) 90%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--rule2);border-radius:var(--r)}
.steps{display:flex;gap:2px;padding:3px;background:var(--paper);border:1px solid var(--rule);border-radius:5px;position:relative}
.steps button{position:relative;z-index:1;border:0;background:transparent;color:var(--muted);font:600 14px/1 var(--f-body);height:36px;padding:0 14px;border-radius:4px;cursor:pointer;display:inline-flex;align-items:center;gap:8px}
.steps button[aria-selected="true"]{color:var(--accent-ink)}
.steps button .k{font:600 12px/1 var(--f-mono);color:var(--dim)}
.steps button[aria-selected="true"] .k{color:var(--accent-ink);opacity:.75}
.steps button[data-done] .k{color:var(--ok)}
.steps .ui-segmented__indicator{background:var(--accent)!important;border-radius:4px!important}
.meters{display:flex;gap:8px;margin-left:auto;flex-wrap:wrap;align-items:center}
.meter{display:flex;align-items:center;gap:8px;height:36px;padding:0 12px;border-radius:5px;background:var(--paper);border:1px solid var(--rule);font:500 12px var(--f-mono);text-transform:uppercase;letter-spacing:.05em;color:var(--muted);white-space:nowrap}
.meter b{font:600 15px/1 var(--f-mono);letter-spacing:0;color:var(--ink);font-variant-numeric:tabular-nums}
.meter .fx-led{color:var(--dim)}
.meter[data-run] .fx-led{color:var(--ok)}
.meter[data-tone="ok"] b{color:var(--ok)}.meter[data-tone="bad"] b{color:var(--bad)}
@media(max-width:860px){.console{top:64px}.steps{width:100%}.steps button{flex:1;justify-content:center;padding:0 6px}.steps button .t{display:none}.steps button[aria-selected="true"] .t{display:inline}
  .meters{margin-left:0;width:100%;display:grid;grid-template-columns:1fr 1fr 1fr auto}.meter{justify-content:center;padding:0 6px;font-size:11px;gap:6px}.meter b{font-size:13.5px}}

.stage{padding-top:22px}
.stage[hidden]{display:none}
.stage > .grid2{padding-top:0}
.stage .panel > .blk-head{margin-bottom:14px}

.checks{display:flex;flex-direction:column}
.crow{display:flex;align-items:flex-start;gap:12px;padding:10px 10px;margin:0 -10px;border-radius:5px;cursor:pointer;transition:background-color 160ms var(--ease)}
@media(hover:hover) and (pointer:fine){.crow:hover{background:var(--ui-row-hover)}}
.crow .ui-check{margin-top:2px;padding:0;border-radius:4px}
.crow .ui-check:not([aria-checked="true"]){background:transparent;border:1.5px solid var(--dim)}
.crow .ui-check svg path{stroke:var(--accent-ink)}
.crow .lbl{flex:1}
.crow .req{display:inline-block;margin-left:8px;font:500 11px var(--f-mono);text-transform:uppercase;letter-spacing:.05em;color:var(--warn);white-space:nowrap}

.bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px}
.bar .sp,.nextbar .sp,.q__foot .sp{flex:1}
.thr{display:flex;align-items:center;gap:8px;font:500 12px var(--f-mono);text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}
.seg{display:flex;padding:3px;background:var(--paper);border:1px solid var(--rule);border-radius:5px;position:relative}
.seg button{position:relative;z-index:1;border:0;background:transparent;color:var(--muted);font:600 13px/1 var(--f-mono);height:28px;padding:0 10px;border-radius:4px;cursor:pointer}
.seg button[aria-pressed="true"]{color:var(--accent-ink)}
.seg .ui-segmented__indicator{background:var(--accent)!important;border-radius:4px!important}

.progress{height:3px;background:var(--rule);margin-bottom:16px}
.progress i{display:block;height:100%;width:0;background:var(--accent);transition:width 420ms var(--ease)}

.qs{display:flex;flex-direction:column;gap:10px}
.q{background:var(--paper);border:1px solid var(--rule);border-radius:var(--r);padding:16px 18px;transition:border-color 220ms var(--ease)}
.q[data-m="1"]{border-color:color-mix(in srgb,var(--ok) 55%,var(--rule))}
.q[data-m="0.5"]{border-color:color-mix(in srgb,var(--warn) 55%,var(--rule))}
.q[data-m="0"]{border-color:color-mix(in srgb,var(--bad) 55%,var(--rule))}
.q.enter{animation:q-in 380ms var(--ease) both}
@keyframes q-in{from{opacity:0;transform:translateY(8px)}}
.q__top{display:flex;align-items:center;gap:10px;margin-bottom:8px;font:500 12px var(--f-mono);text-transform:uppercase;letter-spacing:.05em;color:var(--dim)}
.q__no{color:var(--accent);font-weight:600}
.q__state{margin-left:auto;display:inline-flex;align-items:center;gap:6px}
.q__state svg{width:15px;height:15px}
.q[data-m="1"] .q__state{color:var(--ok)}.q[data-m="0.5"] .q__state{color:var(--warn)}.q[data-m="0"] .q__state{color:var(--bad)}
.q__text{font-size:16.5px;line-height:1.55;margin:0 0 10px;text-wrap:pretty}
.q__ans{margin:0 0 12px}
.q__ans summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:6px;color:var(--accent);font:600 13px var(--f-mono);padding:4px 6px;margin-left:-6px;border-radius:4px}
.q__ans summary::-webkit-details-marker{display:none}
.q__ans summary svg{width:14px;height:14px;transition:transform 240ms var(--ease)}
.q__ans[open] summary svg{transform:rotate(90deg)}
.q__ans .a{margin-top:8px;padding:10px 14px;border-left:3px solid var(--accent);background:var(--accent-soft);border-radius:0 5px 5px 0;font-size:14.5px}
.q__foot{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.mk{height:34px;padding:0 12px;border-radius:5px;border:1px solid var(--rule2);background:transparent;color:var(--muted);font:600 12.5px/1 var(--f-mono);cursor:pointer;display:inline-flex;align-items:center;gap:6px}
.mk svg{width:15px;height:15px}
.mk:hover{color:var(--ink)}
.mk[aria-pressed="true"][data-v="1"]{background:var(--ok);border-color:var(--ok);color:var(--accent-ink)}
.mk[aria-pressed="true"][data-v="0.5"]{background:var(--warn);border-color:var(--warn);color:var(--accent-ink)}
.mk[aria-pressed="true"][data-v="0"]{background:var(--bad);border-color:var(--bad);color:var(--accent-ink)}
:root[data-theme="light"] .mk[aria-pressed="true"]{color:#fff}
.swapq{color:var(--dim);background:none;border:0;font:600 12.5px/1 var(--f-mono);cursor:pointer;padding:8px;border-radius:4px;display:inline-flex;align-items:center;gap:6px}
.swapq:hover{color:var(--accent)}
.swapq svg{width:15px;height:15px}

.nextbar{display:flex;align-items:center;gap:10px;margin-top:22px;padding-top:16px;border-top:2px solid var(--ink)}
.nextbar .note{margin:0;font:500 12px var(--f-mono);text-transform:uppercase;letter-spacing:.05em;color:var(--dim)}

.scn{padding:12px 14px;border:1px dashed var(--rule2);border-radius:5px;margin-bottom:12px}
.scn .t{font-weight:600;margin-bottom:2px}
.scn p{margin:0;color:var(--muted);font-size:14.5px}
.pcard .blk-head{align-items:center}

.verdict{display:grid;grid-template-columns:auto 1fr;gap:22px;align-items:center;padding:26px;border:1px solid var(--rule);border-radius:var(--r)}
.verdict .glyph{width:72px;height:72px;display:grid;place-items:center;border-radius:5px;background:var(--bg);border:1px solid var(--rule2)}
.verdict[data-pass="1"] .glyph{color:var(--ok)}
.verdict[data-pass="0"] .glyph{color:var(--bad)}
.verdict .word{font:800 clamp(30px,4vw,46px)/1 var(--f-display);margin-bottom:8px}
.verdict[data-pass="1"] .word{color:var(--ok)}.verdict[data-pass="0"] .word{color:var(--bad)}
.verdict .sub{color:var(--muted);margin:0;font:500 13px var(--f-mono)}
.verdict.reveal{animation:v-in 480ms var(--ui-spring-pop,var(--ease)) both}
@keyframes v-in{from{opacity:0;transform:scale(.97)}}
.report{margin:0;white-space:pre-wrap;font:500 13px/1.6 var(--f-mono);background:var(--bg);border:1px solid var(--rule);border-radius:5px;padding:14px}
.row-btns{display:flex;gap:12px;align-items:center;margin-top:12px;flex-wrap:wrap}
.mist{display:flex;flex-direction:column;gap:8px}
.mist .it{padding:10px 14px;border-left:3px solid var(--bad);background:color-mix(in srgb,var(--bad) 8%,transparent);border-radius:0 5px 5px 0}
.mist .law{display:block;font:500 11.5px var(--f-mono);text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:2px}
.mist b{display:block;font-weight:500;margin-bottom:4px}
.mist .it span:last-child{color:var(--muted);font-size:14px}
@media(prefers-reduced-motion:reduce){.q.enter,.verdict.reveal{animation:none}.progress i{transition:none}}
::view-transition-old(stage){animation:vt-out 140ms var(--ease) both}
::view-transition-new(stage){animation:vt-in 260ms var(--ease) both}
