:root {
  --tt-ink: #1c1a2e;
  --tt-plum: #2b2347;
  --tt-gold: #e0a423;
  --tt-blood: #8c2f2f;
}

html { font-size: 14px; position: relative; min-height: 100%; }
@media (min-width: 768px) { html { font-size: 16px; } }

body {
  margin-bottom: 0;
  background: #f6f4ef;
  color: #232026;
}

/* Brand + nav */
.tt-navbar { background: linear-gradient(90deg, var(--tt-ink), var(--tt-plum)); }
.tt-brand { font-family: Georgia, 'Times New Roman', serif; letter-spacing: .5px; }
.tt-amp { color: var(--tt-gold); }
.tt-admin-link { color: var(--tt-gold) !important; }

/* Hero */
.tt-hero {
  background: linear-gradient(135deg, var(--tt-ink), var(--tt-plum) 60%, var(--tt-blood));
  color: #fff;
  border-radius: 1rem;
  padding: 3.5rem 2rem;
}
.tt-hero h1 { font-family: Georgia, serif; font-weight: 700; }

.tt-card { border: none; border-radius: .85rem; box-shadow: 0 2px 14px rgba(28,26,46,.08); }

.badge-public { background: #1f7a4d; }
.badge-private { background: #6c757d; }
.badge-pending { background: var(--tt-gold); color: #000; }
.badge-rejected { background: var(--tt-blood); }

/* Quiz */
.tt-answer {
  display: block; width: 100%; text-align: left;
  border: 2px solid #d9d4ea; border-radius: .6rem;
  padding: .9rem 1.1rem; margin-bottom: .75rem;
  background: #fff; font-size: 1.05rem; transition: all .12s ease;
}
.tt-answer:hover { border-color: var(--tt-plum); transform: translateY(-1px); }
.tt-answer.correct { border-color: #1f7a4d; background: #e8f6ee; }
.tt-answer.wrong { border-color: var(--tt-blood); background: #f9eaea; }
.tt-progress { height: .55rem; }

.form-floating > label { color: #6c6780; }
footer { background: #fff; }

/* Difficulty badge (level 4) */
.bg-orange { background: #e8730c; color: #fff; }
