:root {
  --bg: #0f0f10;
  --fg: #e8e8e8;
  --muted: #888;
  --accent: #d4a44c;
  --border: #2a2a2e;
  --card: #17171a;
}
* { box-sizing: border-box; }
body {
  margin: 0;
  font-family: -apple-system, system-ui, "Helvetica Neue", Arial, sans-serif;
  background: var(--bg);
  color: var(--fg);
  line-height: 1.5;
}
main { max-width: 760px; margin: 0 auto; padding: 2rem 1.25rem; }
header { margin-bottom: 2rem; }
h1 { margin: 0; font-size: 1.75rem; letter-spacing: -0.01em; }
.sub { color: var(--muted); margin: 0.25rem 0 0; }
form { display: flex; flex-direction: column; gap: 1.25rem; background: var(--card); padding: 1.5rem; border-radius: 10px; border: 1px solid var(--border); }
label { display: flex; flex-direction: column; gap: 0.35rem; font-size: 0.9rem; }
label > span { color: var(--muted); }
input, textarea {
  background: #0c0c0e;
  color: var(--fg);
  border: 1px solid var(--border);
  border-radius: 6px;
  padding: 0.6rem 0.75rem;
  font-family: inherit;
  font-size: 0.95rem;
}
textarea { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 0.85rem; }
fieldset { border: 1px solid var(--border); border-radius: 6px; padding: 0.75rem 1rem 1rem; }
legend { color: var(--muted); font-size: 0.85rem; padding: 0 0.35rem; }
#speakers { display: grid; grid-template-columns: 1fr 1fr; gap: 0.5rem; }
button {
  background: var(--accent);
  color: #1a1309;
  border: none;
  border-radius: 6px;
  padding: 0.75rem 1rem;
  font-weight: 600;
  font-size: 0.95rem;
  cursor: pointer;
}
button:hover { filter: brightness(1.1); }
button:disabled { opacity: 0.6; cursor: wait; }
section { margin-top: 2rem; background: var(--card); padding: 1.5rem; border-radius: 10px; border: 1px solid var(--border); }
h2 { margin-top: 0; }
.stages { display: flex; flex-wrap: wrap; gap: 0.5rem; font-size: 0.8rem; color: var(--muted); margin-bottom: 1rem; }
.stages .stage { padding: 0.25rem 0.6rem; border: 1px solid var(--border); border-radius: 999px; }
.stages .ok { border-color: #3a5a3a; color: #9ec99e; }
.stages .err { border-color: #5a3a3a; color: #d38686; }
pre { white-space: pre-wrap; word-wrap: break-word; background: #0c0c0e; padding: 1rem; border-radius: 6px; border: 1px solid var(--border); font-size: 0.85rem; }
.progress { padding: 0.75rem 1rem; background: #0c0c0e; border: 1px solid var(--border); border-radius: 6px; font-size: 0.85rem; color: var(--muted); font-family: ui-monospace, monospace; }
small { color: var(--muted); font-size: 0.75rem; margin-top: 0.25rem; }
.evaluation { margin-bottom: 1rem; }
.eval-grid { display: flex; flex-wrap: wrap; gap: 1rem; font-size: 0.85rem; margin-bottom: 0.5rem; }
.eval-grid b { color: var(--fg); }
.eval-pass { color: #9ec99e; font-weight: 600; }
.eval-fail { color: #d38686; font-weight: 600; }
.evaluation details { margin-top: 0.5rem; font-size: 0.8rem; color: var(--muted); }
.evaluation details summary { cursor: pointer; }
.evaluation details ul { margin: 0.5rem 0 0; padding-left: 1.25rem; }
