/* ============================================================
   1. THEME VARIABLES & BASE
   ============================================================ */
:root {
  --bg:#100f0d;
  --panel:#181612;
  --panel2:#211e18;
  --line:#373126;
  --text:#f4eee2;
  --muted:#a99e8c;
  --amber:#d99a32;
  --amber2:#f2bd5a;
  --green:#638a64
}

* {
  box-sizing:border-box
}

html {
  scroll-behavior:smooth
}

body {
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:Inter,sans-serif;
  background-image:radial-gradient(circle at 20% 0,rgba(217,154,50,.08),transparent 32%),linear-gradient(rgba(255,255,255,.012) 1px,transparent 1px);
  background-size:auto,100% 4px
}

.hidden {
  display:none!important
}

.text-amber {
  color:var(--amber2)!important
}

.text-muted {
  color:var(--muted)
}

.bp-container {
  width:min(1180px,calc(100% - 2rem));
  margin:auto
}

/* ============================================================
   2. HEADER & NAVIGATION
   ============================================================ */
.bp-header {
  position:sticky;
  top:0;
  z-index:50;
  border-bottom:1px solid var(--line);
  background:rgba(16,15,13,.94);
  backdrop-filter:blur(16px)
}

.bp-nav-wrap {
  width:min(1180px,calc(100% - 2rem));
  height:76px;
  margin:auto;
  display:flex;
  align-items:center;
  justify-content:space-between
}

.bp-brand {
  display:flex;
  gap:12px;
  align-items:center;
  color:var(--text);
  text-decoration:none
}

.bp-brand-mark {
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border:1px solid rgba(217,154,50,.4);
  border-radius:50%;
  background:rgba(217,154,50,.1);
  color:var(--amber2)
}

.bp-brand-mark svg {
  width:22px
}

.bp-brand strong,.bp-brand small {
  display:block
}

.bp-brand strong {
  font:800 21px/1 'Barlow Condensed',sans-serif;
  letter-spacing:.12em
}

.bp-brand small {
  margin-top:4px;
  color:var(--muted);
  font-size:11px
}

.bp-desktop-nav {
  display:flex;
  align-items:center;
  gap:4px
}

.bp-nav-link,.bp-poker-link {
  padding:10px 11px;
  text-decoration:none;
  font-size:13px;
  font-weight:600;
  color:var(--muted);
  transition:.2s
}

.bp-nav-link:hover {
  color:var(--text)
}

.bp-poker-link {
  display:flex;
  gap:6px;
  align-items:center;
  margin-left:8px;
  border:1px solid var(--line);
  border-radius:8px
}

.bp-poker-link svg {
  width:14px;
  color:var(--amber)
}

.bp-menu-button {
  display:none;
  background:none;
  border:1px solid var(--line);
  border-radius:8px;
  color:var(--text);
  padding:9px
}

.bp-mobile-nav {
  border-top:1px solid var(--line);
  padding:12px 1rem 18px
}

.bp-mobile-nav a {
  display:flex;
  gap:7px;
  padding:11px;
  color:var(--muted);
  text-decoration:none
}

.bp-mobile-nav svg {
  width:15px
}

/* ============================================================
   3. HOMEPAGE HERO & SCOREBOARD
   ============================================================ */
.bp-hero {
  position:relative;
  overflow:hidden;
  border-bottom:1px solid var(--line);
  background:linear-gradient(110deg,#0d0c0a,#17130d 60%,#121b13)
}

.bp-hero:after {
  content:"";
  position:absolute;
  inset:0;
  opacity:.16;
  background-image:repeating-linear-gradient(90deg,transparent 0 49px,rgba(255,255,255,.08) 50px),repeating-linear-gradient(0deg,transparent 0 49px,rgba(255,255,255,.05) 50px)
}

.bp-hero-glow {
  position:absolute;
  width:420px;
  height:420px;
  right:8%;
  top:-200px;
  border-radius:50%;
  background:rgba(217,154,50,.12);
  filter:blur(50px)
}

.bp-hero-content {
  position:relative;
  z-index:1;
  min-height:390px;
  display:grid;
  grid-template-columns:1.4fr 1fr;
  gap:60px;
  align-items:center;
  padding-top:60px;
  padding-bottom:60px
}

.bp-kicker {
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:var(--amber2);
  font:700 12px 'Barlow Condensed';
  letter-spacing:.22em
}

.bp-kicker svg {
  width:16px
}

.bp-hero h1 {
  margin:16px 0 12px;
  font:800 clamp(54px,7vw,88px)/.84 'Barlow Condensed';
  letter-spacing:-.02em;
  text-transform:uppercase
}

.bp-hero h1 span {
  font-size:.46em;
  color:var(--amber2);
  letter-spacing:.04em
}

.bp-hero p {
  color:var(--muted);
  font-size:16px
}

.bp-scoreboard {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  border:1px solid #473b29;
  border-radius:14px;
  background:#090908;
  box-shadow:0 25px 70px rgba(0,0,0,.35);
  overflow:hidden
}

.bp-scoreboard div {
  text-align:center;
  padding:31px 12px;
  border-right:1px solid #30291f
}

.bp-scoreboard div:last-child {
  border:0
}

.bp-scoreboard strong {
  display:block;
  color:var(--amber2);
  font:700 42px 'Barlow Condensed';
  font-variant-numeric:tabular-nums
}

.bp-scoreboard span {
  color:#82796b;
  text-transform:uppercase;
  font:600 10px 'Inter';
  letter-spacing:.16em
}

/* ============================================================
   4. MAIN CONTENT & LEADER CARDS
   ============================================================ */
.bp-content {
  padding-top:38px;
  padding-bottom:60px
}

.bp-leaders {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px
}

.bp-leader-card,.bp-latest,.bp-table-card {
  border:1px solid var(--line);
  border-radius:14px;
  background:linear-gradient(145deg,var(--panel),#13120f);
  box-shadow:0 14px 40px rgba(0,0,0,.16)
}

.bp-leader-card {
  padding:25px;
  position:relative;
  overflow:hidden
}

.bp-leader-card:after {
  content:"";
  position:absolute;
  right:-25px;
  bottom:-45px;
  width:130px;
  height:130px;
  border:22px solid rgba(217,154,50,.035);
  border-radius:50%
}

.bp-card-label {
  display:flex;
  gap:8px;
  align-items:center;
  color:var(--amber2);
  text-transform:uppercase;
  font:700 11px 'Inter';
  letter-spacing:.17em
}

.bp-card-label svg {
  width:16px
}

.bp-leader-card h2 {
  margin:16px 0 13px;
  font:700 29px 'Barlow Condensed';
  text-transform:uppercase
}

.bp-leader-card p {
  color:var(--muted);
  font-size:13px
}

.bp-record {
  display:flex;
  gap:14px;
  align-items:baseline
}

.bp-record strong {
  font:700 27px 'Barlow Condensed';
  color:var(--amber2)
}

.bp-record span {
  font-size:12px;
  color:var(--muted)
}

/* ============================================================
   5. LATEST RESULT
   ============================================================ */
.bp-latest {
  margin-top:18px;
  overflow:hidden
}

.bp-section-heading {
  min-height:57px;
  padding:0 21px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  border-bottom:1px solid var(--line);
  color:var(--text);
  font:700 16px 'Barlow Condensed';
  text-transform:uppercase;
  letter-spacing:.09em
}

.bp-section-heading svg {
  width:18px;
  color:var(--amber)
}

.bp-section-heading a {
  font:600 11px Inter;
  color:var(--amber2);
  text-transform:none;
  letter-spacing:0;
  text-decoration:none
}

.bp-latest-body {
  padding:30px;
  text-align:center
}

.bp-winner small,.bp-winner strong,.bp-winner span {
  display:block
}

.bp-winner small {
  color:var(--amber);
  font:700 10px Inter;
  letter-spacing:.2em
}

.bp-winner strong {
  margin:7px 0;
  font:800 34px 'Barlow Condensed';
  text-transform:uppercase
}

.bp-winner span {
  color:var(--green);
  font-size:12px;
  font-weight:700
}

.bp-versus {
  margin:26px auto 13px;
  display:grid;
  grid-template-columns:1fr auto 1fr;
  gap:16px;
  align-items:center;
  max-width:680px
}

.bp-versus span {
  padding:13px;
  border:1px solid var(--line);
  border-radius:8px;
  background:#11100d;
  font:600 16px 'Barlow Condensed';
  text-transform:uppercase
}

.bp-versus b {
  color:#6f6659;
  font:700 11px Inter
}

.bp-latest time {
  color:var(--muted);
  font-size:11px
}

.bp-empty {
  padding:42px;
  text-align:center
}

.bp-empty svg {
  width:28px;
  color:var(--amber);
  margin:auto
}

.bp-empty h2 {
  font:700 26px 'Barlow Condensed';
  text-transform:uppercase;
  margin:10px 0 4px
}

.bp-empty p {
  color:var(--muted);
  font-size:13px
}

/* ============================================================
   6. STANDINGS TABLES
   ============================================================ */
.bp-standings-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
  margin-top:18px
}

.bp-table-card {
  overflow:hidden
}

.bp-table-row {
  display:grid;
  grid-template-columns:32px minmax(130px,1fr) 45px 45px 65px;
  gap:7px;
  align-items:center;
  padding:13px 20px;
  border-bottom:1px solid rgba(55,49,38,.7);
  font-size:12px
}

.bp-table-row:last-child {
  border-bottom:0
}

.bp-table-row strong {
  font-size:12px
}

.bp-table-head {
  color:#766d60;
  background:rgba(0,0,0,.13);
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:.1em
}

.bp-table-empty {
  padding:28px;
  text-align:center;
  color:var(--muted);
  font-size:12px
}

/* ============================================================
   7. FOOTER & SCROLL-TO-TOP
   ============================================================ */
.bp-footer {
  border-top:1px solid var(--line);
  color:#756d61
}

.bp-footer .bp-container {
  min-height:80px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  font-size:11px
}

#scroll-to-top {
  border-color:rgba(217,154,50,.45);
  background:var(--panel);
  color:var(--amber2);
  box-shadow:0 10px 30px rgba(0,0,0,.3)
}

