/* Тест остроты зрения: стили теста. Только классы .zs-acuity-…; общее (панель, кнопки ответа, бланк результата) — core.css.
   Экран со знаками — белое поле как у аппарата Рота, указка — красная черта под знаком (не касается знака). */
.zs-acuity-set{display:flex;flex-wrap:wrap;gap:14px 32px;margin:18px 0 0}
.zs-acuity-set__label{margin:0 0 8px;font:400 12.5px/1.3 var(--f-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3)}
.zs-acuity-set .zs-switch{margin:0}
.zs-acuity-set+.zs-acuity-hint{margin-top:20px}
.zs-acuity-hint{max-width:72ch;margin:14px 0 0;font:400 15px/1.5 var(--f-ui);color:var(--ink-2)}
.zs-acuity-lead{max-width:72ch;font:400 17px/1.5 var(--f-ui)}
.zs-acuity-err{min-height:0;margin:10px 0 0;font:600 15px/1.4 var(--f-ui);color:var(--red)}
.zs-acuity-err:empty{display:none}
.zs-acuity-warn{max-width:72ch;margin:14px 0 0;padding:10px 14px;background:var(--paper-2);border-left:3px solid var(--red);font:400 15px/1.5 var(--f-ui)}

/* расстояние: предел экрана */
.zs-acuity-limit{max-width:72ch;margin:14px 0 0;padding:10px 14px;background:var(--paper-2);border-left:3px solid var(--rule-2);font:400 14px/1.5 var(--f-mono);color:var(--ink-2)}
.zs-acuity-limit p{margin:0}
.zs-acuity-limit p+p{margin-top:6px}
.zs-acuity-limit.is-warn{border-left-color:var(--red);color:var(--ink)}
.zs-acuity-limit .btn{min-height:48px;margin-top:10px}
.zs-acuity-limit:empty{display:none}
/* кнопки расстояния — сетка с общими линиями: на компьютере 7 в ряд, на телефоне 4 + 3 (у каждой своя правая и нижняя черта) */
.zs-tool[data-tool="acuity"] .zs-dist .zs-switch--wrap{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));width:100%;max-width:640px;box-shadow:none;border-top:1.5px solid var(--ink);border-left:1.5px solid var(--ink)}
.zs-tool[data-tool="acuity"] .zs-dist .zs-switch--wrap .zs-switch__btn{min-width:0;padding:10px 4px;border:0;border-right:1.5px solid var(--ink);border-bottom:1.5px solid var(--ink);white-space:nowrap}
@media (max-width:600px){.zs-tool[data-tool="acuity"] .zs-dist .zs-switch--wrap{grid-template-columns:repeat(4,minmax(0,1fr))}}
.zs-tool[data-tool="acuity"] .zs-dist .zs-num[aria-invalid="true"]{border-color:var(--red);outline:2px solid var(--red);outline-offset:1px}
.zs-result .zs-acuity-redo{margin:12px 0 4px}

/* экран со знаками */
.zs-acuity-stage{position:relative}
.zs-acuity-status{display:flex;justify-content:space-between;gap:12px;margin:0 0 10px;font:400 12.5px/1.3 var(--f-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3)}
.zs-acuity-screen{display:flex;align-items:center;justify-content:center;box-sizing:border-box;padding:16px;overflow:hidden;background:#fff;color:#000;box-shadow:0 0 0 1px var(--rule-2)}
.zs-acuity-row{display:flex;align-items:flex-start;justify-content:center;flex-wrap:nowrap}
.zs-acuity-cell{display:flex;flex:none;flex-direction:column;align-items:center}
.zs-acuity-sym{display:block;flex:none;fill:#000;shape-rendering:geometricPrecision}
.zs-acuity-ptr{display:block;flex:none;background:var(--red);visibility:hidden}
.zs-acuity-cell.is-current .zs-acuity-ptr{visibility:visible}

/* кнопки ответа: буквы 4 × 2, кольца 3 × 3 с «Не вижу» в центре */
.zs-acuity-keys{grid-template-columns:repeat(4,minmax(0,1fr));max-width:600px}
.zs-acuity-pad{grid-template-columns:repeat(3,minmax(0,1fr));max-width:400px}
.zs-acuity-keys .zs-acuity-none,.zs-acuity-pad .zs-acuity-none{font-size:16px;line-height:1.15}
.zs-acuity-keys .zs-ans,.zs-acuity-pad .zs-ans{-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}
.zs-acuity-pad .zs-ans svg{width:40px;height:40px}
@media (hover:none){.zs-acuity-keys .zs-ans:hover,.zs-acuity-pad .zs-ans:hover{background:#fff}}
.zs-acuity-tools{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.zs-acuity-tools .zs-acuity-stop{min-height:48px;padding:8px 16px;font-size:14px}

/* весь экран: поле, кнопки и подписи на одном листе */
.zs-acuity-stage:fullscreen{display:flex;flex-direction:column;justify-content:center;padding:20px;background:var(--paper);overflow:auto}
.zs-acuity-stage:-webkit-full-screen{display:flex;flex-direction:column;justify-content:center;padding:20px;background:var(--paper);overflow:auto}
.zs-acuity-stage.is-pseudo-full{display:flex;flex-direction:column;justify-content:center;padding:16px;background:var(--paper)}
.zs-acuity-stage:fullscreen .zs-acuity-keys,.zs-acuity-stage:fullscreen .zs-acuity-pad,
.zs-acuity-stage.is-pseudo-full .zs-acuity-keys,.zs-acuity-stage.is-pseudo-full .zs-acuity-pad{width:100%;margin-left:auto;margin-right:auto}

/* разбор результата */
.zs-acuity-log{margin-top:14px;font:400 14px/1.5 var(--f-ui);color:var(--ink-2)}
.zs-acuity-log summary{display:list-item;box-sizing:border-box;min-height:48px;padding:13px 0;cursor:pointer;font:600 15px/1.4 var(--f-ui);color:var(--link)}
.zs-acuity-log p{margin:8px 0 0}
