/* ============================================================ private bets */
.pbx { padding-top: clamp(1rem, 2.5vw, 1.75rem); }
.pbx__hero { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr); gap: clamp(1rem, 3vw, 2.5rem); align-items: end; margin-bottom: 1.5rem; }
.pbx__intro h1 { margin: .2rem 0 .4rem; }
.pbx__intro p { color: var(--bone-70); max-width: 48ch; margin: 0 0 1rem; }
.pbx__new { min-width: 180px; }
.pbx__boards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .7rem; }
.pbx__board {
  display: grid; gap: .25rem; padding: 1rem 1.1rem;
  border: 1px solid var(--line); border-radius: var(--r);
  background: var(--ink-raise);
}
.pbx__board span { font-size: .62rem; letter-spacing: .2em; text-transform: uppercase; color: var(--bone-45); }
.pbx__board b { font-size: clamp(1.5rem, 1rem + 1.8vw, 2.3rem); color: var(--gold); line-height: 1.1; }

.pbx__tabs { display: flex; gap: .3rem; border-bottom: var(--hair); margin-bottom: 1.1rem; overflow-x: auto; scrollbar-width: none; }
.pbx__tabs button {
  flex: 0 0 auto; white-space: nowrap;
  padding: .7rem 1rem; background: none; border: 0; border-bottom: 2px solid transparent;
  color: var(--bone-45); font: 600 .74rem var(--sans, inherit); letter-spacing: .14em; text-transform: uppercase; cursor: pointer;
}
.pbx__tabs button[aria-selected='true'] { color: var(--bone); border-bottom-color: var(--gold); }
.pbx__tabs button[hidden] { display: none; }
.pbx__tabs i { font-style: normal; color: var(--gold); margin-left: .3rem; }

