/* === Logic Liar Game-Specific Styles === */

/* Formula display */
.formula-zone {
  text-align: center;
  padding: 8px 12px;
  min-height: 36px;
  font-family: var(--font-mono);
  font-size: 15px;
  font-weight: 600;
  color: var(--gold);
  letter-spacing: 0.5px;
  line-height: 1.6;
  animation: fadeSlideUp 0.4s ease-out both;
}
.formula-zone .clause {
  display: inline-block;
  padding: 2px 6px;
  margin: 2px 3px;
  border-radius: 6px;
  border: 1px solid var(--border);
  background: var(--surface-2);
  transition: all 0.3s;
  white-space: nowrap;
}
.formula-zone .clause.sat {
  border-color: var(--win);
  color: var(--win);
  box-shadow: 0 0 6px rgba(61, 212, 122, 0.2);
}
.formula-zone .clause.unsat {
  border-color: var(--lose);
  color: var(--lose);
  box-shadow: 0 0 6px rgba(224, 64, 96, 0.2);
  opacity: 0.7;
}
.formula-zone .conj {
  color: var(--text-muted);
  margin: 0 2px;
  font-size: 13px;
}

/* Clause status indicators */
.clause-status {
  text-align: center;
  padding: 2px 0;
  min-height: 20px;
  font-family: var(--font-mono);
  font-size: 11px;
}
.clause-status .clause-ind {
  display: inline-block;
  margin: 0 4px;
  padding: 1px 8px;
  border-radius: 4px;
  font-weight: 600;
  letter-spacing: 0.3px;
}
.clause-ind.sat {
  color: var(--win);
}
.clause-ind.unsat {
  color: var(--lose);
  opacity: 0.7;
}

/* Truth assignment display */
.player-assign,
.dealer-assign {
  text-align: center;
  padding: 3px 0;
  min-height: 22px;
  font-family: var(--font-mono);
  font-size: 11px;
  display: flex;
  gap: 8px;
  justify-content: center;
  flex-wrap: wrap;
}
.var-badge {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  padding: 2px 8px;
  border-radius: 4px;
  background: var(--surface-2);
  border: 1px solid var(--border);
  font-weight: 600;
  letter-spacing: 0.3px;
}
.var-badge .var-name {
  color: var(--text-dim);
}
.var-badge .var-val {
  font-weight: 700;
  font-size: 10px;
}
.var-badge .var-val.true-val {
  color: var(--win);
}
.var-badge .var-val.false-val {
  color: var(--lose);
}
.var-badge.choosable {
  cursor: pointer;
  border-color: var(--gold);
  animation: tapPulse 1.4s ease-in-out infinite;
}

/* Card pip for logic liar: variable + truth */
.logic-pip {
  position: absolute;
  bottom: 2px;
  left: 50%;
  transform: translateX(-50%);
  font-family: var(--font-mono);
  font-size: 9px;
  font-weight: 700;
  padding: 1px 5px;
  border-radius: 3px;
  display: flex;
  gap: 3px;
  align-items: center;
  background: rgba(0, 0, 0, 0.6);
  backdrop-filter: blur(2px);
  white-space: nowrap;
}
.logic-pip .pip-var {
  color: var(--gold);
}
.logic-pip .pip-truth.t-true {
  color: var(--win);
}
.logic-pip .pip-truth.t-false {
  color: var(--lose);
}

/* Negated card indicator */
.card.negated {
  box-shadow:
    0 0 0 2px rgba(144, 96, 224, 0.5),
    0 0 8px rgba(144, 96, 224, 0.2),
    0 1px 3px rgba(0, 0, 0, 0.25);
}

/* Score badge overrides */
.score-badge {
  display: inline-block;
  font-family: var(--font-mono);
  font-size: 12px;
  font-weight: 700;
  padding: 1px 6px;
  border-radius: 4px;
  min-width: 18px;
  text-align: center;
}

/* Betting round indicator */
.bet-round-label {
  text-align: center;
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: 0.8px;
  color: var(--text-muted);
  padding: 4px 0;
}

/* History row (BET phase) */
.history-row {
  display: flex;
  gap: 6px;
  justify-content: center;
  flex-wrap: wrap;
  animation: fadeSlideUp 0.4s ease-out both;
}
.hist-pill {
  font-family: var(--font-mono);
  font-size: 11px;
  font-weight: 600;
  padding: 2px 7px;
  border-radius: 4px;
  background: var(--surface-2);
  border: 1px solid var(--border);
  opacity: 0.85;
}

/* Dealer hint */
.dealer-hint {
  text-align: center;
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: 0.8px;
  color: var(--text-muted);
  min-height: 16px;
}
