/* ============================================================
   SUBSCRIPTION THEMES — The Sunday Chronicle

   Activated via data-theme="midnight-press|broadsheet" on <body>.
   Scoped to themed pages via data-page on <body>.

   Midnight Press — All-Pro only (tier3)  · Premium black-and-gold
   Broadsheet    — Veteran+ (tier2, tier3) · Classic print editorial
   ============================================================ */


/* ────────────────────────────────────────────────────────────────
   MIDNIGHT PRESS
   The after-hours edition. Premium, exclusive, unmistakable.
   ──────────────────────────────────────────────────────────────── */

/* ── Global — black replaces navy ── */
body[data-theme="midnight-press"] {
    --ink: #0a0a0a;
    --ink-soft: #111111;
    --ink-card: #161616;
    --ink-line: #2a2a2a;
    --ink-line-soft: #1e1e1e;
    --chapbar-bg: rgb(10,10,10);
    --chapbar-border: #2a2a2a;
    --chapbar-line: #2a2a2a;
    --nav-drop-bg: rgb(10,10,10);
    --nav-drop-border: #2a2a2a;
    --nav-drop-sub-bg: rgba(0,0,0,.45);
}

/* Subtle dark linen texture */
body[data-theme="midnight-press"]::before {
    content: '';
    position: fixed; inset: 0; z-index: -1; pointer-events: none;
    background-image: url("data:image/svg+xml,%3Csvg width='4' height='4' xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='1' height='1' fill='%23ffffff' fill-opacity='.012'/%3E%3C/svg%3E");
    background-repeat: repeat;
}

/* Vignette — dark edges that focus the eye inward */
body[data-theme="midnight-press"]::after {
    content: '';
    position: fixed; inset: 0; z-index: -1; pointer-events: none;
    background: radial-gradient(ellipse at center, transparent 50%, rgba(0,0,0,.4) 100%);
}

body[data-theme="midnight-press"] .nav {
    background: rgba(10,10,10,.97);
    border-bottom-color: #2a2a2a;
    position: relative; z-index: 10;
}
/* Gold accent line under nav */
body[data-theme="midnight-press"] .nav::after {
    content: '';
    position: absolute; bottom: -1px; left: 0; right: 0; height: 1px;
    background: linear-gradient(90deg, transparent 5%, rgba(232,200,137,.4) 35%, rgba(232,200,137,.4) 65%, transparent 95%);
    pointer-events: none;
}

body[data-theme="midnight-press"] .site-glow {
    background-image:
        radial-gradient(circle at 15% 20%, rgba(232,200,137,.06) 0%, transparent 45%),
        radial-gradient(circle at 85% 80%, rgba(232,200,137,.04) 0%, transparent 50%);
}

