/* Syndicates page. Tokens and components come from style.css. */

.syndicates-page { display: grid; gap: var(--sp-2); }
.syndicate-grid { display: grid; gap: var(--sp-3); grid-template-columns: repeat(auto-fill, minmax(min(100%, 16rem), 1fr)); }
.syndicate { display: grid; align-content: start; gap: 0.4rem; padding: var(--sp-3); border: 1px solid var(--line-soft); border-radius: var(--r-ctl); background: rgba(13, 18, 36, 0.45); }
.syndicate p { margin: 0; }
.syn-head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 0.3rem 0.6rem; }
.syn-head h3 { margin: 0; font: 400 var(--step-1) var(--display); color: var(--ivory); }
.syn-standing { font-size: var(--step--1); color: var(--muted); }
.syn-standing b { font: 600 var(--step-1) var(--num); color: var(--ivory); }
.syn-standing .change { margin-left: 0.5rem; font-family: var(--num); font-weight: 600; }
.syn-standing .change.up { color: var(--ok); }
.syn-standing .change.down { color: var(--danger); }
.syndicate .bar { height: 4px; border-radius: 2px; background: var(--line-soft); overflow: hidden; }
.syndicate .bar span { display: block; height: 100%; background: linear-gradient(90deg, var(--gold), var(--gold-hi)); }
.syndicate .spark { width: 100%; height: 1.6rem; }
.syndicate .spark path { fill: none; stroke: var(--void); stroke-width: 1.5; vector-effect: non-scaling-stroke; }

.offer-tools { display: flex; flex-wrap: wrap; align-items: center; gap: var(--sp-3) var(--sp-5); margin-bottom: var(--sp-3); }
.offer-tools label { display: flex; align-items: center; gap: var(--sp-2); font-size: var(--step--1); color: var(--muted); }
.table-wrap { overflow-x: auto; }
table.offers td, table.offers th { padding: 0.45rem 0.6rem; text-align: left; vertical-align: middle; font-size: var(--step--1); }
table.offers .num { text-align: right; font-family: var(--num); }
table.offers tbody tr { border-top: 1px solid var(--line-soft); }
table.offers .item { display: inline-flex; align-items: center; gap: 0.5rem; }
table.offers .item img { width: 1.8rem; height: 1.8rem; object-fit: contain; }
table.offers a { color: var(--ivory); text-decoration: none; }
table.offers a:hover { color: var(--gold-hi); }
table.offers .players { display: flex; flex-wrap: wrap; gap: 0.3rem; }
