:root { color-scheme: dark; --bg: #0b0911; --card: #171320; --line: #30263f; --text: #f6f0ff; --muted: #a99db6; --purple: #a855f7; --pink: #ec4899; --danger: #fb7185; } * { box-sizing: border-box; } body { margin: 0; min-height: 100vh; background: radial-gradient(circle at 80% 0, #271237 0, transparent 35%), var(--bg); color: var(--text); font: 14px/1.3 system-ui, sans-serif; } header, main { max-width: 1180px; margin: auto; padding: 16px 24px; } header { display: flex; align-items: center; justify-content: space-between; } h1 { margin: .05em 0; font-size: clamp(1.65rem, 4vw, 2.7rem); line-height: 1.08; } h1 span { background: linear-gradient(90deg, var(--purple), var(--pink)); background-clip: text; color: transparent; } h2 { margin: .25rem 0; font-size: 1rem; line-height: 1.2; } .grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(270px, 1fr)); gap: 11px; } .zone, .panel { padding: 13px 16px; border: 1px solid var(--line); border-radius: 14px; background: color-mix(in srgb, var(--card) 94%, transparent); box-shadow: 0 8px 28px #0005; } .track { min-height: 32px; margin: 8px 0; color: var(--muted); } button, select, input { min-height: 32px; padding: 6px 11px; border: 1px solid #48345e; border-radius: 8px; background: #211a2c; color: var(--text); font: inherit; } button { cursor: pointer; font-size: .86rem; font-weight: 700; } button:hover, button:focus { border-color: var(--pink); box-shadow: 0 0 0 2px #ec489933; } .controls, .tabs, .list-row { display: flex; flex-wrap: wrap; gap: 6px; } .controls button { flex: 1; } .controls + label { margin-top: 4px; } .danger { color: var(--danger); } .eq-controls { display: grid; gap: 4px; margin-top: 5px; } .zone-actions { display: flex; align-items: center; gap: 5px; margin-top: 4px; } .zone-actions button { min-height: 24px; padding: 2px 7px; font-size: .72rem; } .loudness.active { border-color: var(--pink); background: linear-gradient(110deg, #7c3aed, var(--pink)); } label { display: grid; gap: 4px; color: var(--muted); font-size: .88rem; } input[type="range"] { width: 100%; min-height: 26px; padding: 3px 6px; accent-color: var(--pink); } .panel { margin-top: 14px; } .form-grid { display: grid; grid-template-columns: 1fr 2fr; gap: 14px; margin-bottom: 10px; } fieldset { margin: 0; padding: 0; border: 0; } .checks { display: flex; flex-wrap: wrap; gap: 8px; } .checks label { display: flex; align-items: center; } .tabs { margin: 11px 0; } .tabs .active, #group { border: 0; background: linear-gradient(110deg, #7c3aed, var(--pink)); } .list-row { align-items: center; justify-content: space-between; padding: 6px 8px; border-bottom: 1px solid var(--line); } .muted { color: var(--muted); } #notice:not(:empty) { margin-bottom: 10px; padding: 8px 10px; border: 1px solid var(--pink); border-radius: 8px; } @media (max-width: 640px) { header { align-items: flex-start; flex-direction: column; gap: 9px; } .form-grid { grid-template-columns: 1fr; } header, main { padding: 12px 18px; } .zone { padding: 11px 14px; } }