html, body { min-width: 0; }
button, input, textarea, select { min-height: 32px; }
small, .lbl, .mrz, .kicker, .tagline { font-size: max(14px, 1em); }
.production-links { display: flex; flex-wrap: wrap; gap: 8px 18px; margin: 18px 0; font-size: 14px; line-height: 1.6; }
.production-links a, .production-links button { color: var(--ink2, #4a5a61); text-underline-offset: 3px; }
.production-links button { border: 0; background: transparent; font: inherit; padding: 0; text-decoration: underline; cursor: pointer; }
.site-note { font-size: 14px; line-height: 1.6; color: var(--ink2, #4a5a61); }
.analytics-consent { position: fixed; z-index: 100000; left: 16px; bottom: 16px; width: min(440px, calc(100vw - 32px)); padding: 16px; border: 1px solid var(--rule, #c7d2ce); background: var(--card, #f7faf8); color: var(--ink, #13212a); box-shadow: 0 6px 28px #13212a22; font: 14px/1.5 system-ui, sans-serif; border-radius: 8px; }
.analytics-consent p { margin: 0 0 12px; font-size: 14px; }
.analytics-consent a { color: inherit; }
.analytics-consent-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.analytics-consent button { font: inherit; font-size: 14px; min-height: 36px; padding: 7px 12px; border: 1px solid var(--rule, #c7d2ce); color: var(--ink, #13212a); background: var(--paper, #ebf0ed); border-radius: 4px; cursor: pointer; }
.analytics-consent button[data-choice="accepted"] { background: var(--accent, #8c1d3c); color: var(--accent-ink, #fff); border-color: transparent; }
.editorial-page { --paper: #ebf0ed; --card: #f7faf8; --ink: #13212a; --ink2: #4a5a61; --rule: #c7d2ce; --accent: #8c1d3c; --accent-ink: #fff; background: var(--paper); color: var(--ink); font: 17px/1.75 system-ui, sans-serif; margin: 0; }
.editorial-page * { box-sizing: border-box; }
.editorial-header, .editorial-main, .editorial-footer { width: min(900px, calc(100% - 40px)); margin: 0 auto; }
.editorial-header { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 24px 0; border-bottom: 1px solid var(--rule); }
.editorial-brand { font-weight: 750; font-size: 20px; letter-spacing: -.04em; text-decoration: none; color: var(--ink); }
.editorial-header nav { display: flex; flex-wrap: wrap; gap: 12px 20px; font-size: 14px; }
.editorial-page a { color: var(--accent); text-underline-offset: 3px; }
.editorial-main { padding: 38px 0 48px; }
.editorial-main h1 { font: 600 clamp(32px, 6vw, 52px)/1.13 Georgia, serif; letter-spacing: -.035em; margin: 0 0 24px; }
.editorial-main h2 { font: 600 27px/1.25 Georgia, serif; margin: 38px 0 14px; }
.editorial-main h3 { font-size: 20px; margin-top: 28px; }
.editorial-main p { margin: 0 0 20px; }
.editorial-main li { margin: 8px 0; }
.editorial-main table { border-collapse: collapse; width: 100%; margin: 24px 0; font-size: 15px; }
.editorial-main th, .editorial-main td { padding: 12px 10px; border-bottom: 1px solid var(--rule); text-align: left; vertical-align: top; }
.editorial-main .lead { font-size: 20px; color: var(--ink2); }
.editorial-main .guide-callout { padding: 20px; border-left: 3px solid var(--accent); background: var(--card); margin: 24px 0; }
.editorial-footer { padding: 24px 0 32px; border-top: 1px solid var(--rule); font-size: 14px; }
.guide-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; margin: 24px 0; }
.guide-grid a { display: block; padding: 20px; border: 1px solid var(--rule); background: var(--card); text-decoration: none; }
.guide-grid strong { display: block; margin-bottom: 7px; font-size: 20px; }
.guide-grid span { display: block; font-size: 15px; color: var(--ink2); }
.home-explainer { max-width: 860px; margin: 32px auto 24px; padding: 22px 0; border-top: 1px solid var(--rule, #c7d2ce); text-align: left; }
.home-explainer h2 { margin: 0 0 14px; font-size: 24px; }
.home-explainer h3 { font-size: 18px; margin: 20px 0 8px; }
.home-explainer p, .home-explainer summary, .home-explainer details { font-size: 15px; line-height: 1.7; }
.home-explainer details { border-top: 1px solid var(--rule, #c7d2ce); padding: 12px 0; }
.home-explainer summary { font-weight: 600; cursor: pointer; }
.home-explainer details p { margin-bottom: 0; }
.odds-explainer { padding: 22px; border: 1px solid var(--rule, #c7d2ce); background: var(--card, #f7faf8); margin: 24px 0; }
.odds-explainer h2 { margin: 0 0 12px; font-size: 25px; }
.odds-explainer p { font-size: 15px; line-height: 1.7; }
.odds-controls { display: flex; flex-wrap: wrap; align-items: end; gap: 12px; margin: 20px 0 12px; }
.odds-controls label { flex: 1 1 220px; font-size: 14px; }
.odds-controls input, .odds-controls select { display: block; width: 100%; margin-top: 5px; padding: 9px 10px; border: 1px solid var(--rule, #c7d2ce); background: var(--card, #f7faf8); color: var(--ink, #13212a); font: 15px system-ui, sans-serif; border-radius: 3px; }
.odds-table { min-width: 800px; }
.odds-table td small { display: block; color: var(--ink2, #4a5a61); font-size: 14px; }
.odds-count { font-size: 14px; color: var(--ink2, #4a5a61); }
@media (max-width: 700px) {
  .langbar { flex-wrap: wrap; max-width: calc(100vw - 20px); }
  .tg-tab { table-layout: fixed; width: 100%; }
  .tg-tab th, .tg-tab td { white-space: normal; overflow-wrap: anywhere; }
  .editorial-header { align-items: flex-start; flex-direction: column; gap: 8px; }
  .guide-grid { grid-template-columns: 1fr; }
  .editorial-main { padding-top: 26px; }
}
