/* Фаза 17.4: только секция звукового профиля внутри Настроек. */
.f17-sound-profile { --sound-dock-reserve:0px; color:var(--text); font-size:13px; font-weight:400; line-height:1.4; }
.f17-sound-profile *, .f17-sound-profile *::before, .f17-sound-profile *::after { box-sizing:border-box; }
.f17-sound-profile .f17-sound-content { padding-bottom:var(--sound-dock-reserve); }
.f17-sound-profile h2 { margin:0 0 16px; font-size:18px; font-weight:400; }
.f17-sound-profile h3, .f17-sound-profile strong { font-weight:400; }
.f17-sound-profile .f17-sound-choice, .f17-sound-profile .f17-sound-library { padding:18px; border:1px solid var(--line); border-radius:var(--radius); background:var(--surface); margin-bottom:16px; min-width:0; }
.f17-sound-profile .f17-sound-profile-grid { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:24px; }
.f17-sound-profile .f17-sound-controls { display:grid; gap:16px; align-content:start; }
.f17-sound-profile .f17-sound-enabled { display:flex; min-height:40px; align-items:center; gap:10px; cursor:pointer; }
.f17-sound-profile .f17-sound-enabled input { width:18px; height:18px; min-width:18px; min-height:18px; margin:0; accent-color:var(--primary); }
.f17-sound-profile .f17-sound-volume { display:grid; gap:8px; }
.f17-sound-profile .f17-sound-volume > span { display:flex; justify-content:space-between; gap:12px; }
.f17-sound-profile .f17-sound-volume output { min-width:42px; text-align:right; }
.f17-sound-profile input[type=range] { appearance:none; -webkit-appearance:none; width:100%; min-width:0; height:36px; min-height:36px; padding:0; border:0; box-shadow:none; background:transparent; cursor:pointer; }
.f17-sound-profile input[type=range]::-webkit-slider-runnable-track { height:6px; border-radius:4px; background:linear-gradient(to right,var(--primary) 0%,var(--primary) var(--sound-level),var(--surface-muted) var(--sound-level),var(--surface-muted) 100%); }
.f17-sound-profile input[type=range]::-webkit-slider-thumb { appearance:none; -webkit-appearance:none; height:18px; width:18px; margin-top:-6px; border:2px solid var(--surface); border-radius:50%; background:var(--primary); box-shadow:0 0 0 1px var(--primary); }
.f17-sound-profile input[type=range]::-moz-range-track { height:6px; border-radius:4px; background:var(--surface-muted); }
.f17-sound-profile input[type=range]::-moz-range-progress { height:6px; background:var(--primary); border-radius:4px; }
.f17-sound-profile input[type=range]::-moz-range-thumb { height:16px; width:16px; border:2px solid var(--surface); border-radius:50%; background:var(--primary); }
.f17-sound-profile .f17-sound-assignment { display:flex; gap:12px; align-items:center; justify-content:space-between; padding:12px 0; border-bottom:1px solid var(--line); }
.f17-sound-profile .f17-sound-assignment:first-child { padding-top:0; }
.f17-sound-profile .f17-sound-assignment > div { min-width:0; }
.f17-sound-profile .f17-sound-assignment span, .f17-sound-profile .f17-sound-assignment strong, .f17-sound-profile .f17-sound-assignment small { display:block; overflow-wrap:anywhere; }
.f17-sound-profile .f17-sound-assignment span, .f17-sound-profile .f17-sound-assignment small { color:var(--muted); font-size:12px; }
.f17-sound-profile .f17-sound-assignment strong { margin-top:4px; font-size:15px; }
.f17-sound-profile .secondary-button { width:auto; min-height:34px; padding:7px 10px; margin:0; font-size:12px; font-weight:400; line-height:1.25; flex-shrink:0; }
.f17-sound-profile .f17-sound-actions, .f17-sound-profile .f17-sound-card-actions, .f17-sound-profile .f17-sound-types { display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.f17-sound-profile .f17-sound-actions { margin-top:12px; }
.f17-sound-profile [data-sound-action=save] { min-height:40px; background:var(--primary); color:var(--surface); border-color:var(--primary); }
.f17-sound-profile button[aria-pressed=true] { border-color:var(--primary); color:var(--primary-strong); background:var(--surface-muted); }
.f17-sound-profile button:focus-visible, .f17-sound-profile input:focus-visible { outline:2px solid var(--primary); outline-offset:2px; }
.f17-sound-profile button:disabled, .f17-sound-profile input:disabled { cursor:default; }
.f17-sound-profile .f17-sound-note, .f17-sound-profile .f17-sound-count { color:var(--muted); font-size:12px; margin:12px 0; overflow-wrap:anywhere; }
.f17-sound-profile .f17-sound-error { color:var(--danger); overflow-wrap:anywhere; margin:12px 0; }
.f17-sound-profile .f17-sound-message, .f17-sound-profile .f17-sound-preview-status { margin:10px 0 0; overflow-wrap:anywhere; }
.f17-sound-profile .f17-sound-message:empty, .f17-sound-profile .f17-sound-preview-status:empty { display:none; }
.f17-sound-profile .f17-sound-search { display:grid; gap:6px; margin-bottom:12px; max-width:560px; }
.f17-sound-profile .f17-sound-search input { width:100%; min-height:36px; font:inherit; color:var(--text); background:var(--surface); }
.f17-sound-profile .f17-sound-types { margin:12px 0; }
.f17-sound-profile .f17-sound-catalog { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.f17-sound-profile .f17-sound-card { min-width:0; padding:14px; border:1px solid var(--line); border-radius:var(--radius); background:var(--surface); }
.f17-sound-profile .f17-sound-card.is-assigned { border-color:var(--primary); }
.f17-sound-profile .f17-sound-card.is-playing { background:var(--surface-muted); box-shadow:inset 3px 0 var(--primary); }
.f17-sound-profile .f17-sound-card-head { display:flex; align-items:start; justify-content:space-between; gap:12px; }
.f17-sound-profile .f17-sound-card-head > div { min-width:0; }
.f17-sound-profile .f17-sound-card-head h3 { margin:0; font-size:15px; line-height:1.35; overflow-wrap:anywhere; }
.f17-sound-profile .f17-sound-card-head p { margin:5px 0 0; font-size:12px; color:var(--muted); overflow-wrap:anywhere; }
.f17-sound-profile .f17-sound-card-head > span { flex:0 0 auto; white-space:nowrap; color:var(--muted); font-size:12px; }
.f17-sound-profile .f17-sound-card > svg { display:block; width:100%; height:24px; margin:16px 0; fill:var(--muted); }
.f17-sound-profile .f17-sound-card.is-playing > svg { fill:var(--primary); }
.f17-sound-profile .f17-sound-dock { position:fixed; z-index:30; padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px)); border-top:1px solid var(--line); background:var(--surface); box-shadow:0 -4px 16px rgb(15 23 42 / 8%); display:flex; align-items:center; gap:16px; }
.f17-sound-profile .f17-sound-dock[hidden] { display:none; }
.f17-sound-profile .f17-sound-dock-names { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px 16px; min-width:0; flex:1 1 auto; }
.f17-sound-profile .f17-sound-dock-names span { font-size:11px; color:var(--muted); min-width:0; overflow-wrap:anywhere; }
.f17-sound-profile .f17-sound-dock-names strong { display:block; margin-top:3px; font-size:13px; color:var(--text); overflow-wrap:anywhere; }
.f17-sound-profile .f17-sound-dock-actions { display:flex; gap:8px; flex-wrap:wrap; }
.f17-sound-profile .f17-sound-dock-actions .secondary-button { min-height:40px; }
@media(max-width:760px) {
  .f17-sound-profile .f17-sound-choice, .f17-sound-profile .f17-sound-library { padding:12px; }
  .f17-sound-profile .f17-sound-profile-grid, .f17-sound-profile .f17-sound-catalog { grid-template-columns:minmax(0,1fr); }
  .f17-sound-profile .f17-sound-profile-grid { gap:16px; }
  .f17-sound-profile .f17-sound-assignment { align-items:start; }
  .f17-sound-profile .f17-sound-card { padding:12px; }
  .f17-sound-profile .f17-sound-card-actions .secondary-button { flex:1 1 auto; }
  .f17-sound-profile .f17-sound-dock { display:grid; gap:8px; padding-inline:12px; }
  .f17-sound-profile .f17-sound-dock-actions { justify-content:space-between; }
  .f17-sound-profile .f17-sound-dock-actions .secondary-button { flex:1 1 auto; }
}