/* ── Hero — gold shimmer on title ── */
body[data-theme="midnight-press"] .hero-title em {
    background: linear-gradient(135deg, #e8c889 0%, #f4d9a4 25%, #d4a84a 50%, #f4d9a4 75%, #e8c889 100%);
    background-size: 200% 100%;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    animation: mp-shimmer 6s ease-in-out infinite;
}
@keyframes mp-shimmer {
    0%, 100% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
}

/* ── Cards — frosted glass ── */
body[data-theme="midnight-press"] .card {
    background: rgba(255,255,255,.03);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid rgba(232,200,137,.12);
    position: relative;
    overflow: hidden;
}
body[data-theme="midnight-press"] .card::before {
    background: linear-gradient(180deg, rgba(232,200,137,.5), rgba(232,200,137,.15));
    width: 2px;
}
body[data-theme="midnight-press"] .card:hover {
    border-color: rgba(232,200,137,.35);
    box-shadow:
        0 20px 50px rgba(0,0,0,.6),
        0 0 30px rgba(232,200,137,.05),
        inset 0 1px 0 rgba(232,200,137,.08);
}
/* Animated gold border glow on hover */
body[data-theme="midnight-press"] .card::after {
    content: '';
    position: absolute; inset: -1px; border-radius: inherit;
    background: conic-gradient(from 0deg, transparent, rgba(232,200,137,.3), transparent, rgba(232,200,137,.2), transparent);
    opacity: 0;
    transition: opacity .4s;
    z-index: -1;
    animation: mp-border-rotate 4s linear infinite;
}
body[data-theme="midnight-press"] .card:hover::after { opacity: 1; }
@keyframes mp-border-rotate {
    to { transform: rotate(360deg); }
}

/* ── Section dividers — gold rule with diamond center ── */
body[data-theme="midnight-press"] .section-header {
    border-bottom: none;
    position: relative;
    padding-bottom: 1.2rem;
}
body[data-theme="midnight-press"] .section-header::after {
    content: '◇';
    display: block;
    position: absolute; bottom: 0; left: 50%; transform: translateX(-50%);
    font-size: .6rem; color: rgba(232,200,137,.5);
    background: var(--ink, #0a0a0a);
    padding: 0 .8rem;
    letter-spacing: .3em;
}
body[data-theme="midnight-press"] .section-header::before {
    content: '';
    position: absolute; bottom: .25rem; left: 10%; right: 10%;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(232,200,137,.3), transparent);
}

body[data-theme="midnight-press"] .section-num { color: var(--gold); }

/* ── Stat bars — gold pipe accent ── */
body[data-theme="midnight-press"] .stat {
    border-color: rgba(232,200,137,.1);
    background: rgba(255,255,255,.02);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}
body[data-theme="midnight-press"] .stat::before {
    background: linear-gradient(180deg, var(--gold), rgba(232,200,137,.3));
}

/* ── Ticket-stub manager cards ── */
body[data-theme="midnight-press"] .ts-wrap {
    border-color: rgba(232,200,137,.1);
    background: rgba(255,255,255,.02);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}
body[data-theme="midnight-press"] .ts-wrap:hover {
    border-color: rgba(232,200,137,.3);
    box-shadow: 0 12px 40px rgba(0,0,0,.6), 0 0 20px rgba(232,200,137,.04);
}

/* ── Season entries — featured gets gold foil stamp ── */
body[data-theme="midnight-press"] .season-entry { border-bottom-color: #1e1e1e; }
body[data-theme="midnight-press"] .season-entry:hover { background: rgba(232,200,137,.03); }
body[data-theme="midnight-press"] .season-entry.featured {
    background: linear-gradient(135deg, rgba(232,200,137,.04) 0%, transparent 100%);
    border-bottom-color: rgba(232,200,137,.1);
}
body[data-theme="midnight-press"] .season-entry.featured::before {
    background: linear-gradient(180deg, var(--gold), rgba(232,200,137,.3));
    width: 2px;
}
body[data-theme="midnight-press"] .season-badge-champ {
    background: linear-gradient(135deg, #d4a84a, #e8c889, #d4a84a);
    color: #0a0a0a;
    font-weight: 900;
    text-shadow: 0 1px 0 rgba(255,255,255,.2);
}

/* ── Sort bars ── */
body[data-theme="midnight-press"] .sort-bar { border-color: #2a2a2a; }
body[data-theme="midnight-press"] .sort-option.active {
    border-color: rgba(232,200,137,.3);
    background: rgba(232,200,137,.06);
}

/* Footer */
body[data-theme="midnight-press"] .site-footer { border-top-color: #2a2a2a; }
body[data-theme="midnight-press"] .divider-dotted { border-top-color: #2a2a2a; }

/* DNA CTA */
body[data-theme="midnight-press"] .page-dna-cta {
    border-color: rgba(232,200,137,.15);
    background: rgba(232,200,137,.03);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}
body[data-theme="midnight-press"] .page-dna-cta:hover {
    border-color: rgba(232,200,137,.35);
}

/* ── "ALL-PRO EDITION" watermark ── */
body[data-theme="midnight-press"] .site-glow::after {
    content: 'ALL-PRO EDITION';
    position: fixed;
    top: 50%; left: 50%;
    transform: translate(-50%, -50%) rotate(-30deg);
    font-family: var(--serif, Georgia, serif);
    font-size: clamp(4rem, 12vw, 10rem);
    font-weight: 700;
    letter-spacing: .15em;
    text-transform: uppercase;
    color: rgba(232,200,137,.018);
    white-space: nowrap;
    pointer-events: none;
    z-index: 0;
}

/* ── Mobile chrome — black + gold line ── */
body[data-theme="midnight-press"] .m-appbar {
    background: rgb(10,10,10);
    border-bottom-color: #2a2a2a;
    position: relative;
}
body[data-theme="midnight-press"] .m-appbar::after {
    content: '';
    position: absolute; bottom: -1px; left: 0; right: 0; height: 1px;
    background: linear-gradient(90deg, transparent 5%, rgba(232,200,137,.35) 35%, rgba(232,200,137,.35) 65%, transparent 95%);
    pointer-events: none;
}
body[data-theme="midnight-press"] .m-tabbar {
    background: rgb(10,10,10);
    border-top-color: #2a2a2a;
}
body[data-theme="midnight-press"] .m-sheet {
    background: #141414;
    border-color: #2a2a2a;
}
body[data-theme="midnight-press"] .m-sheet-divider { background: #2a2a2a; }
body[data-theme="midnight-press"] .m-sheet-row { border-bottom-color: #1e1e1e; }


/* ── MP: Standings — black table with gold header ── */
body[data-theme="midnight-press"][data-page="standings"] {
    background: #0a0a0a;
    color: #f4ebd8;
    --gold-deep: var(--gold);
}
body[data-theme="midnight-press"][data-page="standings"] .site-glow {
    display: block;
    background-image:
        radial-gradient(circle at 15% 20%, rgba(232,200,137,.05) 0%, transparent 45%),
        radial-gradient(circle at 85% 80%, rgba(232,200,137,.03) 0%, transparent 50%);
}
body[data-theme="midnight-press"][data-page="standings"] .site-grain { display: block; }
body[data-theme="midnight-press"][data-page="standings"] .page-kicker { color: var(--gold); }
body[data-theme="midnight-press"][data-page="standings"] .page-title { color: #f4ebd8; }
body[data-theme="midnight-press"][data-page="standings"] .page-title em { color: var(--gold); }
body[data-theme="midnight-press"][data-page="standings"] .page-sub { color: #c9c0ad; }

body[data-theme="midnight-press"][data-page="standings"] .sort-bar { border-color: #2a2a2a; }
body[data-theme="midnight-press"][data-page="standings"] .sort-bar-label { color: #8a7a60; }
body[data-theme="midnight-press"][data-page="standings"] .sort-option { color: #c9c0ad; }
body[data-theme="midnight-press"][data-page="standings"] .sort-option:hover { color: #f4ebd8; }
body[data-theme="midnight-press"][data-page="standings"] .sort-option.active {
    color: var(--gold); border-color: rgba(232,200,137,.3); background: rgba(232,200,137,.06);
}

body[data-theme="midnight-press"][data-page="standings"] .standings-wrap {
    background: #141414;
    border: 1px solid rgba(232,200,137,.12);
    overflow: hidden;
}
body[data-theme="midnight-press"][data-page="standings"] table.standings thead {
    background: linear-gradient(180deg, rgba(232,200,137,.12), rgba(232,200,137,.04));
    border-bottom: 2px solid rgba(232,200,137,.3);
}
body[data-theme="midnight-press"][data-page="standings"] table.standings th { color: #c9c0ad; }
body[data-theme="midnight-press"][data-page="standings"] table.standings th:hover { color: #f4ebd8; }
body[data-theme="midnight-press"][data-page="standings"] table.standings th.active-sort { color: var(--gold); }
body[data-theme="midnight-press"][data-page="standings"] table.standings thead tr.col-groups th {
    color: #8a7a60; border-bottom-color: rgba(232,200,137,.15);
}
body[data-theme="midnight-press"][data-page="standings"] table.standings thead tr.col-groups th.group-reg { color: var(--gold); }
body[data-theme="midnight-press"][data-page="standings"] table.standings thead tr.col-groups th.group-po { color: #c96a4e; }
body[data-theme="midnight-press"][data-page="standings"] table.standings thead tr.col-groups th.group-all { color: #6b8aa8; }
body[data-theme="midnight-press"][data-page="standings"] table.standings td { color: #c9c0ad; border-top-color: #1e1e1e; }
body[data-theme="midnight-press"][data-page="standings"] table.standings td.rank { color: var(--gold); }
body[data-theme="midnight-press"][data-page="standings"] table.standings td.name-cell a { color: #f4ebd8; }
body[data-theme="midnight-press"][data-page="standings"] table.standings td.name-cell a:hover { color: var(--gold); }
body[data-theme="midnight-press"][data-page="standings"] table.standings td.team-cell { color: #8a7a60; }
body[data-theme="midnight-press"][data-page="standings"] table.standings td.reg-record { color: var(--gold); border-left-color: rgba(232,200,137,.1); }
body[data-theme="midnight-press"][data-page="standings"] table.standings td.po-record { color: #c96a4e; }
body[data-theme="midnight-press"][data-page="standings"] table.standings td.all-record { color: #6b8aa8; border-right-color: rgba(232,200,137,.1); }
body[data-theme="midnight-press"][data-page="standings"] table.standings th.reg-record { border-left-color: rgba(232,200,137,.1); }
body[data-theme="midnight-press"][data-page="standings"] table.standings th.all-record { border-right-color: rgba(232,200,137,.1); }
body[data-theme="midnight-press"][data-page="standings"] table.standings td.winpct-cell { color: #f4ebd8; }
body[data-theme="midnight-press"][data-page="standings"] table.standings tbody tr:hover { background: rgba(232,200,137,.03); }
body[data-theme="midnight-press"][data-page="standings"] table.standings tbody tr.champ-row {
    background: rgba(232,200,137,.05);
}
body[data-theme="midnight-press"][data-page="standings"] table.standings tbody tr.former-row td.name-cell a { color: #c9c0ad; }
body[data-theme="midnight-press"][data-page="standings"] .divider-row td { background: #111; border-top-color: #2a2a2a; color: #8a7a60; }
body[data-theme="midnight-press"][data-page="standings"] .league-totals {
    background: #141414; border-color: rgba(232,200,137,.12);
}
body[data-theme="midnight-press"][data-page="standings"] .total-item { border-right-color: #2a2a2a; }
body[data-theme="midnight-press"][data-page="standings"] .total-label { color: #8a7a60; }
body[data-theme="midnight-press"][data-page="standings"] .total-value { color: var(--gold); }
body[data-theme="midnight-press"][data-page="standings"] .legend-strip { border-top-color: #2a2a2a; background: #111; }
body[data-theme="midnight-press"][data-page="standings"] .legend-item { color: #8a7a60; }
body[data-theme="midnight-press"][data-page="standings"] .chip-badge {
    color: var(--gold); background: rgba(232,200,137,.08); border-color: rgba(232,200,137,.25);
}
body[data-theme="midnight-press"][data-page="standings"] .chip-count-zero { color: #8a7a60; }
body[data-theme="midnight-press"][data-page="standings"] .loading-state { color: #8a7a60; }
body[data-theme="midnight-press"][data-page="standings"] .m-appbar { background: rgb(10,10,10); border-bottom-color: #2a2a2a; }


/* ── MP: Draft — inverts to cream, nav stays black ── */
body[data-theme="midnight-press"][data-page="draft"] {
    --dg-bg: #f4ebd8; --dg-soft: #ede4cf; --dg-card: #faf4e6;
    --dg-card-hover: #f0e8d2; --dg-line: rgba(44,36,24,.18);
    --dg-line-soft: rgba(44,36,24,.10); --dg-accent: #6b4c1a;
    --dg-bright: #5a3e12; --dg-mute: #7a6e58;
    --cream: #2c2418; --cream-soft: #4a3c28; --cream-mute: #7a6e58;
    --gold: #6b4c1a; --gold-bright: #5a3e12; --gold-deep: #4e3510;
    background: var(--dg-bg); color: #2c2418;
}
body[data-theme="midnight-press"][data-page="draft"]::before,
body[data-theme="midnight-press"][data-page="draft"]::after { display: none; }
body[data-theme="midnight-press"][data-page="draft"] .site-glow,
body[data-theme="midnight-press"][data-page="draft"] .site-grain { display: none; }
body[data-theme="midnight-press"][data-page="draft"] .nav {
    background: rgba(10,10,10,.97); border-bottom-color: #2a2a2a;
}
body[data-theme="midnight-press"][data-page="draft"] .nav .nav-title { color: #f4ebd8; }
body[data-theme="midnight-press"][data-page="draft"] .nav .nav-title em { color: #e8c889; }
body[data-theme="midnight-press"][data-page="draft"] .nav .nav-back { color: #e8c889; }
body[data-theme="midnight-press"][data-page="draft"] .nav .nav-kicker { color: #837b6a; }
body[data-theme="midnight-press"][data-page="draft"] .nav .nav-drop-btn { color: #e8c889; }
body[data-theme="midnight-press"][data-page="draft"] .hero-title { color: #2c2418; }
body[data-theme="midnight-press"][data-page="draft"] .hero-title em {
    background: none; -webkit-text-fill-color: unset; color: #6b4c1a;
}
body[data-theme="midnight-press"][data-page="draft"] .hero-sub { color: #4a3c28; }
body[data-theme="midnight-press"][data-page="draft"] .hero-sup { color: #6b4c1a; }
body[data-theme="midnight-press"][data-page="draft"] .section-title { color: #2c2418; }
body[data-theme="midnight-press"][data-page="draft"] .section-num { color: #6b4c1a; }
body[data-theme="midnight-press"][data-page="draft"] .section-header { border-bottom-color: rgba(44,36,24,.2); }
body[data-theme="midnight-press"][data-page="draft"] .section-header::after,
body[data-theme="midnight-press"][data-page="draft"] .section-header::before { display: none; }
body[data-theme="midnight-press"][data-page="draft"] .year-tab {
    border-color: rgba(44,36,24,.18); background: #faf4e6; color: #4a3c28;
}
body[data-theme="midnight-press"][data-page="draft"] .year-tab:hover { background: #f0e8d2; color: #2c2418; }
body[data-theme="midnight-press"][data-page="draft"] .year-tab.active { background: #0a0a0a; border-color: #0a0a0a; color: #e8c889; }
body[data-theme="midnight-press"][data-page="draft"] .board-table thead th { background: #ede4cf; color: #7a6e58; border-color: rgba(44,36,24,.12); }
body[data-theme="midnight-press"][data-page="draft"] .board-table td { color: #2c2418; border-color: rgba(44,36,24,.10); }
body[data-theme="midnight-press"][data-page="draft"] .board-table tbody tr:nth-child(odd) .board-mgr-td { background: #faf4e6; }
body[data-theme="midnight-press"][data-page="draft"] .board-table tbody tr:nth-child(even) .board-mgr-td { background: #ede4cf; }
body[data-theme="midnight-press"][data-page="draft"] .board-table tbody tr:hover .board-mgr-td { background: #f0e8d2; }
body[data-theme="midnight-press"][data-page="draft"] .draft-tab { color: #7a6e58; }
body[data-theme="midnight-press"][data-page="draft"] .draft-tab:hover { color: #2c2418; }
body[data-theme="midnight-press"][data-page="draft"] .draft-tab.active { color: #6b4c1a; }
body[data-theme="midnight-press"][data-page="draft"] .do-mgr { color: #2c2418; }
body[data-theme="midnight-press"][data-page="draft"] .do-finish-rank { color: #4a3c28; }
body[data-theme="midnight-press"][data-page="draft"] .do-finish-champ .do-finish-rank { color: #6b4c1a; }
body[data-theme="midnight-press"][data-page="draft"] .do-finish-podium .do-finish-rank { color: #5a3e12; }
body[data-theme="midnight-press"][data-page="draft"] .site-footer { color: #7a6e58; border-top-color: rgba(44,36,24,.15); }
body[data-theme="midnight-press"][data-page="draft"] .site-footer em { color: #6b4c1a; }
body[data-theme="midnight-press"][data-page="draft"] .m-appbar { background: rgb(10,10,10); border-bottom-color: #2a2a2a; }
body[data-theme="midnight-press"][data-page="draft"] .m-appbar { color: #f4ebd8; }
body[data-theme="midnight-press"][data-page="draft"] .m-appbar-title em { color: #e8c889; }
body[data-theme="midnight-press"][data-page="draft"] .m-appbar-kicker { color: #837b6a; }
body[data-theme="midnight-press"][data-page="draft"] .m-appbar-back { color: #e8c889; }


/* ── MP: Records — black/gold, same as global MP ── */
body[data-theme="midnight-press"][data-page="records"] {
    --rb-bg: #0a0a0a; --rb-soft: #111111; --rb-card: #161616;
    --rb-card-hover: #1c1c1c; --rb-line: #2a2a2a;
    --rb-line-soft: #1e1e1e; --rb-mute: #8a7a60;
    background: var(--rb-bg);
    --chapbar-bg: rgb(10,10,10); --chapbar-border: #2a2a2a;
    --chapbar-text: #c9c0ad; --chapbar-line: #2a2a2a;
    --nav-drop-bg: rgb(10,10,10); --nav-drop-border: #2a2a2a;
    --nav-drop-text: #c9c0ad; --nav-drop-text-mute: #8a7a60;
    --nav-drop-hover-bg: rgba(232,200,137,.07);
}
body[data-theme="midnight-press"][data-page="records"] .nav { background: rgb(10,10,10); border-bottom-color: #2a2a2a; }
body[data-theme="midnight-press"][data-page="records"] .site-glow {
    background-image:
        radial-gradient(circle at 25% 30%, rgba(232,200,137,.06) 0%, transparent 50%),
        radial-gradient(circle at 75% 70%, rgba(232,200,137,.03) 0%, transparent 50%);
}
body[data-theme="midnight-press"][data-page="records"] .streak-row:hover { background: rgba(232,200,137,.04); }
body[data-theme="midnight-press"][data-page="records"] .milestone-row:hover { background: rgba(232,200,137,.04); }
body[data-theme="midnight-press"][data-page="records"] .m-appbar { background: rgb(10,10,10); border-bottom-color: #2a2a2a; }
body[data-theme="midnight-press"][data-page="records"] .m-tabbar { background: rgb(10,10,10); border-top-color: #2a2a2a; }


/* ────────────────────────────────────────────────────────────────
   BROADSHEET
   The morning edition. Warm, refined, deliberately typeset.
   Same dark canvas — different editorial treatment.
   ──────────────────────────────────────────────────────────────── */

/* ── Global — keep dark base, change the texture and accents ── */
body[data-theme="broadsheet"] {
    --ink: #10161e;
    --ink-soft: #151d28;
    --ink-card: #1c2632;
    --ink-line: #2e3a48;
    --ink-line-soft: #232e3a;
    --gold: #e8c889;
    --gold-bright: #f4d9a4;
    --gold-deep: #e8c889;
    --cream-soft: #c0b8a6;
}

/* Subtle paper grain texture */
body[data-theme="broadsheet"]::before {
    content: '';
    position: fixed; inset: 0; z-index: -1; pointer-events: none;
    background-image: url("data:image/svg+xml,%3Csvg width='6' height='6' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='2' y='2' width='1' height='1' fill='%23ffffff' fill-opacity='.008'/%3E%3Crect x='5' y='0' width='1' height='1' fill='%23ffffff' fill-opacity='.006'/%3E%3C/svg%3E");
    background-repeat: repeat;
}

body[data-theme="broadsheet"] .nav {
    background: rgba(16,22,30,.97);
    border-bottom-color: #2e3a48;
}

body[data-theme="broadsheet"] .site-glow {
    background-image:
        radial-gradient(circle at 20% 25%, rgba(232,200,137,.05) 0%, transparent 50%),
        radial-gradient(circle at 80% 75%, rgba(232,200,137,.03) 0%, transparent 50%);
}

body[data-theme="broadsheet"] {
    --chapbar-bg: rgb(16,22,30);
    --chapbar-border: #2e3a48;
    --chapbar-text: #c0b8a6;
    --chapbar-active: #e8c889;
    --chapbar-line: #2e3a48;
}

/* ── Hero — double-rule framing ── */
body[data-theme="broadsheet"] .hero-title em {
    color: #e8c889;
    font-style: italic;
}
/* Decorative rules above and below the hero section */
body[data-theme="broadsheet"] .page-header {
    position: relative;
}
body[data-theme="broadsheet"] .page-header::before {
    content: '';
    position: absolute; top: 0; left: 15%; right: 15%;
    border-top: 2px double rgba(232,200,137,.25);
}
body[data-theme="broadsheet"] .page-header::after {
    content: '';
    position: absolute; bottom: 0; left: 10%; right: 10%;
    border-bottom: 1px solid rgba(232,200,137,.15);
}

/* ── Cards — newspaper clipping style: sharp corners, thin borders, no gradient ── */
body[data-theme="broadsheet"] .card {
    background: #1c2632;
    border: 1px solid #2e3a48;
    border-radius: 0;
    position: relative;
}
body[data-theme="broadsheet"] .card::before {
    background: #e8c889;
    border-radius: 0;
    width: 3px;
}
body[data-theme="broadsheet"] .card:hover {
    border-color: rgba(232,200,137,.35);
    box-shadow: 0 8px 25px rgba(0,0,0,.3);
    transform: none;
}
body[data-theme="broadsheet"] .card-title em { color: #e8c889; }
body[data-theme="broadsheet"] .card-roman { color: #e8c889; }
body[data-theme="broadsheet"] .card-cta {
    color: #e8c889;
    border-top: 1px solid #2e3a48;
    font-style: italic;
}
body[data-theme="broadsheet"] .card-corner { color: #e8c889; }

/* ── Section headers — ornamental divider with typographic glyph ── */
body[data-theme="broadsheet"] .section-header {
    border-bottom: none;
    position: relative;
    padding-bottom: 1.4rem;
    text-align: center;
}
body[data-theme="broadsheet"] .section-header::after {
    content: '\2766';
    display: block;
    position: absolute; bottom: 0; left: 50%; transform: translateX(-50%);
    font-size: .75rem;
    color: rgba(232,200,137,.4);
    background: var(--ink, #10161e);
    padding: 0 1rem;
}
body[data-theme="broadsheet"] .section-header::before {
    content: '';
    position: absolute; bottom: .3rem; left: 8%; right: 8%;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(232,200,137,.2), transparent);
}
body[data-theme="broadsheet"] .section-num {
    color: #e8c889;
    font-style: italic;
}
body[data-theme="broadsheet"] .section-title { color: var(--cream, #f4ebd8); }

/* ── Stat bars — editorial callout style ── */
body[data-theme="broadsheet"] .stat {
    background: #1c2632;
    border: 1px solid #2e3a48;
    border-radius: 0;
    border-left: 3px solid #e8c889;
}
body[data-theme="broadsheet"] .stat::before { display: none; }
body[data-theme="broadsheet"] .stat-value { color: #e8c889; }
body[data-theme="broadsheet"] .stat-label { color: #9a9080; }

/* Hub stat rows */
body[data-theme="broadsheet"] .stat-row-num { color: #e8c889; }
body[data-theme="broadsheet"] .stat-row-name em { color: #e8c889; }
body[data-theme="broadsheet"] .italic-gold { color: #e8c889; }
body[data-theme="broadsheet"] .text-gold { color: #e8c889; }
body[data-theme="broadsheet"] .hero-stat-value { color: #e8c889; }
body[data-theme="broadsheet"] .hero-stat-detail strong { color: #e8c889; }

/* Editor's note */
body[data-theme="broadsheet"] .editor-note-body strong { color: #e8c889; }

/* ── Ticket-stub manager cards — editorial treatment ── */
body[data-theme="broadsheet"] .ts-wrap {
    background: #1c2632;
    border: 1px solid #2e3a48;
    border-radius: 0;
}
body[data-theme="broadsheet"] .ts-wrap:hover {
    border-color: rgba(232,200,137,.35);
    box-shadow: 0 8px 25px rgba(0,0,0,.3);
}
body[data-theme="broadsheet"] .ts-perf { background: #151d28; border-radius: 0; }
body[data-theme="broadsheet"] .ts-mgr { color: #e8c889; }
body[data-theme="broadsheet"] .ts-stub-lbl { color: #e8c889; }
body[data-theme="broadsheet"] .ts-stub-num { color: #e8c889; }
body[data-theme="broadsheet"] .ts-chip-star { color: #e8c889; }
body[data-theme="broadsheet"] .ts-stat-val.gold { color: #e8c889; }

/* ── Season entries ── */
body[data-theme="broadsheet"] .season-entry { border-bottom-color: #232e3a; }
body[data-theme="broadsheet"] .season-entry:hover { background: rgba(232,200,137,.03); }
body[data-theme="broadsheet"] .season-entry.featured {
    background: linear-gradient(135deg, rgba(232,200,137,.04) 0%, transparent 100%);
    border-bottom-color: #2e3a48;
}
body[data-theme="broadsheet"] .season-entry.featured::before { background: #e8c889; }
body[data-theme="broadsheet"] .season-badge-champ { background: #e8c889; color: #10161e; }

/* ── Sort bars ── */
body[data-theme="broadsheet"] .sort-bar { border-color: #2e3a48; }
body[data-theme="broadsheet"] .sort-option.active {
    color: #e8c889; border-color: rgba(232,200,137,.35); background: rgba(232,200,137,.06);
}

/* Footer */
body[data-theme="broadsheet"] .site-footer {
    border-top-color: #2e3a48; color: #9a9080;
}
body[data-theme="broadsheet"] .site-footer em { color: #e8c889; }
body[data-theme="broadsheet"] .site-footer a { color: #e8c889; }
body[data-theme="broadsheet"] .divider-dotted { border-top-color: #2e3a48; }

/* DNA CTA */
body[data-theme="broadsheet"] .page-dna-cta {
    border-color: rgba(232,200,137,.18);
    background: rgba(232,200,137,.03);
    border-radius: 0;
}
body[data-theme="broadsheet"] .page-dna-cta:hover {
    border-color: rgba(232,200,137,.4);
}

/* Ticker */
body[data-theme="broadsheet"] .ticker { background: #e8c889; color: #10161e; }

/* Page headers */
body[data-theme="broadsheet"] .page-kicker { color: #e8c889; font-style: italic; }
body[data-theme="broadsheet"] .page-title em { color: #e8c889; }

/* Mobile chrome */
body[data-theme="broadsheet"] .m-appbar {
    background: rgb(16,22,30); border-bottom-color: #2e3a48; color: #f4ebd8;
}
body[data-theme="broadsheet"] .m-appbar-back { color: #e8c889; }
body[data-theme="broadsheet"] .m-appbar-title { color: #f4ebd8; }
body[data-theme="broadsheet"] .m-appbar-title em { color: #e8c889; }
body[data-theme="broadsheet"] .m-appbar-kicker { color: #9a9080; }
body[data-theme="broadsheet"] .m-tabbar { background: rgb(16,22,30); border-top-color: #2e3a48; }
body[data-theme="broadsheet"] .m-tab { color: #9a9080; }
body[data-theme="broadsheet"] .m-tab.is-active { color: #e8c889; }
body[data-theme="broadsheet"] .m-sheet {
    background: #10161e; border-color: #2e3a48; color: #f4ebd8;
}


/* ── BS: Standings — editorial treatment on the existing cream page ── */
body[data-theme="broadsheet"][data-page="standings"] {
    --gold-deep: #e8c889;
}
body[data-theme="broadsheet"][data-page="standings"]::before { display: none; }
body[data-theme="broadsheet"][data-page="standings"] .standings-wrap {
    border-radius: 0;
}
body[data-theme="broadsheet"][data-page="standings"] .league-totals {
    border-radius: 0;
}

/* ── BS: Draft — warm parchment inversion ── */
body[data-theme="broadsheet"][data-page="draft"] {
    --dg-bg: #f4ebd8; --dg-soft: #ede4cf; --dg-card: #faf4e6;
    --dg-card-hover: #f0e8d2; --dg-line: rgba(44,36,24,.18);
    --dg-line-soft: rgba(44,36,24,.10); --dg-accent: #6b4c1a;
    --dg-bright: #5a3e12; --dg-mute: #7a6e58;
    --cream: #2c2418; --cream-soft: #4a3c28; --cream-mute: #7a6e58;
    --gold: #6b4c1a; --gold-bright: #5a3e12; --gold-deep: #4e3510;
    background: var(--dg-bg); color: #2c2418;
}
body[data-theme="broadsheet"][data-page="draft"]::before { display: none; }
body[data-theme="broadsheet"][data-page="draft"] .site-glow,
body[data-theme="broadsheet"][data-page="draft"] .site-grain { display: none; }
body[data-theme="broadsheet"][data-page="draft"] .nav {
    background: rgba(16,22,30,.97); border-bottom-color: #2e3a48;
}
body[data-theme="broadsheet"][data-page="draft"] .nav .nav-title { color: #f4ebd8; }
body[data-theme="broadsheet"][data-page="draft"] .nav .nav-title em { color: #e8c889; }
body[data-theme="broadsheet"][data-page="draft"] .nav .nav-back { color: #e8c889; }
body[data-theme="broadsheet"][data-page="draft"] .nav .nav-kicker { color: #9a9080; }
body[data-theme="broadsheet"][data-page="draft"] .nav .nav-drop-btn { color: #e8c889; }
body[data-theme="broadsheet"][data-page="draft"] .hero-title { color: #2c2418; }
body[data-theme="broadsheet"][data-page="draft"] .hero-title em { color: #6b4c1a; font-style: italic; }
body[data-theme="broadsheet"][data-page="draft"] .hero-sub { color: #4a3c28; }
body[data-theme="broadsheet"][data-page="draft"] .hero-sup { color: #6b4c1a; }
body[data-theme="broadsheet"][data-page="draft"] .section-title { color: #2c2418; }
body[data-theme="broadsheet"][data-page="draft"] .section-num { color: #6b4c1a; }
body[data-theme="broadsheet"][data-page="draft"] .section-header {
    border-bottom-color: rgba(44,36,24,.2);
    padding-bottom: 0;
}
body[data-theme="broadsheet"][data-page="draft"] .section-header::after,
body[data-theme="broadsheet"][data-page="draft"] .section-header::before { display: none; }
body[data-theme="broadsheet"][data-page="draft"] .year-tab {
    border-color: rgba(44,36,24,.18); background: #faf4e6; color: #4a3c28; border-radius: 0;
}
body[data-theme="broadsheet"][data-page="draft"] .year-tab:hover { background: #f0e8d2; color: #2c2418; }
body[data-theme="broadsheet"][data-page="draft"] .year-tab.active { background: #10161e; border-color: #10161e; color: #e8c889; }
body[data-theme="broadsheet"][data-page="draft"] .board-table thead th { background: #ede4cf; color: #7a6e58; border-color: rgba(44,36,24,.12); }
body[data-theme="broadsheet"][data-page="draft"] .board-table td { color: #2c2418; border-color: rgba(44,36,24,.10); }
body[data-theme="broadsheet"][data-page="draft"] .board-table tbody tr:nth-child(odd) .board-mgr-td { background: #faf4e6; }
body[data-theme="broadsheet"][data-page="draft"] .board-table tbody tr:nth-child(even) .board-mgr-td { background: #ede4cf; }
body[data-theme="broadsheet"][data-page="draft"] .board-table tbody tr:hover .board-mgr-td { background: #f0e8d2; }
body[data-theme="broadsheet"][data-page="draft"] .draft-tab { color: #7a6e58; }
body[data-theme="broadsheet"][data-page="draft"] .draft-tab:hover { color: #2c2418; }
body[data-theme="broadsheet"][data-page="draft"] .draft-tab.active { color: #6b4c1a; }
body[data-theme="broadsheet"][data-page="draft"] .do-mgr { color: #2c2418; }
body[data-theme="broadsheet"][data-page="draft"] .site-footer { color: #7a6e58; border-top-color: rgba(44,36,24,.15); }
body[data-theme="broadsheet"][data-page="draft"] .site-footer em { color: #6b4c1a; }

/* ── BS: Records — keep green but with the editorial treatment ── */
body[data-theme="broadsheet"][data-page="records"] {
    --chapbar-text: #c0b8a6;
}
body[data-theme="broadsheet"][data-page="records"]::before { display: none; }
body[data-theme="broadsheet"][data-page="records"] .section-header::after,
body[data-theme="broadsheet"][data-page="records"] .section-header::before {
    /* Keep the ornamental divider but with green-tinted glyph */
}
body[data-theme="broadsheet"][data-page="records"] .section-header::after {
    color: rgba(120,160,100,.4);
    background: var(--rb-bg, #0b1a0f);
}
body[data-theme="broadsheet"][data-page="records"] .section-header::before {
    background: linear-gradient(90deg, transparent, rgba(120,160,100,.2), transparent);
}


/* ────────────────────────────────────────────────────────────────
   THEME PICKER — rendered by nav.js / mobile-app.js
   ──────────────────────────────────────────────────────────────── */

.theme-picker {
    padding: .4rem .9rem .7rem;
}
.theme-picker-options {
    display: flex; flex-direction: column; gap: .15rem;
}
.theme-option {
    display: flex; align-items: center; gap: .6rem;
    padding: .5rem .35rem;
    background: none; border: none; border-radius: 2px;
    cursor: pointer;
    font-family: var(--mono, monospace);
    font-size: .7rem; letter-spacing: .14em; text-transform: uppercase;
    color: var(--nav-drop-text, #c9c0ad);
    transition: background .15s, color .15s;
    text-align: left; width: 100%;
}
.theme-option:hover {
    background: var(--nav-drop-hover-bg, rgba(232,200,137,.07));
    color: var(--nav-drop-accent, #e8c889);
}
.theme-option.is-active {
    color: var(--nav-drop-accent, #e8c889);
}
.theme-option-dot {
    width: 12px; height: 12px; border-radius: 50%;
    border: 2px solid var(--nav-drop-text, #c9c0ad);
    flex-shrink: 0; position: relative;
    transition: border-color .15s;
}
.theme-option.is-active .theme-option-dot {
    border-color: var(--nav-drop-accent, #e8c889);
}
.theme-option.is-active .theme-option-dot::after {
    content: '';
    position: absolute; top: 2px; left: 2px; right: 2px; bottom: 2px;
    border-radius: 50%;
    background: var(--nav-drop-accent, #e8c889);
}
.theme-option:hover .theme-option-dot {
    border-color: var(--nav-drop-accent, #e8c889);
}
.theme-option-name { flex: 1; }
.theme-option-tier {
    font-size: .55rem; letter-spacing: .18em;
    color: var(--nav-drop-text-mute, #837b6a);
    opacity: .7;
}
.theme-option.is-locked {
    opacity: .45; cursor: not-allowed;
}
.theme-option.is-locked:hover {
    background: none;
    color: var(--nav-drop-text, #c9c0ad);
}
.theme-option.is-locked:hover .theme-option-dot {
    border-color: var(--nav-drop-text, #c9c0ad);
}

/* Mobile theme picker (in More sheet) */
.m-theme-picker { padding: .3rem 0 .2rem; }
.m-theme-option {
    display: flex; align-items: center; gap: .7rem;
    padding: .65rem 1.1rem;
    background: none; border: none;
    border-bottom: 1px solid #1e2937;
    cursor: pointer;
    font-family: var(--mono, monospace);
    font-size: .72rem; letter-spacing: .14em; text-transform: uppercase;
    color: #c9c0ad;
    width: 100%; text-align: left;
    transition: color .15s;
}
.m-theme-option:last-child { border-bottom: none; }
.m-theme-option.is-active { color: #e8c889; }
.m-theme-option-dot {
    width: 14px; height: 14px; border-radius: 50%;
    border: 2px solid #c9c0ad;
    flex-shrink: 0; position: relative;
}
.m-theme-option.is-active .m-theme-option-dot {
    border-color: #e8c889;
}
.m-theme-option.is-active .m-theme-option-dot::after {
    content: '';
    position: absolute; top: 2px; left: 2px; right: 2px; bottom: 2px;
    border-radius: 50%;
    background: #e8c889;
}
.m-theme-option-name { flex: 1; }
.m-theme-option-tier {
    margin-left: auto;
    font-size: .55rem; letter-spacing: .18em;
    color: #837b6a;
}
.m-theme-option.is-locked { opacity: .4; cursor: not-allowed; }
