        body { background-color: #020617; color: white; font-family: 'Oswald', 'Noto Sans Bengali', sans-serif; overflow-x: hidden; touch-action: manipulation; }
        .font-score { font-family: 'Teko', sans-serif; }
        .font-text { font-family: 'Oswald', sans-serif; }
        .font-bangla { font-family: 'Noto Sans Bengali', sans-serif; }

        /* Force transparent overlay */
        body.overlay-mode { background-color: transparent !important; }
        #view-overlay { background-color: transparent; }

        /* --- TV STRIP LAYOUT --- */
        .tv-strip-container {
            display: flex; align-items: stretch; height: 80px; width: 98%; max-width: 1100px;
            font-family: 'Oswald', sans-serif; 
            margin: 0 auto 30px auto;
            background: rgba(15, 23, 42, 0.95);
            backdrop-filter: blur(12px);
            border: 1px solid rgba(255,255,255,0.1);
            border-radius: 12px;
            box-shadow: 0 15px 50px rgba(0,0,0,0.7);
            color: white;
            padding: 0 1.5rem;
            position: relative;
            transition: all 0.3s ease;
        }

        .bd-sep { width: 1px; background: rgba(255,255,255,0.1); margin: 16px 0; }

        /* Section 1: Match Info */
        .bd-strip-match-info {
            display: flex; flex-direction: column; align-items: center; justify-content: center;
            padding-right: 2rem;
            min-width: 120px;
        }
        .bd-team-name { font-weight: 700; font-size: 1.5rem; line-height: 1; text-transform: uppercase; letter-spacing: 0.5px; font-family: 'Teko', sans-serif; text-shadow: 0 2px 4px rgba(0,0,0,0.5); }
        .bd-vs { font-size: 0.75rem; color: #64748b; font-weight: bold; text-transform: uppercase; margin: 4px 0; }

        /* Section 2: Batsmen */
        .bd-strip-batsmen { flex: 1; display: flex; flex-direction: column; justify-content: center; padding: 0 2rem; }
        .bd-bat-row { display: flex; justify-content: space-between; align-items: center; width: 100%; height: 50%; padding: 0 4px; }
        .bd-bat-name { font-weight: 600; text-transform: uppercase; font-size: 1.1rem; color: white; letter-spacing: 0.5px; }
        .bd-bat-runs { font-family: 'Teko'; font-size: 1.6rem; font-weight: 500; color: #facc15; display: flex; align-items: baseline; }
        .player-out .bd-bat-name { text-decoration: line-through; opacity: 0.7; }

        /* Section 3: Score */
        .bd-strip-score { 
            display: flex; flex-direction: column; align-items: center; justify-content: center; 
            padding: 0 2.5rem; 
            background: linear-gradient(180deg, rgba(255,255,255,0.05) 0%, rgba(255,255,255,0) 100%);
            border-radius: 8px;
            margin: 8px 0;
            min-width: 140px;
        }
        .bd-main-score { font-family: 'Teko'; font-size: 3.8rem; font-weight: 700; line-height: 0.85; color: white; text-shadow: 0 2px 10px rgba(0,0,0,0.5); margin-top: -4px; }
        .bd-overs-container { display: flex; align-items: baseline; gap: 8px; margin-top: 0px; }
        .bd-overs-val { font-family: 'Teko'; font-size: 1.5rem; font-weight: 500; color: #10b981; }

        /* Section 4: Bowler */
        .bd-strip-bowler { flex: 1; display: flex; flex-direction: column; justify-content: center; padding-left: 2rem; }
        .bd-bowl-row { display: flex; align-items: baseline; width: 100%; }
        .bd-bowl-name { font-weight: 700; text-transform: uppercase; font-size: 1.1rem; letter-spacing: 0.5px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
        .bd-bowl-fig { font-family: 'Teko'; font-size: 1.4rem; font-weight: 500; color: #94a3b8; }

        /* Timeline */
        .bd-timeline { display: flex; gap: 4px; align-items: center; margin-left: auto; }
        .timeline-ball { 
            font-size: 0.7rem; font-weight: 800; width: 20px; height: 20px; 
            display: flex; align-items: center; justify-content: center; 
            border-radius: 4px; /* Squared for modern look */
            background: rgba(255,255,255,0.1); 
            color: #94a3b8;
        }
        .ball-4 { background: #3b82f6; color: white; box-shadow: 0 2px 4px rgba(59, 130, 246, 0.4); }
        .ball-6 { background: #a855f7; color: white; box-shadow: 0 2px 4px rgba(168, 85, 247, 0.4); }
        .ball-w { background: #ef4444; color: white; box-shadow: 0 2px 4px rgba(239, 68, 68, 0.4); }
        .ball-dot { background: rgba(255,255,255,0.05); color: #64748b; }

        /* Result Overlay Global (Bdcast style) */
        .bd-strip-result-overlay {
            position: absolute; inset: 0;
            background: rgba(15, 23, 42, 0.98);
            backdrop-filter: blur(10px);
            border-radius: 12px;
            display: flex; align-items: center; justify-content: center;
            z-index: 50;
            font-family: 'Teko', sans-serif;
            font-size: 2.5rem;
            font-weight: 700;
            color: #facc15;
            text-transform: uppercase;
            animation: fadeIn 0.3s ease-out;
        }
        @keyframes fadeIn { from { opacity: 0; transform: scale(0.95); } to { opacity: 1; transform: scale(1); } }
        .bd-strip-result-overlay.hidden { display: none !important; }

        /* Ticker & Badges */
        .tournament-badge { position: absolute; top: -20px; left: 12px; background: #10b981; color: white; font-size: 0.7rem; font-weight: bold; padding: 2px 10px; border-radius: 4px 4px 0 0; text-transform: uppercase; font-family: 'Oswald'; letter-spacing: 1px; z-index: 1; box-shadow: 0 -2px 10px rgba(16, 185, 129, 0.3); }
        
        .ticker-strip { 
            position: absolute; bottom: -28px; left: 12px; right: 12px; 
            height: 28px; 
            background: #0f172a;
            border: 1px solid rgba(255,255,255,0.1); border-top: none;
            color: #fbbf24; 
            display: flex; align-items: center; overflow: hidden; 
            border-radius: 0 0 8px 8px; z-index: 0; 
            transition: bottom 0.3s ease;
            box-shadow: 0 10px 20px rgba(0,0,0,0.5);
        }
        .ticker-strip.stacked { bottom: -54px; }
        
        .stats-bar {
            position: absolute; bottom: -26px; left: 10px; right: 10px;
            height: 26px; 
            background: linear-gradient(90deg, #0f172a 0%, #1e293b 100%);
            color: white;
            display: flex; align-items: center; justify-content: center;
            border-bottom: 3px solid #334155; border-radius: 0 0 8px 8px; z-index: 1; /* Higher z-index than ticker */
            font-size: 0.8rem; font-weight: bold; text-transform: uppercase;
            box-shadow: 0 4px 6px rgba(0,0,0,0.5);
        }

        .stats-bar.equation-mode {
            background: linear-gradient(90deg, #eab308 0%, #ca8a04 100%);
            color: black; border-color: #a16207;
        }

        .stats-content {
            display: flex; gap: 15px; align-items: center;
        }

        .marquee-content { 
            white-space: nowrap; animation: marquee 15s linear infinite; 
            padding-left: 100%; font-weight: bold; text-transform: uppercase; font-size: 0.9rem; font-family: 'Noto Sans Bengali', sans-serif;
            width: 100%;
        }
        
        @keyframes marquee { 0% { transform: translateX(0); } 100% { transform: translateX(-100%); } }

        /* Summary Card */
        #summary-card {
            position: fixed; inset: 0; 
            background: rgba(2, 6, 23, 0.85); /* Darker overlay */
            backdrop-filter: blur(12px);
            z-index: 50;
            display: flex; flex-direction: column; align-items: center; justify-content: center;
            padding: 20px;
        }
        #summary-card.hidden { display: none !important; }
        
        .summary-box {
            width: 100%; max-width: 850px;
            background: rgba(30, 41, 59, 0.7); /* Glassmorphism */
            border: 1px solid rgba(255, 255, 255, 0.1);
            border-radius: 16px;
            overflow: hidden;
            box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.7);
            backdrop-filter: blur(10px);
        }
        
        .summary-header {
            background: linear-gradient(90deg, #1e3a8a 0%, #172554 100%);
            padding: 15px 25px; display: flex; justify-content: space-between; align-items: center;
            border-bottom: 1px solid rgba(255,255,255,0.1);
            position: relative;
        }
        .summary-header::after {
            content: ''; position: absolute; bottom: 0; left: 0; width: 100%; height: 2px;
            background: linear-gradient(90deg, #fb923c, #facc15, #fb923c); /* Gold line */
        }
        
        .sum-table { width: 100%; border-collapse: collapse; font-size: 0.95rem; }
        .sum-table th { 
            background: rgba(15, 23, 42, 0.8); 
            color: #cbd5e1; 
            text-align: left; padding: 10px 15px; 
            font-weight: 700; text-transform: uppercase; font-size: 0.8rem; letter-spacing: 0.5px; 
            border-bottom: 2px solid rgba(255,255,255,0.05);
        }
        .sum-table td { padding: 10px 15px; border-bottom: 1px solid rgba(255,255,255,0.05); color: #e2e8f0; }
        .sum-table tr:last-child td { border-bottom: none; }
        .sum-table tr:nth-child(even) { background: rgba(255,255,255,0.02); } /* Zebra striping */
        
        .sum-table .row-active { background: rgba(59, 130, 246, 0.15) !important; color: #93c5fd; font-weight: bold; border-left: 3px solid #60a5fa; }
        .sum-table .row-out { opacity: 0.5; text-decoration: line-through; }

        /* Animations */
        .anim-layer { position: fixed; inset: 0; display: flex; align-items: center; justify-content: center; pointer-events: none; z-index: 100; }
        .anim-four { animation: slideIn 0.5s ease-out forwards; background: linear-gradient(90deg, #2563eb, #1e40af); padding: 10px 50px; transform: skewX(-15deg); border: 4px solid white; box-shadow: 10px 10px 0 rgba(0,0,0,0.5); font-family: 'Teko'; font-size: 5rem; font-weight: 900; }
        .anim-six { animation: popIn 0.6s ease-out forwards; background: radial-gradient(circle, #7e22ce, #581c87); width: 180px; height: 180px; border-radius: 50%; border: 6px solid #facc15; display: flex; align-items: center; justify-content: center; font-family: 'Teko'; font-size: 7rem; font-weight: 900; box-shadow: 0 0 40px rgba(168,85,247,0.8); }
        .anim-out { animation: stamp 0.3s ease-in forwards; background: #991b1b; border: 6px solid white; padding: 10px 40px; border-radius: 1rem; transform: rotate(-8deg); font-family: 'Oswald'; font-size: 4rem; font-weight: bold; text-transform: uppercase; box-shadow: 0 20px 50px rgba(0,0,0,0.8); }
        
        /* Gold Result Card */
        .gold-result-card {
            background: linear-gradient(135deg, #fef9c3 0%, #ca8a04 50%, #fef9c3 100%);
            border: 8px solid #fff;
            box-shadow: 0 0 50px #eab308;
            padding: 40px;
            border-radius: 20px;
            text-align: center;
            animation: popIn 0.8s ease-out forwards;
            color: #422006;
        }
        .gold-result-title {
            font-family: 'Teko', sans-serif;
            font-size: 5rem;
            font-weight: 900;
            line-height: 1;
            text-shadow: 2px 2px 0px rgba(255,255,255,0.5);
            text-transform: uppercase;
            margin-bottom: 10px;
        }
        .gold-result-text {
            font-family: 'Oswald', sans-serif;
            font-size: 2rem;
            font-weight: 800;
            text-transform: uppercase;
        }

        @media (max-width: 600px) {
            .bd-strip-result-overlay { font-size: 1.5rem; }
        }

        @keyframes slideIn { from { transform: translateX(-100%) skewX(-15deg); opacity: 0; } to { transform: translateX(0) skewX(-15deg); opacity: 1; } }
        @keyframes popIn { from { transform: scale(0); opacity: 0; } 60% { transform: scale(1.2); opacity: 1; } to { transform: scale(1); } }
        @keyframes stamp { from { transform: scale(3) rotate(-8deg); opacity: 0; } to { transform: scale(1) rotate(-8deg); opacity: 1; } }

        /* Helpers */
        .view { display: none !important; min-height: 100dvh; flex-direction: column; }
        .view.active { display: flex !important; }
        .input-dark { background-color: #0f172a !important; color: white !important; border: 1px solid #334155; border-radius: 0.25rem; }
        .stat-inp { background: transparent; border-bottom: 1px solid #475569; text-align: center; width: 100%; color: white; border-radius: 0; }
        .stat-inp:focus { outline: none; border-color: #3b82f6; }
        #modal-overlay { backdrop-filter: blur(5px); }

        /* Buttons */
        .btn-toggle { background: #1e293b; color: #94a3b8; border: 1px solid #334155; border-radius: 0.375rem; padding: 0.5rem; font-weight: bold; width: 100%; transition: all 0.2s; }
        .btn-toggle.active { background: #2563eb; color: white; border-color: #60a5fa; }
        
        .btn-touch:active { transform: scale(0.96); transition: transform 0.1s; }

        /* Custom Checkbox Size for Touch */
        input[type="checkbox"] { accent-color: #3b82f6; }
        input[type="radio"] { accent-color: #ef4444; }

        @media (max-width: 768px) {
            .tv-strip-container { 
                height: auto; 
                flex-wrap: wrap; 
                justify-content: center; 
                padding: 10px;
                transform: scale(0.9);
                transform-origin: bottom center;
            }
            .bd-strip-match-info, .bd-strip-batsmen, .bd-strip-score, .bd-strip-bowler {
                padding: 5px;
                min-width: auto;
            }
            .bd-strip-score { order: -1; width: 100%; flex-direction: row; justify-content: center; gap: 15px; margin-bottom: 5px; background: none; }
            .bd-sep { display: none; }
            .bd-main-score { font-size: 3rem; }
        }

        @media (orientation: portrait) {
            #overlay-wrapper { transform: scale(0.65); transform-origin: center bottom; width: 100%; padding-bottom: 20px; }
            .tv-strip-container { width: 155%; margin-left: -27.5%; transform: scale(1); } 
        }

/* --- BROADCAST SUMMARY V2 (The "Purple" Look) --- */
.bc-card-container {
    width: 100%; max-width: 900px;
    background: #4a0e4a; /* Deep Purple */
    border: 4px solid #6d1b6d;
    border-radius: 12px;
    overflow: hidden;
    display: flex;
    box-shadow: 0 20px 60px rgba(0,0,0,0.8);
    font-family: 'Oswald', sans-serif;
}

.bc-side-deco {
    width: 40px;
    background: #571057;
    border-right: 1px solid #7a257a;
    display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px;
    padding: 10px 0;
}
.bc-side-deco.right { border-right: none; border-left: 1px solid #7a257a; }

.bc-circle { width: 10px; height: 10px; border-radius: 50%; background: #9d3b9d; }
.bc-diamond { width: 10px; height: 10px; transform: rotate(45deg); border: 1px solid #9d3b9d; }

.bc-content { flex: 1; display: flex; flex-direction: column; background: #fff; }

.bc-header-strip {
    background: #380838;
    padding: 8px 20px;
    display: flex; justify-content: space-between; align-items: center;
    border-bottom: 1px solid #6d1b6d;
}
.bc-match-badge {
    background: #5e135e;
    color: white;
    font-weight: 700;
    font-size: 0.8rem;
    padding: 4px 16px;
    border-radius: 20px;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.bc-team-bar {
    background: white;
    padding: 10px 30px;
    display: flex; justify-content: space-between; align-items: center;
    position: relative;
    height: 70px;
}
.bc-team-name {
    color: #4a0e4a;
    font-size: 2rem;
    font-weight: 800;
    text-transform: uppercase;
    font-family: 'Teko', sans-serif;
    line-height: 1;
}

.bc-center-logo {
    position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%);
    width: 64px; height: 64px;
    background: #4a0e4a;
    border: 4px solid white;
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    box-shadow: 0 4px 10px rgba(0,0,0,0.3);
    z-index: 10;
}

.bc-venue-strip {
    background: #5e135e;
    text-align: center;
    padding: 4px;
    border-top: 1px solid #7a257a;
    border-bottom: 1px solid #7a257a;
}
.bc-venue-text {
    color: white; font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 2px; opacity: 0.9;
}

.bc-stats-grid {
    display: grid; grid-template-columns: 1fr 1fr; gap: 4px;
    background: #f3e8f3;
    padding: 4px;
    flex: 1;
}

.bc-col { display: flex; flex-direction: column; gap: 4px; }

.bc-score-box {
    background: #2563eb; /* Bright Blue */
    color: white;
    padding: 8px 16px;
    display: flex; justify-content: space-between; align-items: center;
    border-radius: 4px;
}
.bc-score-val {
    font-family: 'Teko', sans-serif;
    font-size: 2.5rem;
    font-weight: 700;
    line-height: 1;
}
.bc-overs-box {
    background: #2563eb;
    color: white;
    padding: 6px;
    display: flex; justify-content: center; align-items: center; gap: 8px;
    border-radius: 4px;
    margin-top: 4px;
}

.bc-table-container { background: white; flex: 1; border-radius: 4px; overflow: hidden; }
.bc-table { width: 100%; border-collapse: collapse; }
.bc-table td { padding: 4px 12px; vertical-align: middle; border-bottom: 1px solid #f3e8f3; }
.bc-table tr:nth-child(even) { background: #f8fafc; }
.bc-table tr:nth-child(odd) { background: #ffffff; }

.bc-p-name { color: #334155; font-weight: 800; text-transform: uppercase; font-size: 0.95rem; }
.bc-p-val { color: #0f172a; font-weight: 800; font-size: 1.1rem; text-align: right; font-family: 'Teko'; }
.bc-p-sub { color: #64748b; font-size: 0.8rem; text-align: right; font-weight: 600; min-width: 40px; }

.bc-footer {
    background: #4a0e4a;
    padding: 12px;
    text-align: center;
    border-top: 1px solid #7a257a;
}
.bc-result-text {
    color: white; font-size: 1.5rem; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; font-family: 'Oswald';
}

@media (max-width: 768px) {
    .bc-team-name { font-size: 1.5rem; }
    .bc-score-val { font-size: 2rem; }
    .bc-stats-grid { grid-template-columns: 1fr; } /* Stack on mobile */
    .bc-side-deco { display: none; } /* Hide deco on mobile */
}

/* FIXTURE STRIP (Initial State) */
#fixture-strip {
    display: flex;
    justify-content: center;
    align-items: flex-end;
    width: 100%;
}
#fixture-strip.hidden { display: none !important; }

.bc-fixture-card {
    background: linear-gradient(135deg, #4a044e, #2e1065); /* Matches V2 Theme */
    border: 2px solid #a855f7;
    border-radius: 12px;
    padding: 1rem 3rem;
    box-shadow: 0 10px 30px rgba(0,0,0,0.6);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
    min-width: 400px;
}

.bc-fixture-header {
    font-family: 'ScoreBoard', sans-serif;
    color: #fbbf24; /* yellow-400 */
    font-size: 1.25rem;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    border-bottom: 1px solid rgba(255,255,255,0.2);
    padding-bottom: 0.25rem;
    width: 100%;
    text-align: center;
}

.bc-fixture-teams {
    font-family: 'Teko', sans-serif;
    font-size: 2.5rem;
    font-weight: 700;
    text-transform: uppercase;
    color: white;
    text-shadow: 0 2px 4px rgba(0,0,0,0.5);
    display: flex;
    align-items: baseline;
    justify-content: center;
    gap: 1rem;
    white-space: nowrap;
}

.bc-fixture-footer {
    font-family: 'Oswald', sans-serif;
    color: #cbd5e1; /* slate-300 */
    font-size: 0.875rem;
    text-transform: uppercase;
    background: rgba(0,0,0,0.3);
    padding: 0.25rem 1rem;
    border-radius: 4px;
}
/* Break Card Styles (Additional) */
.break-card {
    background: rgba(127, 29, 29, 0.95);
    border: 4px solid #ef4444;
    border-radius: 12px;
    padding: 2rem;
    text-align: center;
    box-shadow: 0 20px 60px rgba(0,0,0,0.8);
    animation: zoomIn 0.3s ease-out;
}
.break-title {
    font-family: 'ScoreBoard', sans-serif;
    color: white;
    font-size: 2.5rem;
    font-weight: 700;
    text-transform: uppercase;
    margin-bottom: 0.5rem;
    text-shadow: 0 2px 4px rgba(0,0,0,0.5);
}
.break-cause {
    font-family: 'Oswald', sans-serif;
    color: #facc15;
    font-size: 1.5rem;
    background: rgba(0,0,0,0.4);
    padding: 0.25rem 1rem;
    border-radius: 4px;
    display: inline-block;
    text-transform: uppercase;
    letter-spacing: 1px;
}
/* UI/UX Improvements */

/* Glass effect for Scorer View */
#view-scorer {
    background: radial-gradient(circle at top right, #1e293b, #0f172a);
}

/* Button Interactions */
button {
    transition: all 0.1s ease-in-out;
}
button:active {
    transform: scale(0.95);
}

/* Responsive Broadcast Card */
@media (max-width: 600px) {
    .bc-card-container {
        flex-direction: column;
        border-width: 2px;
    }
    .bc-side-deco {
        display: none;
    }
    .bc-team-bar {
        padding: 5px 10px;
        height: auto;
    }
    .bc-team-name {
        font-size: 1.25rem;
    }
    .bc-center-logo {
        width: 40px; height: 40px;
        border-width: 2px;
    }
    .bc-stats-grid {
        grid-template-columns: 1fr; /* Stack columns */
    }
    .bc-score-val {
        font-size: 1.75rem;
    }
    /* Scale down strip container */
    .tv-strip-container {
        transform: scale(0.85);
        transform-origin: center bottom;
        margin-bottom: 10px;
    }
}

/* Break Indicator in Scorer View */
.break-active-indicator {
    position: absolute;
    top: 50%; left: 50%;
    transform: translate(-50%, -50%);
    background: rgba(220, 38, 38, 0.9);
    color: white;
    font-weight: 900;
    padding: 1rem 2rem;
    border-radius: 8px;
    border: 2px solid white;
    z-index: 50;
    pointer-events: none;
    animation: pulse 2s infinite;
    text-transform: uppercase;
    font-family: 'Oswald', sans-serif;
    letter-spacing: 2px;
}

/* Summary Card Updates */
.bc-p-out {
    opacity: 0.5;
    text-decoration: line-through;
    color: #94a3b8; /* slate-400 */
}

.bc-p-active-icon {
    display: inline-flex;
    align-items: center;
    margin-right: 4px;
    color: #4ade80; /* green-400 */
}
