{"id":4943,"date":"2026-09-25T02:09:50","date_gmt":"2026-09-24T20:39:50","guid":{"rendered":"https:\/\/nosportnation.com\/in\/?p=4943"},"modified":"2026-10-12T15:45:21","modified_gmt":"2026-10-12T10:15:21","slug":"cricket-today","status":"publish","type":"post","link":"https:\/\/nosportnation.com\/in\/cricket-today\/","title":{"rendered":"Cricket Match Today: Live Fixtures, Match Timing, Venues &#038; Broadcast (Live)"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"4943\" class=\"elementor elementor-4943\">\n\t\t\t\t<div class=\"elementor-element elementor-element-583548b e-flex e-con-boxed e-con e-parent\" data-id=\"583548b\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-13242c2 elementor-widget elementor-widget-text-editor\" data-id=\"13242c2\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p style=\"caret-color: #000000; font-style: normal; font-weight: 400; text-decoration-thickness: auto; text-decoration-style: solid;\" data-path-to-node=\"3\">Looking for today\u2019s cricket fixtures? Whether it is the Indian Premier League, ICC world events, bilateral Test series, One Day Internationals, or major domestic leagues like the Big Bash League, Pakistan Super League, and Caribbean Premier League, use our live interactive schedule above to track real-time match timings automatically synchronized with your local device clock.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-80da451 elementor-widget elementor-widget-html\" data-id=\"80da451\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n    <meta charset=\"UTF-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n    <title>Cricket Today - Match Day Schedule<\/title>\n\n    <!-- Dynamic External Cricket Data File -->\n    <script src=\"\/wp-content\/uploads\/datafiles\/crickettoday.js\"><\/script>\n\n    <!-- Tailwind CSS CDN -->\n    <script src=\"https:\/\/cdn.tailwindcss.com\"><\/script>\n    <script>\n        tailwind.config = {\n            corePlugins: {\n                preflight: false \/\/ Prevents Tailwind from overriding article H1, H2, H3, and bullet points\n            },\n            theme: {\n                extend: {\n                    colors: {\n                        'cricket-dark': '#060f1e',\n                        'cricket-navy': '#0c1b36',\n                        'cricket-blue': '#1d4ed8',\n                        'cricket-sky': '#0284c7',\n                        'cricket-saffron': '#ea580c',\n                        'cricket-gold': '#d97706',\n                        'cricket-green': '#15803d'\n                    },\n                    fontFamily: {\n                        sans: ['Inter', '-apple-system', 'BlinkMacSystemFont', 'Segoe UI', 'Roboto', 'sans-serif'],\n                        mono: ['JetBrains Mono', 'Menlo', 'Courier New', 'monospace']\n                    }\n                }\n            }\n        };\n    <\/script>\n\n    <style>\n        \/* Scoped WordPress Theme Isolation *\/\n        #cricket-widget-root,\n        #cricket-widget-root *,\n        #cricket-modal,\n        #cricket-modal * {\n            font-family: 'Inter', -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, sans-serif !important;\n            box-sizing: border-box;\n        }\n\n        \/* Scoped Normalization for Widget Headings & Paragraphs *\/\n        #cricket-widget-root h1,\n        #cricket-widget-root h2,\n        #cricket-widget-root h3,\n        #cricket-widget-root h4,\n        #cricket-widget-root p,\n        #cricket-modal h1,\n        #cricket-modal h2,\n        #cricket-modal h3,\n        #cricket-modal h4,\n        #cricket-modal p {\n            margin: 0;\n            padding: 0;\n        }\n\n        #cricket-widget-root ul,\n        #cricket-modal ul {\n            list-style: none;\n            margin: 0;\n            padding: 0;\n        }\n\n        #cricket-widget-root a,\n        #cricket-widget-root a:hover,\n        #cricket-modal a,\n        #cricket-modal a:hover {\n            text-decoration: none !important;\n        }\n\n        \/* Strictly prevent tab bar and buttons from stretching across full widget *\/\n        #cricket-widget-root #cricket-tab-bar {\n            display: inline-flex !important;\n            width: max-content !important;\n            max-width: 100% !important;\n            justify-content: flex-start !important;\n            align-items: center !important;\n        }\n\n        #cricket-widget-root button.tab-button {\n            flex: 0 0 auto !important;\n            width: auto !important;\n            margin: 0 !important;\n            background-color: transparent !important;\n            background-image: none !important;\n            border: none !important;\n            box-shadow: none !important;\n            outline: none !important;\n            cursor: pointer !important;\n        }\n\n        \/* Strict Modal Button Isolation to defeat WordPress Theme Red Button Bleed *\/\n        #cricket-modal button.modal-close-btn {\n            position: absolute !important;\n            top: 16px !important;\n            right: 16px !important;\n            width: 36px !important;\n            height: 36px !important;\n            min-width: 36px !important;\n            max-width: 36px !important;\n            min-height: 36px !important;\n            max-height: 36px !important;\n            padding: 0 !important;\n            margin: 0 !important;\n            border-radius: 9999px !important;\n            background-color: #0f172a !important;\n            background-image: none !important;\n            border: 1px solid rgba(255, 255, 255, 0.15) !important;\n            display: flex !important;\n            align-items: center !important;\n            justify-content: center !important;\n            color: #ffffff !important;\n            box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.3) !important;\n            cursor: pointer !important;\n            z-index: 30 !important;\n            outline: none !important;\n        }\n        #cricket-modal button.modal-close-btn:hover {\n            background-color: #1e293b !important;\n        }\n\n        #cricket-modal .modal-action-btn-secondary {\n            background-color: #f1f5f9 !important;\n            background-image: none !important;\n            color: #334155 !important;\n            border: 1px solid #e2e8f0 !important;\n            border-radius: 12px !important;\n            padding: 8px 14px !important;\n            font-size: 12px !important;\n            font-weight: 700 !important;\n            display: inline-flex !important;\n            align-items: center !important;\n            gap: 8px !important;\n            box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05) !important;\n            cursor: pointer !important;\n            width: auto !important;\n            height: auto !important;\n            margin: 0 !important;\n            text-transform: none !important;\n            outline: none !important;\n        }\n        #cricket-modal .modal-action-btn-secondary:hover {\n            background-color: #e2e8f0 !important;\n            color: #0f172a !important;\n        }\n\n        #cricket-modal .modal-action-btn-primary {\n            background-color: #0f172a !important;\n            background-image: none !important;\n            color: #ffffff !important;\n            border: none !important;\n            border-radius: 12px !important;\n            padding: 8px 20px !important;\n            font-size: 12px !important;\n            font-weight: 700 !important;\n            display: inline-flex !important;\n            align-items: center !important;\n            justify-content: center !important;\n            box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05) !important;\n            cursor: pointer !important;\n            width: auto !important;\n            height: auto !important;\n            margin: 0 !important;\n            text-transform: none !important;\n            outline: none !important;\n        }\n        #cricket-modal .modal-action-btn-primary:hover {\n            background-color: #1e293b !important;\n        }\n\n        \/* Smooth Custom Scrollbar *\/\n        .custom-scrollbar::-webkit-scrollbar {\n            width: 5px;\n            height: 5px;\n        }\n        .custom-scrollbar::-webkit-scrollbar-track {\n            background: #f1f5f9;\n        }\n        .custom-scrollbar::-webkit-scrollbar-thumb {\n            background: #cbd5e1;\n            border-radius: 4px;\n        }\n        .custom-scrollbar::-webkit-scrollbar-thumb:hover {\n            background: #94a3b8;\n        }\n\n        \/* Hide horizontal scrollbar track cleanly on tab navigation *\/\n        .no-scrollbar::-webkit-scrollbar {\n            display: none !important;\n            height: 0px !important;\n            width: 0px !important;\n        }\n        .no-scrollbar {\n            -ms-overflow-style: none !important;\n            scrollbar-width: none !important;\n        }\n\n        .header-gradient {\n            background: linear-gradient(135deg, #050d1a 0%, #0c1b36 50%, #152d56 100%);\n        }\n\n        .spotlight-broadcast-gradient {\n            background: linear-gradient(135deg, #071224 0%, #0f2347 50%, #163261 100%);\n        }\n\n        .modal-header-gradient {\n            background: linear-gradient(180deg, #081a38 0%, #041024 100%);\n        }\n\n        .tab-indicator {\n            transition: all 0.28s cubic-bezier(0.4, 0, 0.2, 1);\n        }\n\n        \/* Strict Modal Isolation & WordPress Stacking Context Breaker *\/\n        #cricket-modal {\n            z-index: 999999 !important;\n        }\n\n        .modal-active {\n            opacity: 1 !important;\n            pointer-events: auto !important;\n        }\n        .modal-active .modal-panel {\n            transform: translateY(0) scale(1) !important;\n            opacity: 1 !important;\n        }\n\n        \/* Container Query for Sidebar-Adaptive Layout *\/\n        #cricket-widget-root {\n            container-type: inline-size;\n            container-name: cricket-widget;\n        }\n\n        @container cricket-widget (max-width: 760px) {\n            .spotlight-grid {\n                padding: 20px 14px !important;\n                gap: 12px !important;\n            }\n            .spotlight-team-title {\n                font-size: 15px !important;\n                line-height: 1.2 !important;\n            }\n            .spotlight-center-panel {\n                padding: 12px 18px !important;\n                border-radius: 18px !important;\n            }\n            .spotlight-time-text {\n                font-size: 24px !important;\n                line-height: 1.1 !important;\n            }\n            .spotlight-date-text {\n                font-size: 11px !important;\n            }\n        }\n\n        @container cricket-widget (max-width: 540px) {\n            .spotlight-grid {\n                padding: 16px 10px !important;\n                gap: 8px !important;\n            }\n            .spotlight-team-title {\n                font-size: 13px !important;\n            }\n            .spotlight-time-text {\n                font-size: 20px !important;\n            }\n            .spotlight-bottom-pills {\n                flex-direction: column !important;\n                gap: 5px !important;\n            }\n            .spotlight-pill-item {\n                width: 100% !important;\n                justify-content: center !important;\n                text-align: center !important;\n            }\n        }\n\n        .match-card {\n            background-color: #ffffff !important;\n            border: 1px solid #e2e8f0 !important;\n            box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04) !important;\n            transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;\n        }\n        .match-card:hover {\n            transform: translateY(-1px);\n            border-color: #cbd5e1 !important;\n            box-shadow: 0 4px 12px -2px rgba(0, 0, 0, 0.06), 0 2px 4px -1px rgba(0, 0, 0, 0.03) !important;\n        }\n    <\/style>\n<\/head>\n<body class=\"bg-transparent font-sans antialiased text-slate-800 p-0 m-0\">\n\n    <div id=\"cricket-widget-root\" class=\"w-full bg-white shadow-xl border border-slate-200\/90 rounded-2xl flex flex-col overflow-hidden relative\">\n\n        <!-- Header: India Cricket Slate & Local Time Bar -->\n        <div class=\"header-gradient text-white p-4 sm:p-6 relative shrink-0 overflow-hidden border-b border-slate-800\">\n            <!-- Ambient Glows -->\n            <div class=\"absolute -top-16 -right-16 w-72 h-72 bg-sky-500 opacity-20 rounded-full blur-3xl pointer-events-none\"><\/div>\n            <div class=\"absolute -bottom-16 -left-16 w-72 h-72 bg-orange-500 opacity-15 rounded-full blur-3xl pointer-events-none\"><\/div>\n\n            <div class=\"relative z-10 w-full flex flex-col gap-3.5\">\n                <div class=\"flex flex-col sm:flex-row justify-between items-start sm:items-center gap-3\">\n                    <div class=\"flex items-center gap-3\">\n                        <div class=\"w-11 h-11 bg-white\/10 rounded-xl flex items-center justify-center border border-white\/15 shadow-inner backdrop-blur-md shrink-0\">\n                            <!-- Cricket Bat & Ball SVG -->\n                            <svg class=\"w-5 h-5 text-orange-500 drop-shadow-[0_0_8px_rgba(234,88,12,0.8)]\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n                                <path d=\"m14 7 3-3a1.5 1.5 0 0 1 2.5 1.5L16.5 8.5\"\/>\n                                <path d=\"m5 16-3 3a1.5 1.5 0 0 0 1.5 2.5L7 18\"\/>\n                                <path d=\"m14 7-9 9\"\/>\n                                <circle cx=\"18\" cy=\"18\" r=\"3\" fill=\"currentColor\" fill-opacity=\"0.3\"\/>\n                            <\/svg>\n                        <\/div>\n                        <div>\n                            <div class=\"flex items-center gap-2\">\n                                <h1 class=\"text-xl sm:text-2xl font-black tracking-tight text-white uppercase leading-none\">Cricket Schedule<\/h1>\n                            <\/div>\n                            <p class=\"text-xs font-medium text-slate-300 mt-1 flex items-center gap-1.5\" id=\"header-date-info\">\n                                <svg class=\"w-3.5 h-3.5 text-sky-400\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n                                    <path d=\"M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10\"\/>\n                                <\/svg>\n                                Day-by-Day Match Timings, Lineups &amp; Results\n                            <\/p>\n                        <\/div>\n                    <\/div>\n\n                    <!-- Local Timezone Indicator -->\n                    <div class=\"flex items-center gap-2 bg-slate-900\/80 border border-slate-700\/80 px-3 py-1.5 rounded-xl text-slate-300 text-xs shadow-sm self-start sm:self-auto backdrop-blur-sm\">\n                        <svg class=\"w-3.5 h-3.5 text-sky-400\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n                            <circle cx=\"12\" cy=\"12\" r=\"10\"\/>\n                            <line x1=\"2\" y1=\"12\" x2=\"22\" y2=\"12\"\/>\n                            <path d=\"M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z\"\/>\n                        <\/svg>\n                        <span class=\"text-[11px] font-semibold text-slate-300\">Your Zone:<\/span>\n                        <span class=\"font-mono text-xs font-bold text-white uppercase tracking-wider bg-slate-800 px-2 py-0.5 rounded border border-slate-700\" id=\"user-detected-tz\">DETECTING...<\/span>\n                    <\/div>\n                <\/div>\n\n                <!-- Live User Device Clock Banner -->\n                <div class=\"flex flex-wrap items-center justify-between gap-2 bg-slate-950\/70 border border-slate-800\/80 px-3.5 py-2 rounded-xl text-slate-300 text-xs backdrop-blur-md\">\n                    <div class=\"flex items-center gap-2\">\n                        <span class=\"w-2 h-2 rounded-full bg-emerald-400 animate-pulse\"><\/span>\n                        <span class=\"text-[11px] font-medium text-slate-400\">Device Clock:<\/span>\n                        <span class=\"font-semibold text-white tracking-wide\" id=\"user-device-datetime\">--<\/span>\n                    <\/div>\n                    <div class=\"flex items-center gap-1.5 text-[11px] font-mono text-sky-300\">\n                        <svg class=\"w-3 h-3 text-sky-300\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n                            <circle cx=\"12\" cy=\"12\" r=\"10\"\/>\n                            <polyline points=\"12 6 12 12 16 14\"\/>\n                        <\/svg>\n                        <span>Select day tabs below to view matches by date<\/span>\n                    <\/div>\n                <\/div>\n\n                <!-- Day-by-Day Navigation Tabs (Today, Tomorrow, Yesterday, Specific Dates, All) -->\n                <div class=\"relative w-full overflow-x-auto no-scrollbar pt-1\">\n                    <div id=\"cricket-tab-bar\" class=\"inline-flex items-center gap-1.5 p-1 bg-slate-900\/80 rounded-xl backdrop-blur-md border border-slate-700\/60 relative\">\n                        <div id=\"tab-slider\" class=\"absolute top-1 bottom-1 left-1 bg-gradient-to-r from-sky-600 to-blue-600 rounded-lg shadow-md tab-indicator opacity-0 pointer-events-none\"><\/div>\n                    <\/div>\n                <\/div>\n            <\/div>\n        <\/div>\n\n        <!-- Spotlight Match: Broadcast Arena Layout -->\n        <div id=\"spotlight-section\" class=\"p-4 sm:p-6 shrink-0 hidden bg-slate-100\/70 border-b border-slate-200\">\n            <div class=\"w-full\">\n                <div class=\"flex justify-between items-center mb-3\">\n                    <span class=\"text-xs sm:text-sm font-black text-slate-800 uppercase tracking-wider flex items-center gap-1.5\">\n                        <svg class=\"w-4 h-4 text-amber-500 fill-amber-500\" viewBox=\"0 0 24 24\">\n                            <polygon points=\"12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2\"\/>\n                        <\/svg>\n                        FEATURED MATCH FOR SELECTED DAY\n                    <\/span>\n                    <span class=\"text-[11px] text-slate-500 font-bold tracking-wider uppercase hidden sm:inline-block\">CLICK FOR LINEUPS, PITCH &amp; SQUADS<\/span>\n                <\/div>\n\n                <div id=\"spotlight-card\" class=\"bg-gradient-to-r from-[#031026] via-[#081d42] to-[#04122b] text-white rounded-3xl shadow-xl border border-slate-700\/80 hover:border-sky-500\/80 hover:shadow-2xl cursor-pointer transition-all duration-200 overflow-hidden relative group\">\n                    <!-- Dynamic Spotlight Match Injected Here -->\n                <\/div>\n            <\/div>\n        <\/div>\n\n        <!-- Fixtures Schedule Section -->\n        <div class=\"flex-1 flex flex-col relative p-3 sm:p-4 bg-[#f8fafc]\">\n            <div class=\"mb-2.5 flex flex-col sm:flex-row justify-between items-start sm:items-center gap-1.5 pb-1\">\n                <div class=\"flex items-center gap-2\">\n                    <span class=\"text-xs sm:text-sm font-black text-slate-900 tracking-tight uppercase\" id=\"schedule-heading\">FIXTURES SCHEDULE<\/span>\n                    <span class=\"text-[11px] font-bold bg-slate-200 text-slate-700 w-5 h-5 rounded-full flex items-center justify-center font-mono\" id=\"games-counter\">0<\/span>\n                <\/div>\n                <span class=\"text-[11px] text-slate-500 font-medium\">Click match card for Playing 11, pitch, scores &amp; stream<\/span>\n            <\/div>\n\n            <!-- Responsive Match Grid -->\n            <div id=\"schedule-grid\" class=\"grid grid-cols-1 md:grid-cols-2 gap-2.5 sm:gap-3 pb-1\">\n                <!-- Dynamic Match Cards Injected Here -->\n            <\/div>\n        <\/div>\n\n        <!-- Footer -->\n        <div class=\"bg-white border-t border-slate-200 px-4 py-2.5 text-center shrink-0\">\n            <p class=\"text-[11px] text-slate-400 font-medium\">\n                Cricket Schedule &bull; Automatic date and hour conversion to your device timezone &bull; Tap any fixture for team news\n            <\/p>\n        <\/div>\n    <\/div>\n\n    <!-- Match Intelligence Modal -->\n    <div id=\"cricket-modal\" class=\"fixed inset-0 z-[999999] flex items-center justify-center p-3 sm:p-4 opacity-0 pointer-events-none transition-opacity duration-200\">\n        <div class=\"absolute inset-0 bg-[#060e1d]\/90 backdrop-blur-md\" onclick=\"closeCricketModal()\"><\/div>\n\n        <!-- Modal Panel -->\n        <div class=\"modal-panel relative w-full max-w-md bg-slate-50 rounded-2xl shadow-2xl overflow-hidden flex flex-col max-h-[88vh] transition-all duration-200 transform translate-y-3 opacity-0 border border-slate-700\/80 z-10\">\n            \n            <!-- Modal Header Banner -->\n            <div class=\"modal-header-gradient text-white p-4 sm:p-5 relative shrink-0 text-center overflow-hidden border-b border-slate-800\">\n                <button type=\"button\" onclick=\"closeCricketModal()\" class=\"modal-close-btn\" aria-label=\"Close modal\">\n                    <svg class=\"w-3.5 h-3.5\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n                        <line x1=\"18\" y1=\"6\" x2=\"6\" y2=\"18\"\/>\n                        <line x1=\"6\" y1=\"6\" x2=\"18\" y2=\"18\"\/>\n                    <\/svg>\n                <\/button>\n\n                <div class=\"relative z-10\">\n                    <div class=\"flex items-center justify-center gap-2 mb-2.5\">\n                        <span id=\"modal-tournament-pill\" class=\"text-[10px] font-bold uppercase tracking-wider bg-white\/10 border border-white\/15 px-2.5 py-0.5 rounded-full text-slate-200 shadow-sm\">\n                            IND VS WI\n                        <\/span>\n                        <span id=\"modal-format-pill\" class=\"text-[10px] font-black uppercase tracking-wider bg-orange-600 text-white px-2 py-0.5 rounded-md shadow-sm\">\n                            T20I\n                        <\/span>\n                    <\/div>\n\n                    <div id=\"modal-teams-layout\" class=\"flex justify-between items-center w-full max-w-sm mx-auto\">\n                        <!-- Dynamic Head-to-Head inserted here -->\n                    <\/div>\n                <\/div>\n            <\/div>\n\n            <!-- Modal Details Body -->\n            <div id=\"modal-details-body\" class=\"p-3.5 sm:p-4 flex-1 overflow-y-auto custom-scrollbar space-y-2.5\">\n                <!-- Match details & squads inserted dynamically -->\n            <\/div>\n\n            <!-- Modal Action Footer -->\n            <div class=\"bg-white border-t border-slate-200\/80 p-3 sm:p-3.5 flex flex-wrap items-center justify-between gap-2 shrink-0\">\n                <div class=\"flex items-center gap-2\">\n                    <button type=\"button\" id=\"btn-add-calendar\" class=\"modal-action-btn-secondary\">\n                        <svg class=\"w-3.5 h-3.5 text-sky-600 shrink-0\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n                            <rect width=\"18\" height=\"18\" x=\"3\" y=\"4\" rx=\"2\" ry=\"2\"\/>\n                            <line x1=\"16\" y1=\"2\" x2=\"16\" y2=\"6\"\/>\n                            <line x1=\"8\" y1=\"2\" x2=\"8\" y2=\"6\"\/>\n                            <line x1=\"3\" y1=\"21\" x2=\"21\" y2=\"10\"\/>\n                        <\/svg>\n                        <span>Add to Calendar<\/span>\n                    <\/button>\n\n                    <button type=\"button\" id=\"btn-share-match\" class=\"modal-action-btn-secondary\">\n                        <svg class=\"w-3.5 h-3.5 text-emerald-600 shrink-0\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n                            <circle cx=\"18\" cy=\"5\" r=\"3\"\/>\n                            <circle cx=\"6\" cy=\"12\" r=\"3\"\/>\n                            <circle cx=\"18\" cy=\"19\" r=\"3\"\/>\n                            <line x1=\"8.59\" x2=\"15.42\" y1=\"13.51\" y2=\"17.49\"\/>\n                            <line x1=\"15.41\" x2=\"8.59\" y1=\"6.51\" y2=\"10.49\"\/>\n                        <\/svg>\n                        <span id=\"btn-share-label\">Share<\/span>\n                    <\/button>\n                <\/div>\n\n                <button type=\"button\" onclick=\"closeCricketModal()\" class=\"modal-action-btn-primary ml-auto\">\n                    Close\n                <\/button>\n            <\/div>\n        <\/div>\n    <\/div>\n\n    <!-- Floating Feedback Toast -->\n    <div id=\"cricket-toast\" class=\"fixed bottom-6 right-6 z-50 bg-slate-900 text-white px-4 py-2.5 rounded-xl shadow-2xl text-xs font-semibold flex items-center gap-2 transition-all duration-300 opacity-0 pointer-events-none transform translate-y-3\">\n        <svg class=\"w-4 h-4 text-emerald-400\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n            <polyline points=\"20 6 9 17 4 12\"\/>\n        <\/svg>\n        <span id=\"toast-text\">Link Copied to Clipboard<\/span>\n    <\/div>\n\n    <script>\n        const CRICKET_TEAM_THEMES = {\n            'IND': { bg: 'bg-blue-50 text-blue-600', nameColor: 'text-slate-900' },\n            'IND-A': { bg: 'bg-blue-50 text-blue-600', nameColor: 'text-slate-900' },\n            'IND U19': { bg: 'bg-blue-50 text-blue-600', nameColor: 'text-slate-900' },\n            'AUS': { bg: 'bg-amber-50 text-amber-700', nameColor: 'text-slate-900' },\n            'AUS-A': { bg: 'bg-amber-50 text-amber-700', nameColor: 'text-slate-900' },\n            'AUS U19': { bg: 'bg-amber-50 text-amber-700', nameColor: 'text-slate-900' },\n            'WI':  { bg: 'bg-rose-50 text-rose-700', nameColor: 'text-slate-900' },\n            'USA': { bg: 'bg-blue-50 text-blue-700', nameColor: 'text-slate-900' },\n            'NAM': { bg: 'bg-cyan-50 text-cyan-700', nameColor: 'text-slate-900' },\n            'DEFAULT': { bg: 'bg-slate-100 text-slate-700', nameColor: 'text-slate-900' }\n        };\n\n        function getTeamTheme(code) {\n            if (!code) return CRICKET_TEAM_THEMES['DEFAULT'];\n            return CRICKET_TEAM_THEMES[code.toUpperCase()] || CRICKET_TEAM_THEMES['DEFAULT'];\n        }\n\n        function deriveTeamCode(name, explicitCode) {\n            if (explicitCode && typeof explicitCode === 'string' && explicitCode.trim()) {\n                return explicitCode.trim().toUpperCase();\n            }\n            if (!name || typeof name !== 'string') return 'T';\n            const clean = name.trim();\n            if (clean.length <= 4) return clean.toUpperCase();\n\n            const commonMap = {\n                'india': 'IND', 'australia': 'AUS', 'england': 'ENG', 'south africa': 'SA',\n                'pakistan': 'PAK', 'new zealand': 'NZ', 'sri lanka': 'SL', 'west indies': 'WI',\n                'bangladesh': 'BAN', 'afghanistan': 'AFG', 'united states': 'USA', 'namibia': 'NAM',\n                'bahrain': 'BAH', 'bhutan': 'BHU', 'myanmar': 'MYA', 'china': 'CHN', 'maldives': 'MDV',\n                'malaysia': 'MAS', 'hong kong': 'HK', 'saudi arabia': 'KSA', 'singapore': 'SGP'\n            };\n\n            const lower = clean.toLowerCase();\n            for (const [k, v] of Object.entries(commonMap)) {\n                if (lower.includes(k)) {\n                    if (lower.includes('u19') || lower.includes('under-19')) return v + ' U19';\n                    if (lower.includes(' a')) return v + '-A';\n                    return v;\n                }\n            }\n\n            const words = clean.split(\/\\s+\/);\n            if (words.length > 1) {\n                return words.map(w => w[0]).join('').substring(0, 4).toUpperCase();\n            }\n            return clean.substring(0, 3).toUpperCase();\n        }\n\n        function extractSquadList(raw, candidateKeys, teamName, teamCode) {\n            let list = null;\n            for (const key of candidateKeys) {\n                if (raw[key]) {\n                    list = raw[key];\n                    break;\n                }\n            }\n\n            if (!list) {\n                const nestedHolders = [raw.playing11, raw.playingXI, raw.squads, raw.squad, raw.lineups];\n                for (const holder of nestedHolders) {\n                    if (holder && typeof holder === 'object') {\n                        for (const key of candidateKeys) {\n                            if (holder[key]) {\n                                list = holder[key];\n                                break;\n                            }\n                        }\n                        if (!list && teamCode && holder[teamCode]) list = holder[teamCode];\n                        if (!list && teamName && holder[teamName]) list = holder[teamName];\n                    }\n                    if (list) break;\n                }\n            }\n\n            if (!list) return [];\n            if (typeof list === 'string') return list.split(\/[,;\\n]+\/).map(p => p.trim()).filter(Boolean);\n            if (Array.isArray(list)) {\n                return list.map(item => {\n                    if (typeof item === 'string') return item.trim();\n                    if (item && typeof item === 'object') {\n                        const name = item.name || item.player || '';\n                        const designation = item.isCaptain ? '(C)' : (item.isKeeper ? '(WK)' : '');\n                        return `${name} ${designation}`.trim();\n                    }\n                    return String(item).trim();\n                }).filter(Boolean);\n            }\n            return [];\n        }\n\n        function normalizeMatchData(raw, idx) {\n            if (!raw || typeof raw !== 'object') return null;\n\n            const teamA = raw.teamA || raw.team1 || 'Team 1';\n            const teamB = raw.teamB || raw.team2 || 'Team 2';\n            const teamACode = deriveTeamCode(teamA, raw.teamACode || raw.team1Code);\n            const teamBCode = deriveTeamCode(teamB, raw.teamBCode || raw.team2Code);\n\n            const teamAPlaying11 = extractSquadList(raw, ['teamAPlaying11', 'team1Playing11', 'squadA', 'teamA'], teamA, teamACode);\n            const teamBPlaying11 = extractSquadList(raw, ['teamBPlaying11', 'team2Playing11', 'squadB', 'teamB'], teamB, teamBCode);\n\n            return {\n                ...raw,\n                id: raw.id || `match-${idx}-${Date.now()}`,\n                teamA,\n                teamB,\n                teamACode,\n                teamBCode,\n                tournament: raw.tournament || raw.series || 'CRICKET',\n                format: raw.format || 'MATCH',\n                dateIso: raw.dateIso || raw.dateTime || raw.timestamp || '',\n                venue: raw.venue || '',\n                city: raw.city || '',\n                network: raw.network || raw.broadcaster || '',\n                streamUrl: raw.streamUrl || '',\n                pitchReport: raw.pitchReport || '',\n                seriesContext: raw.seriesContext || '',\n                matchupNote: raw.matchupNote || '',\n                teamAKeyPlayer: raw.teamAKeyPlayer || '',\n                teamBKeyPlayer: raw.teamBKeyPlayer || '',\n                headToHead: raw.headToHead || '',\n                score: raw.score || raw.status || '',\n                teamAPlaying11,\n                teamBPlaying11\n            };\n        }\n\n        function findGlobalCricketData() {\n            const candidates = [\n                window.cricketData, window.crickettoday, window.cricket_today,\n                window.CRICKET_DATA, window.cricketMatches\n            ];\n            for (const item of candidates) {\n                if (Array.isArray(item) && item.length > 0) return item;\n                if (item && typeof item === 'object') {\n                    if (Array.isArray(item.matches)) return item.matches;\n                    if (Array.isArray(item.data)) return item.data;\n                }\n            }\n            return null;\n        }\n\n        let parsedMatches = [];\n        let activeTabKey = 'TODAY';\n        let currentModalMatch = null;\n\n        function updateUserDeviceClock() {\n            try {\n                const now = new Date();\n                const tz = Intl.DateTimeFormat().resolvedOptions().timeZone || 'Local';\n                \n                const formattedDate = now.toLocaleDateString(undefined, {\n                    weekday: 'short',\n                    month: 'short',\n                    day: 'numeric',\n                    year: 'numeric'\n                });\n                const formattedTime = now.toLocaleTimeString(undefined, {\n                    hour: 'numeric',\n                    minute: '2-digit'\n                });\n\n                const tzAbbr = new Intl.DateTimeFormat(undefined, { timeZoneName: 'short' })\n                    .formatToParts(now)\n                    .find(p => p.type === 'timeZoneName')?.value || '';\n\n                const clockEl = document.getElementById('user-device-datetime');\n                if (clockEl) {\n                    clockEl.innerHTML = `<span class=\"text-white\">${formattedDate}<\/span> <span class=\"text-slate-500\">&bull;<\/span> <span class=\"text-sky-300 font-mono font-bold\">${formattedTime}<\/span> <span class=\"text-[10px] bg-slate-800 text-slate-300 px-1.5 py-0.5 rounded font-mono border border-slate-700\">${tzAbbr || tz}<\/span>`;\n                }\n            } catch (e) {\n                console.error(e);\n            }\n        }\n\n        \/\/ Localized Time & Day-Grouping Engine\n        function localizeMatchTime(isoString) {\n            if (!isoString) {\n                return { dateStr: 'Date TBA', timeStr: 'Time TBA', tzAbbr: '', timestamp: 0, dayTag: '', dateKey: 'unknown' };\n            }\n            const dateObj = new Date(isoString);\n            if (isNaN(dateObj.getTime())) {\n                return { dateStr: 'Date TBA', timeStr: 'Time TBA', tzAbbr: '', timestamp: 0, dayTag: '', dateKey: 'unknown' };\n            }\n\n            const now = new Date();\n            const todayReset = new Date(now.getFullYear(), now.getMonth(), now.getDate());\n            const targetReset = new Date(dateObj.getFullYear(), dateObj.getMonth(), dateObj.getDate());\n            const diffDays = Math.round((targetReset - todayReset) \/ (1000 * 60 * 60 * 24));\n            \n            let dayTag = '';\n            if (diffDays === 0) dayTag = 'TODAY';\n            else if (diffDays === 1) dayTag = 'TOMORROW';\n            else if (diffDays === -1) dayTag = 'YESTERDAY';\n\n            const y = dateObj.getFullYear();\n            const m = String(dateObj.getMonth() + 1).padStart(2, '0');\n            const d = String(dateObj.getDate()).padStart(2, '0');\n            const dateKey = `${y}-${m}-${d}`;\n\n            const dateStr = dateObj.toLocaleDateString(undefined, {\n                weekday: 'short',\n                month: 'short',\n                day: 'numeric'\n            });\n\n            const fullTime = dateObj.toLocaleTimeString(undefined, {\n                hour: 'numeric',\n                minute: '2-digit',\n                timeZoneName: 'short'\n            });\n\n            const parts = fullTime.split(' ');\n            let tzAbbr = '';\n            let timeStr = fullTime;\n            \n            if (parts.length > 2) {\n                tzAbbr = parts[parts.length - 1];\n                timeStr = parts.slice(0, -1).join(' ');\n            }\n\n            return {\n                dateStr,\n                timeStr,\n                tzAbbr,\n                dayTag,\n                diffDays,\n                dateKey,\n                timestamp: dateObj.getTime(),\n                dateObj\n            };\n        }\n\n        document.addEventListener('DOMContentLoaded', () => {\n            const modalEl = document.getElementById('cricket-modal');\n            if (modalEl && modalEl.parentElement !== document.body) {\n                document.body.appendChild(modalEl);\n            }\n\n            try {\n                const detectedTz = Intl.DateTimeFormat().resolvedOptions().timeZone || 'Local';\n                document.getElementById('user-detected-tz').textContent = detectedTz;\n            } catch (e) {\n                document.getElementById('user-detected-tz').textContent = 'LOCAL';\n            }\n\n            updateUserDeviceClock();\n            setInterval(updateUserDeviceClock, 30000);\n\n            loadCricketSchedule();\n        });\n\n        function loadCricketSchedule() {\n            const rawData = findGlobalCricketData();\n            if (rawData && rawData.length > 0) {\n                initializeWidgetWithData(rawData);\n                return;\n            }\n\n            let retries = 0;\n            const pollInterval = setInterval(() => {\n                retries++;\n                const delayedData = findGlobalCricketData();\n                if (delayedData && delayedData.length > 0) {\n                    clearInterval(pollInterval);\n                    initializeWidgetWithData(delayedData);\n                } else if (retries >= 6) {\n                    clearInterval(pollInterval);\n                    fetch('\/wp-content\/uploads\/datafiles\/crickettoday.js')\n                        .then(res => res.text())\n                        .then(text => {\n                            const scriptMatch = text.match(\/(?:(?:window\\.)?(?:cricketData|crickettoday|cricket_today)\\s*=\\s*)(\\[[\\s\\S]*?\\]);?\/);\n                            if (scriptMatch && scriptMatch[1]) {\n                                try {\n                                    const parsed = Function('\"use strict\"; return (' + scriptMatch[1] + ')')();\n                                    if (Array.isArray(parsed) && parsed.length > 0) return initializeWidgetWithData(parsed);\n                                } catch (e) {}\n                            }\n                            displayEmptySchedule();\n                        })\n                        .catch(() => displayEmptySchedule());\n                }\n            }, 300);\n        }\n\n        function initializeWidgetWithData(activeData) {\n            if (!activeData || activeData.length === 0) {\n                displayEmptySchedule();\n                return;\n            }\n\n            parsedMatches = activeData\n                .map((item, idx) => normalizeMatchData(item, idx))\n                .filter(Boolean)\n                .map(item => {\n                    const localized = localizeMatchTime(item.dateIso);\n                    return { ...item, ...localized };\n                });\n\n            parsedMatches.sort((a, b) => a.timestamp - b.timestamp);\n\n            buildDateTabs();\n        }\n\n        function buildDateTabs() {\n            const bar = document.getElementById('cricket-tab-bar');\n\n            const todayCount = parsedMatches.filter(m => m.dayTag === 'TODAY').length;\n            const tomorrowCount = parsedMatches.filter(m => m.dayTag === 'TOMORROW').length;\n            const yesterdayCount = parsedMatches.filter(m => m.dayTag === 'YESTERDAY').length;\n\n            const uniqueDatesMap = new Map();\n            parsedMatches.forEach(m => {\n                if (m.dateKey && m.dateKey !== 'unknown' && !['TODAY', 'TOMORROW', 'YESTERDAY'].includes(m.dayTag)) {\n                    if (!uniqueDatesMap.has(m.dateKey)) {\n                        uniqueDatesMap.set(m.dateKey, {\n                            dateKey: m.dateKey,\n                            label: m.dateStr,\n                            count: 1\n                        });\n                    } else {\n                        uniqueDatesMap.get(m.dateKey).count++;\n                    }\n                }\n            });\n\n            const tabs = [];\n\n            tabs.push({ id: 'TODAY', label: 'TODAY', count: todayCount, badgeClass: todayCount > 0 ? 'bg-orange-500 text-white' : 'bg-slate-800 text-slate-400' });\n            tabs.push({ id: 'TOMORROW', label: 'TOMORROW', count: tomorrowCount, badgeClass: 'bg-slate-800 text-slate-300' });\n            tabs.push({ id: 'YESTERDAY', label: 'YESTERDAY', count: yesterdayCount, badgeClass: 'bg-slate-800 text-slate-300' });\n\n            const sortedDates = Array.from(uniqueDatesMap.values()).sort((a, b) => a.dateKey.localeCompare(b.dateKey));\n            sortedDates.forEach(d => {\n                tabs.push({\n                    id: `DATE:${d.dateKey}`,\n                    label: d.label.toUpperCase(),\n                    count: d.count,\n                    badgeClass: 'bg-slate-800 text-slate-300'\n                });\n            });\n\n            tabs.push({ id: 'ALL', label: 'ALL FIXTURES', count: parsedMatches.length, badgeClass: 'bg-slate-800 text-slate-300' });\n\n            let tabsHtml = '';\n            tabs.forEach(t => {\n                tabsHtml += `\n                    <button type=\"button\" onclick=\"onTabSelected('${t.id}', this)\" class=\"tab-button relative z-10 px-3 py-1.5 text-xs font-bold text-slate-400 hover:text-white transition-colors duration-150 rounded-lg whitespace-nowrap flex items-center gap-1.5\" data-tab-id=\"${t.id}\">\n                        <span>${t.label}<\/span>\n                        <span class=\"text-[10px] font-mono px-1.5 py-0.2 rounded-full ${t.badgeClass}\">${t.count}<\/span>\n                    <\/button>\n                `;\n            });\n\n            tabsHtml += `<div id=\"tab-slider\" class=\"absolute top-1 bottom-1 left-1 bg-gradient-to-r from-sky-600 to-blue-600 rounded-lg shadow-md tab-indicator opacity-0 pointer-events-none\"><\/div>`;\n            bar.innerHTML = tabsHtml;\n\n            let initialTab = 'TODAY';\n            if (todayCount === 0) {\n                initialTab = tomorrowCount > 0 ? 'TOMORROW' : 'ALL';\n            }\n\n            setTimeout(() => {\n                const targetBtn = bar.querySelector(`.tab-button[data-tab-id=\"${initialTab}\"]`) || bar.querySelector('.tab-button');\n                if (targetBtn) {\n                    onTabSelected(initialTab, targetBtn);\n                }\n            }, 60);\n        }\n\n        function onTabSelected(tabKey, btn) {\n            activeTabKey = tabKey;\n            updateTabSlider(btn, false);\n            filterAndDisplayMatches(tabKey);\n        }\n\n        function updateTabSlider(targetBtn, isInstant) {\n            const slider = document.getElementById('tab-slider');\n            if (!slider || !targetBtn) return;\n            const parent = targetBtn.parentElement;\n            const parentRect = parent.getBoundingClientRect();\n            const btnRect = targetBtn.getBoundingClientRect();\n            const leftOffset = (btnRect.left - parentRect.left) + parent.scrollLeft;\n\n            slider.style.transition = isInstant ? 'none' : 'all 0.25s cubic-bezier(0.4, 0, 0.2, 1)';\n            slider.style.opacity = '1';\n            slider.style.transform = `translateX(${leftOffset}px)`;\n            slider.style.width = `${btnRect.width}px`;\n\n            document.querySelectorAll('.tab-button').forEach(b => {\n                b.classList.remove('text-white');\n                b.classList.add('text-slate-400');\n            });\n            targetBtn.classList.remove('text-slate-400');\n            targetBtn.classList.add('text-white');\n        }\n\n        function filterAndDisplayMatches(filterKey) {\n            const grid = document.getElementById('schedule-grid');\n            let filtered = [];\n            let headingText = 'FIXTURES SCHEDULE';\n\n            if (filterKey === 'ALL') {\n                filtered = parsedMatches;\n                headingText = 'ALL FIXTURES';\n            } else if (filterKey === 'TODAY') {\n                filtered = parsedMatches.filter(m => m.dayTag === 'TODAY');\n                headingText = \"TODAY'S MATCHES\";\n            } else if (filterKey === 'TOMORROW') {\n                filtered = parsedMatches.filter(m => m.dayTag === 'TOMORROW');\n                headingText = \"TOMORROW'S MATCHES\";\n            } else if (filterKey === 'YESTERDAY') {\n                filtered = parsedMatches.filter(m => m.dayTag === 'YESTERDAY');\n                headingText = \"YESTERDAY'S MATCHES\";\n            } else if (filterKey.startsWith('DATE:')) {\n                const targetDateKey = filterKey.replace('DATE:', '');\n                filtered = parsedMatches.filter(m => m.dateKey === targetDateKey);\n                headingText = filtered[0] ? `FIXTURES FOR ${filtered[0].dateStr.toUpperCase()}` : 'FIXTURES';\n            }\n\n            document.getElementById('schedule-heading').textContent = headingText;\n            document.getElementById('games-counter').textContent = filtered.length;\n            grid.innerHTML = '';\n\n            if (filtered.length === 0) {\n                grid.innerHTML = `\n                    <div class=\"col-span-full py-12 text-center text-slate-400 text-xs font-semibold\">\n                        No cricket fixtures scheduled for this selection.\n                    <\/div>\n                `;\n            } else {\n                filtered.forEach(match => {\n                    grid.appendChild(buildMatchCard(match));\n                });\n            }\n\n            renderSpotlightMatch(filtered);\n        }\n\n        function buildMatchCard(match) {\n            const card = document.createElement('div');\n            card.className = \"match-card rounded-xl p-3 sm:p-3.5 flex flex-col justify-between cursor-pointer group relative\";\n            card.onclick = () => openCricketModal(match.id);\n\n            const teamATheme = getTeamTheme(match.teamACode);\n            const teamBTheme = getTeamTheme(match.teamBCode);\n\n            let dayBadge = '';\n            if (match.dayTag === 'TODAY') {\n                dayBadge = `<span class=\"text-[9px] font-black uppercase tracking-wider bg-orange-500 text-white px-2 py-0.5 rounded mr-1\">TODAY<\/span>`;\n            } else if (match.dayTag === 'TOMORROW') {\n                dayBadge = `<span class=\"text-[9px] font-black uppercase tracking-wider bg-sky-600 text-white px-2 py-0.5 rounded mr-1\">TOMORROW<\/span>`;\n            } else if (match.dayTag === 'YESTERDAY') {\n                dayBadge = `<span class=\"text-[9px] font-black uppercase tracking-wider bg-slate-600 text-white px-2 py-0.5 rounded mr-1\">YESTERDAY<\/span>`;\n            }\n\n            const dateTag = `<span class=\"text-[10px] font-semibold text-slate-600 bg-slate-100 px-2 py-0.5 rounded\">${match.dateStr}<\/span>`;\n            \n            let streamTag = '';\n            if (match.network) {\n                const streamContent = `\n                    <svg class=\"w-2.5 h-2.5 text-sky-500 shrink-0\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n                        <rect width=\"20\" height=\"15\" x=\"2\" y=\"7\" rx=\"2\" ry=\"2\"\/>\n                        <polyline points=\"17 2 12 7 7 2\"\/>\n                    <\/svg>\n                    <span class=\"truncate font-semibold text-slate-800\">${match.network}<\/span>\n                `;\n                streamTag = `\n                    <span class=\"inline-flex items-center gap-1.5 text-[10.5px] font-bold text-slate-900 bg-sky-50 border border-sky-200\/80 px-2 py-0.5 rounded-md truncate max-w-[190px]\">\n                        ${streamContent}\n                    <\/span>\n                `;\n            }\n\n            card.innerHTML = `\n                <div>\n                    <div class=\"flex justify-between items-center mb-2\">\n                        <span class=\"text-[10px] font-black uppercase tracking-wider bg-[#0f172a] text-white px-2.5 py-0.5 rounded-md shadow-xs\">\n                            ${match.tournament || 'CRICKET'}\n                        <\/span>\n                        <div class=\"flex items-center\">\n                            ${dayBadge}\n                            ${dateTag}\n                        <\/div>\n                    <\/div>\n\n                    <div class=\"space-y-1.5 my-2\">\n                        <div class=\"flex items-center gap-2.5\">\n                            <span class=\"min-w-[30px] px-1.5 h-6 rounded-md ${teamATheme.bg} font-black text-[10px] flex items-center justify-center shrink-0 whitespace-nowrap leading-none\">\n                                ${match.teamACode || 'T1'}\n                            <\/span>\n                            <span class=\"text-sm font-bold ${teamATheme.nameColor} leading-tight truncate\">${match.teamA || 'Team A'}<\/span>\n                        <\/div>\n                        <div class=\"flex items-center gap-2.5\">\n                            <span class=\"min-w-[30px] px-1.5 h-6 rounded-md ${teamBTheme.bg} font-black text-[10px] flex items-center justify-center shrink-0 whitespace-nowrap leading-none\">\n                                ${match.teamBCode || 'T2'}\n                            <\/span>\n                            <span class=\"text-sm font-bold ${teamBTheme.nameColor} leading-tight truncate\">${match.teamB || 'Team B'}<\/span>\n                        <\/div>\n                    <\/div>\n\n                    ${match.score ? `\n                        <div class=\"mt-2 text-[11px] font-semibold text-emerald-700 bg-emerald-50 border border-emerald-200 px-2 py-1 rounded leading-snug\">\n                            ${match.score}\n                        <\/div>\n                    ` : ''}\n                <\/div>\n\n                <div class=\"mt-2 pt-2 flex flex-wrap items-center justify-between gap-1.5 border-t border-slate-100\">\n                    <div class=\"flex items-center gap-1 shrink-0\">\n                        <svg class=\"w-3 h-3 text-slate-400 shrink-0\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n                            <circle cx=\"12\" cy=\"12\" r=\"10\"\/>\n                            <polyline points=\"12 6 12 12 16 14\"\/>\n                        <\/svg>\n                        <span class=\"text-xs font-bold text-slate-900 tracking-tight whitespace-nowrap\">${match.timeStr}<\/span>\n                        ${match.tzAbbr ? `<span class=\"text-[9px] font-mono font-bold bg-[#0f172a] text-white px-1.5 py-0.2 rounded whitespace-nowrap\">${match.tzAbbr}<\/span>` : ''}\n                    <\/div>\n                    <div class=\"shrink-0\">\n                        ${streamTag}\n                    <\/div>\n                <\/div>\n            `;\n            return card;\n        }\n\n        function renderSpotlightMatch(list) {\n            const container = document.getElementById('spotlight-section');\n            if (list.length === 0) {\n                container.classList.add('hidden');\n                return;\n            }\n\n            container.classList.remove('hidden');\n            const spotlight = list[0];\n            const cardEl = document.getElementById('spotlight-card');\n            cardEl.onclick = () => openCricketModal(spotlight.id);\n\n            let dayTag = '';\n            if (spotlight.dayTag === 'TODAY') {\n                dayTag = `<span class=\"text-[10px] sm:text-xs font-black uppercase tracking-wider bg-orange-600 text-white px-2.5 py-0.5 rounded shadow-xs mr-1 shrink-0\">TODAY<\/span>`;\n            } else if (spotlight.dayTag === 'TOMORROW') {\n                dayTag = `<span class=\"text-[10px] sm:text-xs font-black uppercase tracking-wider bg-sky-600 text-white px-2.5 py-0.5 rounded shadow-xs mr-1 shrink-0\">TOMORROW<\/span>`;\n            } else if (spotlight.dayTag === 'YESTERDAY') {\n                dayTag = `<span class=\"text-[10px] sm:text-xs font-black uppercase tracking-wider bg-slate-600 text-white px-2.5 py-0.5 rounded shadow-xs mr-1 shrink-0\">YESTERDAY<\/span>`;\n            }\n\n            let streamPill = '';\n            if (spotlight.network) {\n                streamPill = `\n                    <span class=\"spotlight-pill-item inline-flex items-center gap-1.5 text-[11px] sm:text-xs font-bold text-slate-200 bg-white\/10 border border-white\/15 px-3 py-1.5 rounded-lg shadow-xs shrink-0 whitespace-nowrap\">\n                        <svg class=\"w-3.5 h-3.5 text-sky-400 shrink-0\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n                            <rect width=\"20\" height=\"15\" x=\"2\" y=\"7\" rx=\"2\" ry=\"2\"\/>\n                            <polyline points=\"17 2 12 7 7 2\"\/>\n                        <\/svg>\n                        <span class=\"whitespace-nowrap\">${spotlight.network}<\/span>\n                    <\/span>\n                `;\n            }\n\n            cardEl.innerHTML = `\n                <div class=\"spotlight-grid p-6 sm:p-7 md:p-8 grid grid-cols-[1fr_auto_1fr] items-center gap-4 sm:gap-6 relative z-10 w-full\">\n                    \n                    <div class=\"flex flex-col items-center justify-center text-center gap-2 min-w-0\">\n                        <h3 class=\"spotlight-team-title text-base sm:text-lg md:text-xl font-black text-white leading-tight break-words text-center px-1\">\n                            ${spotlight.teamA}\n                        <\/h3>\n                    <\/div>\n\n                    <div class=\"spotlight-center-panel flex flex-col items-center justify-center shrink-0 px-4 sm:px-6 md:px-7 py-3 sm:py-4.5 bg-[#020b18]\/85 border border-slate-700\/80 rounded-2xl md:rounded-3xl backdrop-blur-md shadow-inner\">\n                        <div class=\"flex items-center justify-center mb-1 whitespace-nowrap\">\n                            ${dayTag}\n                            <span class=\"spotlight-date-text text-[11px] sm:text-xs md:text-sm font-bold tracking-wider text-slate-300 uppercase\">${spotlight.dateStr}<\/span>\n                        <\/div>\n                        <div class=\"spotlight-time-text text-2xl sm:text-3xl md:text-4xl font-black text-white tracking-tight flex items-baseline gap-1.5 whitespace-nowrap\">\n                            ${spotlight.timeStr}\n                            ${spotlight.tzAbbr ? `<span class=\"text-[10px] sm:text-xs md:text-sm font-mono font-bold text-sky-400\">${spotlight.tzAbbr}<\/span>` : ''}\n                        <\/div>\n                        <div class=\"spotlight-bottom-pills mt-2.5 flex items-center justify-center gap-2 max-w-full\">\n                            <span class=\"spotlight-pill-item text-[11px] sm:text-xs font-bold uppercase tracking-wider bg-white\/10 text-slate-300 px-3 py-1.5 rounded-lg border border-white\/15 whitespace-nowrap shrink-0\">\n                                ${spotlight.tournament || 'CRICKET'}\n                            <\/span>\n                            ${streamPill}\n                        <\/div>\n                    <\/div>\n\n                    <div class=\"flex flex-col items-center justify-center text-center gap-2 min-w-0\">\n                        <h3 class=\"spotlight-team-title text-base sm:text-lg md:text-xl font-black text-white leading-tight break-words text-center px-1\">\n                            ${spotlight.teamB}\n                        <\/h3>\n                    <\/div>\n\n                <\/div>\n            `;\n        }\n\n        function openCricketModal(matchId) {\n            const match = parsedMatches.find(g => g.id === matchId);\n            if (!match) return;\n\n            currentModalMatch = match;\n\n            document.getElementById('modal-tournament-pill').textContent = match.tournament || 'CRICKET MATCH';\n            document.getElementById('modal-format-pill').textContent = match.format || 'MATCH';\n\n            document.getElementById('modal-teams-layout').innerHTML = `\n                <div class=\"flex flex-col items-center justify-center text-center w-5\/12\">\n                    <h4 class=\"font-bold text-sm text-white leading-tight\">${match.teamA}<\/h4>\n                <\/div>\n\n                <div class=\"flex flex-col items-center text-center w-2\/12 px-1\">\n                    <span class=\"text-[10px] font-bold tracking-widest text-slate-400 uppercase\">VS<\/span>\n                    <span class=\"text-[11px] font-semibold text-slate-300 mt-0.5 whitespace-nowrap\">${match.dateStr}<\/span>\n                    <div class=\"text-xl sm:text-2xl font-black text-white leading-tight mt-0.5 whitespace-nowrap\">${match.timeStr}<\/div>\n                    ${match.tzAbbr ? `<span class=\"text-[9px] font-mono font-bold text-sky-400 mt-0.5\">${match.tzAbbr}<\/span>` : ''}\n                <\/div>\n\n                <div class=\"flex flex-col items-center justify-center text-center w-5\/12\">\n                    <h4 class=\"font-bold text-sm text-white leading-tight\">${match.teamB}<\/h4>\n                <\/div>\n            `;\n\n            const bodyEl = document.getElementById('modal-details-body');\n            let bodyContent = '';\n\n            if (match.score) {\n                bodyContent += `\n                    <div class=\"bg-slate-900 text-white p-3 rounded-xl border border-slate-700\/80 shadow-2xs flex items-center justify-between\">\n                        <div class=\"flex items-center gap-2\">\n                            <span class=\"w-2.5 h-2.5 rounded-full bg-emerald-500 animate-pulse\"><\/span>\n                            <span class=\"text-[10px] font-black uppercase tracking-wider text-emerald-400\">MATCH RESULT<\/span>\n                        <\/div>\n                        <span class=\"text-xs font-bold text-white tracking-wide\">${match.score}<\/span>\n                    <\/div>\n                `;\n            }\n\n            if (match.venue || match.network) {\n                bodyContent += `<div class=\"grid grid-cols-1 sm:grid-cols-2 gap-2.5\">`;\n                if (match.venue) {\n                    bodyContent += `\n                        <div class=\"bg-white p-3 rounded-xl border border-slate-200\/90 shadow-2xs flex flex-col justify-center\">\n                            <span class=\"text-[9px] font-black uppercase tracking-wider text-slate-400 mb-0.5\">VENUE<\/span>\n                            <div class=\"flex items-center gap-1.5 text-xs font-bold text-slate-900 truncate\">\n                                <svg class=\"w-3.5 h-3.5 text-red-500 shrink-0\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n                                    <path d=\"M20 10c0 6-8 12-8 12s-8-6-8-12a8 8 0 0 1 16 0Z\"\/>\n                                    <circle cx=\"12\" cy=\"10\" r=\"3\"\/>\n                                <\/svg>\n                                <span>${match.venue}<\/span>\n                            <\/div>\n                        <\/div>\n                    `;\n                }\n                if (match.network) {\n                    bodyContent += `\n                        <div class=\"bg-white p-3 rounded-xl border border-slate-200\/90 shadow-2xs flex flex-col justify-center\">\n                            <span class=\"text-[9px] font-black uppercase tracking-wider text-slate-400 mb-0.5\">BROADCAST<\/span>\n                            <div class=\"flex items-center gap-1.5 text-xs font-bold text-slate-800 truncate\">\n                                <svg class=\"w-3.5 h-3.5 text-sky-500 shrink-0\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n                                    <rect width=\"20\" height=\"15\" x=\"2\" y=\"7\" rx=\"2\" ry=\"2\"\/>\n                                    <polyline points=\"17 2 12 7 7 2\"\/>\n                                <\/svg>\n                                <span class=\"truncate\">${match.network}<\/span>\n                            <\/div>\n                        <\/div>\n                    `;\n                }\n                bodyContent += `<\/div>`;\n            }\n\n            if (match.seriesContext || match.matchupNote) {\n                bodyContent += `\n                    <div class=\"bg-white p-3 rounded-xl border border-slate-200\/90 shadow-2xs space-y-1.5\">\n                        ${match.seriesContext ? `\n                            <div>\n                                <span class=\"text-[9px] font-black uppercase tracking-wider text-slate-400 block mb-0.5\">SERIES CONTEXT<\/span>\n                                <p class=\"text-xs text-slate-800 font-medium leading-relaxed\">${match.seriesContext}<\/p>\n                            <\/div>\n                        ` : ''}\n                        ${match.matchupNote ? `\n                            <div class=\"${match.seriesContext ? 'pt-1.5 border-t border-slate-100' : ''}\">\n                                <span class=\"text-[9px] font-black uppercase tracking-wider text-slate-400 block mb-0.5\">MATCHUP NOTE<\/span>\n                                <p class=\"text-xs text-slate-800 font-medium leading-relaxed\">${match.matchupNote}<\/p>\n                            <\/div>\n                        ` : ''}\n                    <\/div>\n                `;\n            }\n\n            if (match.pitchReport) {\n                bodyContent += `\n                    <div class=\"bg-emerald-50\/70 border border-emerald-200 p-3 rounded-xl shadow-2xs space-y-1.5\">\n                        <span class=\"text-[9px] font-black uppercase tracking-wider text-emerald-800 block mb-0.5\">PITCH &amp; CONDITIONS<\/span>\n                        <p class=\"text-xs text-emerald-950 font-medium leading-relaxed\">${match.pitchReport}<\/p>\n                    <\/div>\n                `;\n            }\n\n            const hasSquadA = Array.isArray(match.teamAPlaying11) && match.teamAPlaying11.length > 0;\n            const hasSquadB = Array.isArray(match.teamBPlaying11) && match.teamBPlaying11.length > 0;\n\n            if (hasSquadA || hasSquadB) {\n                bodyContent += `\n                    <div class=\"bg-white p-3.5 sm:p-4 rounded-xl border border-slate-200\/90 shadow-2xs\">\n                        <div class=\"flex items-center justify-between mb-2.5 border-b border-slate-100 pb-1.5\">\n                            <span class=\"text-[11px] font-black uppercase tracking-wider text-slate-800\">PLAYING 11 \/ SQUADS<\/span>\n                            <span class=\"text-[9px] text-slate-400 font-semibold\">(C) Captain &bull; (WK) Keeper<\/span>\n                        <\/div>\n                        <div class=\"grid grid-cols-1 sm:grid-cols-2 gap-3\">\n                            <div>\n                                <h5 class=\"text-[11px] font-black text-slate-800 mb-1.5\">${match.teamA}<\/h5>\n                                ${hasSquadA ? `\n                                    <ul class=\"space-y-1\">\n                                        ${match.teamAPlaying11.map((player, idx) => `\n                                            <li class=\"text-[11px] text-slate-700 flex items-center justify-between bg-slate-50 px-2 py-0.5 rounded border border-slate-100\">\n                                                <span class=\"truncate\">${player}<\/span>\n                                                <span class=\"text-[9px] text-slate-400 font-mono ml-1 shrink-0\">#${idx + 1}<\/span>\n                                            <\/li>\n                                        `).join('')}\n                                    <\/ul>\n                                ` : '<p class=\"text-[11px] text-slate-400 italic\">To be announced<\/p>'}\n                            <\/div>\n\n                            <div>\n                                <h5 class=\"text-[11px] font-black text-slate-800 mb-1.5\">${match.teamB}<\/h5>\n                                ${hasSquadB ? `\n                                    <ul class=\"space-y-1\">\n                                        ${match.teamBPlaying11.map((player, idx) => `\n                                            <li class=\"text-[11px] text-slate-700 flex items-center justify-between bg-slate-50 px-2 py-0.5 rounded border border-slate-100\">\n                                                <span class=\"truncate\">${player}<\/span>\n                                                <span class=\"text-[9px] text-slate-400 font-mono ml-1 shrink-0\">#${idx + 1}<\/span>\n                                            <\/li>\n                                        `).join('')}\n                                    <\/ul>\n                                ` : '<p class=\"text-[11px] text-slate-400 italic\">To be announced<\/p>'}\n                            <\/div>\n                        <\/div>\n                    <\/div>\n                `;\n            }\n\n            bodyEl.innerHTML = bodyContent || `<p class=\"text-xs text-slate-400 text-center py-4\">No additional notes.<\/p>`;\n            bodyEl.scrollTop = 0;\n\n            setupModalActions(match);\n\n            const modal = document.getElementById('cricket-modal');\n            modal.classList.add('modal-active');\n            document.body.style.overflow = 'hidden';\n        }\n\n        function closeCricketModal() {\n            const modal = document.getElementById('cricket-modal');\n            modal.classList.remove('modal-active');\n            document.body.style.overflow = 'auto';\n        }\n\n        function setupModalActions(match) {\n            const btnCal = document.getElementById('btn-add-calendar');\n            btnCal.onclick = () => {\n                if (!match.dateObj) return;\n\n                const startIso = match.dateObj.toISOString().replace(\/-|:|\\.\\d\\d\\d\/g, \"\");\n                const endDate = new Date(match.dateObj.getTime() + (3.5 * 60 * 60 * 1000));\n                const endIso = endDate.toISOString().replace(\/-|:|\\.\\d\\d\\d\/g, \"\");\n\n                const title = encodeURIComponent(`${match.teamA} vs ${match.teamB} - ${match.tournament} (${match.format})`);\n                const details = encodeURIComponent(`Cricket Match\\nTournament: ${match.tournament}\\nVenue: ${match.venue || 'TBA'}`);\n                const location = encodeURIComponent(match.venue || '');\n\n                const calUrl = `https:\/\/calendar.google.com\/calendar\/render?action=TEMPLATE&text=${title}&dates=${startIso}\/${endIso}&details=${details}&location=${location}`;\n                window.open(calUrl, '_blank');\n            };\n\n            const btnShare = document.getElementById('btn-share-match');\n            btnShare.onclick = () => {\n                const shareText = `Cricket Schedule: ${match.teamA} vs ${match.teamB} on ${match.dateStr} at ${match.timeStr} (${match.tzAbbr}).`;\n                const shareUrl = window.location.href;\n\n                if (navigator.share) {\n                    navigator.share({ title: `${match.teamA} vs ${match.teamB}`, text: shareText, url: shareUrl }).catch(() => copyToClipboard(shareText));\n                } else {\n                    copyToClipboard(shareText);\n                }\n            };\n        }\n\n        function copyToClipboard(text) {\n            const textArea = document.createElement(\"textarea\");\n            textArea.value = text;\n            textArea.style.position = \"fixed\";\n            textArea.style.opacity = \"0\";\n            document.body.appendChild(textArea);\n            textArea.select();\n            try {\n                document.execCommand('copy');\n                showToast('Match details copied to clipboard!');\n            } catch (err) {\n                showToast('Failed to copy');\n            }\n            document.body.removeChild(textArea);\n        }\n\n        function showToast(message) {\n            const toast = document.getElementById('cricket-toast');\n            document.getElementById('toast-text').textContent = message;\n            toast.classList.remove('opacity-0', 'pointer-events-none', 'translate-y-3');\n            toast.classList.add('opacity-100', 'translate-y-0');\n            setTimeout(() => {\n                toast.classList.add('opacity-0', 'pointer-events-none', 'translate-y-3');\n                toast.classList.remove('opacity-100', 'translate-y-0');\n            }, 2500);\n        }\n\n        function displayEmptySchedule() {\n            document.getElementById('header-date-info').textContent = 'No Matches Scheduled';\n            document.getElementById('cricket-tab-bar').innerHTML = '<span class=\"text-xs text-slate-400 px-3 py-1 font-semibold\">NO SCHEDULE LOADED<\/span>';\n            document.getElementById('schedule-grid').innerHTML = `\n                <div class=\"col-span-full py-16 text-center\">\n                    <h3 class=\"text-sm font-bold text-slate-700 mb-1\">No Matches Found<\/h3>\n                    <p class=\"text-xs text-slate-400 max-w-sm mx-auto\">Please check crickettoday.js.<\/p>\n                <\/div>\n            `;\n        }\n    <\/script>\n<\/body>\n<\/html>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-509c5cf e-con-full e-flex e-con e-child\" data-id=\"509c5cf\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-ad23356 elementor-widget elementor-widget-text-editor\" data-id=\"ad23356\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div id=\"model-response-message-contentr_4130ae05811bbb97\" class=\"markdown markdown-main-panel md-content enable-luminous-fast-follows enable-updated-hr-color tutor-markdown-rendering\" dir=\"ltr\" aria-busy=\"false\" aria-live=\"polite\">\n<h2 data-path-to-node=\"3\">Today\u2019s Cricket Match Schedule &amp; IST Timings<\/h2>\n<div>Match timings vary by format and host timezone. Use these standard Indian Standard Time (IST) start windows:<\/div>\n<p><\/p>\n<ul data-path-to-node=\"5\">\n<li>\n<div><b data-path-to-node=\"5,0,0\" data-index-in-node=\"0\">T20 League &amp; Franchise Matches:<\/b> Usually start at <b data-path-to-node=\"5,0,0\" data-index-in-node=\"49\">07:30 PM IST<\/b> (Evening) or <b data-path-to-node=\"5,0,0\" data-index-in-node=\"75\">03:30 PM IST<\/b> (Afternoon double-headers).<\/div>\n<\/li>\n<li>\n<div><b data-path-to-node=\"5,1,0\" data-index-in-node=\"0\">Bilateral T20Is:<\/b> Typically start at <b data-path-to-node=\"5,1,0\" data-index-in-node=\"36\">07:00 PM IST<\/b> in India (overseas matches vary by host country).<\/div>\n<\/li>\n<li>\n<div><b data-path-to-node=\"5,2,0\" data-index-in-node=\"0\">Day-Night ODIs:<\/b> Usually begin at <b data-path-to-node=\"5,2,0\" data-index-in-node=\"33\">01:30 PM IST<\/b>.<\/div>\n<\/li>\n<li>\n<div><b data-path-to-node=\"5,3,0\" data-index-in-node=\"0\">Day Test Matches:<\/b> Subcontinent morning sessions begin promptly at <b data-path-to-node=\"5,3,0\" data-index-in-node=\"66\">09:30 AM IST<\/b>.<\/div>\n<\/li>\n<\/ul>\n<blockquote data-path-to-node=\"6\">\n<div><b data-path-to-node=\"6,0\" data-index-in-node=\"0\">Toss Alert:<\/b> The official coin toss occurs exactly <b data-path-to-node=\"6,0\" data-index-in-node=\"50\">30 minutes before match start<\/b>, immediately followed by confirmed Playing 11s and impact substitutes.<\/div>\n<\/blockquote>\n<h2 data-path-to-node=\"8\">Where to Watch Live Cricket Matches in India<\/h2>\n<ul data-path-to-node=\"9\">\n<li>\n<div><b data-path-to-node=\"9,0,0\" data-index-in-node=\"0\">JioCinema \/ Sports18:<\/b> Live streaming and broadcast for IPL, WPL, and BCCI domestic home tours.<\/div>\n<\/li>\n<li>\n<div><b data-path-to-node=\"9,1,0\" data-index-in-node=\"0\">Disney+ Hotstar \/ Star Sports:<\/b> Live coverage for ICC tournaments (World Cups, WTC) and select bilateral series.<\/div>\n<\/li>\n<li>\n<div><b data-path-to-node=\"9,2,0\" data-index-in-node=\"0\">Sony LIV \/ Sony Sports:<\/b> Overseas tours in Australia, England, and Sri Lanka.<\/div>\n<\/li>\n<li>\n<div><b data-path-to-node=\"9,3,0\" data-index-in-node=\"0\">FanCode:<\/b> Emerging nation fixtures, CPL, domestic tournaments, and ECS T10.<\/div>\n<\/li>\n<li>\n<div><b data-path-to-node=\"9,4,0\" data-index-in-node=\"0\">DD Sports:<\/b> Free-to-air terrestrial broadcast on Free Dish for Indian national team fixtures.<\/div>\n<\/li>\n<\/ul>\n<h2 data-path-to-node=\"11\">How to Check Pitch Reports &amp; Playing 11 Today<\/h2>\n<ul data-path-to-node=\"12\">\n<li>\n<div><b data-path-to-node=\"12,0,0\" data-index-in-node=\"0\">Toss &amp; Playing 11:<\/b> Announced 30 minutes before match play. Click any match card in our live widget above to view confirmed lineups as soon as team sheets are exchanged.<\/div>\n<\/li>\n<li>\n<div><b data-path-to-node=\"12,1,0\" data-index-in-node=\"0\">Dew Factor:<\/b> At coastal and northern subcontinental venues, heavy evening dew often gives a strong advantage to the team batting second.<\/div>\n<\/li>\n<li>\n<div><b data-path-to-node=\"12,2,0\" data-index-in-node=\"0\">Pitch Condition:<\/b> Red-soil surfaces favor bounce and pace, while black-soil wickets slow down and assist spin bowlers in the second half.<\/div><\/li><\/ul>\n<\/div>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-598322d e-flex e-con-boxed e-con e-parent\" data-id=\"598322d\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-28addb2 elementor-widget elementor-widget-html\" data-id=\"28addb2\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<script type=\"application\/ld+json\">\n{\n  \"@context\": \"https:\/\/schema.org\",\n  \"@graph\": [\n    {\n      \"@type\": \"WebPage\",\n      \"@id\": \"https:\/\/nosportnation.com\/in\/cricket-today\/#webpage\",\n      \"url\": \"https:\/\/nosportnation.com\/in\/cricket-today\/\",\n      \"name\": \"Cricket Match Today: Live Cricket Schedule, Match Timings & Broadcast\",\n      \"description\": \"Daily live cricket schedule with accurate IST timings, stadium venues, tournament fixtures, and official live streaming apps.\",\n      \"inLanguage\": \"en-IN\"\n    },\n    {\n      \"@type\": \"FAQPage\",\n      \"@id\": \"https:\/\/nosportnation.com\/in\/cricket-today\/#faq\",\n      \"mainEntity\": [\n        {\n          \"@type\": \"Question\",\n          \"name\": \"What time does today's cricket match start in IST?\",\n          \"acceptedAnswer\": {\n            \"@type\": \"Answer\",\n            \"text\": \"Start times depend on host locations. Standard Indian day-night T20 matches begin at 07:30 PM IST, afternoon games start at 03:30 PM IST, and day Test sessions begin at 09:30 AM IST.\"\n          }\n        },\n        {\n          \"@type\": \"Question\",\n          \"name\": \"Where can I watch live cricket matches today in India?\",\n          \"acceptedAnswer\": {\n            \"@type\": \"Answer\",\n            \"text\": \"Matches are broadcast across Star Sports, Sports18, Sony Sports, and streamed digitally on Disney+ Hotstar, JioCinema, Sony LIV, and FanCode depending on tournament broadcasting rights.\"\n          }\n        },\n        {\n          \"@type\": \"Question\",\n          \"name\": \"When is the playing 11 confirmed?\",\n          \"acceptedAnswer\": {\n            \"@type\": \"Answer\",\n            \"text\": \"Captain declare the final playing 11 and substitute player at the coin toss, exactly 30 minutes prior to the scheduled start time.\"\n          }\n        }\n      ]\n    }\n  ]\n}\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Looking for today\u2019s cricket fixtures? Whether it is the Indian Premier League, ICC world events, bilateral Test series, One Day Internationals, or major domestic leagues like the Big Bash League, Pakistan Super League, and Caribbean Premier League, use our live interactive schedule above to track real-time match timings automatically synchronized with your local device clock. [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[260,225,1],"tags":[],"class_list":{"0":"post-4943","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-cricket","7":"category-live","8":"category-sport-news"},"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"amp_enabled":false,"_links":{"self":[{"href":"https:\/\/nosportnation.com\/in\/wp-json\/wp\/v2\/posts\/4943","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nosportnation.com\/in\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/nosportnation.com\/in\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/nosportnation.com\/in\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/nosportnation.com\/in\/wp-json\/wp\/v2\/comments?post=4943"}],"version-history":[{"count":93,"href":"https:\/\/nosportnation.com\/in\/wp-json\/wp\/v2\/posts\/4943\/revisions"}],"predecessor-version":[{"id":5046,"href":"https:\/\/nosportnation.com\/in\/wp-json\/wp\/v2\/posts\/4943\/revisions\/5046"}],"wp:attachment":[{"href":"https:\/\/nosportnation.com\/in\/wp-json\/wp\/v2\/media?parent=4943"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/nosportnation.com\/in\/wp-json\/wp\/v2\/categories?post=4943"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/nosportnation.com\/in\/wp-json\/wp\/v2\/tags?post=4943"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}