:root { color-scheme: dark; }
* { box-sizing: border-box; }
body { font-family: system-ui, sans-serif; background: #0b1512; color: #f1f1e9; margin: 0; }
header { max-width: 960px; margin: 0 auto; padding: 24px 16px 0; }
.badge { display: inline-block; font-size: 12px; background: #10b98122; color: #10b981; border: 1px solid #10b98155; border-radius: 999px; padding: 4px 12px; }
h1 { font-size: 28px; margin: 12px 0 4px; }
.sub { color: #9db3a8; margin: 0 0 12px; }
.tabs { display: flex; gap: 8px; margin: 12px 0; }
.tabs button { flex: none; padding: 8px 18px; font-size: 14px; border-radius: 999px; border: 1px solid #2a4a3e; background: transparent; color: #f1f1e9; cursor: pointer; }
.tabs button.on { background: #10b981; color: #06231b; border-color: #10b981; font-weight: 700; }
main { max-width: 960px; margin: 0 auto; padding: 0 16px 40px; }
.panel { display: none; }
.panel.on { display: block; }
.card { background: #102019; border: 1px solid #1f3a30; border-radius: 16px; padding: 20px; margin-top: 12px; }
.device { display: flex; gap: 16px; align-items: center; }
.ring { width: 72px; height: 72px; border-radius: 50%; border: 6px solid #1f3a30; flex: none; transition: border-color 0.3s, box-shadow 0.3s; }
.ring.talk { border-color: #10b981; box-shadow: 0 0 24px #10b98188; animation: pulse 1.2s infinite; }
@keyframes pulse { 50% { box-shadow: 0 0 40px #10b981cc; } }
#speech { font-size: 20px; line-height: 1.5; min-height: 60px; }
.row { display: flex; gap: 12px; margin-top: 14px; flex-wrap: wrap; }
button.big { flex: 1; min-width: 140px; font-size: 18px; padding: 14px; border-radius: 12px; border: 1px solid #2a4a3e; background: #10b981; color: #06231b; font-weight: 700; cursor: pointer; }
button.ghost { background: transparent; color: #f1f1e9; }
button.small { font-size: 14px; padding: 8px 14px; border-radius: 10px; border: 1px solid #2a4a3e; background: transparent; color: #f1f1e9; cursor: pointer; }
.toolbar { display: flex; gap: 8px; align-items: center; margin-top: 12px; flex-wrap: wrap; }
select, input { background: #0b1512; color: #f1f1e9; border: 1px solid #2a4a3e; border-radius: 10px; padding: 8px 12px; font-size: 14px; }
table { width: 100%; border-collapse: collapse; font-size: 13px; margin-top: 8px; }
th, td { text-align: left; padding: 8px; border-bottom: 1px solid #1f3a30; }
.stats { display: flex; gap: 12px; flex-wrap: wrap; }
.stat { flex: 1; min-width: 120px; background: #0b1512; border: 1px solid #1f3a30; border-radius: 12px; padding: 12px; text-align: center; }
.stat b { font-size: 26px; color: #10b981; display: block; }
pre#log { font-size: 12px; color: #9db3a8; max-height: 220px; overflow: auto; }
form.grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 8px; }
