/* Demo controls (time-of-day slider, theme switch, doorbell, TV pad) — uses the site tokens. */
.qa-clock { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: 20px 22px 18px; box-shadow: var(--shadow); }
.qa-clock-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; margin-bottom: 14px; }
.qa-clock-time { font: 600 34px/1 var(--font-head); letter-spacing: -.03em; font-variant-numeric: tabular-nums; }
.qa-clock-state { margin-top: 7px; font-size: 13.5px; color: var(--muted); }
.qa-chip { appearance: none; border: 1px solid var(--line); background: transparent; color: var(--ink-2); padding: 7px 14px; border-radius: 999px; font: 600 12.5px/1 var(--font-head); cursor: pointer; letter-spacing: .04em; }
.qa-chip:hover { border-color: var(--accent); color: var(--accent); }
.qa-chip.on { background: var(--accent); color: var(--accent-ink); border-color: var(--accent); }
.qa-clock-range { -webkit-appearance: none; appearance: none; width: 100%; height: 16px; border-radius: 99px; outline-offset: 6px; cursor: pointer; box-shadow: inset 0 0 0 1px rgba(0,0,0,.12); }
.qa-clock-range::-webkit-slider-thumb { -webkit-appearance: none; width: 28px; height: 28px; border-radius: 50%; background: #fff; border: 3px solid var(--gold); box-shadow: 0 4px 12px rgba(0,0,0,.35); cursor: grab; }
.qa-clock-range::-moz-range-thumb { width: 22px; height: 22px; border-radius: 50%; background: #fff; border: 3px solid var(--gold); box-shadow: 0 4px 12px rgba(0,0,0,.35); cursor: grab; }
.qa-clock-marks { display: flex; justify-content: space-between; margin-top: 10px; font-size: 11.5px; color: var(--muted); letter-spacing: .04em; }
.qa-clock-sun { display: flex; justify-content: space-between; margin-top: 8px; font-size: 13px; color: var(--ink-2); }
.qa-clock-presets { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 16px; }
.qa-clock-presets button { appearance: none; cursor: pointer; border: 1px solid var(--line); background: transparent; color: var(--ink); padding: 9px 16px; border-radius: 999px; font: 500 13.5px/1 var(--font-body); }
.qa-clock-presets button:hover { border-color: var(--accent); color: var(--accent); }

.qa-seg { display: inline-flex; padding: 4px; border-radius: 999px; background: var(--bg-2); border: 1px solid var(--line); }
.qa-seg button { appearance: none; border: 0; background: transparent; color: var(--ink-2); padding: 9px 18px; border-radius: 999px; font: 600 13.5px/1 var(--font-head); cursor: pointer; transition: background .2s, color .2s; }
.qa-seg button.on { background: var(--navy); color: var(--cream); }
:root[data-theme="dark"] .qa-seg button.on { background: var(--accent); color: var(--accent-ink); }

.qa-ring.ringing { animation: qa-ring .5s ease-in-out 5; }
@keyframes qa-ring { 0%,100% { transform: rotate(0) } 20% { transform: rotate(-4deg) } 60% { transform: rotate(4deg) } }

.qa-tvpad { display: flex; align-items: center; justify-content: center; gap: 14px; margin-top: 16px; }
.qa-tvpad button { appearance: none; border: 1px solid var(--line); background: var(--surface); color: var(--ink); width: 44px; height: 44px; border-radius: 14px; cursor: pointer; display: grid; place-items: center; font: 700 12px/1 var(--font-head); }
.qa-tvpad button:hover { border-color: var(--accent); color: var(--accent); }
.qa-tvpad button:active { transform: translateY(1px); }
.qa-tvpad svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.qa-tvpad .pad { display: grid; grid-template-columns: repeat(3, 44px); grid-template-rows: repeat(3, 44px); gap: 4px; }
.qa-tvpad .pad .ok { grid-column: 2; grid-row: 2; border-radius: 50%; }
.qa-tvpad .pad [data-k="up"] { grid-column: 2; grid-row: 1; } .qa-tvpad .pad [data-k="left"] { grid-column: 1; grid-row: 2; }
.qa-tvpad .pad [data-k="right"] { grid-column: 3; grid-row: 2; } .qa-tvpad .pad [data-k="down"] { grid-column: 2; grid-row: 3; }
