:root {
  --lb-card-bg: #f7fafc;
  --lb-card-text: #122033;
  --lb-card-muted: #526173;
  --lb-border: #d7e0e8;
  --lb-link: #9bd0ff;
  --lb-light-link: #075fa8;
  --lb-warning-bg: #fff7df;
  --lb-warning-border: #b87800;
}

.lb-prediction,
.lb-author-profile {
  max-width: 980px;
  margin: 0 auto;
  color: #eef3f9;
}

.lb-prediction a,
.lb-author-profile a {
  color: var(--lb-link);
}

.lb-prediction__breadcrumbs {
  margin: 0 0 20px;
  font-size: .92rem;
  color: #c4cfdd;
}

.lb-prediction__breadcrumbs ol {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.lb-prediction__breadcrumbs li {
  display: inline-flex;
  align-items: center;
}

.lb-prediction__breadcrumbs li:not(:last-child)::after {
  content: "/";
  margin: 0 8px;
  color: #8f9caf;
}

.lb-prediction__breadcrumbs a {
  color: #dce8f5;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

.lb-prediction__breadcrumbs [aria-current="page"] {
  color: #fff;
}

.lb-prediction__header h1 {
  margin-bottom: 12px;
  line-height: 1.18;
}

.lb-prediction__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 9px 18px;
  color: #c0cad7;
  font-size: .94rem;
}

.lb-prediction__score {
  display: inline-flex;
  flex-direction: column;
  gap: 3px;
  margin-top: 16px;
  padding: 10px 14px;
  border: 1px solid var(--lb-border);
  border-radius: 10px;
  background: var(--lb-card-bg);
  color: var(--lb-card-text);
}

.lb-prediction__primary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin: 24px 0 12px;
  padding: 18px;
  border: 1px solid var(--lb-border);
  border-radius: 14px;
  background: var(--lb-card-bg);
  color: var(--lb-card-text);
  box-shadow: 0 8px 24px rgb(0 0 0 / 10%);
}

.lb-prediction__primary > div {
  display: flex;
  flex-direction: column;
  gap: 5px;
  min-width: 0;
}

.lb-prediction__primary span,
.lb-pick dt,
.lb-author-stats dt {
  color: var(--lb-card-muted);
  font-size: .82rem;
  line-height: 1.35;
}

.lb-prediction__primary strong,
.lb-pick dd,
.lb-author-stats dd {
  color: var(--lb-card-text);
  overflow-wrap: anywhere;
}

.lb-prediction__primary-risk {
  grid-column: 1 / -1;
  padding-top: 10px;
  border-top: 1px solid var(--lb-border);
}

.lb-prediction__probability-note,
.lb-pick__note {
  margin: 0 0 22px;
  color: #c8d1dd;
  font-size: .9rem;
}

.lb-prediction__lead {
  margin: 26px 0;
  font-size: clamp(1.05rem, 1.8vw, 1.18rem);
  font-weight: 650;
  line-height: 1.55;
}

.lb-prediction__body {
  font-size: 1rem;
  line-height: 1.72;
}

.lb-prediction__body h2 {
  margin: 32px 0 12px;
  line-height: 1.25;
}

.lb-prediction__body p {
  margin: 0 0 16px;
}

.lb-prediction__picks {
  display: grid;
  gap: 16px;
  margin-top: 34px;
}

.lb-prediction__picks > h2 {
  grid-column: 1 / -1;
  margin-bottom: 0;
}

.lb-pick {
  padding: 18px;
  border: 1px solid var(--lb-border);
  border-radius: 14px;
  background: rgba(255, 255, 255, .035);
}

.lb-pick--primary {
  border-width: 2px;
}

.lb-pick header {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px 12px;
}

.lb-pick h3 {
  margin: 0;
}

.lb-pick__role {
  font-size: .78rem;
  font-weight: 750;
  letter-spacing: .035em;
  text-transform: uppercase;
}