.pbx__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(300px, 100%), 1fr)); gap: .9rem; padding-bottom: 3rem; }
.pbx__empty { color: var(--bone-45); grid-column: 1 / -1; padding: 2rem 0; text-align: center; }
.pbx__card {
  display: grid; gap: .8rem; text-align: left; color: var(--bone); font: inherit; cursor: pointer;
  padding: 1rem 1.1rem 1.1rem; min-height: 210px; align-content: start;
  background: color-mix(in srgb, var(--ink-raise) 70%, transparent);
  border: 1px solid var(--line); border-radius: var(--r);
  box-shadow: var(--drop);
  transition: transform .15s var(--swing, ease), border-color .2s;
}
.pbx__card:hover { transform: translateY(-3px); border-color: var(--gold); }
.pbx__card.is-mine { border-color: var(--gold-40); }
.pbx__card.is-settled, .pbx__card.is-void { opacity: .72; }
.pbx__card-top { display: flex; justify-content: space-between; align-items: center; }
.pbx__left { font-size: .7rem; color: var(--bone-45); font-family: var(--mono); }
.pbx__chip { display: inline-block; padding: .2rem .5rem; border-radius: var(--r); font-size: .6rem; letter-spacing: .16em; text-transform: uppercase; border: 1px solid var(--line); color: var(--bone-70); }
.pbx__chip--open { color: var(--bone); border-color: var(--bone-45); }
.pbx__chip--matched { color: var(--gold); border-color: var(--gold-40); }
.pbx__chip--disputed { color: var(--red); border-color: var(--red); }
.pbx__title { margin: 0; font-size: 1.08rem; line-height: 1.3; overflow-wrap: anywhere; }
.pbx__pot { display: flex; align-items: baseline; gap: .5rem; }
.pbx__pot span { font-size: .62rem; letter-spacing: .18em; text-transform: uppercase; color: var(--bone-45); }
.pbx__pot b { font-size: 1.6rem; color: var(--gold); }
.pbx__vs { display: flex; align-items: center; gap: .5rem; font-size: .8rem; margin-top: auto; }
.pbx__vs > i { font-style: normal; color: var(--bone-45); font-size: .7rem; }
.pbx__side { display: flex; align-items: center; gap: .35rem; min-width: 0; }
.pbx__side b { font-weight: 500; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pbx__face { display: grid; place-items: center; width: 26px; height: 26px; flex: none; border-radius: 50%; overflow: hidden; border: 1px solid var(--line); }
.pbx__face img { width: 100%; height: 100%; object-fit: cover; }
.pbx__face > i { display: grid; place-items: center; width: 100%; height: 100%; font-style: normal; }
.pbx__face--open { color: var(--bone-45); border-style: dashed; }
.pbx__face--lg { width: 56px; height: 56px; font-size: 1.3rem; }
.pbx__won { margin: 0; font-size: .78rem; color: var(--gold); }

.pbx__dialog {
  width: min(480px, calc(100vw - 2rem)); padding: 1.6rem 1.5rem 1.5rem; text-align: center; color: var(--bone);
  background: var(--ink-raise); border: 1px solid var(--gold-40); border-radius: var(--r); box-shadow: var(--drop);
}
.pbx__dialog::backdrop { background: rgba(0, 0, 0, .6); }
.pbx__dialog[open] { animation: pbxIn .25s var(--step); }
@keyframes pbxIn { from { opacity: 0; transform: translateY(8px); } }
.pbx__close { position: absolute; right: .7rem; top: .6rem; }
.pbx__headline { margin: 0 0 .7rem; font-size: .8rem; letter-spacing: .14em; text-transform: uppercase; color: var(--gold); }
.pbx__dtitle { margin: .7rem 0 1rem; font-size: 1.45rem; line-height: 1.25; overflow-wrap: anywhere; }
.pbx__dpot { display: grid; gap: .1rem; margin-bottom: 1.2rem; }
.pbx__dpot span { font-size: .62rem; letter-spacing: .2em; text-transform: uppercase; color: var(--bone-45); }
.pbx__dpot b { font-size: 2.4rem; color: var(--gold); line-height: 1.1; }
.pbx__dpot small { color: var(--bone-45); }
.pbx__dvs { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: .6rem; margin-bottom: 1.3rem; }
.pbx__dvs > div { display: grid; justify-items: center; gap: .35rem; }
.pbx__dvs small { color: var(--bone-45); font-size: .72rem; }
.pbx__dvs > i { font-style: normal; color: var(--bone-45); }
.pbx__won--big { font-size: 1rem; margin-bottom: 1rem; }
.pbx__dacts { display: flex; flex-wrap: wrap; justify-content: center; gap: .6rem; }
.pbx__dacts .btn { min-width: 140px; }
.pbx__form { display: grid; gap: .9rem; text-align: left; margin-top: .6rem; }
.pbx__form label { display: grid; gap: .35rem; font-size: .66rem; letter-spacing: .14em; text-transform: uppercase; color: var(--bone-45); }
.pbx__form input { width: 100%; padding: .7rem .8rem; background: rgba(0, 0, 0, .3); color: var(--bone); border: 1px solid var(--line); border-radius: var(--r); font: inherit; font-size: .95rem; letter-spacing: 0; text-transform: none; }
.pbx__form input:focus { outline: none; border-color: var(--gold); }
.pbx__formrow { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.6fr); gap: .7rem; }

@media (max-width: 820px) {
  .pbx__hero { grid-template-columns: 1fr; }
  .pbx__formrow { grid-template-columns: 1fr; }
}

/* ---- home page boards ---- */
.pbx-home__boards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin-bottom: 1rem; }
.pbx-home__board {
  display: grid; gap: .3rem; padding: clamp(1.1rem, 3vw, 1.8rem) clamp(1.2rem, 3vw, 2rem);
  border: 1px solid var(--gold-40); border-radius: var(--r);
  background: var(--ink-raise);
  color: var(--bone); text-decoration: none; transition: transform .15s, border-color .2s;
}
.pbx-home__board:hover { transform: translateY(-2px); border-color: var(--gold); }
.pbx-home__board span { font-size: .66rem; letter-spacing: .22em; text-transform: uppercase; color: var(--bone-45); }
.pbx-home__board b { font-size: clamp(2rem, 1.2rem + 3.4vw, 3.6rem); color: var(--gold); line-height: 1.05; }
.pbx-home__grid { padding-bottom: 0; }
@media (max-width: 560px) { .pbx-home__boards { grid-template-columns: 1fr; } }

