.cubs-lines {
    --cl-navy: #0E3386;
    --cl-ink: #1d1d1f;
    --cl-muted: #5a5a60;
    --cl-line: rgba(14, 51, 134, 0.16);
    --cl-card: #fff;
    --cl-wash: #e8eef8;
    color: var(--cl-ink);
    max-width: 1100px;
    margin: 0 auto 32px;
    padding: 0 12px;
}
.cubs-lines__hero {
    background: linear-gradient(125deg, #0E3386 0%, #071a45 72%);
    color: #fff;
    border-radius: 12px;
    padding: 22px 20px 18px;
    margin-bottom: 18px;
}
.cubs-lines__kicker {
    margin: 0 0 6px;
    color: #ffb4b4;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}
.cubs-lines__hero h1 {
    margin: 0 0 8px;
    color: #fff;
    font: 400 clamp(26px, 4vw, 40px)/1.15 Georgia, "Times New Roman", serif;
}
.cubs-lines__lede {
    margin: 0;
    color: rgba(255, 255, 255, 0.82);
}
.cubs-lines__card, .cubs-lines__strip, .cubs-lines__table-wrap {
    background: var(--cl-card);
    border: 1px solid var(--cl-line);
    border-radius: 12px;
    padding: 14px 16px;
    margin: 0 0 14px;
}
.cubs-lines h2 {
    margin: 0 0 8px;
    font-size: 18px;
    color: var(--cl-navy);
}
.cubs-lines__note, .cubs-lines__empty {
    margin: 8px 0 0;
    color: var(--cl-muted);
    font-size: 13px;
}
.cubs-lines__game {
    margin: 0 0 8px;
}
.cubs-lines__when {
    color: var(--cl-muted);
    font-size: 13px;
}
.cubs-lines__prices {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}
.cubs-lines__price {
    flex: 1 1 180px;
    border-top: 3px solid var(--cl-line);
    padding-top: 8px;
}
.cubs-lines__books {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    margin: 0 0 12px;
}
.cubs-lines__book {
    flex: 1 1 180px;
    border-top: 3px solid var(--cl-navy);
    padding-top: 8px;
}
.cubs-lines__book h3,
.cubs-lines__prop-label {
    margin: 0 0 6px;
    font-size: 14px;
    color: var(--cl-navy);
}
.cubs-lines__book p {
    margin: 0 0 4px;
    font-variant-numeric: tabular-nums;
}
.cubs-lines__book p span {
    color: var(--cl-muted);
    font-size: 12px;
}
.cubs-lines__price.is-kalshi { border-top-color: #f56600; }
.cubs-lines__price.is-poly { border-top-color: #2563eb; }
.cubs-lines__venue {
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}
.cubs-lines__price.is-kalshi .cubs-lines__venue { color: #f56600; }
.cubs-lines__price.is-poly .cubs-lines__venue { color: #2563eb; }
.cubs-lines__pct {
    font-variant-numeric: tabular-nums;
    font-weight: 700;
}
.cubs-lines__strip {
    display: flex;
    gap: 18px;
    flex-wrap: wrap;
    background: var(--cl-wash);
}
.cubs-lines__stat span {
    display: block;
    color: var(--cl-muted);
    font-size: 12px;
}
.cubs-lines__stat strong {
    font-size: 28px;
    color: var(--cl-navy);
}
.cubs-lines__pills {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin: 0 0 12px;
}
.cubs-lines__pill {
    border: 1px solid var(--cl-line);
    border-radius: 10px;
    padding: 8px 10px;
    background: #fff;
}
.cubs-lines__pill span {
    display: block;
    color: var(--cl-muted);
    font-size: 11px;
}
.cubs-lines__scroll { overflow-x: auto; }
.cubs-lines table {
    width: 100%;
    border-collapse: collapse;
    font-variant-numeric: tabular-nums;
    font-size: 14px;
}
.cubs-lines th {
    background: var(--cl-navy);
    color: #fff;
    text-align: left;
    padding: 8px;
    white-space: nowrap;
}
.cubs-lines td {
    padding: 8px;
    border-bottom: 1px solid var(--cl-line);
    white-space: nowrap;
}
.cubs-lines tr.is-selected td { background: var(--cl-wash); }
.cubs-lines a { color: var(--cl-navy); font-weight: 700; }
.cubs-lines .is-over { color: #166534; font-weight: 700; }
.cubs-lines .is-under { color: #991b1b; font-weight: 700; }
html.dark-mode .cubs-lines {
    --cl-ink: var(--dm-text-primary, #f1f5f9);
    --cl-muted: var(--dm-text-secondary, #bbb);
    --cl-line: rgba(255, 255, 255, 0.14);
    --cl-card: var(--dm-bg-elevated, #1c1f25);
    --cl-wash: rgba(14, 51, 134, 0.38);
    color: var(--dm-text-primary, #f1f5f9);
}
html.dark-mode .cubs-lines h2,
html.dark-mode .cubs-lines h3,
html.dark-mode .cubs-lines__book h3,
html.dark-mode .cubs-lines__prop-label,
html.dark-mode .cubs-lines a,
html.dark-mode .cubs-lines__stat strong {
    color: var(--dm-text-primary, #f1f5f9);
}
html.dark-mode .cubs-lines__pill { background: var(--dm-bg-elevated, #1c1f25); }
html.dark-mode .cubs-lines .is-over { color: #86efac; }
html.dark-mode .cubs-lines .is-under { color: #fca5a5; }
@media (max-width: 800px) {
    .cubs-lines__scroll { overflow-x: auto; }
}
