.avs { display: grid; gap: 20px; }
.avs-form { display: grid !important; grid-template-columns: minmax(0, 1fr) !important; gap: 12px !important; }
.avs-top { display: grid; gap: 12px; }
.avs-name { max-width: 420px; }
.avs-presets { margin: 0; }
.avs-h { margin: 14px 0 0; font: 700 1.2rem/1.25 var(--f-display); color: var(--ink); letter-spacing: -0.01em; }
.avs fieldset.avs-q { padding: 14px 16px; background: #fff; display: grid; gap: 10px; }
.avs-q legend { float: left; width: 100%; padding: 0; font: 600 1rem/1.4 var(--f-body); color: var(--ink); }
.avs-num { display: inline-grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: var(--ink); color: var(--paper); font: 600 0.8125rem var(--f-mono); margin-right: 8px; }
.avs-opts { display: flex; flex-wrap: wrap; gap: 8px; }
.avs-opt { display: flex !important; align-items: center; gap: 8px; min-height: 44px; padding: 8px 16px; border: 1px solid var(--rule); border-radius: var(--radius);
  background: var(--paper-light); font: 400 0.95rem var(--f-body) !important; color: var(--ink) !important; letter-spacing: 0 !important; cursor: pointer; }
.avs-opt:has(input:checked) { border-color: var(--ink); box-shadow: inset 0 0 0 1px var(--ink); }
.avs-opt--y:has(input:checked) { background: color-mix(in srgb, var(--teal) 22%, var(--paper-light)); }
.avs-opt--p:has(input:checked) { background: color-mix(in srgb, var(--ochre) 35%, var(--paper-light)); }
.avs-opt--n:has(input:checked) { background: var(--paper); }
.avs-opt input { accent-color: var(--teal); }
.avs-opt:has(input:focus-visible) { outline: 3px solid var(--teal); outline-offset: 2px; }
.avs-src { margin: 0; font-size: 0.875rem; font-style: italic; color: var(--ink-soft); }
.avs-src a { font-style: normal; font: 400 0.8125rem var(--f-mono); }
.avs-verdict { display: grid; gap: 24px; grid-template-columns: minmax(200px, 320px) minmax(0, 1fr); align-items: center; }
.avs-verdict p { margin: 0 0 10px; }
.avs-big { font-size: clamp(1.6rem, 3.6vw, 2.4rem) !important; margin-bottom: 12px !important; }
.avs-bands { list-style: none; margin: 0 0 12px; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.avs-bands li { padding: 6px 12px; border: 1px solid var(--rule); background: #fff; font: 400 0.875rem var(--f-mono); color: var(--ink-soft); }
.avs-bands li span { font-weight: 600; margin-right: 4px; }
.avs-bands li.is-here { background: var(--ochre); border-color: var(--ink); color: var(--ink); font-weight: 600; }
.avs-parts { border-collapse: collapse; width: 100%; max-width: 520px; font-size: 0.95rem; }
.avs-parts caption { text-align: left; margin-bottom: 6px; }
.avs-parts th, .avs-parts td { padding: 6px 10px; border-bottom: 1px solid var(--rule); text-align: left; }
.avs-parts th { font: 600 0.875rem var(--f-mono); width: 3em; }
.avs-parts td:last-child { font-family: var(--f-mono); text-align: right; }
.avs-gaps { margin: 8px 0 0; padding-left: 1.4em; display: grid; gap: 10px; }
.avs-gap-ch { display: block; margin-top: 2px; font: 400 0.8125rem var(--f-mono); }
@media (max-width: 640px) { .avs-verdict { grid-template-columns: minmax(0, 1fr); } .avs-radar { max-width: 300px; margin: 0 auto; } }
@media print { .avs-form .avs-opt:not(:has(input:checked)) { display: none !important; } .avs-presets, .tool-actions { display: none !important; } }