/* ============================================================
   8. PRELOADER
   ============================================================ */
#preloader {
  position:fixed;
  inset:0;
  z-index:100;
  background:var(--bg);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  transition:opacity .35s
}

#preloader strong {
  margin-top:18px;
  color:var(--amber2);
  font:800 18px 'Barlow Condensed';
  letter-spacing:.22em
}

#preloader small {
  margin-top:4px;
  color:var(--muted);
  font-size:10px
}

.pong-loader {
  position:relative;
  width:76px;
  height:76px;
  display:grid;
  place-items:center;
  border:1px solid var(--line);
  border-radius:50%;
  color:var(--amber)
}

.pong-loader svg {
  width:30px
}

.pong-loader span {
  position:absolute;
  width:9px;
  height:9px;
  border-radius:50%;
  background:var(--text);
  top:8px;
  animation:bounce 1s infinite ease-in-out
}

@keyframes bounce {
0%,100% {
    transform:translate(-18px,0)
  }

50% {
    transform:translate(18px,26px)
  }

}

/* ============================================================
   10. RESPONSIVE LAYOUT
   ============================================================ */
@media (max-width: 900px) {
.bp-desktop-nav {
    display:none
  }

.bp-menu-button {
    display:block
  }

.bp-hero-content {
    grid-template-columns:1fr;
    gap:30px
  }

.bp-hero {
    min-height:auto
  }

.bp-leaders,.bp-standings-grid {
    grid-template-columns:1fr
  }

.bp-hero h1 {
    font-size:64px
  }

}

@media (max-width: 560px) {
.bp-brand small {
    display:none
  }

.bp-hero-content {
    padding-top:48px;
    padding-bottom:48px
  }

.bp-hero h1 {
    font-size:52px
  }

.bp-scoreboard strong {
    font-size:34px
  }

.bp-scoreboard div {
    padding:23px 7px
  }

.bp-versus {
    grid-template-columns:1fr
  }

.bp-versus b {
    padding:0
  }

.bp-table-row {
    grid-template-columns:24px minmax(100px,1fr) 30px 30px 55px;
    padding-left:12px;
    padding-right:12px
  }

.bp-footer .bp-container {
    flex-direction:column;
    justify-content:center;
    gap:6px
  }

.bp-latest-body {
    padding:24px 16px
  }

}

/* ------------------------------------------------------------
   Beer Pong brand artwork
   ------------------------------------------------------------ */
.bp-brand-mark {
  overflow:hidden;
  border-radius:12px;
  background:radial-gradient(circle at 50% 35%,rgba(242,189,90,.16),rgba(217,154,50,.04));
}

.bp-brand-mark img {
  width:38px;
  height:38px;
  object-fit:contain;
  display:block;
  filter:drop-shadow(0 3px 6px rgba(0,0,0,.45));
}

.bp-hero {
  background: radial-gradient(circle at 77% 45%,rgba(217,154,50,.10),transparent 34%), linear-gradient(110deg,#0d0c0a,#17130d 58%,#11150f);
}

.bp-hero:after {
  pointer-events:none;
  opacity:.10;
}

.bp-hero-content {
  grid-template-columns:minmax(0,.9fr) minmax(360px,1.1fr);
  gap:48px;
  min-height:560px;
  padding-top:48px;
  padding-bottom:48px;
}

.bp-hero-copy {
  position:relative;
  z-index:2;
}

.bp-hero h1 {
  margin:18px 0 16px;
  font-size:clamp(50px,5.5vw,78px);
  line-height:.88;
}

.bp-hero h1 span {
  font-size:.72em;
  color:var(--amber2);
}

.bp-hero-copy > p {
  max-width:560px;
  margin:0;
  line-height:1.7;
}

.bp-scoreboard {
  margin-top:30px;
  max-width:560px;
}

.bp-scoreboard div {
  padding:23px 10px;
}

.bp-scoreboard strong {
  font-size:36px;
}

.bp-hero-art {
  position:relative;
  z-index:2;
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:0;
}

.bp-hero-art-glow {
  position:absolute;
  width:75%;
  aspect-ratio:1;
  border-radius:50%;
  background:rgba(217,154,50,.17);
  filter:blur(65px);
}

.bp-hero-art img {
  position:relative;
  z-index:1;
  display:block;
  width:100%;
  max-width:650px;
  max-height:500px;
  object-fit:contain;
  border-radius:18px;
  box-shadow:0 28px 80px rgba(0,0,0,.42);
}

#preloader .pong-loader {
  width:92px;
  height:92px;
  border:0;
  background:radial-gradient(circle,rgba(217,154,50,.12),transparent 68%);
}

