﻿/* extracted verbatim 2026-08-28 estate speed sweep. New content = new filename. */

        /* ============================================================
           AOD = AFL Odds Dashboard namespace.
           Mapped onto the locked Site.Master tokens — no token redefinition.
           Numbers use --mono (tabular), money uses --model (green),
           cards use ambient-lift, CTAs use the shared .btn-grad.
           ============================================================ */
        :root {
            --aod-radius:   12px;
            --aod-radius-lg:16px;
        }

        .aod-wrapper {
            width: 100%;
            max-width: 1180px;
            margin: 0 auto;
            padding: 1.5em 5% 0;
            box-sizing: border-box;
        }

        /* --- BREADCRUMB --- */
        .aod-breadcrumb {
            display: flex;
            flex-wrap: wrap;
            gap: 0.4em;
            align-items: center;
            margin-bottom: 1.25em;
            font-family: var(--mono);
            font-size: 0.72em;
            color: var(--ink-faint);
            text-transform: uppercase;
            letter-spacing: 0.05em;
        }
        .aod-breadcrumb a { color: var(--ink-dim); text-decoration: none; transition: color 0.15s; }
        .aod-breadcrumb a:hover { color: var(--action-hi); }
        .aod-breadcrumb .sep { color: var(--line-strong); }

        /* --- POPULARITY WIDGET --- */
        .aod-pop-wrap {
            background: var(--panel);
            padding: 0.4em;
            border-radius: var(--aod-radius);
            border: 1px solid var(--line-strong);
            margin-bottom: 1.5em;
        }

        /* --- PAGE HEADER --- */
        .aod-page-header { margin-bottom: 1.5em; }
        .aod-badges {
            display: flex;
            flex-wrap: wrap;
            gap: 0.5em;
            margin-bottom: 0.85em;
        }
        .aod-badge {
            display: inline-flex;
            align-items: center;
            gap: 0.4em;
            background: rgba(70,140,255,0.10);
            color: var(--accent-ink);
            font-family: var(--mono);
            font-size: 0.68em;
            font-weight: 700;
            padding: 0.35em 0.8em;
            border-radius: 2em;
            border: 1px solid var(--card-edge);
            text-transform: uppercase;
            letter-spacing: 0.06em;
        }
        .aod-badge i { color: var(--action-hi); }
        .aod-badge .live-dot {
            width: 7px; height: 7px; border-radius: 50%;
            background: var(--model); box-shadow: 0 0 8px var(--model);
        }
        .aod-h1 {
            font-family: var(--display);
            font-size: clamp(1.75rem, 4vw, 2.6rem);
            font-weight: 800;
            color: var(--ink);
            letter-spacing: -0.025em;
            line-height: 1.1;
            margin: 0 0 0.45em;
            max-width: 18ch;
        }
        .aod-h1 .aod-accent { color: var(--action-hi); }
        .aod-desc {
            font-family: var(--ui);
            font-size: 1.02em;
            color: var(--ink-dim);
            max-width: 60ch;
            line-height: 1.6;
            margin: 0 0 1.15em;
        }
        .aod-desc strong { color: var(--ink); }
        .aod-desc .edge-word { color: var(--model); font-weight: 700; }

        /* Header action + proof row — proof strip sits right by the decision */
        .aod-header-cta {
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            gap: 0.9em;
        }
        .aod-jump-link {
            display: inline-flex;
            align-items: center;
            gap: 0.5em;
            font-family: var(--ui);
            font-weight: 600;
            font-size: 0.9em;
            color: var(--action-hi);
            text-decoration: none;
            padding: 0.5em 0.2em;
        }
        .aod-jump-link:hover { color: var(--accent-ink); }

        /* --- SECTION HEADINGS shared --- */
        .aod-eyebrow {
            display: inline-flex;
            align-items: center;
            gap: 0.45em;
            font-family: var(--mono);
            font-size: 0.7em;
            font-weight: 700;
            color: var(--ink-faint);
            text-transform: uppercase;
            letter-spacing: 0.09em;
            margin: 0 0 0.6em;
        }
        .aod-eyebrow .num { color: var(--action-hi); }
        .aod-block-title {
            font-family: var(--display);
            font-size: clamp(1.2rem, 2.4vw, 1.55rem);
            font-weight: 800;
            color: var(--ink);
            letter-spacing: -0.015em;
            margin: 0 0 0.35em;
        }
        .aod-block-sub {
            font-family: var(--ui);
            font-size: 0.92em;
            color: var(--ink-dim);
            line-height: 1.55;
            margin: 0 0 1.1em;
            max-width: 64ch;
        }

        /* --- PICKS BLOCK (the money — comes first) --- */
        .aod-picks { margin-bottom: 2.5em; }
        .aod-picks-head {
            display: flex;
            flex-wrap: wrap;
            justify-content: space-between;
            align-items: flex-end;
            gap: 1em;
            margin-bottom: 0.6em;
        }
        .aod-legend {
            display: flex;
            flex-wrap: wrap;
            gap: 0.5em 1.1em;
            font-family: var(--mono);
            font-size: 0.72em;
            color: var(--ink-faint);
            margin: 0 0 0.9em;
        }
        .aod-legend span { display: inline-flex; align-items: center; gap: 0.4em; }
        .aod-legend .sw { width: 0.7em; height: 0.7em; border-radius: 3px; display: inline-block; }
        .aod-legend .sw-model { background: var(--model); }
        .aod-legend .sw-imp   { background: var(--ink-dim); }

        /* --- ODDS TABLE (lifted onto the design system) --- */
        .table-container {
            position: relative;
            width: 100%;
            overflow-x: auto;
            -webkit-overflow-scrolling: touch;
            margin: 0 0 1em;
            border: 1px solid var(--card-edge);
            border-radius: var(--aod-radius-lg);
            background: var(--panel);
            box-shadow: 0 20px 42px -24px var(--accent-glow);
        }
        .table-container::after {
            content: '';
            position: absolute;
            inset: 0;
            border-radius: inherit;
            background: radial-gradient(120% 70% at 50% -10%, rgba(70,140,255,.10), transparent 60%);
            pointer-events: none;
            z-index: 1;
        }
        .game-tips-table {
            position: relative;
            z-index: 2;
            width: 100%;
            border-collapse: collapse;
            min-width: 640px;
        }
        .game-tips-table th,
        .game-tips-table td {
            padding: 13px 16px;
            text-align: left;
            border-bottom: 1px solid var(--line);
            white-space: nowrap;
            font-family: var(--ui);
            color: var(--ink-dim);
            font-size: 0.9em;
        }
        .game-tips-table th {
            background-color: var(--panel-2);
            color: var(--ink);
            font-weight: 700;
            position: sticky;
            top: 0;
            z-index: 2;
            font-family: var(--mono);
            font-size: 0.74em;
            text-transform: uppercase;
            letter-spacing: 0.06em;
        }
        .game-tips-table th.sticky-col,
        .game-tips-table td.sticky-col {
            position: sticky;
            left: 0;
            background-color: var(--panel);
            z-index: 3;
            box-shadow: 2px 0 8px rgba(0,0,0,0.25);
            border-right: 1px solid var(--line-strong);
        }
        .game-tips-table th.sticky-col {
            background-color: var(--panel-2);
            z-index: 4;
        }
        /* Numbers tabular-mono; model probability in money-green */
        .game-tips-table td:nth-child(5),
        .game-tips-table td:nth-child(6),
        .game-tips-table td:nth-child(7) {
            font-family: var(--mono);
            font-variant-numeric: tabular-nums;
            color: var(--ink);
        }
        .game-tips-table td:nth-child(6) { color: var(--model); font-weight: 600; }
        .game-info-cell { display: flex; flex-direction: column; align-items: flex-start; gap: 5px; }
        .game-time { font-size: 0.85em; color: var(--ink-faint); font-family: var(--mono); }
        .team-logos { display: flex; align-items: center; gap: 6px; }
        .team-logo { width: 20px; height: 20px; object-fit: contain; }
        .team-names { font-weight: 700; font-size: 1em; color: var(--ink); font-family: var(--ui); }
        .game-tips-table tbody tr:hover { background-color: rgba(70,140,255,0.06); }
        .game-tips-table tbody tr:hover .sticky-col { background-color: rgba(70,140,255,0.09); }

        /* --- MODEL GATE (blur-tease for non-subscribers; odds + implied stay free) --- */
        .od-locked .od-gate { filter: blur(5px); -webkit-user-select: none; user-select: none; pointer-events: none; }
        .aod-unlock {
            display: flex; flex-wrap: wrap; align-items: center; gap: 0.6em 0.9em;
            background: var(--panel-2); border: 1px solid var(--card-edge);
            border-radius: var(--aod-radius); padding: 0.85em 1.1em; margin: 0 0 0.5em;
            font-family: var(--ui); font-size: 0.86em; color: var(--ink-dim); line-height: 1.5;
        }
        .aod-unlock > i { color: var(--action-hi); }
        .aod-unlock strong { color: var(--ink); }
        .aod-unlock .aod-unlock-cta {
            margin-left: auto; display: inline-flex; align-items: center; gap: 0.4em;
            background: var(--accent-grad); color: #fff; text-decoration: none;
            font-weight: 700; font-size: 0.95em; padding: 0.5em 1.1em; border-radius: var(--aod-radius);
            box-shadow: inset 0 1px 0 rgba(255,255,255,.35), 0 10px 22px -9px var(--accent-glow);
        }
        .aod-unlock .aod-unlock-cta:hover { filter: brightness(1.07); }

        /* --- NO ODDS STATE (ambient-lift, no dead end) --- */
        .aod-no-data {
            position: relative;
            background: var(--panel);
            border: 1px solid var(--card-edge);
            border-radius: var(--aod-radius-lg);
            padding: 2.75em 1.5em;
            text-align: center;
            margin: 0 0 1em;
            box-shadow: 0 20px 42px -24px var(--accent-glow);
        }
        .aod-no-data h4 { color: var(--ink); font-family: var(--display); font-size: 1.4em; font-weight: 800; margin: 0.75em 0 0.5em; }
        .aod-no-data p  { color: var(--ink-dim); font-family: var(--ui); font-size: 0.95em; max-width: 46ch; margin: 0 auto 1.4em; line-height: 1.6; }

        /* --- UPSELL: DAILY EDGE (right after the free picks) --- */
        .aod-upsell {
            position: relative;
            overflow: hidden;
            background: var(--panel);
            border: 1px solid var(--card-edge);
            border-radius: var(--aod-radius-lg);
            box-shadow: 0 20px 42px -24px var(--accent-glow);
            padding: 2.25em 2em;
            margin: 0 0 2.75em;
        }
        .aod-upsell::after {
            content: '';
            position: absolute;
            inset: 0;
            border-radius: inherit;
            background: radial-gradient(120% 80% at 50% -10%, rgba(70,140,255,.14), transparent 62%);
            pointer-events: none;
        }
        .aod-upsell-inner { position: relative; z-index: 1; max-width: 540px; margin: 0 auto; text-align: center; }
        .aod-upsell h3 {
            font-family: var(--display);
            color: var(--ink);
            font-size: clamp(1.3rem, 2.6vw, 1.6rem);
            font-weight: 800;
            margin: 0.55em 0 0.4em;
            letter-spacing: -0.015em;
        }
        .aod-upsell h3 .hi { color: var(--action-hi); }
        .aod-upsell p { color: var(--ink-dim); font-family: var(--ui); font-size: 0.95em; line-height: 1.55; margin: 0 0 1.35em; }
        .aod-upsell p strong { color: var(--model); }

        /* email field + submit reuse the design system */
        .aod-email-input {
            background: var(--panel-2);
            border: 1px solid var(--line-strong);
            color: var(--ink);
            padding: 0.8em 1em;
            border-radius: var(--aod-radius);
            width: 100%;
            font-family: var(--ui);
            font-size: 0.98em;
            box-sizing: border-box;
            margin-bottom: 0.6em;
            min-height: 48px;
        }
        .aod-email-input::placeholder { color: var(--ink-faint); }
        .aod-email-input:focus { outline: none; border-color: var(--action-hi); box-shadow: 0 0 0 3px rgba(70,140,255,.18); }
        .aod-email-btn {
            background: var(--accent-grad);
            color: #fff;
            border: none;
            padding: 0.85em 1em;
            border-radius: var(--aod-radius);
            font-family: var(--ui);
            font-weight: 700;
            font-size: 0.98em;
            width: 100%;
            cursor: pointer;
            min-height: 48px;
            box-shadow: inset 0 1px 0 rgba(255,255,255,.45), 0 12px 26px -7px var(--accent-glow);
            transition: filter 0.15s, transform 0.15s;
        }
        .aod-email-btn:hover { filter: brightness(1.07); transform: translateY(-1px); }
        .aod-email-disclaimer { font-size: 0.72em; font-family: var(--ui); color: var(--ink-faint); margin-top: 0.6em; }
        .aod-email-disclaimer a { color: var(--ink-faint); text-decoration: underline; }

        /* --- CONTENT / METHOD SECTIONS (demoted below the picks) --- */
        .aod-sections { display: grid; gap: 1em; margin: 0 0 1.5em; }
        .aod-section {
            background: var(--panel-2);
            border: 1px solid var(--line-strong);
            border-radius: var(--aod-radius-lg);
            padding: 1.6em;
        }
        .aod-section h2 {
            font-family: var(--display);
            font-size: 1.15em;
            font-weight: 800;
            color: var(--ink);
            margin: 0 0 0.7em;
            letter-spacing: -0.01em;
        }
        .aod-section p {
            font-family: var(--ui);
            font-size: 0.92em;
            color: var(--ink-dim);
            line-height: 1.7;
            margin: 0 0 0.75em;
            max-width: 70ch;
        }
        .aod-section ul { padding-left: 1.25em; margin: 0; }
        .aod-section ul li {
            font-family: var(--ui);
            font-size: 0.92em;
            color: var(--ink-dim);
            line-height: 1.65;
            margin-bottom: 0.4em;
        }
        .aod-section ul li strong { color: var(--ink); }
        .aod-link { color: var(--action-hi); text-decoration: none; }
        .aod-link:hover { color: var(--accent-ink); }

        /* Definition mini-table */
        .aod-table-wrap {
            margin-top: 0.8em;
            border: 1px solid var(--line-strong);
            border-radius: var(--aod-radius);
            overflow: hidden;
            background: var(--panel);
        }
        .aod-mini-table { width: 100%; border-collapse: collapse; }
        .aod-mini-table th {
            background: var(--panel-2);
            font-family: var(--mono);
            text-transform: uppercase;
            letter-spacing: 0.06em;
            font-size: 0.72em;
            color: var(--ink);
            padding: 0.7em 0.95em;
            text-align: left;
            border-bottom: 1px solid var(--line-strong);
        }
        .aod-mini-table td {
            color: var(--ink-dim);
            font-family: var(--ui);
            font-size: 0.88em;
            padding: 0.7em 0.95em;
            border-bottom: 1px solid var(--line);
            vertical-align: top;
        }
        .aod-mini-table tr:last-child td { border-bottom: none; }
        .aod-mono { font-family: var(--mono); color: var(--ink); }

        /* --- FAQ SECTION --- */
        .aod-faq-item {
            background: var(--panel-2);
            border: 1px solid var(--line-strong);
            border-radius: var(--aod-radius);
            margin-bottom: 0.6em;
            overflow: hidden;
            transition: border-color 0.15s;
        }
        .aod-faq-item[open] { border-color: var(--card-edge); }
        .aod-faq-item summary {
            padding: 1em 1.15em;
            cursor: pointer;
            font-family: var(--ui);
            font-weight: 700;
            font-size: 0.95em;
            color: var(--ink);
            display: flex;
            justify-content: space-between;
            align-items: center;
            list-style: none;
            gap: 1em;
            min-height: 44px;
            box-sizing: border-box;
        }
        .aod-faq-item summary::-webkit-details-marker { display: none; }
        .aod-faq-item summary::after {
            content: '+';
            font-family: var(--mono);
            color: var(--action-hi);
            flex-shrink: 0;
            font-size: 1.1em;
        }
        .aod-faq-item[open] summary::after { content: '−'; }
        .aod-faq-answer {
            padding: 0 1.15em 1em;
            font-family: var(--ui);
            font-size: 0.9em;
            line-height: 1.75;
            color: var(--ink-dim);
            border-top: 1px solid var(--line);
        }
        .aod-faq-answer p { margin-top: 0.85em; margin-bottom: 0; color: var(--ink-dim); }

        @media (max-width: 768px) {
            .table-container { margin-left: 0; margin-right: 0; }
            .game-tips-table th, .game-tips-table td { padding: 11px 13px; }
            .game-tips-table { min-width: 560px; }
            .aod-upsell { padding: 1.85em 1.25em; }
        }
    