/* ============================================================
   Trial by Jury — overgrown-jungle-court skin over the shared engine CSS.
   Deep canopy greens, fig-gold accents, carved evidence tags; found
   documents restyled as court-record cards; and the four-witness
   role-select screen + the verdict picker.
   ============================================================ */

:root {
  --serif: "Palatino Linotype", "Book Antiqua", Palatino, Georgia, serif;
  --bg-0: #070d07;
  --bg-1: #0d1a0e;
  --bg-2: #13251a;
  --stone-1: #40503a;
  --stone-2: #2c3826;
  --torch: #e6d16a;          /* fig-gold */
  --torch-deep: #cbb04a;
  --gold: #8a6f34;
  --gold-bright: #e6d16a;
  --parchment: #e9dcc0;
  --ink: #0c140b;
}

/* title screen: a dark canopy with green light-shafts */
#title-screen {
  background:
    radial-gradient(1100px 640px at 50% 122%, #16351f 0%, transparent 60%),
    radial-gradient(820px 480px at 20% -6%, #1a2f16 0%, transparent 55%),
    linear-gradient(180deg, #070d07 0%, #0d1a0e 60%, #13251a 100%);
}
#title-bg {
  background:
    radial-gradient(680px 460px at 50% 20%, rgba(210,240,150,0.10) 0%, transparent 60%);
}
#title-bg::after { display: none; }
#title-stars { opacity: 0.2; }

#game-title {
  background: linear-gradient(180deg, #f6efce 0%, #e6d16a 46%, #a56a1c 100%);
  -webkit-background-clip: text;
  background-clip: text;
  letter-spacing: 0.05em;
  font-weight: 700;
  filter: drop-shadow(0 6px 30px rgba(230,209,106,0.24));
}
.title-kicker { letter-spacing: 0.28em; }
.title-foot { letter-spacing: 0.2em; }

.ember { background: radial-gradient(circle, #eaf6c8 0%, #c7e08a 55%, transparent 75%); }

#room-title { letter-spacing: 0.12em; font-weight: 600; }
#timer { font-family: Consolas, "Cascadia Mono", monospace; letter-spacing: 0.05em; }
#room-badge { font-family: Consolas, "Cascadia Mono", monospace; letter-spacing: 0.14em; }

#message-text { font-style: normal; font-size: 15.5px; letter-spacing: 0.01em; }
#message-card { border-color: rgba(230,209,106,0.28); }

/* ---------- role select screen ---------- */
.role-content {
  position: relative; z-index: 2; max-width: 1000px; margin: 0 auto; min-height: 100%;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: 22px; padding: 40px 24px; text-align: center;
}
.role-heading { font-size: clamp(26px, 4vw, 40px); color: var(--parchment); letter-spacing: 0.04em; margin: 0; }
.role-note { max-width: 660px; color: var(--text-dim); line-height: 1.7; font-size: 15px; }
.role-note strong { color: var(--gold-bright); }
.role-note em { color: var(--parchment); font-style: italic; }
.role-cards { display: flex; gap: 20px; flex-wrap: wrap; justify-content: center; }
.role-cards-4 .role-card { width: 210px; }
.role-card {
  width: 210px; padding: 24px 18px 20px;
  background: linear-gradient(170deg, #16261680 0%, #0b160c 100%);
  border: 1px solid rgba(230,209,106,0.26); border-radius: 16px; cursor: pointer;
  color: var(--text); transition: transform 0.18s var(--ease-out), box-shadow 0.18s var(--ease-out), border-color 0.18s;
  display: flex; flex-direction: column; align-items: center; gap: 7px;
}
.role-card:hover {
  transform: translateY(-6px); border-color: var(--gold-bright);
  box-shadow: 0 18px 46px rgba(0,0,0,0.5), 0 0 30px rgba(230,209,106,0.16);
}
.role-card-badge { font-size: 11px; letter-spacing: 0.24em; text-transform: uppercase; color: var(--torch-deep); }
.role-card-art { font-size: 40px; line-height: 1; margin: 4px 0; }
.role-card-name { font-size: 21px; color: var(--parchment); letter-spacing: 0.04em; }
.role-card-sub { font-size: 12.5px; color: var(--text-dim); letter-spacing: 0.06em; }
.role-card-resume { margin-top: 8px; font-size: 11.5px; color: var(--ok); border: 1px solid rgba(123,196,127,0.4); border-radius: 20px; padding: 3px 12px; }

/* ---------- documents ---------- */
.logbook {
  position: relative; margin: 6px auto; padding: 20px 24px; max-width: 520px;
  background: linear-gradient(170deg, #e9e0c8 0%, #d6c9a6 100%); color: #2b2413;
  border: 1px solid #b6a374; border-left: 5px solid #8a6f34; border-radius: 6px;
  box-shadow: 0 14px 40px rgba(0,0,0,0.5); font-size: 15px; line-height: 1.75;
  animation: fadeUp 0.5s var(--ease-out) both;
}
.logbook .log-title { font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; font-size: 12px; margin-bottom: 10px; color: #6b4f2c; }
.logbook.aged { filter: sepia(0.25) brightness(0.97); }

.chartcard {
  position: relative; margin: 6px auto; padding: 18px 22px; max-width: 560px;
  background: linear-gradient(170deg, #14251a 0%, #0d1a0e 100%); color: #cfe4c0;
  border: 1px solid rgba(230,209,106,0.3); border-radius: 8px;
  box-shadow: 0 14px 40px rgba(0,0,0,0.5), inset 0 0 30px rgba(210,240,150,0.05);
  font-family: Consolas, "Cascadia Mono", monospace; font-size: 14px; line-height: 1.7;
}
.chartcard .chart-title { font-weight: 700; letter-spacing: 0.16em; text-transform: uppercase; font-size: 11.5px; margin-bottom: 10px; color: #e6d16a; }
.chartcard .warn { color: var(--gold-bright); }
.chartcard .bad { color: #ff9a8f; }
.chartcard .ok { color: #a7e08f; }
.chartcard b, .chartcard strong { color: #f2ffe0; }

.relay {
  margin: 10px auto; max-width: 520px; padding: 10px 16px;
  border: 1px dashed rgba(230,209,106,0.5); border-radius: 8px;
  background: rgba(230,209,106,0.06); color: var(--gold-bright); font-size: 13.5px; letter-spacing: 0.02em;
}
.relay::before { content: "\2696\FE0F  "; }

.dial-face { font-family: Consolas, "Cascadia Mono", monospace; }

/* ---------- the verdict picker ---------- */
.verdict-q {
  margin: 14px 0 6px; text-align: center; color: var(--gold-bright);
  font-family: Georgia, serif; letter-spacing: 0.06em; font-size: 15px;
}
.verdict-witness { min-width: 120px; }
.verdict-witness.chosen {
  border-color: var(--gold-bright);
  background: rgba(230,209,106,0.14);
  color: var(--parchment);
  box-shadow: 0 0 18px rgba(230,209,106,0.22);
}

/* Gus's dock glow: fig-gold */
#gus-dock { filter: drop-shadow(0 0 14px rgba(230,209,106,0.4)); }
#gus-dock:hover { filter: drop-shadow(0 0 24px rgba(230,209,106,0.7)); }
#gus-dock::after { color: var(--parchment); border-color: rgba(230,209,106,0.45); }
.gus-portrait { filter: drop-shadow(0 0 18px rgba(230,209,106,0.3)); }
.gus-tier.next { border-color: rgba(230,209,106,0.4); }