#preloader .pong-loader img {
  width:82px;
  height:82px;
  object-fit:contain;
  display:block;
  filter:drop-shadow(0 10px 18px rgba(0,0,0,.5));
  animation:bp-logo-float 1.7s ease-in-out infinite;
}

@keyframes bp-logo-float {
0%,100% {
    transform:translateY(0)
  }

50% {
    transform:translateY(-7px)
  }

}

@media (max-width: 900px) {
.bp-hero-content {
    grid-template-columns:1fr;
    gap:26px;
    min-height:auto;
    padding-top:42px;
    padding-bottom:48px;
  }

.bp-hero-copy {
    text-align:center;
  }

.bp-kicker {
    justify-content:center;
  }

.bp-hero-copy > p {
    margin-left:auto;
    margin-right:auto;
  }

.bp-scoreboard {
    margin-left:auto;
    margin-right:auto;
  }

.bp-hero-art {
    order:-1;
  }

.bp-hero-art img {
    max-width:620px;
    max-height:430px;
  }

}

@media (max-width: 560px) {
.bp-brand-mark {
    width:40px;
    height:40px;
  }

.bp-brand-mark img {
    width:36px;
    height:36px;
  }

.bp-hero-content {
    padding-top:28px;
  }

.bp-hero-art img {
    max-height:330px;
    border-radius:14px;
  }

.bp-hero h1 {
    font-size:48px;
  }

.bp-scoreboard {
    margin-top:24px;
  }

}


/* ============================================================
   11. IMAGE PRELOADER + LIVE PROGRESS BAR
   ============================================================ */

#preloader {
  position: fixed;
  inset: 0;
  z-index: 100;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  background: #000;
  opacity: 1;
  transition: opacity .35s ease;
}

#preloader .bp-preloader-wrap {
  width: min(760px, 92vw);
  display: flex;
  flex-direction: column;
  align-items: center;
}

#preloader .bp-preloader-art {
  display: block;
  width: 100%;
  max-height: min(78vh, 760px);
  object-fit: contain;
}

#preloader .bp-progress-row {
  width: min(440px, 72vw);
  margin-top: -5.5%;
  display: grid;
  grid-template-columns: 1fr 48px;
  gap: 14px;
  align-items: center;
  position: relative;
  z-index: 2;
}

#preloader .bp-progress-track {
  height: 12px;
  overflow: hidden;
  border: 2px solid rgba(244, 238, 226, .28);
  border-radius: 999px;
  background: rgba(5, 5, 5, .92);
  box-shadow:
    inset 0 1px 5px rgba(0, 0, 0, .9),
    0 0 10px rgba(217, 154, 50, .08);
}

#preloader .bp-progress-fill {
  width: 0%;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(
    90deg,
    #c98218 0%,
    var(--amber) 45%,
    var(--amber2) 100%
  );
  box-shadow:
    0 0 9px rgba(242, 189, 90, .75),
    0 0 20px rgba(217, 154, 50, .35);
}

#preloader .bp-progress-percent {
  min-width: 48px;
  color: var(--text);
  font: 700 14px 'Inter', sans-serif;
  font-variant-numeric: tabular-nums;
  text-align: left;
  letter-spacing: .03em;
}

@media (max-width: 560px) {
  #preloader {
    padding: 14px;
  }

  #preloader .bp-preloader-wrap {
    width: min(520px, 100vw);
  }

  #preloader .bp-preloader-art {
    max-height: 72vh;
  }

  #preloader .bp-progress-row {
    width: min(330px, 78vw);
    margin-top: -3%;
    grid-template-columns: 1fr 42px;
    gap: 10px;
  }

  #preloader .bp-progress-track {
    height: 10px;
  }

  #preloader .bp-progress-percent {
    min-width: 42px;
    font-size: 12px;
  }
}


/* ============================================================
   12. BEER PONG ADMIN
   ============================================================ */

.bp-admin-main {
  min-height: calc(100vh - 76px);
}

.bp-admin-container {
  width: min(1180px, calc(100% - 2rem));
  margin: 0 auto;
}

.bp-admin-hero {
  position: relative;
  overflow: hidden;
  border-bottom: 1px solid var(--line);
  background:
    radial-gradient(circle at 82% 20%, rgba(217,154,50,.12), transparent 30%),
    linear-gradient(110deg, #0d0c0a, #17130d 62%, #11150f);
}

.bp-admin-hero:after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .08;
  background-image:
    repeating-linear-gradient(90deg, transparent 0 49px, rgba(255,255,255,.08) 50px),
    repeating-linear-gradient(0deg, transparent 0 49px, rgba(255,255,255,.05) 50px);
}

.bp-admin-hero .bp-admin-container {
  position: relative;
  z-index: 1;
  padding-top: 52px;
  padding-bottom: 52px;
}

.bp-admin-heading-row {
  display: flex;
  gap: 28px;
  align-items: flex-end;
  justify-content: space-between;
}

.bp-admin-kicker {
  display: inline-flex;
  gap: 8px;
  align-items: center;
  color: var(--amber2);
  font: 700 11px Inter, sans-serif;
  letter-spacing: .2em;
  text-transform: uppercase;
}

.bp-admin-kicker svg {
  width: 16px;
  height: 16px;
}

.bp-admin-hero h1,
.bp-admin-login-card h1,
.bp-admin-empty h1,
.bp-admin-empty h2 {
  margin: 12px 0 0;
  font: 800 38px/1 'Barlow Condensed', sans-serif;
  letter-spacing: .02em;
  text-transform: uppercase;
}

.bp-admin-hero p {
  max-width: 680px;
  margin: 12px 0 0;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.7;
}

.bp-admin-back {
  display: inline-flex;
  width: fit-content;
  flex: 0 0 auto;
  gap: 8px;
  align-items: center;
  justify-content: center;
  padding: 11px 14px;
  border: 1px solid var(--line);
  border-radius: 9px;
  background: rgba(24,22,18,.8);
  color: var(--text);
  text-decoration: none;
  font-size: 12px;
  font-weight: 700;
  transition: .2s;
}

.bp-admin-back:hover {
  border-color: rgba(217,154,50,.55);
  background: rgba(217,154,50,.08);
  color: var(--amber2);
}

.bp-admin-back svg {
  width: 16px;
  height: 16px;
}

.bp-admin-content {
  padding-top: 38px;
  padding-bottom: 64px;
}

