/* Sound controls: the menu section, and the
   speaker's portrait bobbing with each syllable of their voice. */
.sound-settings{display:grid;gap:10px;min-width:200px;max-width:320px}
.sound-switch{display:flex;align-items:center;gap:10px;cursor:pointer;color:var(--text);font-weight:600}
.sound-switch input{appearance:none;width:36px;height:22px;border-radius:20px;padding:2px;flex-shrink:0;cursor:pointer;margin:0}
.sound-switch input:before{content:"";display:block;width:16px;height:16px;border-radius:50%;background:var(--muted);transition:transform .15s}
.sound-switch input:checked{background:var(--ok-fill);border-color:var(--ok)}
.sound-switch input:checked:before{transform:translateX(12px);background:var(--ok)}
.sound-switch small{margin-left:auto;font:11px var(--mono);color:var(--muted);border:1px solid var(--line);border-radius:4px;padding:0 5px}
.sound-slider{display:grid;grid-template-columns:62px minmax(0,1fr);align-items:center;gap:10px;font-size:12px;color:var(--muted)}
.sound-slider input{width:100%;padding:0;border:0;background:none;accent-color:var(--accent)}
.sound-slider input:disabled{opacity:.4}
.sound-menu{margin:16px 0 6px;padding-top:12px;border-top:1px solid var(--line)}
.sound-menu h3{margin:0 0 10px}
#robot-dialogue .dialogue-art:not(.dialogue-accused) canvas{translate:0 calc(var(--voice,0) * -4px);scale:calc(1 + var(--voice,0) * .018)}
