/* s-steps2.css — задача 10: шаги dialog/lightning/speak. */

/* диалог: кит не даёт готовых классов для раскладки лога и списка ответов — свои, по образцу инлайна из tools/page.html */
.step.dialog .dialog-log{display:grid;gap:10px}
.step.dialog .answers{display:grid;gap:10px;margin-top:12px}

/* говорилка (задача 6): запись в игре — круглая кнопка микрофона (манга: жёлтая с чернильным контуром,
   неон: та же полупрозрачная заливка/трубка, что у .btn.gold — переменные --gold-*), кольцо во время записи,
   отметки попыток точками, слова вердикта — услышанные/пропущенные. Та же панель — у реплик «скажи» в сцене
   эпизода (.scene-speak, final review I4). */
:is(.step.speak,.scene-speak) .speak-panel{margin-top:14px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:2px}
:is(.step.speak,.scene-speak) .mic{position:relative;isolation:isolate;width:96px;height:96px;flex:none;margin:0 auto;display:grid;place-items:center;
  border:0;border-radius:50%;background:none;cursor:pointer;transition:translate .08s,box-shadow .08s,filter .08s}
:is(.step.speak,.scene-speak) .mic::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:50%;
  border:var(--gold-line,var(--outline));background:var(--gold-bg,var(--gold));box-shadow:var(--gold-fx,var(--shadow))}
:is(.step.speak,.scene-speak) .mic:active::before{box-shadow:var(--gold-press,var(--shadow-press))}
:is(.step.speak,.scene-speak) .mic[disabled]{cursor:default;filter:grayscale(.6)}
:is(.step.speak,.scene-speak) .mic .ico{--ico:44px}
:is(.step.speak,.scene-speak) .mic.rec::after{content:"";position:absolute;inset:-10px;border-radius:50%;border:3px solid var(--accent2);
  animation:k-rec-ring 1.1s ease-out infinite}
@keyframes k-rec-ring{0%{opacity:.9;transform:scale(.85)}100%{opacity:0;transform:scale(1.4)}}
:is(.step.speak,.scene-speak) .speak-dots{display:flex;gap:8px;margin-top:10px}
:is(.step.speak,.scene-speak) .speak-dots span{width:12px;height:12px;border-radius:50%;border:var(--outline);background:var(--card)}
:is(.step.speak,.scene-speak) .speak-dots span.on{background:var(--gold)}
/* выход из «не расслышала» (final review I3): «Пропустить» — второстепенная кнопка, «в чат» — маленькая ссылка */
:is(.step.speak,.scene-speak) .speak-alt{width:100%;display:flex;flex-direction:column;align-items:center;gap:4px}
:is(.step.speak,.scene-speak) .link{min-height:44px;padding:8px 12px;border:0;background:none;color:var(--ink);font-family:inherit;font-size:var(--fs);
  font-weight:800;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
:is(.step.speak,.scene-speak) .link[disabled]{cursor:default;opacity:.55}
:is(.step.speak,.scene-speak) .w-list{margin-top:10px;display:flex;flex-wrap:wrap;justify-content:center;gap:6px;font-size:var(--fs-btn)}
.w.heard{font-weight:900;text-decoration:underline;text-decoration-color:var(--accent2);text-decoration-thickness:3px}
.w.miss{opacity:.45}
