/* World Cup 2026 — shared theme (light + dark) */
:root {
    --green:#0a6e2c; --gold:#c9a227;
    --bg:#f4f4f0; --card:#ffffff; --text:#1c1c1c; --muted:#666;
    --line:#d8d8d8; --thbg:#f0f0ea; --rowline:#eeeeee;
    --headbar:#1c1c1c; --headbartext:#ffffff;
    --mine:#fdf4dd; --minetext:#7a5c00;
    --okbg:#eaf6ee; --warnbg:#fdf6e0;
    --navbg:#ffffff; --navtext:#0a6e2c;
    --input:#ffffff; --inputline:#bbbbbb;
}
html[data-theme="dark"] {
    --green:#16a04a; --gold:#e0b637;
    --bg:#14171b; --card:#1e242b; --text:#e8e8e3; --muted:#a0a8ae;
    --line:#333b44; --thbg:#272f38; --rowline:#2a323b;
    --headbar:#0d1013; --headbartext:#e8e8e3;
    --mine:#3a3115; --minetext:#e8c560;
    --okbg:#16301f; --warnbg:#33301a;
    --navbg:#262d35; --navtext:#7ad99e;
    --input:#14171b; --inputline:#4a545e;
}
* { box-sizing:border-box; }
body { font-family:'Segoe UI', Arial, sans-serif; margin:0; background:var(--bg); color:var(--text); }
header.site { background:var(--green); color:#fff; padding:13px 22px; display:flex; align-items:center; gap:14px; flex-wrap:wrap; }
html[data-theme="dark"] header.site { background:#0c3d1d; }
header.site h1 { font-size:20px; margin:0; }
header.site .sub { opacity:.85; font-size:13px; }
header.site nav { margin-left:auto; display:flex; gap:8px; flex-wrap:wrap; }
header.site nav a, header.site nav button { background:var(--navbg); color:var(--navtext); border:0; border-radius:6px; padding:8px 13px; font-weight:600; text-decoration:none; cursor:pointer; font-size:14px; }
header.site nav a.on { outline:2px solid var(--gold); }
main { max-width:1000px; margin:0 auto; padding:18px; }
.card { background:var(--card); border:1px solid var(--line); border-radius:8px; overflow:hidden; }
.card h2 { margin:0; padding:8px 12px; background:var(--headbar); color:var(--headbartext); font-size:15px; }
table { width:100%; border-collapse:collapse; font-size:14px; background:var(--card); }
td, th { padding:7px 10px; border-bottom:1px solid var(--rowline); }
th { background:var(--thbg); font-size:11px; text-transform:uppercase; letter-spacing:.5px; text-align:center; }
.bbc, .itv { display:inline-block; padding:2px 8px; border-radius:4px; font-size:12px; font-weight:700; color:#fff; }
.bbc { background:#b80000; } .itv { background:#1d3eb8; }
tr.mine { background:var(--mine); }
button.primary { background:var(--green); color:#fff; border:0; border-radius:6px; padding:9px 20px; font-weight:600; font-size:14px; cursor:pointer; }
input, select, textarea { background:var(--input); color:var(--text); border:1px solid var(--inputline); border-radius:5px; padding:6px; font-size:14px; font-family:inherit; }
a { color:var(--green); }
.saved { background:var(--okbg); border:1px solid var(--green); color:var(--text); padding:8px 12px; border-radius:6px; margin-bottom:12px; }
.hint, .note { font-size:12px; color:var(--muted); }
.chip { display:inline-block; padding:5px 11px; border-radius:14px; border:1px solid var(--line); background:var(--card); color:var(--text); text-decoration:none; font-size:13px; }
.chip.on { background:var(--green); color:#fff; border-color:var(--green); }
.chip.mine-chip.on { background:var(--gold); border-color:var(--gold); color:#1c1c1c; }
.livebadge { display:inline-block; background:#c8102e; color:#fff; font-size:11px; font-weight:800; padding:2px 7px; border-radius:4px; animation:pulse 1.6s infinite; }
/* Creator credit footer (injected on every page) */
footer#siteCredit { text-align:center; padding:18px 12px 26px; margin-top:24px; font-size:12px;
    color:var(--muted); letter-spacing:1px; border-top:1px solid var(--line); }
footer#siteCredit a { color:var(--green); font-weight:700; text-decoration:none; }
@media print { footer#siteCredit { display:none; } }
/* Odds shown as fractions by default; body.decmode switches every price to decimal */
.odec { display:none; }
body.decmode .odec { display:inline; }
body.decmode .ofrac { display:none; }
@keyframes pulse { 50% { opacity:.55; } }
@media print {
    body { background:#fff; color:#000; }
    header.site { background:#fff !important; color:#000; border-bottom:2px solid #000; }
    header.site nav { display:none; }
    .bbc, .itv { color:#000; background:none !important; border:1px solid #000; }
    main { padding:0; max-width:none; }
}