.lb-pick dl,
.lb-author-stats dl {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.lb-pick dl > div,
.lb-author-stats dl > div {
  padding: 11px;
  border: 1px solid #e2e8ef;
  border-radius: 9px;
  background: var(--lb-card-bg);
  color: var(--lb-card-text);
}

.lb-pick dt,
.lb-pick dd,
.lb-author-stats dt,
.lb-author-stats dd {
  margin: 0;
}

.lb-pick dd,
.lb-author-stats dd {
  margin-top: 4px;
  font-weight: 750;
}

.lb-pick__risk,
.lb-prediction__warning,
.lb-author-stats__warning {
  padding: 13px 14px;
  border-left: 4px solid var(--lb-warning-border);
  border-radius: 6px;
  background: var(--lb-warning-bg);
  color: #2d2513;
}

.lb-prediction__author,
.lb-author-profile__header,
.lb-author-profile__methodology {
  margin: 32px 0;
  padding: 20px;
  border: 1px solid rgba(215, 224, 232, .42);
  border-radius: 14px;
  background: rgba(255, 255, 255, .035);
}

.lb-prediction__author,
.lb-author-profile__header {
  display: flex;
  align-items: flex-start;
  gap: 20px;
}

.lb-prediction__author img,
.lb-author-profile__header img,
.lb-avatar-fallback {
  flex: 0 0 auto;
  width: 112px;
  height: 112px;
  border-radius: 50%;
}

.lb-prediction__author img,
.lb-author-profile__header img {
  object-fit: cover;
}

.lb-avatar-fallback {
  display: grid;
  place-items: center;
  border: 1px solid #b9c9db;
  background: linear-gradient(145deg, #dbe9f7, #b7cadf);
  color: #16324f;
  font-size: 1.55rem;
  font-weight: 800;
  letter-spacing: .04em;
}

.lb-prediction__match-link {
  margin: 30px 0;
}

.lb-button {
  display: inline-block;
  padding: 11px 16px;
  border-radius: 8px;
  background: #eaf4ff;
  color: #07538f !important;
  font-weight: 750;
  text-decoration: none;
}

.lb-editorial-predictions {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 14px;
}

.lb-prediction-teaser {
  padding: 16px;
  border: 1px solid var(--lb-border);
  border-radius: 12px;
  background: var(--lb-card-bg);
  color: var(--lb-card-text);
}

.lb-prediction-teaser a {
  color: var(--lb-light-link);
}

.lb-prediction-teaser h3 {
  margin: 8px 0 12px;
  color: var(--lb-card-text);
}

.lb-prediction-teaser__meta,
.lb-prediction-teaser__author {
  color: var(--lb-card-muted);
  font-size: .85rem;
}

.lb-prediction-teaser__pick {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 2px 12px;
  margin: 10px 0;
  padding: 10px;
  border: 1px solid #dce5ee;
  border-radius: 8px;
  background: #fff;
}

.lb-prediction-teaser__pick span {
  grid-column: 1 / -1;
  color: var(--lb-card-muted);
  font-size: .78rem;
}

.lb-prediction-teaser__link {
  display: inline-block;
  margin-top: 10px;
  font-weight: 750;
}

.lb-author-stats__period,
.lb-author-stats__forming,
.lb-empty-state {
  padding: 15px;
  border: 1px solid var(--lb-border);
  border-radius: 10px;
  background: var(--lb-card-bg);
  color: var(--lb-card-text);
}

.lb-author-stats__forming h3 {
  margin-top: 0;
  color: var(--lb-card-text);
}

.lb-author-stats__group {
  margin: 24px 0;
}

.lb-table-wrap {
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border-radius: 10px;
}

.lb-table-wrap table {
  width: 100%;
  min-width: 680px;
  border-collapse: collapse;
  background: var(--lb-card-bg);
  color: var(--lb-card-text);
}

.lb-table-wrap th,
.lb-table-wrap td {
  padding: 10px 12px;
  border-bottom: 1px solid var(--lb-border);
  text-align: left;
  white-space: nowrap;
}

.lb-match-editorial-prediction {
  margin: 24px 0;
}

@media (max-width: 700px) {
  body {
    padding-bottom: calc(78px + env(safe-area-inset-bottom));
  }

  .lb-prediction,
  .lb-author-profile {
    width: 100%;
  }

  .lb-prediction__breadcrumbs {
    font-size: .84rem;
  }

  .lb-prediction__primary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding: 14px;
  }

  .lb-prediction__primary-risk {
    grid-column: 1 / -1;
  }

  .lb-prediction__body {
    font-size: 1rem;
    line-height: 1.66;
  }

  .lb-pick dl,
  .lb-author-stats dl {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .lb-prediction__author,
  .lb-author-profile__header {
    align-items: center;
    flex-direction: column;
    padding: 16px;
    text-align: left;
  }

  .lb-prediction__author img,
  .lb-author-profile__header img,
  .lb-avatar-fallback {
    width: 92px;
    height: 92px;
  }
}

@media (max-width: 430px) {
  .lb-prediction__primary,
  .lb-pick dl,
  .lb-author-stats dl {
    grid-template-columns: 1fr;
  }

  .lb-prediction__primary-risk {
    grid-column: auto;
  }
}

/* R49: stronger hierarchy, compact author profile and readable article cards. */
.lb-prediction__body > ul {
  display: grid;
  gap: 8px;
  margin: 12px 0 24px;
  padding: 16px 18px 16px 38px;
  border: 1px solid rgba(215, 224, 232, .45);
  border-radius: 12px;
  background: rgba(255, 255, 255, .035);
}

.lb-prediction__body > h2 {
  padding-top: 4px;
  border-top: 1px solid rgba(215, 224, 232, .18);
}

.lb-prediction__body > h2:first-child {
  border-top: 0;
}

.lb-author-profile__header {
  display: grid;
  grid-template-columns: 96px minmax(0, 1fr);
  align-items: center;
  gap: 22px;
  background: linear-gradient(135deg, rgba(255,255,255,.065), rgba(255,255,255,.025));
}

.lb-author-profile__header img,
.lb-author-profile__header .lb-avatar-fallback {
  width: 96px;
  height: 96px;
}

.lb-author-profile__name {
  margin: 0 0 6px;
}

.lb-author-profile__methodology,
.lb-author-stats,
.lb-author-profile > section:last-child {
  margin: 28px 0;
}

.lb-author-profile__methodology h2,
.lb-author-stats > h2,
.lb-author-profile > section:last-child > h2 {
  margin-top: 0;
}

.lb-author-stats__forming {
  box-shadow: 0 8px 24px rgb(0 0 0 / 8%);
}

.lb-author-stats__forming > p {
  max-width: 72ch;
  color: var(--lb-card-muted);
}

.lb-author-stats__forming dl {
  margin-bottom: 0;
}

@media (max-width: 700px) {
  .lb-author-profile__header {
    grid-template-columns: 72px minmax(0, 1fr);
    align-items: start;
    gap: 14px;
    text-align: left;
  }

  .lb-author-profile__header img,
  .lb-author-profile__header .lb-avatar-fallback {
    width: 72px;
    height: 72px;
  }

  .lb-author-profile__specialization {
    margin-bottom: 8px;
  }

  .lb-author-profile__bio,
  .lb-author-profile__period {
    grid-column: 1 / -1;
  }
}
