.page-title{margin:0 0 8px;font-size:42px}
.page-title--masthead{font-size:46px;letter-spacing:.02em}
.page-note{color:var(--muted);margin:0 0 18px}

.card--news,.hero-card--news{
  background:
    linear-gradient(180deg, rgba(255,255,255,.72), rgba(255,255,255,.56)),
    repeating-linear-gradient(0deg, rgba(0,0,0,.018) 0, rgba(0,0,0,.018) 1px, transparent 1px, transparent 28px);
}

.news-heading-wrap{display:grid;gap:16px;margin-bottom:14px}
.news-heading-wrap--tight{gap:10px}

.leaderboard-head-inline{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:10px;
}

.leaderboard-actions{
  display:flex;
  flex-direction:row;
  flex-wrap:wrap;
  gap:6px;
  align-items:center;
}

.primary-btn--disabled{
  background:#ece7db;
  color:#6a655d;
  cursor:default;
  border:1px solid rgba(0,0,0,.12);
}

.primary-btn, .secondary-btn{
  text-decoration:none !important;
}

.primary-btn--compact, .secondary-btn--compact{
  padding:6px 10px;
  font-size:13px;
}

.player-summary-banner{
  border:1px solid rgba(0,0,0,.1);
  background:#fffdf7;
  border-radius:16px;
  padding:14px;
  margin:0 0 16px;
}

.player-summary-banner__title{
  font-size:13px;
  color:var(--muted);
  margin-bottom:6px;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.player-summary-banner__meta{
  font-size:20px;
  line-height:1.2;
}

.share-actions-card{
  margin-top:12px;
  margin-bottom:16px;
}

.share-actions-inline{
  display:flex;
  gap:10px;
  margin-top:8px;
  flex-wrap:wrap;
}

.secondary-btn--wa{
  text-decoration:none !important;
  display:inline-flex;
  align-items:center;
  gap:6px;
}

.secondary-btn--wa::before{
  content:"🟢";
  font-size:14px;
}

.lb-table{width:100%;border-collapse:collapse;background:#fff;border-radius:14px;overflow:hidden}
.lb-table--news{border:1px solid rgba(0,0,0,.08)}
.lb-table th,.lb-table td{padding:12px 10px;border-bottom:1px solid rgba(0,0,0,.08);text-align:left}
.lb-table th{
  background:#f6efdf;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.lb-row--mine{background:#fff8dd}
.lb-player{display:grid;gap:4px}
.lb-tier{font-size:12px;color:var(--muted)}
.lb-status-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:28px;
  padding:5px 10px;
  border-radius:999px;
  border:1px solid rgba(0,0,0,.1);
  background:#fffaf0;
  font-size:12px;
  white-space:nowrap;
}
.lb-rank-cell,.lb-time-cell{font-weight:700}

.home-shell{min-height:calc(100svh - 140px);display:flex;align-items:center;justify-content:center}
.hero-card{width:min(100%,680px);margin:0 auto}
.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin-bottom:8px}
.hero-copy{font-size:20px;line-height:1.35;margin:0 0 18px;max-width:46ch}
.brand-link{color:inherit;text-decoration:none}
.brand-link:hover{opacity:.85}

.home-actions{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin:18px 0;
}
.home-actions a,.home-actions span{
  text-decoration:none;
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
}

.stat-card{
  border:1px solid rgba(0,0,0,.1);
  background:#fffaf0;
  border-radius:16px;
  padding:14px;
  width:100%;
}
.stat-card--news{box-shadow:inset 0 1px 0 rgba(255,255,255,.7)}
.stat-label{font-size:13px;color:var(--muted);margin-bottom:6px}
.stat-value{font-size:34px;font-weight:700;line-height:1}
.stat-sub{margin-top:6px;color:var(--muted);font-size:14px}

.rich-page h2{margin:22px 0 8px;font-size:24px}
.rich-page p{margin:0 0 12px;line-height:1.5}

.test-grid{display:grid;gap:12px}
.test-card{
  display:block;
  text-decoration:none;
  color:inherit;
  background:#fff;
  border:1px solid rgba(0,0,0,.1);
  border-radius:16px;
  padding:14px;
}
.test-card__top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:6px;
}
.test-card__meta{color:var(--muted);font-size:14px}
.test-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:26px;
  padding:4px 9px;
  border-radius:999px;
  border:1px solid rgba(0,0,0,.12);
  background:#fff4da;
  font-size:12px;
}
.test-pill--good{background:#e7f3e3}

.validation-errors{margin-top:8px;color:#8f111b;font-size:14px}
.validation-warnings{margin-top:8px;color:#7a5d00;font-size:14px}

.generator-form{
  display:grid;
  gap:10px;
  grid-template-columns:repeat(2,minmax(0,1fr));
  align-items:end;
}

.json-preview{
  white-space:pre-wrap;
  word-break:break-word;
  background:#f8f5ee;
  padding:12px;
  border-radius:12px;
  border:1px solid rgba(0,0,0,.08);
  font-size:12px;
  overflow:auto;
}

.metrics-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin-bottom:18px;
}

.metric-card{
  background:#fff;
  border:1px solid rgba(0,0,0,.1);
  border-radius:16px;
  padding:14px;
}

.metric-label{font-size:13px;color:var(--muted);margin-bottom:6px}
.metric-value{font-size:30px;font-weight:700;line-height:1}
.admin-section-heading{margin:18px 0 0;font-size:22px}
.form-error{color:#8f111b}
.form-success{color:#256b2d}

.site-footer{
  border-top:1px solid rgba(0,0,0,.08);
  margin-top:24px;
  background:rgba(255,255,255,.35);
}
.site-footer__inner{
  max-width:760px;
  margin:0 auto;
  padding:18px;
  display:grid;
  gap:10px;
  text-align:center;
}
.site-footer__brand{font-size:16px}
.site-footer__brand a{text-decoration:none}
.site-footer__links{
  display:flex;
  gap:12px;
  justify-content:center;
  flex-wrap:wrap;
}
.site-footer__links a{text-decoration:none}
.site-footer__copyright{color:var(--muted);font-size:14px}

.rainbow-text{
  background:linear-gradient(90deg,#ff3b3b,#ff9a00,#ffd400,#2dd36f,#00c2ff,#6a5cff,#ff4fd8,#ff3b3b);
  background-size:200% auto;
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  font-weight:700;
  animation:campRainbowShift 5s linear infinite;
}
@keyframes campRainbowShift{0%{background-position:0% center}100%{background-position:200% center}}

@media (max-width:700px){
  .generator-form{grid-template-columns:1fr}
  .metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media (max-width:560px){
  .home-shell{align-items:flex-start;padding-top:20px}
  .home-actions{grid-template-columns:1fr}
  .page-title{font-size:34px}
  .page-title--masthead{font-size:38px}
  .hero-copy{font-size:18px}
  .metrics-grid{grid-template-columns:1fr}
  .leaderboard-head-inline{
    flex-direction:column;
    align-items:stretch;
  }
  .leaderboard-actions{
    display:flex;
    flex-direction:row;
    flex-wrap:wrap;
  }
}