/* stat boxes in the site's own panel style (as the sportsbook draws its boxes) */
.pbx__board, .pbx-home__board {
  background: var(--ink-raise);
  border: 3px solid var(--ink-sink);
  border-radius: var(--r);
  box-shadow: none;
}
.pbx__board span, .pbx-home__board span { font-size: .68rem; letter-spacing: .12em; }
.pbx-home__board:hover { transform: none; border-color: var(--gold); }

.pbx__hero { align-items: center; padding: clamp(1.1rem, 3vw, 1.8rem); border: 3px solid var(--ink-sink); border-radius: var(--r); background: var(--ink-raise); }
.pbx__boards { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .6rem; }
.pbx__board { gap: .15rem; padding: .8rem 1rem; background: var(--ink-sink); box-shadow: none; }
.pbx__board b { font-size: clamp(1.25rem, 1rem + 1vw, 1.7rem); }

.pbx__tabs { gap: .4rem; border-bottom: 0; padding-bottom: .2rem; }
.pbx__tabs button { padding: .55rem 1rem; border: 3px solid var(--ink-sink); border-radius: var(--r); background: var(--ink-lift); }
.pbx__tabs button[aria-selected='true'] { background: var(--accent); color: var(--on-accent); border-color: var(--accent); }
.pbx__tabs button[aria-selected='true'] i { color: var(--on-accent); }

.pbx__card {
  position: relative; overflow: hidden; gap: .9rem; min-height: 0; padding: 1.15rem 1.15rem 1rem 1.35rem;
  background: var(--ink-raise); border: 3px solid var(--ink-sink); box-shadow: 5px 5px 0 var(--ink-sink);
}
.pbx__card::before { content: ''; position: absolute; inset: 0 auto 0 0; width: 4px; background: var(--line); }
.pbx__card.is-open::before { background: var(--bone-70); }
.pbx__card.is-matched::before { background: var(--gold); }
.pbx__card.is-disputed::before { background: var(--red); }
.pbx__card.is-mine { border-color: var(--ink-sink); }
.pbx__mine { padding: .2rem .45rem; font: 600 .56rem var(--sans, inherit); letter-spacing: .16em; text-transform: uppercase; vertical-align: middle; color: var(--gold); border: 1px solid var(--gold-40); border-radius: 3px; }
.pbx__card.is-settled, .pbx__card.is-void { opacity: .8; }
.pbx__card-top { gap: .5rem; justify-content: flex-start; }
.pbx__left { margin-left: auto; }
.pbx__chip { padding: .22rem .55rem; border-radius: var(--r); font-weight: 600; }
.pbx__chip--matched { background: var(--gold-18); }
.pbx__title { font-size: 1.1rem; font-weight: 700; min-height: 2.6em; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.pbx__pot { justify-content: space-between; align-items: center; padding: .6rem .8rem; background: var(--ink-sink); border-radius: var(--r); }
.pbx__pot b { font-size: 1.5rem; }
.pbx__vs { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); gap: .5rem; padding-top: .8rem; border-top: 1px solid var(--line); }
.pbx__vs > i { text-transform: uppercase; letter-spacing: .14em; font-size: .6rem; }
.pbx__side b { max-width: none; min-width: 0; font-size: .78rem; }
.pbx__side:last-child { justify-content: flex-end; }
.pbx__face { width: 28px; height: 28px; }
.pbx__won { padding-top: .1rem; }

.pbx__dialog { padding: 1.8rem 1.6rem 1.6rem; background: var(--ink-raise); border: 3px solid var(--ink-sink); box-shadow: 5px 5px 0 var(--ink-sink); }
.pbx__dpot { padding: .9rem; background: var(--ink-sink); border-radius: var(--r); }
.pbx__dvs { padding: 1rem 0; border-block: 1px solid var(--line); }
.pbx__form input { background: var(--ink-sink); }
.pbx__form input::placeholder { color: var(--bone-35); }

@media (min-width: 1100px) { .pbx__boards { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
