/* Synthy pill states, the pass-phrase field and the review-mode panel. Base pill styles: theme.css.
   The pill stands upright in the right margin, clear of the footer line: microphone on top, the state
   label reading downward, the dial button in the corner. The corner (the zone) reveals it on hover;
   while hidden the pill takes no clicks, so the part that rises beside the next-slide edge is inert. */
.voice-agent{position:relative}
.voice-agent-zone.is-flash .voice-agent,.voice-agent-zone.is-asking .voice-agent{opacity:1;pointer-events:auto}
.voice-agent .pill-start svg{transition:transform 150ms}
.voice-agent .pill-start[aria-pressed='true']{background:var(--ink);color:var(--paper)}
.voice-agent .pill-start[aria-pressed='true'] svg{transform:rotate(135deg)}
.voice-agent .pill-mute[data-off='true']{opacity:.35;cursor:default}
.voice-agent .pill-mute[data-off='true']:hover{background:var(--paper);color:var(--accent)}
.voice-agent .pill-mute[aria-pressed='true']{color:var(--ink)}
.voice-agent .pill-mute[aria-pressed='true']:hover{color:var(--paper)}
.voice-agent-zone[data-state='speaking'] .voice-status{cursor:pointer;text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:5px}
.voice-agent-zone[data-state='refused'] .voice-status,.voice-agent-zone[data-state='offline'] .voice-status{color:var(--ink-soft)}

.synthy-field{position:absolute;right:calc(100% + 12px);bottom:0;width:300px;box-sizing:border-box;padding:12px 16px 14px;border:1px solid var(--rule);background:var(--paper)}
.synthy-field[hidden]{display:none}
.synthy-field-label{display:block;font:600 14px/1.4 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:6px}
.synthy-phrase{display:block;width:100%;box-sizing:border-box;border:0;border-bottom:1px solid var(--rule);padding:4px 0 6px;background:var(--paper);color:var(--ink);font:400 22px/1.3 var(--sans);letter-spacing:.12em;-webkit-text-security:disc;outline:none}
.synthy-phrase:focus-visible{border-bottom-color:var(--accent)}

.synthy-review{display:none}
body.review .synthy-review{display:block;position:fixed;top:56px;right:8px;width:min(440px,40vw);max-height:60vh;overflow:auto;z-index:30;box-sizing:border-box;padding:14px 16px;border:1px solid var(--rule-light);background:var(--paper);color:var(--ink);font:400 13px/1.45 var(--sans)}
.synthy-review h2{margin:0 0 8px;font:600 12px/1.4 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}
.synthy-review ol{list-style:none;margin:0;padding:0}
.synthy-review li{padding:6px 0;border-top:1px solid var(--rule-light)}
.synthy-review li .meta{display:block;color:var(--ink-soft);font-size:11px;letter-spacing:.04em}
.synthy-review li[data-mark='woke']{border-left:3px solid var(--accent);padding-left:8px}
.synthy-review li[data-mark='woke'] .meta{color:var(--accent);font-weight:600}
.synthy-review li[data-mark='ignored'] .text{color:var(--ink-soft);text-decoration:line-through}
.synthy-review li[data-mark='synthy'] .text{font-style:italic}
.synthy-review .question{margin:0 0 10px;padding-bottom:8px;border-bottom:1px solid var(--rule);font-weight:600}
.synthy-review .names{margin:6px 0 0;color:var(--ink-soft);font-size:11px}
.synthy-review li .find{display:block;color:var(--ink-soft);font-size:11px}
.synthy-meter{margin:0 0 10px}
.synthy-meter-bar{position:relative;height:8px;border:1px solid var(--rule-light);background:var(--paper)}
.synthy-meter-bar .rms{position:absolute;left:0;top:0;bottom:0;width:0;background:var(--ink)}
.synthy-meter-bar .peak{position:absolute;top:-2px;bottom:-2px;width:2px;margin-left:-1px;background:var(--accent)}
.synthy-meter-text{margin:4px 0 0;font-size:11px;color:var(--ink-soft)}
@media print{.synthy-review{display:none!important}}
