:root {
  color-scheme: dark;
  --bg: #050816;
  --card: #0f172a;
  --text: #f8fafc;
  --inactive-a: #1f2937;
  --inactive-b: #111827;
  --active-a: #ec4899;
  --active-b: #6366f1;
}

* { box-sizing: border-box; }

html,
body {
  margin: 0;
  min-height: 100%;
  background: var(--bg);
  color: var(--text);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.app {
  min-height: 100dvh;
  display: grid;
  grid-template-rows: 1fr auto;
  gap: 12px;
  padding: max(12px, env(safe-area-inset-top)) 12px max(12px, env(safe-area-inset-bottom));
}

.channel-controls {
  display: grid;
  grid-template-rows: 1fr 1fr;
  gap: 12px;
}

.channel-btn {
  border: 0;
  border-radius: 22px;
  min-height: 36dvh;
  font-size: clamp(2rem, 8vw, 4rem);
  font-weight: 800;
  color: var(--text);
  background: linear-gradient(165deg, var(--inactive-a), var(--inactive-b));
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
}

.channel-btn.active {
  background: linear-gradient(165deg, var(--active-a), var(--active-b));
}

.info-panel {
  background: var(--card);
  border-radius: 16px;
  padding: 12px;
}

.status {
  margin: 0 0 8px;
  font-weight: 700;
}

.desc {
  margin: 0;
  color: #cbd5e1;
  font-size: 0.9rem;
}

.manual-link {
  margin-top: 10px;
  display: block;
  text-align: center;
  text-decoration: none;
  color: #fff;
  background: #1e293b;
  border-radius: 10px;
  padding: 10px 12px;
  font-weight: 700;
}
