/* ============================================================================
   Betting Tips Client — Widget Styles v3.0.0
   Professional Sports Analytics Design System
   Light Theme (default) + Dark Theme (.btc-theme-dark)
   Mobile-first, responsive at 768px and 480px
   ============================================================================ */

/* ── CSS Custom Properties ───────────────────────────────────────────────── */
:root {
    --btc-primary: #2563eb;
    --btc-primary-light: #3b82f6;
    --btc-primary-dark: #1d4ed8;
    --btc-success: #16a34a;
    --btc-success-light: #22c55e;
    --btc-success-bg: #f0fdf4;
    --btc-warning: #d97706;
    --btc-warning-light: #f59e0b;
    --btc-warning-bg: #fffbeb;
    --btc-danger: #dc2626;
    --btc-danger-light: #ef4444;
    --btc-danger-bg: #fef2f2;

    --btc-bg: #ffffff;
    --btc-bg-secondary: #f8fafc;
    --btc-bg-tertiary: #f1f5f9;
    --btc-surface: #ffffff;
    --btc-surface-hover: #f8fafc;
    --btc-border: #e2e8f0;
    --btc-border-light: #f1f5f9;
    --btc-text: #0f172a;
    --btc-text-secondary: #475569;
    --btc-text-muted: #94a3b8;
    --btc-shadow-sm: 0 1px 2px rgba(0,0,0,0.05);
    --btc-shadow: 0 1px 3px rgba(0,0,0,0.1), 0 1px 2px rgba(0,0,0,0.06);
    --btc-shadow-md: 0 4px 6px -1px rgba(0,0,0,0.1), 0 2px 4px -2px rgba(0,0,0,0.1);
    --btc-shadow-lg: 0 10px 15px -3px rgba(0,0,0,0.1), 0 4px 6px -4px rgba(0,0,0,0.1);
    --btc-radius: 12px;
    --btc-radius-sm: 8px;
    --btc-radius-xs: 6px;
    --btc-transition: 0.2s ease;
    --btc-gradient-primary: linear-gradient(135deg, #2563eb, #7c3aed);
    --btc-gradient-success: linear-gradient(135deg, #16a34a, #059669);
    --btc-gradient-warning: linear-gradient(135deg, #d97706, #ea580c);
    --btc-gradient-surface: linear-gradient(135deg, #f8fafc, #f1f5f9);

    /* Zone Colors (Standings) */
    --btc-zone-cl: #059669;
    --btc-zone-el: #2563eb;
    --btc-zone-ecl: #7c3aed;
    --btc-zone-relegation: #dc2626;
    --btc-zone-playoff: #d97706;

    /* Pitch (Lineup) */
    --btc-pitch-bg: #2d8a3e;
    --btc-pitch-bg-dark: #1e6b2e;
    --btc-pitch-line: rgba(255,255,255,0.45);
    --btc-pitch-player-home: var(--btc-primary);
    --btc-pitch-player-away: #dc2626;

    /* Animations */
    --btc-anim-fast: 0.15s;
    --btc-anim-normal: 0.3s;
    --btc-anim-slow: 0.5s;

    /* Glassmorphism */
    --btc-glass-bg: rgba(255,255,255,0.7);
    --btc-glass-blur: blur(12px);
    --btc-glass-border: rgba(255,255,255,0.3);

    /* Image Sizes */
    --btc-player-photo-sm: 32px;
    --btc-player-photo-md: 40px;
    --btc-player-photo-lg: 64px;
}

.btc-theme-dark {
    --btc-bg: #0f172a;
    --btc-bg-secondary: #1e293b;
    --btc-bg-tertiary: #334155;
    --btc-surface: #1e293b;
    --btc-surface-hover: #334155;
    --btc-border: #334155;
    --btc-border-light: #1e293b;
    --btc-text: #f1f5f9;
    --btc-text-secondary: #cbd5e1;
    --btc-text-muted: #64748b;
    --btc-shadow-sm: 0 1px 2px rgba(0,0,0,0.3);
    --btc-shadow: 0 1px 3px rgba(0,0,0,0.4), 0 1px 2px rgba(0,0,0,0.3);
    --btc-shadow-md: 0 4px 6px -1px rgba(0,0,0,0.4), 0 2px 4px -2px rgba(0,0,0,0.3);
    --btc-shadow-lg: 0 10px 15px -3px rgba(0,0,0,0.5), 0 4px 6px -4px rgba(0,0,0,0.4);
    --btc-gradient-surface: linear-gradient(135deg, #1e293b, #0f172a);
    --btc-success-bg: #052e16;
    --btc-warning-bg: #451a03;
    --btc-danger-bg: #450a0a;
    --btc-glass-bg: rgba(30,41,59,0.7);
    --btc-glass-border: rgba(255,255,255,0.1);
    --btc-pitch-bg: #1a6b2c;
    --btc-pitch-bg-dark: #145522;
}

/* ── Base / Reset ─────────────────────────────────────────────────────────── */
[class^="btc-"],
[class*=" btc-"] {
    box-sizing: border-box;
    line-height: 1.5;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

/* ── Widget Card Container ────────────────────────────────────────────────── */
.btc-card {
    background: var(--btc-surface);
    border: 1px solid var(--btc-border);
    border-radius: var(--btc-radius);
    padding: 20px;
    margin: 16px 0;
    box-shadow: var(--btc-shadow);
    transition: box-shadow var(--btc-transition), border-color var(--btc-transition);
}

.btc-card:hover {
    box-shadow: var(--btc-shadow-md);
}

/* ── Widget Title ─────────────────────────────────────────────────────────── */
.btc-widget-title {
    font-size: 0.8rem;
    font-weight: 700;
    margin: 0 0 16px 0;
    padding-bottom: 10px;
    border-bottom: 2px solid var(--btc-border);
    color: var(--btc-text);
    text-transform: uppercase;
    letter-spacing: 0.06em;
    display: flex;
    align-items: center;
    gap: 8px;
}

.btc-widget-title::before {
    content: '';
    display: inline-block;
    width: 4px;
    height: 18px;
    border-radius: 2px;
    flex-shrink: 0;
}

/* Color-coded title accents */
.btc-match-header .btc-widget-title::before,
.btc-standings .btc-widget-title::before,
.btc-h2h .btc-widget-title::before { background: var(--btc-gradient-primary); }

.btc-prediction .btc-widget-title::before,
.btc-score-prediction .btc-widget-title::before,
.btc-probability-bars .btc-widget-title::before { background: var(--btc-gradient-success); }

.btc-odds .btc-widget-title::before,
.btc-value-indicator .btc-widget-title::before { background: var(--btc-gradient-warning); }

.btc-injuries .btc-widget-title::before { background: var(--btc-danger); }

.btc-team-form .btc-widget-title::before,
.btc-form-comparison .btc-widget-title::before,
.btc-lineup .btc-widget-title::before,
.btc-topscorer .btc-widget-title::before,
.btc-coach .btc-widget-title::before,
.btc-team-stats .btc-widget-title::before,
.btc-team-comparison .btc-widget-title::before,
.btc-transfers .btc-widget-title::before,
.btc-weather .btc-widget-title::before,
.btc-match-facts .btc-widget-title::before,
.btc-raw-scores .btc-widget-title::before,
.btc-api-predictions .btc-widget-title::before { background: var(--btc-primary); }

/* ── No Data ──────────────────────────────────────────────────────────────── */
.btc-no-data {
    font-size: 0.875rem;
    color: var(--btc-text-muted);
    font-style: italic;
    padding: 12px 0;
    text-align: center;
}

/* ── Tables ───────────────────────────────────────────────────────────────── */
.btc-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    font-size: 0.875rem;
    margin: 8px 0;
    overflow: hidden;
    border-radius: var(--btc-radius-sm);
    border: 1px solid var(--btc-border);
}

.btc-table thead {
    background: var(--btc-bg-secondary);
}

.btc-table th {
    padding: 10px 12px;
    text-align: left;
    font-weight: 600;
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--btc-text-muted);
    border-bottom: 2px solid var(--btc-border);
}

.btc-table td {
    padding: 10px 12px;
    border-bottom: 1px solid var(--btc-border-light);
    color: var(--btc-text-secondary);
    transition: background var(--btc-transition);
}

.btc-table tbody tr:last-child td {
    border-bottom: none;
}

.btc-table tbody tr:hover td {
    background: var(--btc-surface-hover);
}

/* ── Match Header ─────────────────────────────────────────────────────────── */
.btc-match-header {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
    padding: 28px 24px;
    background: var(--btc-gradient-surface);
    border-radius: var(--btc-radius);
    margin: 16px 0;
    border: 1px solid var(--btc-border);
    box-shadow: var(--btc-shadow-md);
    position: relative;
    overflow: hidden;
}

.btc-match-header::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: var(--btc-gradient-primary);
}

.btc-match-header__league {
    font-size: 0.75rem;
    color: var(--btc-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-weight: 700;
    background: var(--btc-bg-tertiary);
    padding: 4px 14px;
    border-radius: 20px;
}

.btc-theme-dark .btc-match-header__league {
    background: var(--btc-bg-tertiary);
}

.btc-match-header__teams {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 24px;
    width: 100%;
}

.btc-match-header__team {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    flex: 1;
    text-align: center;
}

.btc-team-logo {
    width: 56px;
    height: 56px;
    object-fit: contain;
    filter: drop-shadow(0 2px 4px rgba(0,0,0,0.1));
    transition: transform var(--btc-transition);
}

.btc-team-logo:hover {
    transform: scale(1.08);
}

.btc-team-name {
    font-weight: 700;
    font-size: 1rem;
    color: var(--btc-text);
}

.btc-match-header__vs {
    font-size: 1rem;
    font-weight: 800;
    color: var(--btc-text-muted);
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--btc-bg-tertiary);
    flex-shrink: 0;
}

.btc-match-header__meta {
    text-align: center;
    font-size: 0.85rem;
    color: var(--btc-text-secondary);
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.btc-venue {
    font-size: 0.8rem;
    color: var(--btc-text-muted);
}

/* ── Prediction ───────────────────────────────────────────────────────────── */
.btc-prediction {
    background: var(--btc-success-bg);
    border: 1px solid var(--btc-success);
    border-radius: var(--btc-radius);
    padding: 20px;
    margin: 16px 0;
    box-shadow: var(--btc-shadow);
    position: relative;
    overflow: hidden;
}

.btc-prediction::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: var(--btc-gradient-success);
}

.btc-prediction-box {
    margin-bottom: 0;
}

.btc-prediction-tip {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 12px;
}

.btc-prediction-label {
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--btc-text-muted);
    font-weight: 600;
    margin-bottom: 4px;
}

.btc-prediction-value {
    font-size: 1.25rem;
    font-weight: 800;
    color: var(--btc-success);
    background: linear-gradient(135deg, var(--btc-success), #059669);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.btc-theme-dark .btc-prediction-value {
    background: linear-gradient(135deg, #4ade80, #34d399);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.btc-prediction-reasoning {
    font-size: 0.875rem;
    color: var(--btc-text-secondary);
    margin-bottom: 16px;
    line-height: 1.7;
    padding: 12px;
    background: rgba(255,255,255,0.5);
    border-radius: var(--btc-radius-sm);
    border-left: 3px solid var(--btc-success);
}

.btc-theme-dark .btc-prediction-reasoning {
    background: rgba(0,0,0,0.2);
    color: var(--btc-text-secondary);
}

.btc-prediction-confidence {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 12px;
}

.btc-confidence-bar {
    flex: 1;
    height: 10px;
    background: var(--btc-border);
    border-radius: 5px;
    overflow: hidden;
}

.btc-confidence-fill {
    height: 100%;
    border-radius: 5px;
    background: var(--btc-gradient-success);
    transition: width 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.btc-confidence-pct {
    font-size: 0.9rem;
    font-weight: 800;
    color: var(--btc-success);
    min-width: 42px;
    text-align: right;
}

.btc-theme-dark .btc-confidence-pct {
    color: #4ade80;
}

.btc-prediction-score {
    font-size: 1rem;
    font-weight: 700;
    color: var(--btc-text);
    margin-top: 12px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.btc-prediction-score strong {
    font-size: 1.5rem;
    background: var(--btc-gradient-primary);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

/* ── Team Form Badges ─────────────────────────────────────────────────────── */
.btc-team-form {
    background: var(--btc-surface);
    border: 1px solid var(--btc-border);
    border-radius: var(--btc-radius);
    padding: 20px;
    margin: 16px 0;
    box-shadow: var(--btc-shadow);
}

.btc-form-badges {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
}

.btc-form-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: var(--btc-radius-xs);
    font-size: 0.8rem;
    font-weight: 800;
    color: #fff;
    transition: transform var(--btc-transition), box-shadow var(--btc-transition);
    cursor: default;
}

.btc-form-badge:hover {
    transform: translateY(-2px);
    box-shadow: var(--btc-shadow-md);
}

.btc-form-badge--win {
    background: linear-gradient(135deg, #16a34a, #22c55e);
    box-shadow: 0 2px 8px rgba(22, 163, 74, 0.3);
}

.btc-form-badge--draw {
    background: linear-gradient(135deg, #d97706, #f59e0b);
    box-shadow: 0 2px 8px rgba(217, 119, 6, 0.3);
}

.btc-form-badge--loss {
    background: linear-gradient(135deg, #dc2626, #ef4444);
    box-shadow: 0 2px 8px rgba(220, 38, 38, 0.3);
}

/* ── Odds ─────────────────────────────────────────────────────────────────── */
.btc-odds {
    background: var(--btc-surface);
    border: 1px solid var(--btc-border);
    border-radius: var(--btc-radius);
    padding: 20px;
    margin: 16px 0;
    box-shadow: var(--btc-shadow);
}

.btc-odds-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    font-size: 0.875rem;
    margin: 8px 0;
    overflow: hidden;
    border-radius: var(--btc-radius-sm);
    border: 1px solid var(--btc-border);
}

.btc-odds-table thead {
    background: var(--btc-bg-secondary);
}

.btc-odds-table th {
    padding: 10px 12px;
    text-align: left;
    font-weight: 600;
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--btc-text-muted);
    border-bottom: 2px solid var(--btc-border);
}

.btc-odds-table td {
    padding: 10px 12px;
    border-bottom: 1px solid var(--btc-border-light);
    color: var(--btc-text-secondary);
    transition: background var(--btc-transition);
}

.btc-odds-table td strong {
    color: var(--btc-text);
    font-size: 0.95rem;
}

.btc-odds-table tbody tr:last-child td {
    border-bottom: none;
}

.btc-odds-table tbody tr:hover td {
    background: var(--btc-surface-hover);
}

/* ── Value Indicator ──────────────────────────────────────────────────────── */
.btc-value-indicator {
    background: var(--btc-warning-bg);
    border: 1px solid var(--btc-warning);
    border-radius: var(--btc-radius);
    padding: 20px;
    margin: 16px 0;
    box-shadow: var(--btc-shadow);
    position: relative;
    overflow: hidden;
}

.btc-value-indicator::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: var(--btc-gradient-warning);
}

.btc-value-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.btc-value-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 16px;
    background: rgba(255,255,255,0.6);
    border: 1px solid var(--btc-border);
    border-radius: var(--btc-radius-sm);
    transition: transform var(--btc-transition), box-shadow var(--btc-transition);
}

.btc-theme-dark .btc-value-item {
    background: rgba(0,0,0,0.2);
}

.btc-value-item:hover {
    transform: translateX(4px);
    box-shadow: var(--btc-shadow);
}

.btc-value-market {
    font-weight: 700;
    color: var(--btc-warning);
    min-width: 80px;
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.btc-value-selection {
    flex: 1;
    font-size: 0.9rem;
    color: var(--btc-text);
    font-weight: 600;
}

.btc-value-edge {
    font-weight: 700;
    color: var(--btc-text-muted);
    white-space: nowrap;
    font-size: 0.85rem;
    padding: 4px 10px;
    border-radius: 20px;
    background: var(--btc-bg-tertiary);
}

.btc-value-edge--positive {
    color: #fff;
    background: var(--btc-gradient-success);
}

.btc-value-odds {
    font-weight: 800;
    color: var(--btc-text);
    white-space: nowrap;
    font-size: 1rem;
}

/* ── H2H Stats ────────────────────────────────────────────────────────────── */
.btc-h2h {
    background: var(--btc-surface);
    border: 1px solid var(--btc-border);
    border-radius: var(--btc-radius);
    padding: 20px;
    margin: 16px 0;
    box-shadow: var(--btc-shadow);
}

/* ── Standings ────────────────────────────────────────────────────────────── */
.btc-standings {
    background: var(--btc-surface);
    border: 1px solid var(--btc-border);
    border-radius: var(--btc-radius);
    padding: 20px;
    margin: 16px 0;
    box-shadow: var(--btc-shadow);
    overflow-x: auto;
}

.btc-standings .btc-table td:first-child,
.btc-standings .btc-table th:first-child {
    text-align: center;
    width: 36px;
    font-weight: 700;
}

.btc-standings .btc-table td:last-child {
    font-weight: 800;
    color: var(--btc-text);
}

.btc-standings .btc-table tr.btc-highlight td {
    background: rgba(37, 99, 235, 0.1);
    font-weight: 600;
    border-left: 3px solid var(--btc-primary);
}
.btc-standings .btc-table tr.btc-highlight td:not(:first-child) {
    border-left: none;
}

.btc-theme-dark .btc-standings .btc-table tr.btc-highlight td {
    background: rgba(59, 130, 246, 0.15);
}

/* ── Lineup ───────────────────────────────────────────────────────────────── */
.btc-lineup {
    background: var(--btc-surface);
    border: 1px solid var(--btc-border);
    border-radius: var(--btc-radius);
    padding: 20px;
    margin: 16px 0;
    box-shadow: var(--btc-shadow);
}

.btc-lineup-formation {
    display: inline-block;
    font-size: 0.75rem;
    font-weight: 700;
    color: var(--btc-primary);
    background: rgba(37, 99, 235, 0.08);
    padding: 4px 12px;
    border-radius: 20px;
    margin-bottom: 12px;
    letter-spacing: 0.04em;
}

.btc-theme-dark .btc-lineup-formation {
    background: rgba(59, 130, 246, 0.15);
    color: #60a5fa;
}

.btc-lineup-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.btc-lineup-list li {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 4px;
    border-bottom: 1px solid var(--btc-border-light);
    transition: background var(--btc-transition);
}

.btc-lineup-list li:last-child {
    border-bottom: none;
}

.btc-lineup-list li:hover {
    background: var(--btc-surface-hover);
    border-radius: var(--btc-radius-xs);
}

.btc-lineup-number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    background: var(--btc-bg-tertiary);
    border-radius: 50%;
    font-size: 0.75rem;
    font-weight: 800;
    color: var(--btc-text-secondary);
    flex-shrink: 0;
}

.btc-lineup-name {
    font-size: 0.875rem;
    color: var(--btc-text);
    flex: 1;
    font-weight: 500;
}

.btc-lineup-pos {
    font-size: 0.7rem;
    color: var(--btc-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-weight: 600;
    background: var(--btc-bg-tertiary);
    padding: 2px 8px;
    border-radius: 10px;
}

/* ── Injuries ─────────────────────────────────────────────────────────────── */
.btc-injuries {
    background: var(--btc-surface);
    border: 1px solid var(--btc-border);
    border-radius: var(--btc-radius);
    padding: 20px;
    margin: 16px 0;
    box-shadow: var(--btc-shadow);
}

.btc-injuries-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.btc-injuries-list li {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 4px;
    border-bottom: 1px solid var(--btc-border-light);
    transition: background var(--btc-transition);
}

.btc-injuries-list li:last-child {
    border-bottom: none;
}

.btc-injuries-list li::before {
    content: '';
    display: inline-block;
    width: 8px;
    height: 8px;
    background: var(--btc-danger);
    border-radius: 50%;
    flex-shrink: 0;
    box-shadow: 0 0 0 3px rgba(220, 38, 38, 0.15);
}

.btc-injury-name {
    font-weight: 600;
    color: var(--btc-text);
    flex: 1;
}

.btc-injury-reason {
    color: var(--btc-danger);
    font-size: 0.8rem;
    font-weight: 500;
    background: var(--btc-danger-bg);
    padding: 2px 10px;
    border-radius: 20px;
}

.btc-theme-dark .btc-injury-reason {
    background: rgba(220, 38, 38, 0.15);
    color: #fca5a5;
}

.btc-injury-return {
    margin-left: auto;
    font-size: 0.8rem;
    color: var(--btc-text-muted);
    font-weight: 500;
}

/* ── Weather ──────────────────────────────────────────────────────────────── */
.btc-weather {
    background: linear-gradient(135deg, #dbeafe, #eff6ff);
    border: 1px solid #93c5fd;
    border-radius: var(--btc-radius);
    padding: 20px;
    margin: 16px 0;
    box-shadow: var(--btc-shadow);
}

.btc-theme-dark .btc-weather {
    background: linear-gradient(135deg, #1e3a5f, #172554);
    border-color: #1e40af;
}

.btc-weather-info {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
    gap: 12px;
}

.btc-weather-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    padding: 12px;
    background: rgba(255,255,255,0.5);
    border-radius: var(--btc-radius-sm);
    text-align: center;
}

.btc-theme-dark .btc-weather-item {
    background: rgba(0,0,0,0.2);
}

.btc-weather-icon {
    font-size: 1.5rem;
    line-height: 1;
}

.btc-weather-value {
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--btc-text);
}

.btc-weather-label {
    font-size: 0.7rem;
    color: var(--btc-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-weight: 600;
}

/* Legacy weather classes */
.btc-weather-desc {
    font-weight: 700;
    color: var(--btc-text);
}

.btc-weather-temp {
    color: var(--btc-text-secondary);
    font-weight: 600;
}

.btc-weather-wind,
.btc-weather-humidity {
    color: var(--btc-text-muted);
}

/* ── Topscorer ────────────────────────────────────────────────────────────── */
.btc-topscorer {
    background: var(--btc-surface);
    border: 1px solid var(--btc-border);
    border-radius: var(--btc-radius);
    padding: 20px;
    margin: 16px 0;
    box-shadow: var(--btc-shadow);
}

.btc-topscorer-list {
    list-style: none;
    padding: 0;
    margin: 0;
    counter-reset: scorer;
}

.btc-topscorer-list li,
.btc-scorer-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 8px;
    border-bottom: 1px solid var(--btc-border-light);
    counter-increment: scorer;
    transition: background var(--btc-transition);
}

.btc-topscorer-list li:last-child,
.btc-scorer-item:last-child {
    border-bottom: none;
}

.btc-topscorer-list li:hover,
.btc-scorer-item:hover {
    background: var(--btc-surface-hover);
    border-radius: var(--btc-radius-xs);
}

.btc-scorer-photo {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    object-fit: cover;
    flex-shrink: 0;
    border: 2px solid var(--btc-border);
}

.btc-scorer-rank {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    font-size: 0.75rem;
    font-weight: 800;
    border-radius: 50%;
    flex-shrink: 0;
    background: var(--btc-bg-tertiary);
    color: var(--btc-text-muted);
}

.btc-topscorer-list li:nth-child(1) .btc-scorer-rank {
    background: linear-gradient(135deg, #f59e0b, #d97706);
    color: #fff;
}

.btc-topscorer-list li:nth-child(2) .btc-scorer-rank {
    background: linear-gradient(135deg, #94a3b8, #64748b);
    color: #fff;
}

.btc-topscorer-list li:nth-child(3) .btc-scorer-rank {
    background: linear-gradient(135deg, #d97706, #a16207);
    color: #fff;
}

.btc-scorer-info {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-width: 0;
}

.btc-scorer-name {
    font-weight: 600;
    color: var(--btc-text);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.btc-scorer-team {
    font-size: 0.8rem;
    color: var(--btc-text-muted);
}

.btc-scorer-stats {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-shrink: 0;
}

.btc-scorer-goals {
    font-weight: 800;
    color: var(--btc-primary);
    font-size: 1.1rem;
    background: rgba(37, 99, 235, 0.08);
    padding: 4px 12px;
    border-radius: 20px;
    min-width: 44px;
    text-align: center;
}

.btc-scorer-assists {
    font-size: 0.8rem;
    color: var(--btc-text-muted);
}

.btc-theme-dark .btc-scorer-goals {
    color: #60a5fa;
    background: rgba(59, 130, 246, 0.15);
}

.btc-theme-dark .btc-scorer-photo {
    border-color: var(--btc-border);
}

/* ── Coach ─────────────────────────────────────────────────────────────────── */
.btc-coach {
    display: flex;
    align-items: center;
    gap: 16px;
    background: var(--btc-surface);
    border: 1px solid var(--btc-border);
    border-radius: var(--btc-radius);
    padding: 20px;
    margin: 16px 0;
    box-shadow: var(--btc-shadow);
}

.btc-coach-photo {
    border-radius: 50%;
    width: 64px;
    height: 64px;
    object-fit: cover;
    border: 3px solid var(--btc-border);
    box-shadow: var(--btc-shadow);
}

.btc-coach-info {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.btc-coach-name {
    font-size: 1rem;
    font-weight: 700;
    color: var(--btc-text);
}

.btc-coach-nationality {
    font-size: 0.85rem;
    color: var(--btc-text-muted);
}

/* ── Team Stats Grid ──────────────────────────────────────────────────────── */
.btc-team-stats {
    background: var(--btc-surface);
    border: 1px solid var(--btc-border);
    border-radius: var(--btc-radius);
    padding: 20px;
    margin: 16px 0;
    box-shadow: var(--btc-shadow);
}

.btc-stats-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(90px, 1fr));
    gap: 12px;
    margin: 0;
}

.btc-stat {
    text-align: center;
    padding: 16px 8px;
    background: var(--btc-bg-secondary);
    border-radius: var(--btc-radius-sm);
    border: 1px solid var(--btc-border-light);
    transition: transform var(--btc-transition), box-shadow var(--btc-transition);
}

.btc-stat:hover {
    transform: translateY(-2px);
    box-shadow: var(--btc-shadow);
}

.btc-stat-value {
    font-size: 1.75rem;
    font-weight: 800;
    display: block;
    color: var(--btc-text);
    line-height: 1.2;
}

.btc-stat-label {
    font-size: 0.7rem;
    color: var(--btc-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-weight: 600;
    margin-top: 4px;
    display: block;
}

/* Legacy inline stat support */
.btc-stat span:first-child {
    font-size: 1.75rem;
    font-weight: 800;
    display: block;
    color: var(--btc-text);
    line-height: 1.2;
}

.btc-stat span:last-child {
    font-size: 0.7rem;
    color: var(--btc-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-weight: 600;
}

/* ── Transfers ────────────────────────────────────────────────────────────── */
.btc-transfers {
    background: var(--btc-surface);
    border: 1px solid var(--btc-border);
    border-radius: var(--btc-radius);
    padding: 20px;
    margin: 16px 0;
    box-shadow: var(--btc-shadow);
}

.btc-transfers-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.btc-transfers-list li,
.btc-transfers ul {
    list-style: none;
    padding: 0;
}

.btc-transfers li {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 4px;
    border-bottom: 1px solid var(--btc-border-light);
    font-size: 0.875rem;
    transition: background var(--btc-transition);
}

.btc-transfers li:last-child {
    border-bottom: none;
}

.btc-transfer-type {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    font-size: 0.7rem;
    font-weight: 800;
    flex-shrink: 0;
}

.btc-transfer-type--in {
    background: rgba(22, 163, 74, 0.1);
    color: var(--btc-success);
}

.btc-transfer-type--out {
    background: rgba(220, 38, 38, 0.1);
    color: var(--btc-danger);
}

.btc-transfer-player {
    font-weight: 600;
    color: var(--btc-text);
    flex: 1;
}

.btc-transfer-clubs {
    font-size: 0.8rem;
    color: var(--btc-text-muted);
}

/* ── API Predictions ──────────────────────────────────────────────────────── */
.btc-api-predictions {
    background: var(--btc-surface);
    border: 1px solid var(--btc-border);
    border-radius: var(--btc-radius);
    padding: 20px;
    margin: 16px 0;
    box-shadow: var(--btc-shadow);
}

.btc-api-advice {
    font-size: 1rem;
    font-weight: 700;
    color: var(--btc-text);
    margin-bottom: 12px;
    padding: 10px 16px;
    background: var(--btc-bg-secondary);
    border-radius: var(--btc-radius-sm);
    border-left: 4px solid var(--btc-primary);
}

.btc-probability-bar {
    display: flex;
    border-radius: var(--btc-radius-sm);
    overflow: hidden;
    height: 36px;
    font-size: 0.85rem;
    font-weight: 700;
    margin: 8px 0;
    box-shadow: var(--btc-shadow-sm);
}

.btc-probability-bar > div {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    transition: width 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    min-width: 40px;
}

/* ── NEW: Score Prediction ────────────────────────────────────────────────── */
.btc-score-prediction {
    background: var(--btc-gradient-surface);
    border: 1px solid var(--btc-border);
    border-radius: var(--btc-radius);
    padding: 24px;
    margin: 16px 0;
    box-shadow: var(--btc-shadow-md);
    text-align: center;
    position: relative;
    overflow: hidden;
}

.btc-score-prediction::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: var(--btc-gradient-primary);
}

.btc-score-display {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
    margin: 20px 0;
}

.btc-score-team {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    flex: 1;
}

.btc-score-team-name {
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--btc-text-secondary);
}

.btc-score-number {
    font-size: 3rem;
    font-weight: 900;
    line-height: 1;
    background: var(--btc-gradient-primary);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.btc-score-separator {
    font-size: 2rem;
    font-weight: 300;
    color: var(--btc-text-muted);
}

.btc-score-confidence {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-top: 12px;
}

.btc-score-stars {
    display: flex;
    gap: 2px;
}

.btc-star {
    width: 20px;
    height: 20px;
    display: inline-block;
}

.btc-star--filled {
    color: #f59e0b;
}

.btc-star--empty {
    color: var(--btc-border);
}

/* ── NEW: Probability Bars ────────────────────────────────────────────────── */
.btc-probability-bars {
    background: var(--btc-surface);
    border: 1px solid var(--btc-border);
    border-radius: var(--btc-radius);
    padding: 20px;
    margin: 16px 0;
    box-shadow: var(--btc-shadow);
}

.btc-prob-row {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 14px;
}

.btc-prob-row:last-child {
    margin-bottom: 0;
}

.btc-prob-label {
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--btc-text-secondary);
    min-width: 90px;
    text-align: right;
}

.btc-prob-track {
    flex: 1;
    height: 28px;
    background: var(--btc-bg-tertiary);
    border-radius: 14px;
    overflow: hidden;
    position: relative;
}

.btc-prob-fill {
    height: 100%;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    padding-right: 10px;
    font-size: 0.75rem;
    font-weight: 800;
    color: #fff;
    transition: width 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    min-width: 44px;
}

.btc-prob-fill--home {
    background: linear-gradient(90deg, #2563eb, #3b82f6);
}

.btc-prob-fill--draw {
    background: linear-gradient(90deg, #64748b, #94a3b8);
}

.btc-prob-fill--away {
    background: linear-gradient(90deg, #dc2626, #ef4444);
}

.btc-prob-value {
    font-size: 0.85rem;
    font-weight: 800;
    color: var(--btc-text);
    min-width: 44px;
    text-align: left;
}

/* ── NEW: Raw Scores / Analysis Overview ──────────────────────────────────── */
.btc-raw-scores {
    background: var(--btc-surface);
    border: 1px solid var(--btc-border);
    border-radius: var(--btc-radius);
    padding: 20px;
    margin: 16px 0;
    box-shadow: var(--btc-shadow);
}

.btc-scores-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}

.btc-score-item {
    padding: 14px;
    background: var(--btc-bg-secondary);
    border-radius: var(--btc-radius-sm);
    border: 1px solid var(--btc-border-light);
}

.btc-score-item-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 8px;
}

.btc-score-item-label {
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--btc-text-muted);
}

.btc-score-item-value {
    font-size: 0.9rem;
    font-weight: 800;
    color: var(--btc-text);
}

.btc-score-item-bar {
    height: 6px;
    background: var(--btc-border);
    border-radius: 3px;
    overflow: hidden;
}

.btc-score-item-fill {
    height: 100%;
    border-radius: 3px;
    transition: width 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.btc-score-item-fill--high {
    background: var(--btc-gradient-success);
}

.btc-score-item-fill--medium {
    background: var(--btc-gradient-warning);
}

.btc-score-item-fill--low {
    background: linear-gradient(90deg, #dc2626, #ef4444);
}

.btc-score-item-reasoning {
    font-size: 0.75rem;
    color: var(--btc-text-muted);
    margin-top: 6px;
    line-height: 1.4;
}

/* ── NEW: Form Comparison ─────────────────────────────────────────────────── */
.btc-form-comparison {
    background: var(--btc-surface);
    border: 1px solid var(--btc-border);
    border-radius: var(--btc-radius);
    padding: 20px;
    margin: 16px 0;
    box-shadow: var(--btc-shadow);
}

.btc-form-compare-row {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    gap: 16px;
    align-items: start;
}

.btc-form-compare-team {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.btc-form-compare-team:last-child {
    align-items: flex-end;
}

.btc-form-compare-team:last-child .btc-form-badges {
    justify-content: flex-end;
}

.btc-form-compare-name {
    font-size: 0.85rem;
    font-weight: 700;
    color: var(--btc-text);
}

.btc-form-compare-record {
    font-size: 0.75rem;
    color: var(--btc-text-muted);
    font-weight: 600;
}

.btc-form-compare-vs {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.8rem;
    font-weight: 700;
    color: var(--btc-text-muted);
    padding-top: 4px;
}

/* ── NEW: Match Facts ─────────────────────────────────────────────────────── */
.btc-match-facts {
    background: var(--btc-surface);
    border: 1px solid var(--btc-border);
    border-radius: var(--btc-radius);
    padding: 20px;
    margin: 16px 0;
    box-shadow: var(--btc-shadow);
}

.btc-facts-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}

.btc-fact-card {
    padding: 16px;
    border-radius: var(--btc-radius-sm);
    border: 1px solid var(--btc-border-light);
    display: flex;
    align-items: flex-start;
    gap: 12px;
    transition: transform var(--btc-transition), box-shadow var(--btc-transition);
}

.btc-fact-card:hover {
    transform: translateY(-2px);
    box-shadow: var(--btc-shadow);
}

.btc-fact-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: var(--btc-radius-sm);
    flex-shrink: 0;
    font-size: 1.1rem;
}

.btc-fact-icon--blue {
    background: rgba(37, 99, 235, 0.1);
    color: var(--btc-primary);
}

.btc-fact-icon--green {
    background: rgba(22, 163, 74, 0.1);
    color: var(--btc-success);
}

.btc-fact-icon--amber {
    background: rgba(217, 119, 6, 0.1);
    color: var(--btc-warning);
}

.btc-fact-icon--red {
    background: rgba(220, 38, 38, 0.1);
    color: var(--btc-danger);
}

.btc-theme-dark .btc-fact-icon--blue { background: rgba(59, 130, 246, 0.15); }
.btc-theme-dark .btc-fact-icon--green { background: rgba(34, 197, 94, 0.15); }
.btc-theme-dark .btc-fact-icon--amber { background: rgba(245, 158, 11, 0.15); }
.btc-theme-dark .btc-fact-icon--red { background: rgba(239, 68, 68, 0.15); }

.btc-fact-content {
    flex: 1;
    min-width: 0;
}

.btc-fact-label {
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--btc-text-muted);
    font-weight: 600;
    margin-bottom: 2px;
}

.btc-fact-value {
    font-size: 1rem;
    font-weight: 700;
    color: var(--btc-text);
    line-height: 1.3;
}

/* ── NEW: Team Comparison ─────────────────────────────────────────────────── */
.btc-team-comparison {
    background: var(--btc-surface);
    border: 1px solid var(--btc-border);
    border-radius: var(--btc-radius);
    padding: 20px;
    margin: 16px 0;
    box-shadow: var(--btc-shadow);
}

.btc-compare-header {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    gap: 12px;
    align-items: center;
    margin-bottom: 20px;
    padding-bottom: 12px;
    border-bottom: 2px solid var(--btc-border);
}

.btc-compare-team-name {
    font-size: 0.9rem;
    font-weight: 700;
    color: var(--btc-text);
}

.btc-compare-team-name:last-child {
    text-align: right;
}

.btc-compare-vs {
    font-size: 0.75rem;
    font-weight: 700;
    color: var(--btc-text-muted);
    text-align: center;
}

.btc-compare-row {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    gap: 12px;
    align-items: center;
    padding: 10px 0;
    border-bottom: 1px solid var(--btc-border-light);
}

.btc-compare-row:last-child {
    border-bottom: none;
}

.btc-compare-value {
    font-size: 1rem;
    font-weight: 700;
    color: var(--btc-text);
}

.btc-compare-value:last-child {
    text-align: right;
}

.btc-compare-value--better {
    color: var(--btc-success);
}

.btc-compare-label {
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--btc-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    text-align: center;
}

.btc-compare-bar-row {
    display: grid;
    grid-template-columns: 1fr 80px 1fr;
    gap: 8px;
    align-items: center;
    padding: 8px 0;
    border-bottom: 1px solid var(--btc-border-light);
}

.btc-compare-bar-row:last-child {
    border-bottom: none;
}

.btc-compare-bar {
    height: 8px;
    border-radius: 4px;
    overflow: hidden;
    background: var(--btc-bg-tertiary);
}

.btc-compare-bar--left {
    direction: rtl;
}

.btc-compare-bar-fill {
    height: 100%;
    border-radius: 4px;
    transition: width 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.btc-compare-bar-fill--home {
    background: linear-gradient(90deg, #3b82f6, #2563eb);
}

.btc-compare-bar-fill--away {
    background: linear-gradient(90deg, #ef4444, #dc2626);
}

.btc-compare-stat-label {
    font-size: 0.7rem;
    font-weight: 600;
    color: var(--btc-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    text-align: center;
}

.btc-compare-stat-value {
    font-size: 0.85rem;
    font-weight: 700;
    color: var(--btc-text);
    text-align: center;
}

.btc-compare-stat-value--home {
    text-align: right;
    color: var(--btc-primary);
}

.btc-compare-stat-value--away {
    text-align: left;
    color: var(--btc-danger);
}

/* ══════════════════════════════════════════════════════════════════════════
   ── MATCH REPORT WIDGETS ──
   ══════════════════════════════════════════════════════════════════════════ */

/* ── Final Score ─────────────────────────────────────────────────────────── */
.btc-final-score {
    background: var(--btc-gradient-surface);
    border: 1px solid var(--btc-border);
    border-radius: var(--btc-radius);
    padding: 28px 24px;
    margin: 16px 0;
    box-shadow: var(--btc-shadow-md);
    text-align: center;
    position: relative;
    overflow: hidden;
}

.btc-final-score::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: var(--btc-gradient-primary);
}

.btc-final-score .btc-widget-title::before { background: var(--btc-gradient-primary); }

.btc-final-score__display {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 24px;
    margin-bottom: 20px;
}

.btc-final-score__team {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    flex: 1;
}

.btc-final-score__name {
    font-size: 0.9rem;
    font-weight: 700;
    color: var(--btc-text);
}

.btc-final-score__result {
    display: flex;
    align-items: center;
    gap: 8px;
}

.btc-final-score__number {
    font-size: 3.5rem;
    font-weight: 900;
    line-height: 1;
    background: var(--btc-gradient-primary);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.btc-final-score__separator {
    font-size: 2.5rem;
    font-weight: 300;
    color: var(--btc-text-muted);
}

.btc-final-score__scorers {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    gap: 12px;
    padding-top: 16px;
    border-top: 1px solid var(--btc-border);
}

.btc-final-score__scorer-list {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.btc-final-score__scorer-list--home {
    text-align: right;
}

.btc-final-score__scorer-list--away {
    text-align: left;
}

.btc-final-score__scorer {
    font-size: 0.8rem;
    color: var(--btc-text-secondary);
    font-weight: 500;
}

.btc-final-score__scorer-divider {
    width: 1px;
    background: var(--btc-border);
}

/* ── Goal Timeline ───────────────────────────────────────────────────────── */
.btc-goal-timeline {
    background: var(--btc-surface);
    border: 1px solid var(--btc-border);
    border-radius: var(--btc-radius);
    padding: 20px;
    margin: 16px 0;
    box-shadow: var(--btc-shadow);
}

.btc-goal-timeline .btc-widget-title::before { background: var(--btc-gradient-success); }

.btc-goal-timeline__list {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.btc-goal-timeline__item {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    gap: 12px;
    align-items: center;
    padding: 12px 0;
    border-bottom: 1px solid var(--btc-border-light);
}

.btc-goal-timeline__item:last-child {
    border-bottom: none;
}

.btc-goal-timeline__item--home .btc-goal-timeline__team-side:first-child {
    text-align: right;
}

.btc-goal-timeline__item--away .btc-goal-timeline__team-side:last-child {
    text-align: left;
}

.btc-goal-timeline__minute {
    text-align: center;
}

.btc-goal-timeline__minute-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    height: 28px;
    background: var(--btc-gradient-success);
    color: #fff;
    font-size: 0.75rem;
    font-weight: 800;
    border-radius: 14px;
    padding: 0 10px;
}

.btc-goal-timeline__player {
    font-weight: 700;
    color: var(--btc-text);
    font-size: 0.9rem;
}

.btc-goal-timeline__assist {
    font-size: 0.8rem;
    color: var(--btc-text-muted);
    margin-left: 4px;
}

/* ── Match Events ────────────────────────────────────────────────────────── */
.btc-match-events {
    background: var(--btc-surface);
    border: 1px solid var(--btc-border);
    border-radius: var(--btc-radius);
    padding: 20px;
    margin: 16px 0;
    box-shadow: var(--btc-shadow);
}

.btc-match-events .btc-widget-title::before { background: var(--btc-primary); }

.btc-match-events__list {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.btc-match-events__item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 4px;
    border-bottom: 1px solid var(--btc-border-light);
    transition: background var(--btc-transition);
}

.btc-match-events__item:last-child {
    border-bottom: none;
}

.btc-match-events__item:hover {
    background: var(--btc-surface-hover);
    border-radius: var(--btc-radius-xs);
}

.btc-match-events__minute {
    font-size: 0.8rem;
    font-weight: 800;
    color: var(--btc-text-muted);
    min-width: 40px;
    text-align: center;
    background: var(--btc-bg-tertiary);
    padding: 4px 8px;
    border-radius: 12px;
}

.btc-match-events__icon {
    font-size: 1.1rem;
    flex-shrink: 0;
    width: 24px;
    text-align: center;
}

.btc-match-events__detail {
    display: flex;
    align-items: center;
    gap: 8px;
    flex: 1;
    flex-wrap: wrap;
}

.btc-match-events__player {
    font-weight: 600;
    color: var(--btc-text);
    font-size: 0.9rem;
}

.btc-match-events__sub-in {
    color: var(--btc-success);
    font-weight: 600;
}

.btc-match-events__sub-in::before {
    content: "\25B2 ";
    font-size: 0.65rem;
}

.btc-match-events__sub-out {
    color: var(--btc-danger);
    font-weight: 500;
    font-size: 0.85rem;
}

.btc-match-events__sub-out::before {
    content: "\25BC ";
    font-size: 0.65rem;
}

.btc-match-events__assist {
    font-size: 0.8rem;
    color: var(--btc-text-muted);
}

.btc-match-events__team {
    font-size: 0.75rem;
    color: var(--btc-text-muted);
    margin-left: auto;
}

/* ── Match Stats ─────────────────────────────────────────────────────────── */
.btc-match-stats {
    background: var(--btc-surface);
    border: 1px solid var(--btc-border);
    border-radius: var(--btc-radius);
    padding: 20px;
    margin: 16px 0;
    box-shadow: var(--btc-shadow);
}

.btc-match-stats .btc-widget-title::before { background: var(--btc-gradient-primary); }

/* ── Player Ratings ──────────────────────────────────────────────────────── */
.btc-player-ratings {
    background: var(--btc-surface);
    border: 1px solid var(--btc-border);
    border-radius: var(--btc-radius);
    padding: 20px;
    margin: 16px 0;
    box-shadow: var(--btc-shadow);
}

.btc-player-ratings .btc-widget-title::before { background: var(--btc-gradient-primary); }

.btc-player-ratings__team {
    margin-bottom: 16px;
}

.btc-player-ratings__team:last-child {
    margin-bottom: 0;
}

.btc-player-ratings__team-name {
    font-size: 0.8rem;
    font-weight: 700;
    color: var(--btc-text);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin: 0 0 10px 0;
    padding-bottom: 8px;
    border-bottom: 1px solid var(--btc-border);
}

.btc-player-ratings__list {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.btc-player-ratings__item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 4px;
    border-bottom: 1px solid var(--btc-border-light);
    transition: background var(--btc-transition);
}

.btc-player-ratings__item:last-child {
    border-bottom: none;
}

.btc-player-ratings__item:hover {
    background: var(--btc-surface-hover);
    border-radius: var(--btc-radius-xs);
}

.btc-player-ratings__photo {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    object-fit: cover;
    flex-shrink: 0;
    border: 2px solid var(--btc-border);
}

.btc-player-ratings__photo-placeholder {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: var(--btc-bg-tertiary);
    flex-shrink: 0;
}

.btc-player-ratings__info {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-width: 0;
}

.btc-player-ratings__name {
    font-weight: 600;
    color: var(--btc-text);
    font-size: 0.875rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.btc-player-ratings__position {
    font-size: 0.7rem;
    color: var(--btc-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-weight: 600;
}

.btc-player-ratings__stats {
    display: flex;
    gap: 6px;
    align-items: center;
}

.btc-player-ratings__goals {
    font-size: 0.75rem;
    font-weight: 700;
    color: var(--btc-success);
    background: rgba(22, 163, 74, 0.1);
    padding: 2px 6px;
    border-radius: 10px;
}

.btc-player-ratings__assists {
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--btc-primary);
    background: rgba(37, 99, 235, 0.08);
    padding: 2px 6px;
    border-radius: 10px;
}

.btc-player-ratings__badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    height: 28px;
    font-size: 0.8rem;
    font-weight: 800;
    color: #fff;
    border-radius: 14px;
    padding: 0 8px;
    flex-shrink: 0;
}

/* Rating color classes */
.btc-rating--excellent {
    background: linear-gradient(135deg, #16a34a, #22c55e);
}

.btc-rating--good {
    background: linear-gradient(135deg, #2563eb, #3b82f6);
}

.btc-rating--average {
    background: linear-gradient(135deg, #64748b, #94a3b8);
}

.btc-rating--poor {
    background: linear-gradient(135deg, #dc2626, #ef4444);
}

/* ── Prediction Result ───────────────────────────────────────────────────── */
.btc-prediction-result {
    border-radius: var(--btc-radius);
    padding: 20px;
    margin: 16px 0;
    box-shadow: var(--btc-shadow);
    position: relative;
    overflow: hidden;
}

.btc-prediction-result .btc-widget-title::before { background: var(--btc-gradient-success); }

.btc-prediction-result--correct {
    background: var(--btc-success-bg);
    border: 2px solid var(--btc-success);
}

.btc-prediction-result--correct::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: var(--btc-gradient-success);
}

.btc-prediction-result--incorrect {
    background: var(--btc-danger-bg);
    border: 2px solid var(--btc-danger);
}

.btc-prediction-result--incorrect::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(135deg, #dc2626, #ef4444);
}

.btc-prediction-result__badge {
    text-align: center;
    margin-bottom: 16px;
}

.btc-prediction-result__status {
    display: inline-block;
    font-size: 0.85rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    padding: 6px 20px;
    border-radius: 20px;
}

.btc-prediction-result--correct .btc-prediction-result__status {
    background: var(--btc-success);
    color: #fff;
}

.btc-prediction-result--incorrect .btc-prediction-result__status {
    background: var(--btc-danger);
    color: #fff;
}

.btc-prediction-result__comparison {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    gap: 16px;
    align-items: center;
}

.btc-prediction-result__col {
    display: flex;
    flex-direction: column;
    gap: 4px;
    text-align: center;
}

.btc-prediction-result__label {
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--btc-text-muted);
    font-weight: 700;
}

.btc-prediction-result__value {
    font-size: 1.5rem;
    font-weight: 900;
    color: var(--btc-text);
}

.btc-prediction-result__detail {
    font-size: 0.8rem;
    color: var(--btc-text-secondary);
}

.btc-prediction-result__vs {
    font-size: 0.9rem;
    font-weight: 700;
    color: var(--btc-text-muted);
}

/* ── Card Summary ────────────────────────────────────────────────────────── */
.btc-card-summary {
    background: var(--btc-surface);
    border: 1px solid var(--btc-border);
    border-radius: var(--btc-radius);
    padding: 20px;
    margin: 16px 0;
    box-shadow: var(--btc-shadow);
}

.btc-card-summary .btc-widget-title::before { background: var(--btc-warning); }

.btc-card-summary__list {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.btc-card-summary__item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 4px;
    border-bottom: 1px solid var(--btc-border-light);
}

.btc-card-summary__item:last-child {
    border-bottom: none;
}

.btc-card-summary__minute {
    font-size: 0.8rem;
    font-weight: 800;
    color: var(--btc-text-muted);
    min-width: 40px;
    text-align: center;
}

.btc-card-summary__card {
    display: inline-block;
    width: 14px;
    height: 18px;
    border-radius: 2px;
    flex-shrink: 0;
}

.btc-card-summary__card--yellow {
    background: #facc15;
    box-shadow: 0 1px 3px rgba(250, 204, 21, 0.4);
}

.btc-card-summary__card--red {
    background: #ef4444;
    box-shadow: 0 1px 3px rgba(239, 68, 68, 0.4);
}

.btc-card-summary__player {
    font-weight: 600;
    color: var(--btc-text);
    flex: 1;
    font-size: 0.9rem;
}

.btc-card-summary__team {
    font-size: 0.8rem;
    color: var(--btc-text-muted);
}

/* ── Substitutions ───────────────────────────────────────────────────────── */
.btc-substitutions {
    background: var(--btc-surface);
    border: 1px solid var(--btc-border);
    border-radius: var(--btc-radius);
    padding: 20px;
    margin: 16px 0;
    box-shadow: var(--btc-shadow);
}

.btc-substitutions .btc-widget-title::before { background: var(--btc-primary); }

.btc-substitutions__list {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.btc-substitutions__item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 4px;
    border-bottom: 1px solid var(--btc-border-light);
}

.btc-substitutions__item:last-child {
    border-bottom: none;
}

.btc-substitutions__minute {
    font-size: 0.8rem;
    font-weight: 800;
    color: var(--btc-text-muted);
    min-width: 40px;
    text-align: center;
}

.btc-substitutions__players {
    display: flex;
    flex-direction: column;
    gap: 2px;
    flex: 1;
}

.btc-substitutions__in {
    font-weight: 600;
    color: var(--btc-success);
    font-size: 0.9rem;
}

.btc-substitutions__in::before {
    content: "\25B2 ";
    font-size: 0.65rem;
}

.btc-substitutions__out {
    font-weight: 500;
    color: var(--btc-danger);
    font-size: 0.8rem;
}

.btc-substitutions__out::before {
    content: "\25BC ";
    font-size: 0.65rem;
}

.btc-substitutions__team {
    font-size: 0.8rem;
    color: var(--btc-text-muted);
}

/* ── Halftime Score ──────────────────────────────────────────────────────── */
.btc-halftime-score {
    background: var(--btc-gradient-surface);
    border: 1px solid var(--btc-border);
    border-radius: var(--btc-radius);
    padding: 16px 20px;
    margin: 16px 0;
    box-shadow: var(--btc-shadow);
    text-align: center;
}

.btc-halftime-score__badge {
    display: inline-block;
    font-size: 0.7rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--btc-text-muted);
    background: var(--btc-bg-tertiary);
    padding: 4px 14px;
    border-radius: 20px;
    margin-bottom: 12px;
}

.btc-halftime-score__display {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
}

.btc-halftime-score__team {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    flex: 1;
}

.btc-halftime-score__name {
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--btc-text-secondary);
}

.btc-halftime-score__result {
    display: flex;
    align-items: center;
    gap: 6px;
}

.btc-halftime-score__number {
    font-size: 2rem;
    font-weight: 900;
    color: var(--btc-text);
    line-height: 1;
}

.btc-halftime-score__separator {
    font-size: 1.5rem;
    font-weight: 300;
    color: var(--btc-text-muted);
}

.btc-team-logo--sm {
    width: 32px;
    height: 32px;
}

.btc-team-logo--xs {
    width: 18px;
    height: 18px;
    vertical-align: middle;
}

/* ── xG Comparison ───────────────────────────────────────────────────────── */
.btc-xg-comparison {
    background: var(--btc-surface);
    border: 1px solid var(--btc-border);
    border-radius: var(--btc-radius);
    padding: 20px;
    margin: 16px 0;
    box-shadow: var(--btc-shadow);
}

.btc-xg-comparison .btc-widget-title::before { background: var(--btc-gradient-primary); }

.btc-xg-comparison .btc-compare-stat-value small {
    font-size: 0.7rem;
    color: var(--btc-text-muted);
    font-weight: 500;
    margin-left: 2px;
}

/* ── Corner Stats ────────────────────────────────────────────────────────── */
.btc-corner-stats {
    background: var(--btc-surface);
    border: 1px solid var(--btc-border);
    border-radius: var(--btc-radius);
    padding: 20px;
    margin: 16px 0;
    box-shadow: var(--btc-shadow);
}

.btc-corner-stats .btc-widget-title::before { background: var(--btc-primary); }

/* ── Possession Chart ────────────────────────────────────────────────────── */
.btc-possession-chart {
    background: var(--btc-surface);
    border: 1px solid var(--btc-border);
    border-radius: var(--btc-radius);
    padding: 20px;
    margin: 16px 0;
    box-shadow: var(--btc-shadow);
}

.btc-possession-chart .btc-widget-title::before { background: var(--btc-gradient-primary); }

/* ── Split Bar (shared by corners + possession) ──────────────────────────── */
.btc-split-bar__labels {
    display: flex;
    justify-content: space-between;
    margin-bottom: 8px;
}

.btc-split-bar__team {
    font-size: 0.8rem;
    font-weight: 700;
    color: var(--btc-text);
}

.btc-split-bar__track {
    display: flex;
    border-radius: var(--btc-radius-sm);
    overflow: hidden;
    height: 36px;
    box-shadow: var(--btc-shadow-sm);
}

.btc-split-bar--large .btc-split-bar__track {
    height: 48px;
}

.btc-split-bar__fill {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 0.85rem;
    font-weight: 800;
    transition: width 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    min-width: 40px;
}

.btc-split-bar--large .btc-split-bar__fill {
    font-size: 1.1rem;
}

.btc-split-bar__fill--home {
    background: linear-gradient(90deg, #2563eb, #3b82f6);
}

.btc-split-bar__fill--away {
    background: linear-gradient(90deg, #ef4444, #dc2626);
}

/* ── Shots Analysis ──────────────────────────────────────────────────────── */
.btc-shots-analysis {
    background: var(--btc-surface);
    border: 1px solid var(--btc-border);
    border-radius: var(--btc-radius);
    padding: 20px;
    margin: 16px 0;
    box-shadow: var(--btc-shadow);
}

.btc-shots-analysis .btc-widget-title::before { background: var(--btc-gradient-primary); }

/* ── Man of the Match ────────────────────────────────────────────────────── */
.btc-motm {
    background: var(--btc-gradient-surface);
    border: 1px solid var(--btc-border);
    border-radius: var(--btc-radius);
    padding: 20px;
    margin: 16px 0;
    box-shadow: var(--btc-shadow-md);
    position: relative;
    overflow: hidden;
}

.btc-motm::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(135deg, #f59e0b, #d97706);
}

.btc-motm .btc-widget-title::before { background: linear-gradient(135deg, #f59e0b, #d97706); }

.btc-motm__card {
    display: flex;
    align-items: center;
    gap: 20px;
}

.btc-motm__photo-wrap {
    position: relative;
    flex-shrink: 0;
}

.btc-motm__photo {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    object-fit: cover;
    border: 3px solid var(--btc-border);
    box-shadow: var(--btc-shadow);
}

.btc-motm__photo-placeholder {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    background: var(--btc-bg-tertiary);
}

.btc-motm__rating {
    position: absolute;
    bottom: -4px;
    right: -4px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 36px;
    height: 28px;
    font-size: 0.8rem;
    font-weight: 900;
    color: #fff;
    border-radius: 14px;
    padding: 0 8px;
    border: 2px solid var(--btc-surface);
}

.btc-motm__info {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.btc-motm__name {
    font-size: 1.1rem;
    font-weight: 800;
    color: var(--btc-text);
}

.btc-motm__team {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 0.85rem;
    color: var(--btc-text-secondary);
    font-weight: 500;
}

.btc-motm__stats {
    display: flex;
    gap: 8px;
    margin-top: 4px;
    flex-wrap: wrap;
}

.btc-motm__stat {
    font-size: 0.75rem;
    font-weight: 700;
    color: var(--btc-text-muted);
    background: var(--btc-bg-tertiary);
    padding: 2px 10px;
    border-radius: 12px;
}

/* ── Responsive ───────────────────────────────────────────────────────────── */
@media (max-width: 768px) {
    .btc-match-header {
        padding: 20px 16px;
    }

    .btc-match-header__teams {
        gap: 16px;
    }

    .btc-team-logo {
        width: 40px;
        height: 40px;
    }

    .btc-value-item {
        flex-wrap: wrap;
    }

    .btc-stats-grid {
        grid-template-columns: repeat(3, 1fr);
    }

    .btc-scores-grid {
        grid-template-columns: 1fr;
    }

    .btc-facts-grid {
        grid-template-columns: 1fr;
    }

    .btc-form-compare-row {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .btc-form-compare-team:last-child {
        align-items: flex-start;
    }

    .btc-form-compare-team:last-child .btc-form-badges {
        justify-content: flex-start;
    }

    .btc-form-compare-vs {
        display: none;
    }

    .btc-compare-bar-row {
        grid-template-columns: 1fr 60px 1fr;
    }

    .btc-score-number {
        font-size: 2.5rem;
    }

    .btc-final-score__number {
        font-size: 2.5rem;
    }

    .btc-final-score__scorers {
        grid-template-columns: 1fr;
        gap: 8px;
    }

    .btc-final-score__scorer-list--home,
    .btc-final-score__scorer-list--away {
        text-align: center;
    }

    .btc-final-score__scorer-divider {
        display: none;
    }

    .btc-goal-timeline__item {
        grid-template-columns: 1fr auto 1fr;
        gap: 8px;
    }

    .btc-prediction-result__comparison {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .btc-prediction-result__vs {
        display: none;
    }

    .btc-motm__card {
        flex-direction: column;
        text-align: center;
        align-items: center;
    }
}

@media (max-width: 480px) {
    .btc-table,
    .btc-odds-table {
        font-size: 0.75rem;
    }

    .btc-table th,
    .btc-table td,
    .btc-odds-table th,
    .btc-odds-table td {
        padding: 7px 6px;
    }

    .btc-match-header__teams {
        flex-direction: column;
        gap: 10px;
    }

    .btc-match-header__vs {
        width: 32px;
        height: 32px;
        font-size: 0.85rem;
    }

    .btc-team-name {
        font-size: 0.875rem;
    }

    .btc-form-badge {
        width: 30px;
        height: 30px;
        font-size: 0.7rem;
    }

    .btc-stats-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .btc-stat {
        padding: 12px 6px;
    }

    .btc-stat-value,
    .btc-stat span:first-child {
        font-size: 1.3rem;
    }

    .btc-prob-label {
        min-width: 70px;
        font-size: 0.7rem;
    }

    .btc-score-display {
        gap: 12px;
    }

    .btc-score-number {
        font-size: 2rem;
    }

    .btc-final-score__number {
        font-size: 2rem;
    }

    .btc-final-score__display {
        flex-direction: column;
        gap: 10px;
    }

    .btc-halftime-score__display {
        flex-direction: column;
        gap: 8px;
    }

    .btc-motm__photo {
        width: 64px;
        height: 64px;
    }

    .btc-compare-header {
        gap: 6px;
    }

    .btc-compare-team-name {
        font-size: 0.8rem;
    }

    .btc-weather-info {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* ── Live Widget System ──────────────────────────────────────────────────── */
.btc-live-widget {
    position: relative;
    transition: opacity 0.3s ease;
}

/* LIVE badge — top right corner */
.btc-live-widget::after {
    content: 'LIVE';
    position: absolute;
    top: 8px;
    right: 8px;
    background: var(--btc-danger, #dc2626);
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.05em;
    padding: 2px 8px;
    border-radius: 4px;
    line-height: 1.4;
    z-index: 5;
    animation: btc-live-pulse 2s ease-in-out infinite;
    pointer-events: none;
}

/* Pulse animation for the LIVE badge */
@keyframes btc-live-pulse {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.5; }
}

/* Pulse animation when widget content updates */
.btc-live-updated {
    animation: btc-live-flash 1.5s ease-out;
}

@keyframes btc-live-flash {
    0% {
        box-shadow: 0 0 0 0 rgba(37, 99, 235, 0.4);
    }
    50% {
        box-shadow: 0 0 0 6px rgba(37, 99, 235, 0.1);
    }
    100% {
        box-shadow: 0 0 0 0 rgba(37, 99, 235, 0);
    }
}

/* Match finished — remove LIVE badge, no more animations */
.btc-live-finished::after {
    display: none;
}

.btc-live-finished {
    animation: none;
}

/* Dark theme adjustments */
.btc-theme-dark .btc-live-updated {
    animation: btc-live-flash-dark 1.5s ease-out;
}

@keyframes btc-live-flash-dark {
    0% {
        box-shadow: 0 0 0 0 rgba(96, 165, 250, 0.4);
    }
    50% {
        box-shadow: 0 0 0 6px rgba(96, 165, 250, 0.1);
    }
    100% {
        box-shadow: 0 0 0 0 rgba(96, 165, 250, 0);
    }
}

/* ── Print Styles ─────────────────────────────────────────────────────────── */
@media print {
    [class^="btc-"] {
        box-shadow: none !important;
        border-color: #ccc !important;
    }

    .btc-form-badge {
        border: 1px solid #999;
    }

    .btc-live-widget::after {
        display: none;
    }
}

/* ============================================================================
   Expand/Collapse Toggle
   ============================================================================ */
.btc-widget-toggle {
    display: block;
    width: 100%;
    background: var(--btc-bg-secondary);
    border: 1px solid var(--btc-border);
    border-radius: var(--btc-radius-xs);
    padding: 8px 16px;
    margin-top: 8px;
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--btc-primary);
    cursor: pointer;
    text-align: center;
    transition: background var(--btc-transition), color var(--btc-transition);
}

.btc-widget-toggle:hover {
    background: var(--btc-bg-tertiary);
    color: var(--btc-primary-dark);
}

.btc-widget-toggle--expanded {
    color: var(--btc-text-secondary);
}

/* Details rows hidden by JS on load */
.btc-widget-details-row {
    /* JS sets display:none on load, shown on toggle */
}

/* ============================================================================
   H2H Summary Stats
   ============================================================================ */
.btc-h2h-summary {
    display: flex;
    justify-content: space-around;
    margin-bottom: 16px;
    gap: 8px;
}

.btc-h2h-stat {
    text-align: center;
    flex: 1;
    padding: 10px 8px;
    background: var(--btc-bg-secondary);
    border-radius: var(--btc-radius-sm);
}

.btc-h2h-stat-value {
    display: block;
    font-size: 1.8rem;
    font-weight: 800;
    line-height: 1.2;
    color: var(--btc-text);
}

.btc-h2h-stat-label {
    display: block;
    font-size: 0.7rem;
    color: var(--btc-text-muted);
    text-transform: uppercase;
    margin-top: 4px;
}

.btc-text-primary { color: var(--btc-primary) !important; }
.btc-text-danger  { color: var(--btc-danger) !important; }

/* ============================================================================
   Lineup Formation Badge
   ============================================================================ */
.btc-lineup-formation {
    display: inline-block;
    background: var(--btc-gradient-primary);
    color: #fff;
    padding: 4px 16px;
    border-radius: var(--btc-radius-xs);
    font-size: 0.85rem;
    font-weight: 700;
    margin-bottom: 12px;
    letter-spacing: 0.1em;
}

.btc-lineup-coach {
    margin-top: 8px;
    font-size: 0.8rem;
    color: var(--btc-text-secondary);
    font-style: italic;
}

/* ============================================================================
   Coach Widget Enhancements
   ============================================================================ */
.btc-coach-team {
    display: block;
    font-size: 0.8rem;
    color: var(--btc-text-muted);
}

.btc-coach-since {
    display: block;
    font-size: 0.75rem;
    color: var(--btc-text-muted);
    font-style: italic;
    margin-top: 2px;
}

/* ============================================================================
   Injury Return Date
   ============================================================================ */
.btc-injury-return {
    display: inline-block;
    font-size: 0.7rem;
    background: var(--btc-danger-bg);
    color: var(--btc-danger);
    padding: 1px 8px;
    border-radius: var(--btc-radius-xs);
    margin-left: 6px;
}

/* ============================================================================
   Transfer Fee
   ============================================================================ */
.btc-transfer-fee {
    font-size: 0.75rem;
    color: var(--btc-text-muted);
    margin-left: auto;
    font-style: italic;
}

/* ============================================================================
   Prediction Enhancements
   ============================================================================ */
.btc-prediction-agreement {
    margin-top: 8px;
    display: flex;
    align-items: center;
    gap: 6px;
}

.btc-agreement-dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    display: inline-block;
    flex-shrink: 0;
}

.btc-agreement-text {
    font-size: 0.85em;
    color: var(--btc-text-secondary);
}

.btc-prediction-math-details {
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid var(--btc-border);
}

.btc-math-detail-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 4px 0;
    font-size: 0.85rem;
}

/* ============================================================================
   Math Widgets — CSS Classes (replacing inline styles)
   ============================================================================ */

/* Math Analysis */
.btc-math-analysis .btc-math-badge {
    color: #fff;
    padding: 2px 8px;
    border-radius: 4px;
    font-size: 0.75em;
    margin-left: 8px;
}

.btc-math-models {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 12px;
    margin-bottom: 16px;
}

.btc-math-model-card {
    border: 1px solid var(--btc-border);
    border-radius: var(--btc-radius-sm);
    padding: 12px;
    background: var(--btc-surface);
}

.btc-math-model-card .btc-model-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 8px;
}

.btc-math-model-card .btc-model-desc {
    font-size: 0.8em;
    color: var(--btc-text-muted);
}

.btc-weight-bar {
    background: var(--btc-bg-tertiary);
    border-radius: 4px;
    height: 6px;
    margin-bottom: 8px;
}

.btc-weight-bar-fill {
    background: var(--btc-primary);
    height: 100%;
    border-radius: 4px;
}

.btc-math-model-card .btc-model-weight {
    font-size: 0.75em;
    color: var(--btc-text-muted);
}

.btc-math-model-card .btc-model-probs {
    display: flex;
    justify-content: space-between;
    margin-top: 8px;
    font-size: 0.85em;
    color: var(--btc-text-secondary);
}

.btc-math-ensemble {
    background: var(--btc-bg-secondary);
    border: 1px solid var(--btc-border);
    border-radius: var(--btc-radius-sm);
    padding: 12px;
}

.btc-math-ensemble .btc-ensemble-probs {
    display: flex;
    justify-content: space-around;
    margin-top: 8px;
}

.btc-math-ensemble .btc-ensemble-prob {
    text-align: center;
}

.btc-math-ensemble .btc-ensemble-value {
    font-size: 1.5em;
    font-weight: bold;
    color: var(--btc-text);
}

.btc-math-ensemble .btc-ensemble-label {
    font-size: 0.85em;
    color: var(--btc-text-muted);
}

/* Value Bet */
.btc-value-bet .btc-value-bet-card {
    border: 1px solid var(--btc-border);
    border-radius: var(--btc-radius-sm);
    padding: 12px;
    background: var(--btc-surface);
}

.btc-value-bet .btc-vb-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 8px;
}

.btc-value-bet .btc-vb-odds {
    font-size: 0.85em;
    color: var(--btc-text-muted);
    margin-left: 8px;
}

.btc-rating-badge {
    color: #fff;
    padding: 2px 10px;
    border-radius: 4px;
    font-size: 0.8em;
    font-weight: bold;
}

.btc-edge-bar {
    position: relative;
    background: var(--btc-bg-tertiary);
    border-radius: 4px;
    height: 20px;
    margin-bottom: 8px;
}

.btc-edge-bar-fill {
    height: 100%;
    border-radius: 4px;
}

.btc-edge-bar .btc-edge-label {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    font-size: 0.8em;
    font-weight: bold;
    color: var(--btc-text);
}

.btc-value-bet .btc-vb-details {
    display: flex;
    justify-content: space-between;
    font-size: 0.85em;
    color: var(--btc-text-muted);
}

/* Model Confidence */
.btc-model-confidence .btc-conf-layout {
    display: flex;
    align-items: center;
    gap: 24px;
    margin-bottom: 16px;
}

.btc-model-confidence .btc-conf-ring {
    position: relative;
    width: 100px;
    height: 100px;
    flex-shrink: 0;
}

.btc-model-confidence .btc-conf-ring-value {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
}

.btc-model-confidence .btc-conf-score {
    font-size: 1.5em;
    font-weight: bold;
}

.btc-model-confidence .btc-conf-score-label {
    font-size: 0.65em;
    color: var(--btc-text-muted);
}

.btc-model-confidence .btc-conf-factor {
    margin-bottom: 6px;
}

.btc-model-confidence .btc-conf-factor-header {
    display: flex;
    justify-content: space-between;
    font-size: 0.85em;
    margin-bottom: 2px;
}

.btc-model-confidence .btc-conf-factor-label {
    color: var(--btc-text-secondary);
}

.btc-model-confidence .btc-conf-factor-value {
    color: var(--btc-text-muted);
}

.btc-model-confidence .btc-conf-factor-bar {
    background: var(--btc-bg-tertiary);
    border-radius: 4px;
    height: 6px;
}

.btc-model-confidence .btc-conf-factor-fill {
    height: 100%;
    border-radius: 4px;
}

/* Expected Goals */
.btc-expected-goals .btc-xg-display {
    display: flex;
    justify-content: space-around;
    align-items: center;
    margin-bottom: 16px;
    padding: 12px;
    background: var(--btc-bg-secondary);
    border-radius: var(--btc-radius-sm);
}

.btc-expected-goals .btc-xg-team {
    text-align: center;
}

.btc-expected-goals .btc-xg-team-name {
    font-size: 0.85em;
    color: var(--btc-text-muted);
}

.btc-expected-goals .btc-xg-value {
    font-size: 2em;
    font-weight: bold;
    color: var(--btc-text);
}

.btc-expected-goals .btc-xg-label {
    font-size: 0.75em;
    color: var(--btc-text-muted);
}

.btc-expected-goals .btc-xg-vs {
    font-size: 1.2em;
    color: var(--btc-text-muted);
}

.btc-expected-goals .btc-ou-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin-bottom: 16px;
}

.btc-expected-goals .btc-ou-card {
    border: 1px solid var(--btc-border);
    border-radius: var(--btc-radius-sm);
    padding: 12px;
    text-align: center;
    background: var(--btc-surface);
}

.btc-expected-goals .btc-ou-label {
    font-size: 0.85em;
    color: var(--btc-text-muted);
    margin-bottom: 4px;
}

.btc-expected-goals .btc-ou-value {
    font-size: 1.5em;
    font-weight: bold;
}

.btc-expected-goals .btc-ou-bar {
    background: var(--btc-bg-tertiary);
    border-radius: 4px;
    height: 6px;
    margin-top: 4px;
}

.btc-expected-goals .btc-ou-bar-fill {
    height: 100%;
    border-radius: 4px;
}

.btc-expected-goals .btc-cs-box {
    border: 1px solid var(--btc-border);
    border-radius: var(--btc-radius-sm);
    padding: 12px;
    background: var(--btc-surface);
}

.btc-expected-goals .btc-cs-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 4px 0;
    border-bottom: 1px solid var(--btc-border-light);
}

.btc-expected-goals .btc-cs-score {
    font-weight: bold;
    color: var(--btc-text);
}

.btc-expected-goals .btc-cs-prob-wrap {
    display: flex;
    align-items: center;
    gap: 8px;
    flex: 1;
    margin-left: 16px;
}

.btc-expected-goals .btc-cs-prob-bar {
    flex: 1;
    background: var(--btc-bg-tertiary);
    border-radius: 4px;
    height: 6px;
}

.btc-expected-goals .btc-cs-prob-fill {
    background: var(--btc-primary);
    height: 100%;
    border-radius: 4px;
}

.btc-expected-goals .btc-cs-prob-text {
    font-size: 0.85em;
    color: var(--btc-text-muted);
    min-width: 40px;
    text-align: right;
}

/* Math Accuracy */
.btc-math-accuracy {
    border-radius: var(--btc-radius);
    padding: 16px;
}

.btc-math-accuracy--correct {
    background: var(--btc-success-bg);
    border: 1px solid var(--btc-success);
}

.btc-math-accuracy--incorrect {
    background: var(--btc-danger-bg);
    border: 1px solid var(--btc-danger);
}

.btc-math-accuracy .btc-ma-grid {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    gap: 16px;
    margin-bottom: 16px;
}

.btc-math-accuracy .btc-ma-col {
    text-align: center;
    border: 1px solid var(--btc-border);
    border-radius: var(--btc-radius-sm);
    padding: 12px;
    background: var(--btc-surface);
}

.btc-math-accuracy .btc-ma-col-label {
    font-size: 0.85em;
    color: var(--btc-text-muted);
    margin-bottom: 4px;
}

.btc-math-accuracy .btc-ma-col-value {
    font-size: 1.2em;
    font-weight: bold;
    color: var(--btc-text);
}

.btc-math-accuracy .btc-ma-col-detail {
    font-size: 0.8em;
    color: var(--btc-text-muted);
    margin-top: 4px;
}

.btc-math-accuracy .btc-ma-vs {
    display: flex;
    align-items: center;
    font-size: 1.2em;
    color: var(--btc-text-muted);
}

.btc-math-accuracy .btc-ma-xg {
    border: 1px solid var(--btc-border);
    border-radius: var(--btc-radius-sm);
    padding: 12px;
    margin-bottom: 12px;
    background: var(--btc-surface);
}

.btc-math-accuracy .btc-ma-xg-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

.btc-math-accuracy .btc-ma-models {
    font-size: 0.8em;
    color: var(--btc-text-muted);
}

/* No-data placeholder */
.btc-value-bet .btc-no-vb {
    color: var(--btc-text-muted);
    font-style: italic;
}

/* ============================================================================
   Value-Bet List Container
   ============================================================================ */
.btc-vb-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

/* ============================================================================
   Compare Bar Row — inner flex containers
   Used by team-comparison, match-stats, xg-comparison, shots-analysis
   ============================================================================ */
.btc-compare-bar-side {
    display: flex;
    align-items: center;
    gap: 8px;
}

.btc-compare-bar-side--home {
    justify-content: flex-end;
}

/* ============================================================================
   Prediction Result Widget
   ============================================================================ */
.btc-prediction-result__comparison {
    display: grid;
    gap: 8px;
    align-items: center;
}

.btc-prediction-result__comparison--with-math {
    grid-template-columns: 1fr auto 1fr auto 1fr;
}

.btc-prediction-result__comparison--simple {
    grid-template-columns: 1fr auto 1fr;
}

.btc-prediction-result__col {
    text-align: center;
}

.btc-prediction-result__label {
    display: block;
    font-size: 0.85em;
    color: var(--btc-text-muted);
}

.btc-prediction-result__value {
    display: block;
    font-weight: bold;
    color: var(--btc-text);
}

.btc-prediction-result__detail {
    display: block;
    font-size: 0.75em;
    color: var(--btc-text-muted);
    margin-top: 2px;
}

.btc-prediction-result__vs {
    color: var(--btc-border);
    font-size: 1.1em;
}

.btc-prediction-result__math-status--correct {
    font-size: 0.75em;
    color: var(--btc-success);
}

.btc-prediction-result__math-status--incorrect {
    font-size: 0.75em;
    color: var(--btc-danger);
}

/* ============================================================================
   Score Prediction — probability bar segments
   ============================================================================ */
.btc-probability-bar {
    display: flex;
    border-radius: var(--btc-radius-xs);
    overflow: hidden;
    font-size: 0.8rem;
    font-weight: 600;
    color: #fff;
    text-align: center;
    line-height: 2.2;
}

.btc-probability-bar > div {
    padding: 2px 4px;
    min-width: 30px;
}

.btc-prob-segment--home {
    background: var(--btc-gradient-primary);
}

.btc-prob-segment--draw {
    background: linear-gradient(135deg, var(--btc-text-muted), #94a3b8);
}

.btc-prob-segment--away {
    background: linear-gradient(135deg, var(--btc-danger), var(--btc-danger-light));
}

.btc-score-prediction .btc-probability-bar {
    margin-top: 16px;
}

/* ============================================================================
   PREMIUM REDESIGN — Utility Classes & Enhanced Widget Styles
   ============================================================================ */

/* ── Player Photos ──────────────────────────────────────────────────────── */
.btc-player-photo {
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid var(--btc-border);
    background: var(--btc-bg-tertiary);
    transition: transform var(--btc-anim-fast) ease, box-shadow var(--btc-anim-fast) ease;
    flex-shrink: 0;
}
.btc-player-photo:hover {
    transform: scale(1.1);
    box-shadow: var(--btc-shadow-md);
}
.btc-player-photo--sm {
    width: var(--btc-player-photo-sm);
    height: var(--btc-player-photo-sm);
}
.btc-player-photo--md {
    width: var(--btc-player-photo-md);
    height: var(--btc-player-photo-md);
}
.btc-player-photo--lg {
    width: var(--btc-player-photo-lg);
    height: var(--btc-player-photo-lg);
}
.btc-player-photo-placeholder {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--btc-gradient-primary);
    color: #fff;
    font-weight: 700;
    font-size: 0.7rem;
    flex-shrink: 0;
}
.btc-player-photo-placeholder--sm {
    width: var(--btc-player-photo-sm);
    height: var(--btc-player-photo-sm);
    font-size: 0.6rem;
}
.btc-player-photo-placeholder--md {
    width: var(--btc-player-photo-md);
    height: var(--btc-player-photo-md);
    font-size: 0.7rem;
}
.btc-player-photo-placeholder--lg {
    width: var(--btc-player-photo-lg);
    height: var(--btc-player-photo-lg);
    font-size: 1rem;
}

/* ── Team Logo Inline ───────────────────────────────────────────────────── */
.btc-team-logo-inline {
    width: 20px;
    height: 20px;
    object-fit: contain;
    vertical-align: middle;
    margin-right: 6px;
    flex-shrink: 0;
}
.btc-team-logo-inline--lg {
    width: 28px;
    height: 28px;
}

/* ── CSS Tooltip System ─────────────────────────────────────────────────── */
.btc-tooltip-trigger {
    position: relative;
    cursor: help;
}
.btc-tooltip-trigger .btc-tooltip {
    position: absolute;
    bottom: calc(100% + 8px);
    left: 50%;
    transform: translateX(-50%);
    background: var(--btc-text);
    color: var(--btc-bg);
    font-size: 0.7rem;
    font-weight: 500;
    padding: 4px 10px;
    border-radius: var(--btc-radius-xs);
    white-space: nowrap;
    pointer-events: none;
    opacity: 0;
    transition: opacity var(--btc-anim-fast) ease;
    z-index: 100;
}
.btc-tooltip-trigger .btc-tooltip::after {
    content: '';
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    border: 5px solid transparent;
    border-top-color: var(--btc-text);
}
.btc-tooltip-trigger:hover .btc-tooltip {
    opacity: 1;
}

/* ── Expandable (Smooth Accordion) ──────────────────────────────────────── */
.btc-expandable {
    overflow: hidden;
    max-height: 0;
    transition: max-height var(--btc-anim-normal) ease-out;
}
.btc-expandable--open {
    max-height: 2000px;
    transition: max-height var(--btc-anim-slow) ease-in;
}

/* ── Scroll-triggered Animation ──────────────────────────────────────────── */
.btc-animate-in {
    opacity: 0;
    transform: translateY(16px);
    transition: opacity var(--btc-anim-normal) ease, transform var(--btc-anim-normal) ease;
}
.btc-animate-in--visible {
    opacity: 1;
    transform: translateY(0);
}

/* ── Glassmorphism ──────────────────────────────────────────────────────── */
.btc-glass {
    background: var(--btc-glass-bg);
    backdrop-filter: var(--btc-glass-blur);
    -webkit-backdrop-filter: var(--btc-glass-blur);
    border: 1px solid var(--btc-glass-border);
    border-radius: var(--btc-radius);
}

/* ── Shimmer / Skeleton Loader ──────────────────────────────────────────── */
@keyframes btcShimmer {
    0% { background-position: -200% 0; }
    100% { background-position: 200% 0; }
}
.btc-shimmer {
    background: linear-gradient(90deg, var(--btc-bg-tertiary) 25%, var(--btc-bg-secondary) 50%, var(--btc-bg-tertiary) 75%);
    background-size: 200% 100%;
    animation: btcShimmer 1.5s ease-in-out infinite;
    border-radius: var(--btc-radius-xs);
}

/* ── Overlay / Popup Backdrop ───────────────────────────────────────────── */
.btc-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.5);
    backdrop-filter: blur(4px);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 9999;
    opacity: 0;
    transition: opacity var(--btc-anim-normal) ease;
    pointer-events: none;
}
.btc-overlay--active {
    opacity: 1;
    pointer-events: auto;
}
.btc-overlay__content {
    background: var(--btc-surface);
    border-radius: var(--btc-radius);
    box-shadow: var(--btc-shadow-lg);
    padding: 24px;
    max-width: 480px;
    width: 90%;
    max-height: 80vh;
    overflow-y: auto;
}

/* ── SVG Confidence Ring ────────────────────────────────────────────────── */
@keyframes btcRingFill {
    from { stroke-dashoffset: var(--btc-ring-circumference, 283); }
    to { stroke-dashoffset: var(--btc-ring-offset, 0); }
}
.btc-confidence-ring {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    position: relative;
}
.btc-confidence-ring svg {
    transform: rotate(-90deg);
}
.btc-confidence-ring__track {
    fill: none;
    stroke: var(--btc-border);
    stroke-width: 6;
}
.btc-confidence-ring__fill {
    fill: none;
    stroke-width: 6;
    stroke-linecap: round;
    transition: stroke-dashoffset 1s ease;
}
.btc-confidence-ring__label {
    position: absolute;
    font-weight: 700;
    font-size: 1.1rem;
    color: var(--btc-text);
}

/* ── Form Badge (W/D/L) ─────────────────────────────────────────────────── */
.btc-form-mini {
    display: inline-flex;
    gap: 3px;
    align-items: center;
}
.btc-form-mini__badge {
    width: 20px;
    height: 20px;
    border-radius: 4px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.6rem;
    font-weight: 700;
    color: #fff;
    line-height: 1;
}
.btc-form-mini__badge--w { background: var(--btc-success); }
.btc-form-mini__badge--d { background: var(--btc-warning); }
.btc-form-mini__badge--l { background: var(--btc-danger); }

/* ── Severity Indicator (Injuries) ──────────────────────────────────────── */
.btc-severity {
    display: inline-block;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    flex-shrink: 0;
}
.btc-severity--out { background: var(--btc-danger); }
.btc-severity--doubtful { background: var(--btc-warning); }
.btc-severity--minor { background: #eab308; }

/* ── Transfer Arrow ─────────────────────────────────────────────────────── */
.btc-transfer-flow {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.8rem;
    color: var(--btc-text-secondary);
}
.btc-transfer-flow__arrow {
    color: var(--btc-text-muted);
    font-size: 1rem;
}
.btc-transfer-flow__fee {
    font-weight: 700;
    color: var(--btc-success);
    background: var(--btc-success-bg);
    padding: 2px 8px;
    border-radius: var(--btc-radius-xs);
    font-size: 0.7rem;
}

/* ── Medal Ranking (Topscorers) ─────────────────────────────────────────── */
.btc-medal {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.7rem;
    font-weight: 800;
    flex-shrink: 0;
}
.btc-medal--gold { background: linear-gradient(135deg, #fbbf24, #f59e0b); color: #78350f; }
.btc-medal--silver { background: linear-gradient(135deg, #d1d5db, #9ca3af); color: #374151; }
.btc-medal--bronze { background: linear-gradient(135deg, #d97706, #b45309); color: #fff; }

/* ── Goal Diff Bar (Standings) ──────────────────────────────────────────── */
.btc-goal-diff-bar {
    display: inline-flex;
    align-items: center;
    gap: 4px;
}
.btc-goal-diff-bar__bar {
    height: 6px;
    border-radius: 3px;
    min-width: 4px;
    max-width: 50px;
}
.btc-goal-diff-bar__bar--pos { background: var(--btc-success); }
.btc-goal-diff-bar__bar--neg { background: var(--btc-danger); }

/* ── Pulse Animation (Value-Bet) ────────────────────────────────────────── */
@keyframes btcPulse {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.05); }
}
.btc-pulse {
    animation: btcPulse 2s ease-in-out infinite;
}

/* ── VS Shield (Score Prediction) ───────────────────────────────────────── */
.btc-vs-shield {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    background: var(--btc-gradient-primary);
    color: #fff;
    font-weight: 800;
    font-size: 0.75rem;
    border-radius: 50%;
    box-shadow: var(--btc-shadow-md);
    flex-shrink: 0;
}

/* ── Sparkle Animation (MOTM) ───────────────────────────────────────────── */
@keyframes btcSparkle {
    0%, 100% { opacity: 1; transform: scale(1); }
    50% { opacity: 0.6; transform: scale(1.2); }
}
.btc-sparkle {
    animation: btcSparkle 1.5s ease-in-out infinite;
}

/* ── Animated Fill (Probability Bars scroll-in) ──────────────────────────── */
@keyframes btcBarFill {
    from { width: 0; }
    to { width: var(--btc-bar-target-width, 100%); }
}
.btc-bar-animate {
    animation: btcBarFill 0.8s ease-out forwards;
}

/* ── Timeline (Match Events) ────────────────────────────────────────────── */
.btc-timeline {
    position: relative;
    padding: 0;
    list-style: none;
    margin: 0;
}
.btc-timeline::before {
    content: '';
    position: absolute;
    left: 50%;
    top: 0;
    bottom: 0;
    width: 2px;
    background: var(--btc-border);
    transform: translateX(-50%);
}
.btc-timeline__item {
    display: flex;
    align-items: center;
    padding: 8px 0;
    position: relative;
}
.btc-timeline__item--home {
    flex-direction: row;
    padding-right: calc(50% + 20px);
    text-align: right;
}
.btc-timeline__item--away {
    flex-direction: row-reverse;
    padding-left: calc(50% + 20px);
    text-align: left;
}
.btc-timeline__dot {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: var(--btc-primary);
    border: 2px solid var(--btc-surface);
    z-index: 2;
}
.btc-timeline__dot--goal { background: var(--btc-success); }
.btc-timeline__dot--card { background: var(--btc-warning); }
.btc-timeline__dot--red { background: var(--btc-danger); }
.btc-timeline__dot--sub { background: var(--btc-primary-light); }
.btc-timeline__minute {
    font-size: 0.7rem;
    font-weight: 700;
    color: var(--btc-text-muted);
    min-width: 32px;
    text-align: center;
    background: var(--btc-bg-tertiary);
    border-radius: var(--btc-radius-xs);
    padding: 2px 6px;
}
.btc-timeline__content {
    flex: 1;
    padding: 0 12px;
    font-size: 0.82rem;
}
.btc-timeline__player {
    font-weight: 600;
    color: var(--btc-text);
}
.btc-timeline__detail {
    font-size: 0.75rem;
    color: var(--btc-text-secondary);
}

/* ── Pitch Diagram (Lineup) ─────────────────────────────────────────────── */
.btc-pitch {
    position: relative;
    width: 100%;
    padding-bottom: 140%;
    background: linear-gradient(180deg, var(--btc-pitch-bg) 0%, var(--btc-pitch-bg-dark) 100%);
    border-radius: var(--btc-radius);
    overflow: hidden;
    margin: 12px 0;
}
/* Pitch markings via pseudo-elements */
.btc-pitch::before {
    content: '';
    position: absolute;
    inset: 6%;
    border: 2px solid var(--btc-pitch-line);
    border-radius: 2px;
    z-index: 1;
}
.btc-pitch::after {
    content: '';
    position: absolute;
    left: 50%;
    top: 6%;
    bottom: 6%;
    width: 0;
    border-left: 2px solid var(--btc-pitch-line);
    transform: translateX(-50%);
    z-index: 0;
}
/* Center circle */
.btc-pitch__center-circle {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 22%;
    height: 0;
    padding-bottom: 22%;
    transform: translate(-50%, -50%);
    border: 2px solid var(--btc-pitch-line);
    border-radius: 50%;
    z-index: 1;
}
/* Penalty areas */
.btc-pitch__penalty-area {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    width: 50%;
    height: 16%;
    border: 2px solid var(--btc-pitch-line);
    z-index: 1;
}
.btc-pitch__penalty-area--top { top: 6%; }
.btc-pitch__penalty-area--bottom { bottom: 6%; }
/* Goal areas */
.btc-pitch__goal-area {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    width: 25%;
    height: 7%;
    border: 2px solid var(--btc-pitch-line);
    z-index: 1;
}
.btc-pitch__goal-area--top { top: 6%; }
.btc-pitch__goal-area--bottom { bottom: 6%; }
/* Halfway line */
.btc-pitch__halfway {
    position: absolute;
    top: 50%;
    left: 6%;
    right: 6%;
    height: 0;
    border-top: 2px solid var(--btc-pitch-line);
    z-index: 1;
}
/* Player badges on pitch */
.btc-pitch__player {
    position: absolute;
    display: flex;
    flex-direction: column;
    align-items: center;
    transform: translate(-50%, -50%);
    z-index: 5;
    cursor: default;
    transition: transform var(--btc-anim-fast) ease;
}
.btc-pitch__player:hover {
    transform: translate(-50%, -50%) scale(1.1);
    z-index: 10;
}
.btc-pitch__player-badge {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    overflow: hidden;
    border: 2px solid rgba(255,255,255,0.8);
    box-shadow: 0 2px 8px rgba(0,0,0,0.3);
    position: relative;
    background: var(--btc-pitch-player-home);
}
.btc-pitch__player--away .btc-pitch__player-badge {
    background: var(--btc-pitch-player-away);
}
.btc-pitch__player-badge img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.btc-pitch__player-number {
    position: absolute;
    bottom: -2px;
    right: -2px;
    background: rgba(0,0,0,0.75);
    color: #fff;
    font-size: 0.55rem;
    font-weight: 700;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
}
.btc-pitch__player-name {
    margin-top: 3px;
    font-size: 0.6rem;
    font-weight: 600;
    color: #fff;
    text-shadow: 0 1px 3px rgba(0,0,0,0.6);
    max-width: 70px;
    text-align: center;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
/* Pitch header bar */
.btc-pitch-header {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 4px;
}
.btc-pitch-header__team {
    font-weight: 700;
    font-size: 0.9rem;
    color: var(--btc-text);
}
.btc-pitch-header__formation {
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--btc-primary);
    background: var(--btc-primary);
    background: rgba(37,99,235,0.1);
    padding: 2px 10px;
    border-radius: 999px;
}
.btc-pitch-header__coach {
    font-size: 0.75rem;
    color: var(--btc-text-secondary);
    margin-left: auto;
}

/* ── Standings Premium ──────────────────────────────────────────────────── */
.btc-standings-premium .btc-table {
    border-collapse: separate;
    border-spacing: 0 2px;
}
.btc-standings-premium .btc-table th {
    font-size: 0.68rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--btc-text-muted);
    padding: 6px 8px;
    border-bottom: 2px solid var(--btc-border);
    white-space: nowrap;
}
.btc-standings-premium .btc-table td {
    padding: 8px;
    font-size: 0.82rem;
    vertical-align: middle;
    border-bottom: 1px solid var(--btc-border-light);
}
.btc-standings-premium .btc-table tr:last-child td {
    border-bottom: none;
}
.btc-standings-zone-indicator {
    width: 4px;
    border-radius: 2px;
    height: 100%;
    min-height: 32px;
}
.btc-standings__team-cell {
    display: flex;
    align-items: center;
    gap: 8px;
    font-weight: 500;
    white-space: nowrap;
}
.btc-standings__pos {
    font-weight: 700;
    color: var(--btc-text-muted);
    min-width: 22px;
    text-align: center;
}
.btc-standings__points {
    font-weight: 800;
    color: var(--btc-text);
}
/* Standings Legend */
.btc-standings-legend {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 12px;
    padding-top: 10px;
    border-top: 1px solid var(--btc-border-light);
}
.btc-standings-legend__item {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 0.7rem;
    color: var(--btc-text-secondary);
}
.btc-standings-legend__dot {
    width: 10px;
    height: 10px;
    border-radius: 3px;
    flex-shrink: 0;
}

/* ── Prediction Premium ─────────────────────────────────────────────────── */
.btc-prediction-premium {
    text-align: center;
}
.btc-prediction-premium .btc-prediction-tip-row {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    margin: 16px 0;
}
.btc-prediction-premium .btc-prediction-tip-value {
    font-size: 1.8rem;
    font-weight: 900;
    background: var(--btc-gradient-success);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

/* ── Score Prediction Premium ───────────────────────────────────────────── */
.btc-score-prediction-premium {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
    padding: 20px 0;
}
.btc-score-prediction-premium__team {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
}
.btc-score-prediction-premium__team img {
    width: 56px;
    height: 56px;
    object-fit: contain;
}
.btc-score-prediction-premium__team span {
    font-size: 0.75rem;
    color: var(--btc-text-secondary);
    font-weight: 500;
    max-width: 90px;
    text-align: center;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.btc-score-prediction-premium__score {
    font-size: 2.2rem;
    font-weight: 900;
    background: var(--btc-gradient-primary);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    letter-spacing: 2px;
}

/* ── Value-Bet Premium ──────────────────────────────────────────────────── */
.btc-value-badge {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 0.65rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    padding: 3px 10px;
    border-radius: 999px;
}
.btc-value-badge--strong {
    background: var(--btc-success);
    color: #fff;
}
.btc-value-badge--moderate {
    background: var(--btc-warning);
    color: #fff;
}
.btc-value-badge--marginal {
    background: var(--btc-bg-tertiary);
    color: var(--btc-text-secondary);
}
.btc-edge-bar {
    height: 8px;
    border-radius: 4px;
    background: var(--btc-bg-tertiary);
    overflow: hidden;
    margin: 6px 0;
}
.btc-edge-bar__fill {
    height: 100%;
    border-radius: 4px;
    background: var(--btc-gradient-success);
    transition: width 0.8s ease;
}

/* ── Model Card (Math Analysis) ─────────────────────────────────────────── */
.btc-model-cards {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 10px;
    margin: 12px 0;
}
.btc-model-card {
    background: var(--btc-bg-secondary);
    border: 1px solid var(--btc-border-light);
    border-radius: var(--btc-radius-sm);
    padding: 12px;
    transition: box-shadow var(--btc-anim-fast) ease;
}
.btc-model-card:hover {
    box-shadow: var(--btc-shadow-md);
}
.btc-model-card__name {
    font-size: 0.75rem;
    font-weight: 700;
    color: var(--btc-text);
    margin-bottom: 4px;
}
.btc-model-card__weight {
    font-size: 0.65rem;
    color: var(--btc-text-muted);
}
.btc-model-card__prediction {
    font-size: 1rem;
    font-weight: 800;
    color: var(--btc-primary);
    margin-top: 6px;
}
.btc-model-card__weight-bar {
    height: 4px;
    border-radius: 2px;
    background: var(--btc-bg-tertiary);
    margin-top: 8px;
    overflow: hidden;
}
.btc-model-card__weight-fill {
    height: 100%;
    background: var(--btc-gradient-primary);
    border-radius: 2px;
}

/* ── Ensemble Stacked Bar ───────────────────────────────────────────────── */
.btc-ensemble-bar {
    display: flex;
    border-radius: var(--btc-radius-xs);
    overflow: hidden;
    height: 32px;
    margin: 10px 0;
}
.btc-ensemble-bar__segment {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.65rem;
    font-weight: 700;
    color: #fff;
    min-width: 30px;
    transition: flex-grow var(--btc-anim-normal) ease;
}
.btc-ensemble-bar__segment--home { background: var(--btc-primary); }
.btc-ensemble-bar__segment--draw { background: var(--btc-text-muted); }
.btc-ensemble-bar__segment--away { background: var(--btc-danger); }

/* ── MOTM Premium ───────────────────────────────────────────────────────── */
.btc-motm-premium {
    text-align: center;
    padding: 24px 20px;
}
.btc-motm-premium__photo {
    width: 88px;
    height: 88px;
    border-radius: 50%;
    object-fit: cover;
    border: 3px solid var(--btc-warning);
    box-shadow: 0 0 20px rgba(217,119,6,0.3);
    margin-bottom: 12px;
}
.btc-motm-premium__name {
    font-size: 1.1rem;
    font-weight: 800;
    color: var(--btc-text);
}
.btc-motm-premium__rating {
    font-size: 1.6rem;
    font-weight: 900;
    background: var(--btc-gradient-warning);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    margin-top: 4px;
}
.btc-motm-premium__team {
    font-size: 0.8rem;
    color: var(--btc-text-secondary);
    margin-top: 4px;
}
.btc-motm-premium__star {
    color: #f59e0b;
    font-size: 1.2rem;
}

/* ── Player Ratings Groups ──────────────────────────────────────────────── */
.btc-ratings-group {
    margin-bottom: 14px;
}
.btc-ratings-group__title {
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--btc-text-muted);
    margin-bottom: 6px;
    padding-bottom: 4px;
    border-bottom: 1px solid var(--btc-border-light);
}
.btc-rating-row {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 5px 0;
}
.btc-rating-row__name {
    flex: 1;
    font-size: 0.82rem;
    font-weight: 500;
}
.btc-rating-row__value {
    font-size: 0.8rem;
    font-weight: 700;
    min-width: 32px;
    text-align: center;
    padding: 2px 8px;
    border-radius: var(--btc-radius-xs);
}
.btc-rating-row__value--high { background: var(--btc-success-bg); color: var(--btc-success); }
.btc-rating-row__value--mid { background: var(--btc-warning-bg); color: var(--btc-warning); }
.btc-rating-row__value--low { background: var(--btc-danger-bg); color: var(--btc-danger); }

/* ── Match Stats Animated Bars ──────────────────────────────────────────── */
.btc-stat-bar-row {
    margin-bottom: 10px;
}
.btc-stat-bar-row__label {
    display: flex;
    justify-content: space-between;
    font-size: 0.78rem;
    margin-bottom: 4px;
}
.btc-stat-bar-row__label span:first-child,
.btc-stat-bar-row__label span:last-child {
    font-weight: 700;
}
.btc-stat-bar-row__label span:nth-child(2) {
    font-size: 0.72rem;
    color: var(--btc-text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.03em;
}
.btc-stat-bar-row__track {
    display: flex;
    height: 8px;
    border-radius: 4px;
    overflow: hidden;
    background: var(--btc-bg-tertiary);
}
.btc-stat-bar-row__fill--home {
    background: var(--btc-primary);
    border-radius: 4px 0 0 4px;
    transition: width 0.8s ease;
}
.btc-stat-bar-row__fill--away {
    background: var(--btc-danger);
    border-radius: 0 4px 4px 0;
    margin-left: auto;
    transition: width 0.8s ease;
}
.btc-stat-bar-row .btc-stat-winner {
    font-weight: 800;
    color: var(--btc-text);
}

/* ── Final Score Premium ────────────────────────────────────────────────── */
.btc-final-score-premium {
    text-align: center;
    padding: 20px 0;
}
.btc-final-score-premium__teams {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 24px;
}
.btc-final-score-premium__team {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
}
.btc-final-score-premium__team img {
    width: 56px;
    height: 56px;
    object-fit: contain;
}
.btc-final-score-premium__team span {
    font-size: 0.78rem;
    font-weight: 600;
    color: var(--btc-text-secondary);
}
.btc-final-score-premium__result {
    font-size: 2.5rem;
    font-weight: 900;
    color: var(--btc-text);
    letter-spacing: 4px;
}
.btc-final-score-premium__scorer {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 0.78rem;
    color: var(--btc-text-secondary);
    justify-content: center;
    margin-top: 2px;
}

/* ── xG Comparison Premium ──────────────────────────────────────────────── */
.btc-xg-visual {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin: 16px 0;
}
.btc-xg-visual__team {
    text-align: center;
    flex: 1;
}
.btc-xg-visual__value {
    font-size: 1.8rem;
    font-weight: 900;
}
.btc-xg-visual__label {
    font-size: 0.7rem;
    color: var(--btc-text-muted);
    margin-top: 2px;
}
.btc-xg-visual__vs {
    font-size: 0.75rem;
    font-weight: 700;
    color: var(--btc-text-muted);
}
.btc-xg-bar {
    display: flex;
    height: 12px;
    border-radius: 6px;
    overflow: hidden;
    background: var(--btc-bg-tertiary);
    margin: 12px 0;
}
.btc-xg-bar__home {
    background: var(--btc-primary);
    transition: width 0.8s ease;
}
.btc-xg-bar__away {
    background: var(--btc-danger);
    margin-left: auto;
    transition: width 0.8s ease;
}

/* ── Responsive Overrides for Premium Widgets ───────────────────────────── */
@media (max-width: 768px) {
    .btc-pitch__player-badge { width: 36px; height: 36px; }
    .btc-pitch__player-number { width: 14px; height: 14px; font-size: 0.5rem; }
    .btc-pitch__player-name { font-size: 0.52rem; max-width: 56px; }
    .btc-model-cards { grid-template-columns: 1fr 1fr; }
    .btc-score-prediction-premium { gap: 12px; }
    .btc-score-prediction-premium__score { font-size: 1.8rem; }
    .btc-final-score-premium__result { font-size: 2rem; }
    .btc-timeline__item--home { padding-right: calc(50% + 12px); }
    .btc-timeline__item--away { padding-left: calc(50% + 12px); }
}
@media (max-width: 480px) {
    .btc-pitch__player-badge { width: 30px; height: 30px; }
    .btc-pitch__player-name { display: none; }
    .btc-pitch__player-number { width: 12px; height: 12px; font-size: 0.45rem; }
    .btc-model-cards { grid-template-columns: 1fr; }
    .btc-score-prediction-premium__team img { width: 40px; height: 40px; }
    .btc-score-prediction-premium__score { font-size: 1.4rem; }
    .btc-final-score-premium__teams { gap: 12px; }
    .btc-final-score-premium__team img { width: 40px; height: 40px; }
    .btc-final-score-premium__result { font-size: 1.6rem; }
    .btc-standings-premium .btc-table td { padding: 6px 4px; font-size: 0.75rem; }
    .btc-standings-premium .btc-table th { padding: 4px; font-size: 0.6rem; }
    .btc-form-mini__badge { width: 16px; height: 16px; font-size: 0.5rem; }
    .btc-timeline::before { left: 24px; }
    .btc-timeline__item--home { padding-right: 0; padding-left: 44px; text-align: left; flex-direction: row; }
    .btc-timeline__item--away { padding-left: 44px; padding-right: 0; flex-direction: row; }
    .btc-timeline__dot { left: 24px; }
}

/* ============================================================================
   Tips Overview — Grid, List, Cards, Pagination
   ============================================================================ */

/* ── Empty State ────────────────────────────────────────────────────────── */
.btc-tips-empty {
    background: var(--btc-bg-secondary);
    border: 1px dashed var(--btc-border);
    border-radius: var(--btc-radius);
    padding: 40px 20px;
    text-align: center;
    color: var(--btc-text-muted);
    font-size: 0.95rem;
    margin: 16px 0;
}

/* ── Tips Overview: CSS Isolation Wrapper ───────────────────────────────
   Prevents ANY WordPress theme, page-builder, or plugin CSS from leaking
   into our tips widgets. All tips output is wrapped in .btc-tips-wrap.
   The .alignwide class uses WP block-theme's wide-size for proper width.
   ────────────────────────────────────────────────────────────────────── */
.btc-tips-wrap {
    max-width: var(--wp--style--global--wide-size, 1200px) !important;
    width: 100%;
    margin-left: auto !important;
    margin-right: auto !important;
    overflow: hidden;
    /* Reset theme typography so cards never inherit 22px/33px etc. */
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
    font-size: 16px;
    line-height: 1.5;
    color: var(--btc-text, #0f172a);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
/* Box-sizing reset for everything inside the wrapper */
.btc-tips-wrap,
.btc-tips-wrap *,
.btc-tips-wrap *::before,
.btc-tips-wrap *::after {
    box-sizing: border-box;
}
/* Image reset — WP themes set display:block, border, shadow on all imgs */
.btc-tips-wrap img {
    display: inline-block;
    max-width: 100%;
    height: auto;
    border: 0;
    box-shadow: none;
    margin: 0;
    padding: 0;
    vertical-align: middle;
    border-radius: 0;
}
/* Link reset — WP themes add underline, color, box-shadow on all links */
.btc-tips-wrap a,
.btc-tips-wrap a:link,
.btc-tips-wrap a:visited {
    color: inherit;
    text-decoration: none;
    box-shadow: none;
    outline: none;
    border-bottom: 0;
    background: none;
}
.btc-tips-wrap a:hover,
.btc-tips-wrap a:focus,
.btc-tips-wrap a:active {
    text-decoration: none;
    box-shadow: none;
    outline: none;
}
/* List reset — WP themes add padding, margin, bullets to ul/ol/li */
.btc-tips-wrap ul,
.btc-tips-wrap ol {
    list-style: none;
    padding: 0;
    margin: 0;
}
.btc-tips-wrap li {
    padding: 0;
    margin: 0;
    list-style: none;
}
/* Paragraph reset */
.btc-tips-wrap p {
    margin: 0;
    padding: 0;
    font-size: inherit;
    line-height: inherit;
}
/* Span/div reset — prevent theme font-size overrides */
.btc-tips-wrap span,
.btc-tips-wrap div {
    font-size: inherit;
    line-height: inherit;
}

/* ── Tips Grid ──────────────────────────────────────────────────────────── */
.btc-tips-grid {
    display: grid;
    gap: 20px;
    margin: 16px 0;
}
.btc-tips-grid[data-columns="1"] { grid-template-columns: minmax(0, 1fr); }
.btc-tips-grid[data-columns="2"] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.btc-tips-grid[data-columns="3"] { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.btc-tips-grid[data-columns="4"] { grid-template-columns: repeat(4, minmax(0, 1fr)); }

@media (max-width: 768px) {
    .btc-tips-grid[data-columns="3"],
    .btc-tips-grid[data-columns="4"] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 480px) {
    .btc-tips-grid { grid-template-columns: minmax(0, 1fr) !important; }
}

/* ── Tips Card ──────────────────────────────────────────────────────────── */
.btc-tips-card {
    background: var(--btc-surface);
    border: 1px solid var(--btc-border);
    border-radius: var(--btc-radius);
    padding: 20px;
    box-shadow: var(--btc-shadow);
    display: flex;
    flex-direction: column;
    gap: 12px;
    transition: transform var(--btc-transition), box-shadow var(--btc-transition);
    min-width: 0;       /* Prevent grid blowout from long content */
    overflow: hidden;   /* Clip any overflowing children */
}
.btc-tips-card:hover {
    transform: translateY(-2px);
    box-shadow: var(--btc-shadow-md);
}

.btc-tips-card__header {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.btc-tips-card__league {
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--btc-primary);
    background: var(--btc-bg-tertiary);
    padding: 2px 8px;
    border-radius: 4px;
}
.btc-tips-card__time {
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--btc-text-secondary);
}

.btc-tips-card__teams {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    padding: 8px 0;
}
.btc-tips-card__logo {
    width: 40px;
    height: 40px;
    object-fit: contain;
}
.btc-tips-card__vs {
    font-size: 0.8rem;
    font-weight: 700;
    color: var(--btc-text-muted);
    text-transform: uppercase;
}
.btc-tips-card__team-names {
    display: flex;
    justify-content: space-between;
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--btc-text);
    text-align: center;
}
.btc-tips-card__team-names span {
    flex: 1;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.btc-tips-card__tip {
    text-align: center;
    font-size: 0.85rem;
}
.btc-tips-card__tip-label {
    color: var(--btc-text-muted);
    margin-right: 4px;
}
.btc-tips-card__tip-value {
    font-weight: 700;
    color: var(--btc-primary);
}

.btc-tips-card__confidence {
    display: flex;
    align-items: center;
    gap: 8px;
}
.btc-tips-card__confidence-bar {
    flex: 1;
    height: 6px;
    background: var(--btc-bg-tertiary);
    border-radius: 3px;
    overflow: hidden;
}
.btc-tips-card__confidence-fill {
    height: 100%;
    background: var(--btc-gradient-primary);
    border-radius: 3px;
    transition: width 0.8s ease;
}
.btc-tips-card__confidence-pct {
    font-size: 0.8rem;
    font-weight: 700;
    color: var(--btc-primary);
    min-width: 36px;
    text-align: right;
}

.btc-tips-card__odds {
    font-size: 0.8rem;
    color: var(--btc-text-secondary);
    text-align: center;
}
.btc-tips-card__odds strong {
    color: var(--btc-success);
}

.btc-tips-wrap a.btc-tips-card__action,
.btc-tips-wrap a.btc-tips-card__action:link,
.btc-tips-wrap a.btc-tips-card__action:visited {
    display: block;
    text-align: center;
    padding: 8px 16px;
    background: var(--btc-gradient-primary);
    color: #fff !important;
    font-size: 0.85rem;
    font-weight: 600;
    border-radius: var(--btc-radius-sm);
    text-decoration: none;
    transition: opacity var(--btc-transition);
    margin-top: auto;
}
.btc-tips-wrap a.btc-tips-card__action:hover,
.btc-tips-wrap a.btc-tips-card__action:focus {
    opacity: 0.9;
    text-decoration: none;
    color: #fff !important;
}

/* ── Tips List ──────────────────────────────────────────────────────────── */
.btc-tips-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin: 16px 0;
}
.btc-tips-list-item {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 14px 20px;
    background: var(--btc-surface);
    border: 1px solid var(--btc-border);
    border-radius: var(--btc-radius-sm);
    box-shadow: var(--btc-shadow-sm);
    transition: box-shadow var(--btc-transition);
    min-width: 0;
    overflow: hidden;
}
.btc-tips-list-item:hover {
    box-shadow: var(--btc-shadow);
}

.btc-tips-list-item__teams {
    display: flex;
    align-items: center;
    gap: 8px;
    flex: 1;
    min-width: 0;
}
.btc-tips-list-item__logo {
    width: 28px;
    height: 28px;
    object-fit: contain;
    flex-shrink: 0;
}
.btc-tips-list-item__matchup {
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--btc-text);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.btc-tips-list-item__info {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-shrink: 0;
}
.btc-tips-list-item__tip {
    font-size: 0.85rem;
    color: var(--btc-primary);
    font-weight: 600;
}
.btc-tips-list-item__conf {
    font-size: 0.8rem;
    font-weight: 700;
    color: var(--btc-primary);
    background: var(--btc-bg-tertiary);
    padding: 2px 6px;
    border-radius: 4px;
}
.btc-tips-list-item__odds {
    font-size: 0.8rem;
    color: var(--btc-text-secondary);
}

.btc-tips-list-item__meta {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 2px;
    flex-shrink: 0;
}
.btc-tips-list-item__time {
    font-size: 0.85rem;
    font-weight: 700;
    color: var(--btc-text);
}
.btc-tips-list-item__date {
    font-size: 0.75rem;
    color: var(--btc-text-muted);
}

.btc-tips-wrap a.btc-tips-list-item__action,
.btc-tips-wrap a.btc-tips-list-item__action:link,
.btc-tips-wrap a.btc-tips-list-item__action:visited {
    padding: 6px 14px;
    background: var(--btc-gradient-primary);
    color: #fff !important;
    font-size: 0.8rem;
    font-weight: 600;
    border-radius: var(--btc-radius-xs);
    text-decoration: none;
    white-space: nowrap;
    flex-shrink: 0;
    transition: opacity var(--btc-transition);
}
.btc-tips-wrap a.btc-tips-list-item__action:hover,
.btc-tips-wrap a.btc-tips-list-item__action:focus {
    opacity: 0.9;
    text-decoration: none;
    color: #fff !important;
}

@media (max-width: 768px) {
    .btc-tips-list-item {
        flex-wrap: wrap;
        gap: 8px;
        padding: 12px 16px;
    }
    .btc-tips-list-item__teams { flex: 1 1 100%; }
    .btc-tips-list-item__info { flex: 1 1 auto; }
    .btc-tips-list-item__meta { flex-direction: row; gap: 8px; }
    .btc-tips-list-item__action { width: 100%; text-align: center; }
}

/* ── Tips Pagination ────────────────────────────────────────────────────── */
.btc-tips-pagination {
    margin: 24px 0;
    display: flex;
    justify-content: center;
}
.btc-tips-pagination ul {
    list-style: none;
    display: flex;
    gap: 4px;
    padding: 0;
    margin: 0;
}
.btc-tips-pagination li {
    margin: 0;
}
.btc-tips-wrap .btc-tips-pagination a,
.btc-tips-wrap .btc-tips-pagination a:link,
.btc-tips-wrap .btc-tips-pagination a:visited,
.btc-tips-wrap .btc-tips-pagination span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 36px;
    height: 36px;
    padding: 0 10px;
    border: 1px solid var(--btc-border);
    border-radius: var(--btc-radius-xs);
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--btc-text);
    background: var(--btc-surface);
    text-decoration: none;
    transition: background var(--btc-transition), border-color var(--btc-transition);
}
.btc-tips-wrap .btc-tips-pagination a:hover,
.btc-tips-wrap .btc-tips-pagination a:focus {
    background: var(--btc-bg-tertiary);
    border-color: var(--btc-primary);
    color: var(--btc-primary);
    text-decoration: none;
}
.btc-tips-wrap .btc-tips-pagination .current {
    background: var(--btc-primary);
    border-color: var(--btc-primary);
    color: #fff;
}
.btc-tips-wrap .btc-tips-pagination .dots {
    border: none;
    background: transparent;
    color: var(--btc-text-muted);
}

/* ── Tips: Tablet (768px) ──────────────────────────────────────────────── */
@media (max-width: 768px) {
    .btc-tips-wrap {
        max-width: 100% !important;
    }
    .btc-tips-card {
        padding: 16px;
        gap: 10px;
    }
    .btc-tips-card__logo {
        width: 32px;
        height: 32px;
    }
    .btc-tips-card__teams {
        gap: 12px;
    }
    .btc-tips-card__team-names {
        font-size: 0.8rem;
    }
    .btc-tips-pagination ul {
        flex-wrap: wrap;
        justify-content: center;
    }
}

/* ── Tips: Mobile (480px) ─────────────────────────────────────────────── */
@media (max-width: 480px) {
    .btc-tips-wrap {
        max-width: 100% !important;
        overflow: hidden;
    }
    .btc-tips-grid {
        gap: 12px;
        margin: 12px 0;
    }
    .btc-tips-card {
        padding: 12px;
        gap: 8px;
    }
    .btc-tips-card__header {
        gap: 4px;
    }
    .btc-tips-card__league {
        font-size: 0.65rem;
        padding: 2px 6px;
        max-width: 60%;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
    .btc-tips-card__time {
        font-size: 0.75rem;
        flex-shrink: 0;
    }
    .btc-tips-card__teams {
        gap: 8px;
        padding: 4px 0;
    }
    .btc-tips-card__logo {
        width: 28px;
        height: 28px;
    }
    .btc-tips-card__vs {
        font-size: 0.7rem;
    }
    .btc-tips-card__team-names {
        font-size: 0.75rem;
        gap: 4px;
    }
    .btc-tips-card__team-names span {
        min-width: 0;
    }
    .btc-tips-card__tip {
        font-size: 0.8rem;
    }
    .btc-tips-card__confidence {
        gap: 6px;
    }
    .btc-tips-card__confidence-pct {
        font-size: 0.75rem;
        min-width: 30px;
    }
    .btc-tips-card__odds {
        font-size: 0.75rem;
    }
    .btc-tips-wrap a.btc-tips-card__action,
    .btc-tips-wrap a.btc-tips-card__action:link {
        padding: 8px 12px;
        font-size: 0.8rem;
    }

    /* List mobile */
    .btc-tips-list {
        gap: 6px;
        margin: 12px 0;
    }
    .btc-tips-list-item {
        padding: 10px 12px;
        gap: 6px;
    }
    .btc-tips-list-item__logo {
        width: 22px;
        height: 22px;
    }
    .btc-tips-list-item__matchup {
        font-size: 0.8rem;
    }
    .btc-tips-list-item__tip {
        font-size: 0.75rem;
    }
    .btc-tips-list-item__conf {
        font-size: 0.7rem;
        padding: 1px 5px;
    }
    .btc-tips-list-item__time {
        font-size: 0.8rem;
    }
    .btc-tips-list-item__date {
        font-size: 0.7rem;
    }
    .btc-tips-wrap a.btc-tips-list-item__action,
    .btc-tips-wrap a.btc-tips-list-item__action:link {
        padding: 6px 10px;
        font-size: 0.75rem;
    }

    /* Pagination mobile */
    .btc-tips-wrap .btc-tips-pagination a,
    .btc-tips-wrap .btc-tips-pagination span {
        min-width: 32px;
        height: 32px;
        padding: 0 8px;
        font-size: 0.8rem;
    }
    .btc-tips-pagination {
        margin: 16px 0;
    }

    /* Empty state mobile */
    .btc-tips-empty {
        padding: 20px 12px;
    }
}

/* ── Dark Mode Overrides ────────────────────────────────────────────────── */
.btc-theme-dark .btc-tips-card__league {
    background: rgba(255,255,255,0.08);
}
.btc-theme-dark .btc-tips-empty {
    background: var(--btc-bg-secondary);
    border-color: var(--btc-border);
}