.bp-admin-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.bp-admin-card {
  display: flex;
  min-width: 0;
  flex-direction: column;
  padding: 24px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: linear-gradient(145deg, var(--panel), #13120f);
  box-shadow: 0 14px 40px rgba(0,0,0,.16);
}

.bp-admin-card-heading {
  display: flex;
  gap: 15px;
  align-items: flex-start;
}

.bp-admin-card-icon {
  display: grid;
  width: 43px;
  height: 43px;
  flex: 0 0 43px;
  place-items: center;
  border: 1px solid rgba(217,154,50,.32);
  border-radius: 11px;
  background: rgba(217,154,50,.08);
  color: var(--amber2);
}

.bp-admin-card-icon svg {
  width: 20px;
  height: 20px;
}

.bp-admin-card h2 {
  margin: 1px 0 0;
  font: 700 23px 'Barlow Condensed', sans-serif;
  letter-spacing: .03em;
  text-transform: uppercase;
}

.bp-admin-card p {
  margin: 7px 0 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.65;
}

.bp-admin-actions {
  display: grid;
  gap: 9px;
  margin-top: 22px;
  padding-top: 18px;
  border-top: 1px solid var(--line);
}

.bp-admin-actions form {
  margin: 0;
}

.bp-admin-actions button,
.bp-admin-actions > a {
  width: 100%;
  min-height: 45px;
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
  padding: 11px 13px;
  border: 1px solid var(--line);
  border-radius: 9px;
  background: rgba(9,9,8,.36);
  color: var(--text);
  text-decoration: none;
  font: 700 12px Inter, sans-serif;
  cursor: pointer;
  transition: .2s;
}

.bp-admin-actions button:hover,
.bp-admin-actions > a:hover {
  border-color: rgba(217,154,50,.48);
  background: rgba(217,154,50,.08);
  color: var(--amber2);
}

.bp-admin-actions button span,
.bp-admin-actions > a span {
  display: flex;
  min-width: 0;
  gap: 10px;
  align-items: center;
}

.bp-admin-actions svg {
  width: 16px;
  height: 16px;
  flex: 0 0 16px;
}

/* Admin login */

.bp-admin-login {
  min-height: calc(100vh - 76px);
  display: grid;
  place-items: center;
  padding: 48px 16px 64px;
  background:
    radial-gradient(circle at 50% 12%, rgba(217,154,50,.11), transparent 30%),
    linear-gradient(180deg, #0d0c0a, var(--bg));
}

.bp-admin-login-card {
  width: min(100%, 480px);
  padding: 32px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: linear-gradient(145deg, rgba(33,30,24,.97), rgba(19,18,15,.98));
  box-shadow: 0 28px 80px rgba(0,0,0,.38);
}

.bp-admin-login-icon {
  display: grid;
  width: 54px;
  height: 54px;
  margin: 0 auto 20px;
  place-items: center;
  border: 1px solid rgba(217,154,50,.35);
  border-radius: 14px;
  background: rgba(217,154,50,.09);
  color: var(--amber2);
}

.bp-admin-login-icon svg {
  width: 25px;
  height: 25px;
}

.bp-admin-login-card > .bp-admin-kicker {
  display: flex;
  justify-content: center;
}

.bp-admin-login-card h1 {
  text-align: center;
}

.bp-admin-login-intro {
  margin: 10px 0 0;
  color: var(--muted);
  text-align: center;
  font-size: 13px;
  line-height: 1.6;
}

.bp-admin-alert {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  margin-top: 22px;
  padding: 12px 13px;
  border: 1px solid rgba(196,75,62,.48);
  border-radius: 9px;
  background: rgba(196,75,62,.09);
  color: #f0b2aa;
  font-size: 12px;
  line-height: 1.5;
}

.bp-admin-alert svg {
  width: 17px;
  height: 17px;
  flex: 0 0 17px;
  margin-top: 1px;
}

.bp-admin-alert-success {
  border-color: rgba(99,138,100,.5);
  background: rgba(99,138,100,.1);
  color: #b8d5b9;
}

.bp-admin-alert-error {
  border-color: rgba(196,75,62,.48);
  background: rgba(196,75,62,.09);
  color: #f0b2aa;
}

.bp-admin-login-form {
  display: grid;
  gap: 18px;
  margin-top: 25px;
}

.bp-admin-login-form label {
  display: block;
  margin-bottom: 7px;
  color: var(--text);
  font-size: 12px;
  font-weight: 700;
}

.bp-admin-input-wrap {
  position: relative;
}

.bp-admin-input-wrap > svg {
  position: absolute;
  left: 13px;
  top: 50%;
  width: 16px;
  height: 16px;
  transform: translateY(-50%);
  color: var(--muted);
  pointer-events: none;
}

.bp-admin-input-wrap input {
  width: 100%;
  min-height: 46px;
  padding: 10px 12px 10px 40px;
  border: 1px solid var(--line);
  border-radius: 9px;
  outline: none;
  background: #0e0d0b;
  color: var(--text);
  font: 500 13px Inter, sans-serif;
  transition: .2s;
}

.bp-admin-input-wrap input::placeholder {
  color: #71695d;
}

.bp-admin-input-wrap input:focus {
  border-color: rgba(217,154,50,.65);
  box-shadow: 0 0 0 3px rgba(217,154,50,.10);
}

.bp-admin-login-button {
  min-height: 47px;
  display: flex;
  gap: 8px;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(242,189,90,.48);
  border-radius: 9px;
  background: linear-gradient(180deg, var(--amber2), var(--amber));
  color: #171109;
  font: 800 12px Inter, sans-serif;
  cursor: pointer;
  transition: .2s;
}

.bp-admin-login-button:hover {
  filter: brightness(1.06);
  transform: translateY(-1px);
}

.bp-admin-login-button svg {
  width: 16px;
  height: 16px;
}

.bp-admin-security {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  margin-top: 24px;
  padding-top: 18px;
  border-top: 1px solid var(--line);
  color: var(--muted);
  font-size: 11px;
  line-height: 1.55;
}

.bp-admin-security svg {
  width: 16px;
  height: 16px;
  flex: 0 0 16px;
  color: var(--amber);
}

.bp-admin-security p {
  margin: 0;
}

/* Empty/access-denied states */

.bp-admin-empty {
  max-width: 700px;
  margin: 0 auto;
  padding: 42px 26px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: linear-gradient(145deg, var(--panel), #13120f);
  text-align: center;
  box-shadow: 0 14px 40px rgba(0,0,0,.16);
}

.bp-admin-empty > svg {
  width: 31px;
  height: 31px;
  color: var(--amber2);
}

.bp-admin-empty p {
  max-width: 520px;
  margin: 10px auto 20px;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.65;
}

/* Admin log */

.bp-admin-log-summary {
  display: flex;
  gap: 20px;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 16px;
  color: var(--muted);
  font-size: 11px;
}

.bp-admin-log-list {
  display: grid;
  gap: 14px;
}

.bp-admin-log-entry {
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: linear-gradient(145deg, var(--panel), #13120f);
  box-shadow: 0 12px 32px rgba(0,0,0,.14);
}

.bp-admin-log-top {
  display: flex;
  gap: 24px;
  align-items: flex-start;
  justify-content: space-between;
  padding: 21px;
}

.bp-admin-log-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  align-items: center;
}

.bp-admin-log-tags span {
  padding: 5px 8px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: rgba(255,255,255,.025);
  color: var(--muted);
  font-size: 10px;
  font-weight: 700;
}

.bp-admin-log-tags span.accent {
  border-color: rgba(217,154,50,.38);
  background: rgba(217,154,50,.08);
  color: var(--amber2);
}

.bp-admin-log-tags span.danger {
  border-color: rgba(196,75,62,.45);
  background: rgba(196,75,62,.09);
  color: #f0a69d;
}

.bp-admin-log-tags small {
  color: #776e61;
  font-size: 10px;
}

.bp-admin-log-entry h2 {
  margin: 11px 0 0;
  font: 700 19px 'Barlow Condensed', sans-serif;
  letter-spacing: .02em;
}

.bp-admin-log-entry h2 small {
  color: var(--muted);
  font: 500 12px Inter, sans-serif;
}

.bp-admin-log-entry p {
  margin: 7px 0 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.6;
}

.bp-admin-log-meta {
  flex: 0 0 auto;
  color: var(--muted);
  text-align: right;
  font-size: 11px;
  line-height: 1.6;
}

.bp-admin-log-meta small {
  display: block;
  color: #776e61;
  font-size: 10px;
}

.bp-admin-changes {
  border-top: 1px solid var(--line);
  padding: 15px 21px 20px;
}

.bp-admin-changes summary {
  width: fit-content;
  display: flex;
  gap: 7px;
  align-items: center;
  color: var(--amber2);
  font-size: 11px;
  font-weight: 700;
  cursor: pointer;
  list-style: none;
}

.bp-admin-changes summary::-webkit-details-marker {
  display: none;
}

.bp-admin-changes summary svg {
  width: 15px;
  height: 15px;
}

.bp-admin-change-table-wrap {
  margin-top: 14px;
  overflow-x: auto;
  border: 1px solid var(--line);
  border-radius: 10px;
}

.bp-admin-change-table {
  width: 100%;
  min-width: 640px;
  border-collapse: collapse;
  font-size: 11px;
}

.bp-admin-change-table th,
.bp-admin-change-table td {
  padding: 11px 13px;
  border-bottom: 1px solid rgba(55,49,38,.7);
  text-align: left;
  vertical-align: top;
}

.bp-admin-change-table th {
  background: rgba(0,0,0,.18);
  color: #807668;
  font-size: 9px;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.bp-admin-change-table td:first-child {
  color: var(--text);
  font-weight: 700;
}

.bp-admin-change-table td:nth-child(2) {
  color: var(--muted);
}

.bp-admin-change-table tr:last-child td {
  border-bottom: 0;
}

.bp-admin-pagination {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  align-items: center;
  justify-content: center;
  margin-top: 25px;
}

.bp-admin-pagination a,
.bp-admin-pagination span {
  padding: 9px 11px;
  border: 1px solid var(--line);
  border-radius: 8px;
  color: var(--muted);
  text-decoration: none;
  font-size: 11px;
}

.bp-admin-pagination a:hover {
  border-color: rgba(217,154,50,.48);
  color: var(--amber2);
}

/* Admin scroll-to-top button */

.bp-scroll-top {
  position: fixed;
  right: 24px;
  bottom: 24px;
  z-index: 40;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 1px solid rgba(217,154,50,.45);
  border-radius: 999px;
  background: var(--panel);
  color: var(--amber2);
  box-shadow: 0 10px 30px rgba(0,0,0,.3);
  cursor: pointer;
}

.bp-scroll-top svg {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 20px;
  height: 20px;
  transform: translate(-50%, -50%);
}

@media (max-width: 760px) {
  .bp-admin-heading-row {
    align-items: flex-start;
    flex-direction: column;
  }

  .bp-admin-grid {
    grid-template-columns: 1fr;
  }

  .bp-admin-log-top {
    flex-direction: column;
  }

  .bp-admin-log-meta {
    text-align: left;
  }
}

@media (max-width: 560px) {
  .bp-admin-hero .bp-admin-container {
    padding-top: 38px;
    padding-bottom: 38px;
  }

  .bp-admin-hero h1,
  .bp-admin-login-card h1,
  .bp-admin-empty h1,
  .bp-admin-empty h2 {
    font-size: 31px;
  }

  .bp-admin-content {
    padding-top: 26px;
    padding-bottom: 48px;
  }

  .bp-admin-card {
    padding: 19px;
  }

  .bp-admin-login {
    padding: 28px 14px 48px;
  }

  .bp-admin-login-card {
    padding: 24px 19px;
  }

  .bp-admin-log-summary {
    align-items: flex-start;
    flex-direction: column;
    gap: 4px;
  }

  .bp-admin-log-top {
    padding: 18px;
  }

  .bp-admin-changes {
    padding-left: 18px;
    padding-right: 18px;
  }

  .bp-scroll-top {
    right: 24px;
    bottom: 24px;
  }
}


/* ============================================================
   13. ADD GAME
   ============================================================ */
.bp-game-form{display:grid;gap:18px}
.bp-game-message{display:flex;gap:10px;align-items:center;margin-bottom:18px;padding:13px 15px;border:1px solid var(--line);border-radius:10px;font-size:12px;font-weight:600;line-height:1.5}
.bp-game-message svg{width:18px;height:18px;flex:0 0 18px}
.bp-game-message.success{border-color:rgba(99,138,100,.5);background:rgba(99,138,100,.1);color:#b8d5b9}
.bp-game-message.error{border-color:rgba(196,75,62,.48);background:rgba(196,75,62,.09);color:#f0b2aa}
.bp-game-form-card{overflow:hidden;border:1px solid var(--line);border-radius:14px;background:linear-gradient(145deg,var(--panel),#13120f);box-shadow:0 14px 40px rgba(0,0,0,.16)}
.bp-game-form-heading{min-height:66px;display:flex;gap:18px;align-items:center;justify-content:space-between;padding:15px 20px;border-bottom:1px solid var(--line);background:rgba(0,0,0,.12)}
.bp-game-form-heading>div{display:flex;gap:12px;align-items:center}
.bp-game-form-heading span{display:grid;width:31px;height:31px;place-items:center;border:1px solid rgba(217,154,50,.34);border-radius:8px;background:rgba(217,154,50,.08);color:var(--amber2);font-size:10px;font-weight:800}
.bp-game-form-heading h2{margin:0;font:700 20px 'Barlow Condensed',sans-serif;letter-spacing:.04em;text-transform:uppercase}
.bp-game-form-heading>svg{width:20px;height:20px;color:var(--amber)}
.bp-game-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding:22px}
.bp-game-fields.result{padding-bottom:18px}
.bp-game-field{min-width:0}
.bp-game-field.full{padding:22px}
.bp-game-fields .bp-game-field.full{grid-column:1/-1;padding:0}
.bp-game-field label{display:block;margin-bottom:7px;color:var(--text);font-size:11px;font-weight:700}
.bp-game-field label>small{margin-left:5px;color:var(--muted);font-size:10px;font-weight:500}
.bp-game-field input,.bp-game-field select,.bp-game-field textarea{width:100%;border:1px solid var(--line);border-radius:9px;outline:none;background:#0e0d0b;color:var(--text);font:500 13px Inter,sans-serif;transition:.2s}
.bp-game-field input,.bp-game-field select{min-height:46px;padding:10px 12px}
.bp-game-field textarea{min-height:120px;padding:12px;resize:vertical;line-height:1.6}
.bp-game-field input:focus,.bp-game-field select:focus,.bp-game-field textarea:focus{border-color:rgba(217,154,50,.65);box-shadow:0 0 0 3px rgba(217,154,50,.10)}
.bp-game-field input::placeholder,.bp-game-field textarea::placeholder{color:#71695d}
.bp-game-field select{cursor:pointer}
.bp-game-field select option{background:#15130f;color:var(--text)}
.bp-game-field>small{display:block;margin-top:7px;color:var(--muted);font-size:10px;line-height:1.5}
.bp-game-team-grid{display:grid;grid-template-columns:minmax(0,1fr) 54px minmax(0,1fr);gap:16px;align-items:stretch;padding:22px}
.bp-game-team{display:grid;gap:17px;padding:19px;border:1px solid rgba(55,49,38,.9);border-radius:11px;background:rgba(9,9,8,.28)}
.bp-game-team-title{display:flex;gap:12px;align-items:baseline;justify-content:space-between;padding-bottom:12px;border-bottom:1px solid rgba(55,49,38,.7)}
.bp-game-team-title strong{color:var(--amber2);font:700 18px 'Barlow Condensed',sans-serif;letter-spacing:.04em;text-transform:uppercase}
.bp-game-team-title small{color:#776e61;font-size:9px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.bp-game-vs{display:grid;place-items:center}
.bp-game-vs span{display:grid;width:43px;height:43px;place-items:center;border:1px solid rgba(217,154,50,.35);border-radius:50%;background:#0e0d0b;color:var(--amber2);font:800 13px 'Barlow Condensed',sans-serif;box-shadow:0 8px 22px rgba(0,0,0,.24)}
.bp-game-checkbox{display:flex;gap:12px;align-items:flex-start;margin:0 22px 22px;padding:15px;border:1px solid var(--line);border-radius:10px;background:rgba(9,9,8,.28);cursor:pointer}
.bp-game-checkbox input{position:absolute;opacity:0;pointer-events:none}
.bp-game-checkbox-box{display:grid;width:22px;height:22px;flex:0 0 22px;place-items:center;border:1px solid #5b5245;border-radius:6px;background:#0e0d0b;color:transparent;transition:.2s}
.bp-game-checkbox-box svg{width:15px;height:15px}
.bp-game-checkbox input:checked+.bp-game-checkbox-box{border-color:var(--amber);background:var(--amber);color:#171109}
.bp-game-checkbox input:focus-visible+.bp-game-checkbox-box{box-shadow:0 0 0 3px rgba(217,154,50,.16)}
.bp-game-checkbox>span:last-child{display:grid;gap:4px}
.bp-game-checkbox strong{font-size:12px}
.bp-game-checkbox small{color:var(--muted);font-size:10px;line-height:1.5}
.bp-game-submit-row{display:flex;gap:11px;align-items:center;justify-content:flex-end;padding-top:4px}
.bp-game-cancel,.bp-game-submit{min-height:45px;display:inline-flex;gap:8px;align-items:center;justify-content:center;padding:10px 17px;border-radius:9px;text-decoration:none;font:800 11px Inter,sans-serif;cursor:pointer;transition:.2s}
.bp-game-cancel{border:1px solid var(--line);background:var(--panel);color:var(--muted)}
.bp-game-cancel:hover{border-color:#5a5145;color:var(--text)}
.bp-game-submit{border:1px solid rgba(242,189,90,.48);background:linear-gradient(180deg,var(--amber2),var(--amber));color:#171109}
.bp-game-submit:hover{filter:brightness(1.06);transform:translateY(-1px)}
.bp-game-submit svg{width:16px;height:16px}
@media(max-width:760px){.bp-game-team-grid{grid-template-columns:1fr}.bp-game-vs{min-height:28px}.bp-game-vs span{width:38px;height:38px}}
@media(max-width:560px){.bp-game-form-heading{min-height:60px;padding:13px 15px}.bp-game-form-heading h2{font-size:18px}.bp-game-fields{grid-template-columns:1fr;padding:17px}.bp-game-field.full{padding:17px}.bp-game-fields .bp-game-field.full{padding:0}.bp-game-team-grid{padding:17px}.bp-game-team{padding:16px}.bp-game-checkbox{margin:0 17px 17px}.bp-game-submit-row{align-items:stretch;flex-direction:column-reverse}.bp-game-cancel,.bp-game-submit{width:100%}}

/* ============================================================
   14. LIVE GAME - STAGE 2
   ============================================================ */
.bp-live-panel{margin-top:18px;padding:22px;border:1px solid var(--line);border-radius:14px;background:linear-gradient(145deg,var(--panel),#13120f);box-shadow:0 14px 40px rgba(0,0,0,.16)}
.bp-live-panel>p{margin:10px 0 0;color:var(--muted);font-size:12px;line-height:1.6}
.bp-live-panel-title{display:flex;gap:12px;align-items:center;justify-content:space-between;padding-bottom:14px;border-bottom:1px solid var(--line)}
.bp-live-panel-title span{color:var(--amber2);font-size:10px;font-weight:800;letter-spacing:.16em}
.bp-live-panel-title strong{font:700 22px 'Barlow Condensed',sans-serif;text-transform:uppercase}
.bp-live-order-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px}
.bp-live-order-grid form,.bp-live-two-buttons form{margin:0}
.bp-live-order-grid button{width:100%;min-height:86px;display:grid;gap:5px;place-content:center;border:1px solid var(--line);border-radius:11px;background:#0e0d0b;color:var(--text);cursor:pointer;transition:.2s}
.bp-live-order-grid button:hover{border-color:rgba(217,154,50,.6);background:rgba(217,154,50,.08)}
.bp-live-order-grid strong{font:700 19px 'Barlow Condensed',sans-serif;text-transform:uppercase}.bp-live-order-grid small{color:var(--muted);font-size:10px}
.bp-live-shot-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:18px}
.bp-live-shooter{padding:20px;border:1px solid var(--line);border-radius:12px;background:rgba(9,9,8,.32)}
.bp-live-shooter h3{margin:0 0 15px;text-align:center;font:800 25px 'Barlow Condensed',sans-serif;text-transform:uppercase}
.bp-live-hitmiss{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.bp-live-hitmiss button{min-height:72px;border-radius:11px;font:800 22px 'Barlow Condensed',sans-serif;letter-spacing:.04em;cursor:pointer}
.bp-live-hitmiss .miss{border:1px solid rgba(196,75,62,.65);background:rgba(196,75,62,.13);color:#f0b2aa}.bp-live-hitmiss .hit{border:1px solid rgba(99,138,100,.7);background:rgba(99,138,100,.16);color:#c6e0c7}
.bp-live-bounce{width:fit-content;display:flex;gap:8px;align-items:center;margin:13px auto 0;color:var(--muted);font-size:11px;font-weight:700;cursor:pointer}.bp-live-bounce input{accent-color:var(--amber)}
.bp-live-recorded{min-height:72px;display:grid;place-items:center;border-radius:11px;font:800 22px 'Barlow Condensed',sans-serif}.bp-live-recorded.hit{border:1px solid rgba(99,138,100,.55);background:rgba(99,138,100,.12);color:#c6e0c7}.bp-live-recorded.miss{border:1px solid rgba(196,75,62,.5);background:rgba(196,75,62,.1);color:#f0b2aa}
.bp-live-waiting{min-height:72px;display:grid;place-items:center;border:1px dashed var(--line);border-radius:11px;color:var(--muted);font-size:11px}
.bp-live-two-buttons{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}.bp-live-two-buttons button{width:100%;min-height:58px;border:1px solid rgba(217,154,50,.5);border-radius:10px;background:rgba(217,154,50,.08);color:var(--amber2);font:800 13px Inter,sans-serif;cursor:pointer}
.bp-live-undo{display:flex;justify-content:flex-end;margin-top:14px}.bp-live-undo button{display:inline-flex;gap:8px;align-items:center;padding:10px 14px;border:1px solid var(--line);border-radius:9px;background:var(--panel);color:var(--muted);font:700 11px Inter,sans-serif;cursor:pointer}.bp-live-undo button:hover{border-color:rgba(217,154,50,.45);color:var(--amber2)}.bp-live-undo svg{width:15px;height:15px}
@media(max-width:760px){.bp-live-order-grid{grid-template-columns:1fr}.bp-live-shot-grid{grid-template-columns:1fr}}
@media(max-width:560px){.bp-live-panel{padding:17px}.bp-live-panel-title{align-items:flex-start;flex-direction:column}.bp-live-hitmiss button{min-height:64px}.bp-live-two-buttons{grid-template-columns:1fr}.bp-live-undo button{width:100%;justify-content:center}}

/* ============================================================
   15. PUBLIC DATABASE PAGES
   ============================================================ */
.bp-db-hero{border-bottom:1px solid var(--line);background:radial-gradient(circle at 82% 20%,rgba(217,154,50,.12),transparent 30%),linear-gradient(110deg,#0d0c0a,#17130d 62%,#11150f)}
.bp-db-hero .bp-container{padding-top:48px;padding-bottom:48px}
.bp-db-kicker{display:flex;gap:8px;align-items:center;color:var(--amber2);font:700 11px Inter,sans-serif;letter-spacing:.2em;text-transform:uppercase}
.bp-db-kicker svg{width:16px;height:16px}.bp-db-hero h1{margin:12px 0 8px;font:800 44px/1 'Barlow Condensed',sans-serif;text-transform:uppercase}.bp-db-hero p{margin:0;color:var(--muted);font-size:13px}.bp-db-back{display:inline-flex;gap:7px;align-items:center;margin-top:18px;color:var(--amber2);font-size:11px;font-weight:700;text-decoration:none}.bp-db-back svg{width:15px}
.bp-db-content{padding-top:34px;padding-bottom:64px}.bp-db-card{overflow:hidden;border:1px solid var(--line);border-radius:14px;background:linear-gradient(145deg,var(--panel),#13120f);box-shadow:0 14px 40px rgba(0,0,0,.16)}.bp-db-table-wrap{overflow-x:auto}.bp-db-table{width:100%;border-collapse:collapse;font-size:12px}.bp-db-table th,.bp-db-table td{padding:14px 18px;border-bottom:1px solid rgba(55,49,38,.7);text-align:left}.bp-db-table th{background:rgba(0,0,0,.13);color:#766d60;font-size:9px;letter-spacing:.1em;text-transform:uppercase}.bp-db-table tr:last-child td{border-bottom:0}.bp-db-name{color:var(--text);font-weight:800;text-decoration:none}.bp-db-name:hover{color:var(--amber2)}
.bp-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.bp-stat-grid>div{padding:20px;border:1px solid var(--line);border-radius:12px;background:linear-gradient(145deg,var(--panel),#13120f);text-align:center}.bp-stat-grid span,.bp-stat-grid small{display:block;color:var(--muted)}.bp-stat-grid span{font-size:9px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.bp-stat-grid strong{display:block;margin:6px 0 2px;color:var(--amber2);font:800 30px 'Barlow Condensed',sans-serif}.bp-stat-grid small{font-size:10px}
.bp-db-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}.bp-stat-list,.bp-recent-list{display:grid}.bp-stat-list>div,.bp-db-stat-link,.bp-recent-list>a{display:flex;gap:14px;align-items:center;justify-content:space-between;padding:13px 18px;border-bottom:1px solid rgba(55,49,38,.7);color:var(--text);text-decoration:none;font-size:11px}.bp-stat-list>*:last-child,.bp-recent-list>a:last-child{border-bottom:0}.bp-stat-list span,.bp-recent-list small{color:var(--muted)}.bp-stat-list strong{font-size:12px}.bp-db-stat-link:hover,.bp-recent-list>a:hover{background:rgba(217,154,50,.05);color:var(--amber2)}.bp-recent-list>a span{min-width:0}.bp-recent-list b{display:inline-grid;width:22px;height:22px;margin-right:7px;place-items:center;border:1px solid var(--line);border-radius:6px;color:var(--amber2);font-size:9px}.bp-db-empty{padding:42px;border:1px solid var(--line);border-radius:14px;background:var(--panel);text-align:center}.bp-db-empty svg{width:28px;margin:auto;color:var(--amber2)}.bp-db-empty h2{font:700 25px 'Barlow Condensed',sans-serif;text-transform:uppercase}
@media(max-width:800px){.bp-stat-grid{grid-template-columns:repeat(2,1fr)}.bp-db-grid{grid-template-columns:1fr}}@media(max-width:560px){.bp-db-hero .bp-container{padding-top:36px;padding-bottom:36px}.bp-db-hero h1{font-size:36px}.bp-stat-grid{grid-template-columns:1fr 1fr;gap:10px}.bp-stat-grid>div{padding:16px 10px}.bp-db-table th,.bp-db-table td{padding:12px 10px}.bp-db-table{min-width:520px}}

/* Game profile notes */
.bp-game-notes-body {
  padding:16px 20px 18px;
  color:var(--muted);
  font-size:12px;
  line-height:1.7;
}

/* Search input clear button */
.bp-game-search::-webkit-search-cancel-button,
.bp-team-search::-webkit-search-cancel-button,
.bp-player-search::-webkit-search-cancel-button {
  -webkit-appearance:none;
  appearance:none;
  width:16px;
  height:16px;
  cursor:pointer;
  opacity:.8;
  background:
    linear-gradient(45deg,transparent 44%,var(--amber2) 44%,var(--amber2) 56%,transparent 56%),
    linear-gradient(-45deg,transparent 44%,var(--amber2) 44%,var(--amber2) 56%,transparent 56%);
}

.bp-game-search::-webkit-search-cancel-button:hover,
.bp-team-search::-webkit-search-cancel-button:hover,
.bp-player-search::-webkit-search-cancel-button:hover {
  opacity:1;
}

/* ============================================================
   16. PLAYER DATABASE INTERACTIONS
   ============================================================ */
.bp-player-db-row{cursor:pointer;transition:background .18s ease}
.bp-player-db-row:hover td{background:rgba(217,154,50,.055)}
.bp-player-row-highlight td{background:rgba(217,154,50,.13)!important;border-top:1px solid rgba(217,154,50,.45);border-bottom:1px solid rgba(217,154,50,.45)}
.bp-player-row-highlight td:first-child{box-shadow:inset 3px 0 0 var(--amber2)}
.bp-player-db-row:focus-visible{outline:2px solid var(--amber2);outline-offset:-2px}
#bp-player-floating-header{display:none;position:fixed;z-index:40;overflow:hidden;border-bottom:1px solid var(--line);background:var(--panel);box-shadow:0 8px 20px rgba(0,0,0,.28);pointer-events:none}
#bp-player-floating-header table{margin:0;background:var(--panel);border-collapse:collapse}
#bp-player-floating-header th{background:#12110e}

/* ============================================================
   CHRISTMAS THEME SWITCH — always available to authorized admins
   Separate from Christmas visuals because it must work when OFF.
   ============================================================ */
.bp-theme-settings {
  padding: 15px;
  border: 1px solid rgba(217,154,50,.4);
  border-radius: 11px;
  background: rgba(217,154,50,.045);
}
.bp-theme-settings-title { display: flex; justify-content: space-between; align-items: center; gap: 10px; }
.bp-theme-settings-title strong { color: var(--text); font: 800 15px 'Barlow Condensed',sans-serif; letter-spacing: .03em; }
.bp-theme-state { border-radius: 999px; padding: 4px 10px; font: 800 10px Inter,sans-serif; letter-spacing: .07em; }
.bp-theme-state.is-on { color: #cbf4d1; border: 1px solid #458b50; background: rgba(23,118,46,.3); }
.bp-theme-state.is-off { color: #d2cab9; border: 1px solid #655744; background: rgba(0,0,0,.3); }
.bp-theme-settings > p { margin: 10px 0 0; font-size: 10px; line-height: 1.55; color: var(--muted); }
.bp-theme-form { margin: 14px 0 0 !important; }
.bp-admin-actions .bp-theme-switch-button {
  width: 100%;
  min-height: 45px;
  justify-content: flex-start;
  gap: 13px;
  background: rgba(9,9,8,.5);
  text-align: left;
}
.bp-admin-actions .bp-theme-switch-button > span:last-child { font-weight: 700; }
.bp-theme-switch-track {
  display: inline-flex !important;
  align-items: center !important;
  flex: 0 0 40px;
  width: 40px;
  height: 23px;
  padding: 3px;
  border: 1px solid #605d50;
  border-radius: 999px;
  background: #3f403a;
  transition: background .2s;
}
.bp-theme-switch-track.is-on { background: #238a47; border-color: #68c57e; }
.bp-theme-switch-thumb { display: block !important; width: 16px; height: 16px; flex: 0 0 16px; border-radius: 100%; background: #fff; box-shadow: 0 2px 4px rgba(0,0,0,.3); transform: translateX(0); transition: transform .2s; }
.bp-theme-switch-track.is-on .bp-theme-switch-thumb { transform: translateX(17px); }
.bp-theme-settings .bp-theme-setup-required { color: #f0b2aa; }
.bp-theme-switch-button:focus-visible { outline: 2px solid var(--amber2); outline-offset: 3px; }

/* ============================================================
   v6.9 — THEME STATUS LIGHTS: CONTINUOUS CORNER WIRE (ALL THEMES)
   Match the homepage scoreboard's actual 39px/29px bulb artwork.
   Place the WIRE approx. 1px inside the rounded cell border, not
   the strip box itself. The corner circuit bridges all four tiles.
   Unlit images remain the permanent normal-theme default.
   ============================================================ */
.bp-theme-page-card .bp-theme-settings.bp-theme-status-lightframe {
  position: relative;
  isolation: isolate;
  /* Bulbs must not overlap the status label or the switch. */
  padding-top: 37px;
  padding-bottom: 31px;
}
.bp-theme-status-lightframe > .bp-theme-status-lights {
  position: absolute;
  inset: 0;
  z-index: 4;
  border-radius: inherit;
  overflow: visible;
  pointer-events: none;
  user-select: none;
}
/* The continuous, rounded dark wire closes every corner. The transparent
   PNG wires merge into it; bulbs remain independent foreground sprites. */
.bp-theme-status-lightframe > .bp-theme-status-lights::before {
  content: "";
  position: absolute;
  inset: 1px;
  border: 1px solid rgba(64, 61, 54, .82);
  border-radius: inherit;
  pointer-events: none;
}
.bp-theme-status-lightframe .bp-theme-status-light-edge {
  position: absolute;
  display: block;
  pointer-events: none;
  background-repeat: no-repeat;
}
/* The original strand artwork is 540×78 and 78×540, drawn at exactly
   half-resolution on desktop, as on the finished homepage scoreboard. */
.bp-theme-status-lightframe .bp-theme-status-light-edge--top,
.bp-theme-status-lightframe .bp-theme-status-light-edge--bottom {
  left: 13px;
  right: 13px;
  height: 39px;
  background-image: url("beerpong-xmas-light-strand-off.png");
  background-size: 270px 39px;
  background-repeat: repeat-x;
}
/* PNG wire is ~5px inside its strip, so -4px puts it 1px inside the cell. */
.bp-theme-status-lightframe .bp-theme-status-light-edge--top { top: -4px; }
.bp-theme-status-lightframe .bp-theme-status-light-edge--bottom {
  bottom: -4px;
  transform: scaleY(-1);
}
.bp-theme-status-lightframe .bp-theme-status-light-edge--left,
.bp-theme-status-lightframe .bp-theme-status-light-edge--right {
  top: 12px;
  bottom: 12px;
  width: 39px;
  background-image: url("beerpong-xmas-light-strand-vertical-off.png");
  background-size: 39px 270px;
  background-repeat: repeat-y;
}
/* The vertical PNG wire is near x=30px, not centered. Mirroring the left
   strand and moving both boxes -8px makes the actual wire visible at x≈1px.
   Older -13px/-10px positions clipped the wire outside the card on mobile. */
.bp-theme-status-lightframe .bp-theme-status-light-edge--left {
  left: -8px;
  transform: scaleX(-1);
}
.bp-theme-status-lightframe .bp-theme-status-light-edge--right { right: -8px; }

@media (max-width: 560px) {
  .bp-theme-status-lightframe .bp-theme-status-light-edge--top,
  .bp-theme-status-lightframe .bp-theme-status-light-edge--bottom {
    left: 11px;
    right: 11px;
    height: 29px;
    background-size: 201px 29px;
  }
  .bp-theme-status-lightframe .bp-theme-status-light-edge--left,
  .bp-theme-status-lightframe .bp-theme-status-light-edge--right {
    top: 10px;
    bottom: 10px;
    width: 29px;
    background-size: 29px 201px;
  }
  .bp-theme-status-lightframe .bp-theme-status-light-edge--top { top: -3px; }
  .bp-theme-status-lightframe .bp-theme-status-light-edge--bottom { bottom: -3px; }
  .bp-theme-status-lightframe .bp-theme-status-light-edge--left { left: -6px; }
  .bp-theme-status-lightframe .bp-theme-status-light-edge--right { right: -6px; }
}


/* ============================================================
   v7.1 — THEME STATUS: ONE CONTINUOUS, SCOREBOARD-SIZED LIGHT CIRCUIT
   The canvas uses original bulb imagery, with its CLOSED wire positioned
   1px OUTSIDE the Theme Status rounded border. Its bulb sprites are
   precisely 28px, with the homepage’s 43px/38px bulb spacing. This prevents
   seams and mobile clipping. Original strips remain as no-JS fallback.
   Applies to both regular (unlit) and Christmas (illuminated) modes.
   ============================================================ */
.bp-theme-status-lightframe > .bp-theme-status-lights {
  overflow: visible;
}
.bp-theme-status-lightframe .bp-theme-status-light-canvas {
  position: absolute;
  display: block;
  z-index: 1;
  max-width: none;
  pointer-events: none;
  user-select: none;
}
.bp-theme-status-lightframe .bp-theme-status-lights.bp-theme-status-lights--ready::before,
.bp-theme-status-lightframe .bp-theme-status-lights.bp-theme-status-lights--ready > .bp-theme-status-light-edge {
  display: none;
}
