/* Calm, compact listening controls. Tracks have their own perceptual scale. */
.audio-settings { padding-top:20px; border-top:1px solid var(--ui-line); margin-top:12px; }
.audio-settings-heading { display:flex; align-items:center; gap:9px; margin:0 0 12px; font-size:16px; }
.audio-setting { padding:14px 16px; background:var(--ui-surface-soft); border-radius:16px; margin:10px 0; }
.audio-setting .sound-row { border:0; padding:0; margin:0; gap:14px; }
.audio-setting .sound-row>span { min-width:0; font-size:14px; }
.audio-setting .sound-row small { font-size:11px; line-height:1.6; margin-top:3px; }
.audio-level-row { display:grid; grid-template-columns:minmax(0,1fr) 40px; gap:12px; align-items:center; margin-top:12px; }
.audio-level-row input[type=range] { appearance:none; -webkit-appearance:none; width:100%; min-width:0; height:36px; margin:0; padding:0; background:transparent; border:0; accent-color:var(--ui-accent); cursor:pointer; }
.audio-level-row input::-webkit-slider-runnable-track { height:5px; border-radius:3px; background:linear-gradient(to right,var(--ui-accent) 0 var(--audio-level),var(--ui-line) var(--audio-level) 100%); }
.audio-level-row input::-moz-range-track { height:5px; border-radius:3px; background:var(--ui-line); }
.audio-level-row input::-moz-range-progress { height:5px; border-radius:3px; background:var(--ui-accent); }
.audio-level-row input::-webkit-slider-thumb { appearance:none; -webkit-appearance:none; width:22px; height:22px; margin-top:-8.5px; border:2px solid var(--ui-accent); border-radius:50%; background:var(--ui-surface); box-shadow:0 2px 5px #173b321a; }
.audio-level-row input::-moz-range-thumb { width:18px; height:18px; border:2px solid var(--ui-accent); border-radius:50%; background:var(--ui-surface); }
.audio-level-row input:disabled { opacity:.4; cursor:default; }
.audio-level-row output { text-align:right; font-size:12px; color:var(--ui-ink); font-variant-numeric:tabular-nums; }
.audio-setting-foot { display:flex; justify-content:space-between; align-items:center; gap:10px; margin-top:6px; }
.audio-setting-foot p { margin:0; color:var(--ui-muted); font-size:11px; line-height:1.65; }
.audio-setting-foot .text-button { flex:none; min-height:36px; padding:5px 0; color:var(--ui-accent); font-size:12px; }
.audio-setting-foot .ui-icon { width:16px; height:16px; flex-basis:16px; }
.audio-policy { margin-top:16px; }
.audio-policy .sound-row { margin:0; padding:8px 0; border:0; font-size:13px; }
.audio-policy p { margin:2px 0 0; color:var(--ui-muted); font-size:11px; line-height:1.65; }
.audio-policy input:disabled { opacity:.4; }
@media (max-height:560px) { .audio-settings { padding-top:12px; }.audio-setting { padding:12px; } }
.settings-dialog>.dialog-heading h2 { font:600 21px/1.4 var(--ui-font); margin-top:4px; }
.settings-tabs { display:flex; gap:4px; padding:4px; margin:0 22px 14px; border-radius:13px; background:var(--ui-surface-soft); flex:none; }
.settings-tabs button { flex:1; border:0; background:none; border-radius:10px; min-height:38px; padding:7px; font-size:13px; color:var(--ui-muted); }
.settings-tabs [aria-selected=true] { background:var(--ui-surface); color:var(--ui-accent); box-shadow:0 1px 5px #173b320d; font-weight:600; }
#settings-audio-panel { margin:0; padding:0 0 6px; border:0; }
#settings-audio-panel .audio-settings-heading { font-size:15px; margin-top:0; }
.settings-dialog .sound-row input[role=switch] { appearance:none; -webkit-appearance:none; position:relative; width:42px; min-width:42px; height:25px; margin:0; padding:0; flex:none; border:1px solid var(--ui-line); border-radius:20px; background:var(--ui-line); cursor:pointer; transition:background-color .16s; }
.settings-dialog .sound-row input[role=switch]::before { content:''; position:absolute; width:19px; height:19px; left:2px; top:2px; border-radius:50%; background:var(--ui-surface); box-shadow:0 1px 3px #173b3226; transition:transform .16s; }
.settings-dialog .sound-row input[role=switch]:checked { border-color:var(--ui-accent); background:var(--ui-accent); }
.settings-dialog .sound-row input[role=switch]:checked::before { transform:translateX(17px); background:#fff; }
.settings-dialog .sound-row input[role=switch]:disabled { cursor:default; }
@media(prefers-reduced-motion:reduce) { .settings-dialog .sound-row input[role=switch],.settings-dialog .sound-row input[role=switch]::before { transition:none; } }
@media(max-height:560px) { .settings-tabs { margin-bottom:8px; }.settings-dialog>.dialog-heading { padding-top:12px; padding-bottom:8px; }.settings-dialog>.dialog-heading .eyebrow { display:none; } }
@media(max-height:700px) {
  .settings-dialog>.dialog-heading { padding-top:12px; padding-bottom:10px; }
  .settings-dialog>.dialog-heading .eyebrow { display:none; }
  .settings-tabs { margin-bottom:8px; }
  #settings-audio-panel .audio-settings-heading { margin-bottom:6px; }
  .audio-setting { padding:10px 13px; margin:8px 0; }
  .audio-level-row { margin-top:6px; }
  .audio-setting-foot { margin-top:2px; }
  .audio-policy { margin-top:8px; }
}
