/* M17 — Deal Score Badge
   Single-homed canonical CSS (one file, one concern).
   Tokens: var(--wgf-*) — never :root here.
   Market direction (up/down) legitimately uses --wgf-up / --wgf-down.
   IMPORTANT: dsb-delta and dsb-compact classes are also used in index.html's
   inline <style> — these definitions must match exactly so the homepage can
   migrate to this file when ready. */

/* ── trio wrapper ── */
.dsb{
  display:inline-flex;
  flex-wrap:wrap;
  align-items:center;
  gap:var(--space-2);
}

/* ── 1. Deal score badge ── */
.dsb-score{
  display:inline-flex;
  flex-direction:column;
  align-items:flex-start;
  gap:2px;
  background:var(--wgf-panel-2);
  border:1px solid var(--wgf-border-neutral);
  border-left:3px solid var(--wgf-border-neutral);
  border-radius:var(--radius-control);
  padding:var(--space-2) var(--space-3);
  min-width:9rem;
}
/* left accent bar encodes the tier — color is deal quality, not chrome */
.dsb-score--great  {border-left-color:var(--wgf-up);}
.dsb-score--good   {border-left-color:var(--wgf-up);}
.dsb-score--fair   {border-left-color:var(--wgf-gold-muted);}
.dsb-score--poor   {border-left-color:var(--wgf-border-neutral);}
.dsb-score--overpriced{border-left-color:var(--wgf-down);}

.dsb-score__tier{
  font-family:var(--font-display);
  font-size:var(--text-xs);
  text-transform:uppercase;
  letter-spacing:.08em;
  line-height:1.2;
}
.dsb-score__tier--great     {color:var(--wgf-up);}
.dsb-score__tier--good      {color:var(--wgf-up);}
.dsb-score__tier--fair      {color:var(--wgf-gold-muted);}
.dsb-score__tier--poor      {color:var(--wgf-muted);}
.dsb-score__tier--overpriced{color:var(--wgf-down);}

.dsb-score__basis{
  font-family:var(--font-mono);
  font-variant-numeric:tabular-nums;
  font-size:var(--text-xs);
  color:var(--wgf-muted);
  white-space:nowrap;
}
.dsb-score__basis-num--down{color:var(--wgf-down);}
.dsb-score__basis-num--up  {color:var(--wgf-up);}

/* ── neutral (no edge) — muted dash variant ── */
.dsb-score--neutral{
  border-left-color:var(--wgf-border-neutral);
}
.dsb-score--neutral .dsb-score__tier{
  font-size:var(--text-md);
  font-family:var(--font-ui);
  color:var(--wgf-muted);
  letter-spacing:0;
  text-transform:none;
}

/* ── 2. Under-market flag pill ── */
.dsb-market{
  display:inline-flex;
  align-items:center;
  gap:var(--space-1);
  background:rgba(63,207,107,.08);
  border:1px solid rgba(63,207,107,.28);
  border-radius:var(--radius-pill);
  padding:3px var(--space-2);
  font-family:var(--font-mono);
  font-variant-numeric:tabular-nums;
  font-size:var(--text-xs);
  color:var(--wgf-up);
  white-space:nowrap;
  line-height:1.3;
}
.dsb-market__arrow{font-size:.8em;flex:0 0 auto;}
/* over-market variant */
.dsb-market--over{
  background:rgba(229,86,75,.08);
  border-color:rgba(229,86,75,.28);
  color:var(--wgf-down);
}

/* ── 3. Movement delta chip ── */
.dsb-delta{
  display:inline-flex;
  align-items:center;
  gap:var(--space-1);
  background:var(--wgf-panel-2);
  border:1px solid var(--wgf-border-neutral);
  border-radius:var(--radius-pill);
  padding:3px var(--space-2);
  font-family:var(--font-mono);
  font-variant-numeric:tabular-nums;
  font-size:var(--text-xs);
  white-space:nowrap;
  line-height:1.3;
}
.dsb-delta__pct{font-weight:500;}
.dsb-delta__pct--up  {color:var(--wgf-up);}
.dsb-delta__pct--down{color:var(--wgf-down);}
.dsb-delta__pct--flat{color:var(--wgf-muted);}
.dsb-delta__window{color:var(--wgf-muted);font-size:.9em;}

/* ── container: score + freshness stacked ── */
.dsb-group{
  display:inline-flex;
  flex-direction:column;
  align-items:flex-start;
  gap:var(--space-2);
}

/* ── compact chip — single signal for dense table rows / AH browser ── */
.dsb-compact{
  display:inline-flex;
  align-items:center;
  gap:var(--space-1);
  background:var(--wgf-panel-1);
  border:1px solid var(--wgf-border-neutral);
  border-radius:var(--radius-control);
  padding:3px var(--space-2);
  font-size:var(--text-xs);
}
.dsb-compact__tier{
  font-family:var(--font-display);
  font-size:.7rem;
  text-transform:uppercase;
  letter-spacing:.07em;
  line-height:1.2;
}
.dsb-compact__tier--great     {color:var(--wgf-up);}
.dsb-compact__tier--good      {color:var(--wgf-up);}
.dsb-compact__tier--fair      {color:var(--wgf-gold-muted);}
.dsb-compact__tier--poor      {color:var(--wgf-muted);}
.dsb-compact__tier--overpriced{color:var(--wgf-down);}
/* No-score / no-data state (used by the AH deals page when an item lacks a typical price). */
.dsb-compact--none{border-color:var(--wgf-border-neutral-soft);}
.dsb-compact__sep{color:var(--wgf-border-neutral);margin:0 1px;}
.dsb-compact__basis{
  font-family:var(--font-mono);
  font-variant-numeric:tabular-nums;
  font-size:.7rem;
  color:var(--wgf-down);
}
.dsb-compact__basis--up{color:var(--wgf-up);}
