:root {
  --bg: #1b0f12;
  --bg2: #2a161b;
  --card: #341c22;
  --fg: #fff7ee;
  --muted: #d6b9a8;
  --red: #d7263d;
  --yellow: #f6c445;
  --green: #2bb673;
  --blue: #3a86ff;
  --purple: #8e5cf7;
  --radius: 16px;
}
* { box-sizing: border-box; }
html, body { margin: 0; height: 100%; }
body {
  background: radial-gradient(circle at 20% 0%, #4a1d26 0, var(--bg) 60%) fixed;
  color: var(--fg);
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  -webkit-tap-highlight-color: transparent;
}
button, input { font: inherit; }
.hidden { display: none !important; }
.muted { color: var(--muted); }
.center { text-align: center; }

.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: .4em;
  border: 0; border-radius: var(--radius); padding: .9em 1.2em;
  background: var(--yellow); color: #2a161b; font-weight: 700; cursor: pointer;
  min-height: 52px;
}
.btn:active { transform: scale(.98); }
.btn:disabled { opacity: .45; }
.btn.secondary { background: var(--card); color: var(--fg); border: 1px solid #ffffff22; }
.btn.danger { background: var(--red); color: #fff; }
.btn.green { background: var(--green); color: #fff; }
.btn.small { min-height: 36px; padding: .4em .8em; font-size: .9em; border-radius: 10px; }

input[type=text], input[type=password], input[type=number] {
  width: 100%; padding: .9em 1em; border-radius: var(--radius); border: 2px solid #ffffff33;
  background: #00000033; color: var(--fg); font-size: 1.15em;
}
input:focus { outline: none; border-color: var(--yellow); }

/* option colors (shared player/screen) */
.opt-0 { --c: var(--red); }
.opt-1 { --c: var(--blue); }
.opt-2 { --c: var(--yellow); }
.opt-3 { --c: var(--green); }
.opt-4 { --c: var(--purple); }
.opt-5 { --c: #ff7f11; }
.opt-yes { --c: var(--green); }
.opt-no { --c: var(--red); }

.timerbar { height: 8px; background: #ffffff22; border-radius: 4px; overflow: hidden; }
.timerbar > div { height: 100%; background: var(--yellow); width: 100%; transition: width .25s linear; }

.question-image { max-width: 100%; max-height: 35vh; border-radius: var(--radius); display: block; margin: 0 auto; }
