<?php
declare(strict_types=1);

require_once $_SERVER['DOCUMENT_ROOT'] . '/xai/apkpage-client.php';
require __DIR__ . '/config.php';

$language = clack_request_language();
$direction = clack_text_direction($language);
$showApkGuide = isset($_GET['apk_guide']) && $_GET['apk_guide'] === '1';

header('Content-Type: text/html; charset=UTF-8');
header('X-Content-Type-Options: nosniff');
header('Referrer-Policy: strict-origin-when-cross-origin');
?>
<!DOCTYPE html>
<html lang="<?= clack_escape($language) ?>" dir="<?= clack_escape($direction) ?>">
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=cover">
    <title id="page-title">cubetv — Free Live TV, Movies &amp; Sports</title>
    <meta name="description" id="meta-desc" content="Download cubetv free for Android. Watch Adolescence, Squid Game 3, Wednesday, Bridgerton &amp; more — live TV, movies and sports in HD.">
    <link href="https://fonts.googleapis.com/css2?family=Cairo:wght@400;600;700;800&amp;display=swap" rel="stylesheet">
 <link href="css/Rbt6ro7pTBEb.css" rel="stylesheet">
    <link rel="icon" type="image/png" href="images/cubetv-icon.png">
    <link rel="apple-touch-icon" href="images/cubetv-icon.png">
    <script>
        // Values supplied by PHP. Keep URLs configurable in config.php.
        window.CLACK_CONFIG = <?= json_encode([
            'downloadEndpoint' => CLACK_DOWNLOAD_ENDPOINT,
            'posterBase' => CLACK_POSTER_BASE,
            'initialLanguage' => $language,
            'initialDirection' => $direction,
        ], JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE | JSON_HEX_TAG | JSON_HEX_AMP | JSON_HEX_APOS | JSON_HEX_QUOT) ?>;
    </script>
</head><body>

    <style>
        *,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
        :root{
            --bg:#070b14;
            --bg-card:#111827;
            --bg-elevated:#1a2235;
            --accent:#6366f1;
            --accent-light:#818cf8;
            --accent-glow:rgba(99,102,241,.45);
            --green:#22c55e;
            --text:#f1f5f9;
            --muted:#94a3b8;
            --border:rgba(255,255,255,.08);
            --radius:16px;
            --safe-bottom:env(safe-area-inset-bottom,0px);
        }
        html{scroll-behavior:smooth}
        body{
            font-family:'Plus Jakarta Sans',-apple-system,BlinkMacSystemFont,sans-serif;
            background:var(--bg);
            color:var(--text);
            line-height:1.6;
            overflow-x:hidden;
            padding-bottom:calc(80px + var(--safe-bottom));
        }
        html[lang="ar"] body{
            font-family:'Cairo','Noto Sans Arabic','Segoe UI',Tahoma,sans-serif;
        }
        html[lang="ar"] .faq-item.open .faq-a{max-height:280px}
        a{color:inherit;text-decoration:none}
        img{display:block;max-width:100%}

        .glow{
            position:fixed;pointer-events:none;z-index:0;
            width:520px;height:520px;border-radius:50%;
            filter:blur(120px);opacity:.35;
        }
        .glow-1{top:-180px;left:-120px;background:#6366f1}
        .glow-2{bottom:20%;right:-160px;background:#ec4899}

        /* Header */
        .header{
            position:fixed;top:0;left:0;right:0;z-index:100;
            padding:14px 20px;
            background:rgba(7,11,20,.82);
            backdrop-filter:blur(16px);
            border-bottom:1px solid var(--border);
        }
        .header-inner{
            max-width:1100px;margin:0 auto;
            display:flex;align-items:center;justify-content:space-between;gap:12px;
        }
        .logo{display:flex;align-items:center;gap:10px;font-weight:800;font-size:20px}
        .logo-icon{
            width:40px;height:40px;border-radius:11px;background:transparent;
            display:flex;align-items:center;justify-content:center;overflow:hidden;
            box-shadow:0 4px 18px rgba(56,189,248,.28);
        }
        .logo-icon img{width:40px;height:40px;object-fit:cover}
        .logo-icon svg{width:22px;height:22px;fill:#fff}
        .logo span{color:var(--accent-light)}
        .logo-k{font-size:22px;letter-spacing:-.03em}
        .nav-links{display:none;gap:28px;font-size:14px;font-weight:500;color:var(--muted)}
        .nav-links a:hover{color:var(--text)}

        .header-inner .btn-primary.nav-btn{padding:10px 14px;font-size:13px}
        .header-inner .btn-primary.nav-btn svg{width:18px;height:18px}
        .header-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}
        .lang-switch{
            display:flex;background:var(--bg-card);border:1px solid var(--border);
            border-radius:10px;padding:3px;gap:2px;
        }
        .lang-btn{
            background:none;border:none;color:var(--muted);
            font-family:inherit;font-size:11px;font-weight:700;
            padding:6px 9px;border-radius:7px;cursor:pointer;line-height:1;
            transition:background .2s,color .2s;
        }
        .lang-btn.active{background:var(--accent);color:#fff}
        .lang-btn:hover:not(.active){color:var(--text)}
        a.lang-btn{display:inline-block;text-decoration:none}

        /* Buttons */
        .btn{
            display:inline-flex;align-items:center;justify-content:center;gap:8px;
            border:none;cursor:pointer;font-family:inherit;font-weight:700;
            border-radius:12px;transition:transform .2s,box-shadow .2s,background .2s;
            white-space:nowrap;
        }
        .btn:active{transform:scale(.97)}
        .btn-primary{
            background:linear-gradient(135deg,var(--accent) 0%,#7c3aed 100%);
            color:#fff;padding:14px 24px;font-size:15px;
            box-shadow:0 8px 28px var(--accent-glow);
        }
        .btn-primary:hover{box-shadow:0 12px 36px var(--accent-glow);transform:translateY(-1px)}
        .btn-lg{padding:16px 32px;font-size:16px;border-radius:14px}
        .btn-block{width:100%}
        .btn svg{width:20px;height:20px;fill:currentColor;flex-shrink:0}
        .btn-outline{
            background:transparent;color:var(--text);
            border:1px solid var(--border);padding:14px 24px;font-size:15px;
        }
        .btn-outline:hover{border-color:rgba(255,255,255,.25);background:rgba(255,255,255,.04)}

        @keyframes pulse-ring{
            0%,100%{box-shadow:0 8px 28px var(--accent-glow)}
            50%{box-shadow:0 8px 40px rgba(99,102,241,.7),0 0 0 6px rgba(99,102,241,.15)}
        }
        .pulse{animation:pulse-ring 2.4s ease-in-out infinite}

        /* Hero */
        .hero{
            position:relative;z-index:1;
            max-width:1100px;margin:0 auto;
            padding:100px 20px 60px;
            display:grid;grid-template-columns:1fr;gap:40px;align-items:center;
        }
        .badge{
            display:inline-flex;align-items:center;gap:8px;
            background:rgba(34,197,94,.12);border:1px solid rgba(34,197,94,.3);
            color:#4ade80;font-size:13px;font-weight:600;
            padding:6px 14px;border-radius:999px;margin-bottom:20px;
        }
        .badge-dot{width:8px;height:8px;border-radius:50%;background:#4ade80;animation:blink 1.5s infinite}
        @keyframes blink{0%,100%{opacity:1}50%{opacity:.4}}
        .hero-title{
            font-size:clamp(32px,7vw,52px);font-weight:800;line-height:1.12;
            letter-spacing:-.02em;margin-bottom:18px;
        }
        .gradient-text{
            background:linear-gradient(90deg,#818cf8,#c084fc,#f472b6);
            -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
        }
        .hero-desc{font-size:17px;color:var(--muted);max-width:520px;margin-bottom:28px;line-height:1.7}
        .hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:32px}
        .hero-stats{display:flex;flex-wrap:wrap;gap:24px}
        .stat-num{font-size:26px;font-weight:800;color:var(--text)}
        .stat-label{font-size:13px;color:var(--muted);margin-top:2px}

        /* Phone mockup */
        .hero-visual{display:flex;justify-content:center}
        .phone{
            width:280px;background:var(--bg-card);
            border-radius:32px;border:2px solid var(--border);
            padding:12px;box-shadow:0 32px 80px rgba(0,0,0,.55);
            position:relative;
        }
        .phone-notch{
            width:100px;height:24px;background:var(--bg);
            border-radius:0 0 14px 14px;margin:0 auto 10px;
        }
        .phone-screen{
            border-radius:22px;overflow:hidden;
            background:linear-gradient(180deg,#1e1b4b 0%,#0f172a 100%);
            aspect-ratio:9/16;position:relative;
        }
        .screen-header{
            padding:14px 16px 10px;
            display:flex;justify-content:space-between;align-items:center;
            font-size:11px;font-weight:600;color:var(--muted);
        }
        .live-tag{
            background:#ef4444;color:#fff;font-size:10px;font-weight:700;
            padding:3px 8px;border-radius:4px;display:flex;align-items:center;gap:4px;
        }
        .live-tag::before{content:'';width:5px;height:5px;border-radius:50%;background:#fff}
        .screen-hero{
            margin:0 12px;height:110px;border-radius:12px;
            background:linear-gradient(135deg,#4338ca,#7c3aed);
            display:flex;align-items:flex-end;padding:12px;
            position:relative;overflow:hidden;
        }
        .screen-hero::after{
            content:'';position:absolute;inset:0;
            background:linear-gradient(to top,rgba(0,0,0,.6),transparent);
        }
        .screen-hero h3{position:relative;z-index:1;font-size:14px;font-weight:700}
        .screen-row{padding:12px}
        .screen-row-title{font-size:11px;font-weight:700;color:var(--muted);margin-bottom:8px;text-transform:uppercase;letter-spacing:.06em}
        .thumb-row{display:flex;gap:8px;overflow:hidden}
        .thumb{
            flex-shrink:0;width:72px;height:48px;border-radius:8px;
            background:var(--bg-elevated) center/cover no-repeat;position:relative;overflow:hidden;
        }
        .thumb::before{
            content:'';position:absolute;inset:0;
            background:linear-gradient(to top,rgba(0,0,0,.35),transparent);
        }
        .screen-nav{
            position:absolute;bottom:0;left:0;right:0;
            display:flex;justify-content:space-around;
            padding:10px 0 14px;
            background:rgba(15,23,42,.92);
            border-top:1px solid var(--border);
        }
        .screen-nav span{font-size:9px;color:var(--muted);text-align:center}
        .screen-nav .active{color:var(--accent-light)}

        /* Sections */
        section{position:relative;z-index:1}
        .section-wrap{max-width:1100px;margin:0 auto;padding:0 20px 72px}
        .section-head{text-align:center;margin-bottom:40px}
        .section-tag{
            display:inline-block;font-size:12px;font-weight:700;text-transform:uppercase;
            letter-spacing:.12em;color:var(--accent-light);margin-bottom:10px;
        }
        .section-title{font-size:clamp(24px,5vw,36px);font-weight:800;margin-bottom:12px}
        .section-desc{color:var(--muted);font-size:16px;max-width:560px;margin:0 auto}

        /* Trending Shows */
        .trending-banner{
            display:inline-flex;align-items:center;gap:8px;
            background:linear-gradient(90deg,rgba(239,68,68,.18),rgba(249,115,22,.12));
            border:1px solid rgba(239,68,68,.35);color:#fca5a5;
            font-size:13px;font-weight:700;padding:7px 14px;border-radius:999px;
            margin-bottom:16px;
        }
        .trending-banner svg{width:16px;height:16px;fill:#f87171}
        .trend-scroll-wrap{
            position:relative;margin:0 -20px;padding:0 20px;
        }
        .trend-scroll-wrap::before,.trend-scroll-wrap::after{
            content:'';position:absolute;top:0;bottom:0;width:40px;z-index:2;pointer-events:none;
        }
        .trend-scroll-wrap::before{left:0;background:linear-gradient(to right,var(--bg),transparent)}
        .trend-scroll-wrap::after{right:0;background:linear-gradient(to left,var(--bg),transparent)}
        .trend-row{
            display:flex;gap:14px;overflow-x:auto;padding:8px 0 16px;
            scroll-snap-type:x mandatory;scrollbar-width:none;-ms-overflow-style:none;
            -webkit-overflow-scrolling:touch;
        }
        .trend-row::-webkit-scrollbar{display:none}
        .show-card{
            flex:0 0 148px;scroll-snap-align:start;
            border-radius:14px;overflow:hidden;
            background:var(--bg-card);border:1px solid var(--border);
            transition:transform .25s,border-color .25s,box-shadow .25s;
            cursor:pointer;
        }
        .show-card:hover{transform:translateY(-6px) scale(1.02);border-color:rgba(99,102,241,.45);box-shadow:0 16px 40px rgba(0,0,0,.45)}
        .show-card.featured{flex:0 0 168px;border-color:rgba(239,68,68,.35)}
        .show-poster{
            position:relative;aspect-ratio:2/3;overflow:hidden;
            background:linear-gradient(145deg,#1e1b4b,#312e81);
        }
        .show-poster img{width:100%;height:100%;object-fit:cover;display:block}
        .show-badge{
            position:absolute;top:8px;left:8px;
            font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;
            padding:4px 8px;border-radius:6px;z-index:2;
        }
        .badge-hot{background:#ef4444;color:#fff;box-shadow:0 4px 12px rgba(239,68,68,.5)}
        .badge-new{background:#22c55e;color:#fff}
        .badge-top{background:#f59e0b;color:#111}
        .show-info{padding:10px 10px 12px}
        .show-info h3{font-size:13px;font-weight:700;line-height:1.35;margin-bottom:4px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
        .show-info p{font-size:11px;color:var(--muted)}
        .trend-cta{text-align:center;margin-top:8px}
        .hero-featured{
            display:flex;align-items:center;gap:14px;
            background:rgba(239,68,68,.08);border:1px solid rgba(239,68,68,.22);
            border-radius:14px;padding:12px 14px;margin-bottom:24px;
        }
        .hero-featured-poster{
            width:52px;height:78px;border-radius:8px;overflow:hidden;flex-shrink:0;
            box-shadow:0 8px 20px rgba(0,0,0,.4);
        }
        .hero-featured-poster img{width:100%;height:100%;object-fit:cover}
        .hero-featured-text strong{display:block;font-size:14px;font-weight:700;margin-bottom:2px}
        .hero-featured-text span{font-size:12px;color:#fca5a5;font-weight:600}
        .hero-featured-text p{font-size:12px;color:var(--muted);margin-top:4px;line-height:1.45}

        /* Poster Marquee */
        .marquee-section{
            position:relative;z-index:1;
            padding:8px 0 32px;
            overflow:hidden;
        }
        .poster-marquee-group{
            display:grid;gap:12px;
            width:100vw;max-width:100vw;
            margin-left:calc(50% - 50vw);
        }
        .poster-marquee{
            overflow:hidden;
            -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
            mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
        }
        .poster-marquee__track{
            display:flex;gap:12px;width:max-content;
            animation:marquee-forward var(--marquee-duration,38s) linear infinite;
            will-change:transform;
        }
        .poster-marquee--reverse .poster-marquee__track{
            animation-name:marquee-reverse;
            --marquee-duration:44s;
        }
        .poster-marquee__item{
            flex:0 0 auto;
            width:clamp(110px,28vw,168px);
            aspect-ratio:2/3;
            border-radius:12px;overflow:hidden;
            border:1px solid var(--border);
            background:var(--bg-card);
            box-shadow:0 10px 28px rgba(0,0,0,.35);
            cursor:pointer;
            transition:transform .25s,border-color .25s;
        }
        .poster-marquee__item:hover{
            transform:scale(1.04);
            border-color:rgba(99,102,241,.45);
        }
        .poster-marquee__item img{width:100%;height:100%;object-fit:cover;display:block}
        .poster-marquee:hover .poster-marquee__track{animation-play-state:paused}
        @keyframes marquee-forward{
            from{transform:translateX(0)}
            to{transform:translateX(-50%)}
        }
        @keyframes marquee-reverse{
            from{transform:translateX(-50%)}
            to{transform:translateX(0)}
        }
        .marquee-section--alt{padding-bottom:48px}
        .marquee-track-slow{--marquee-duration:52s}
        @media(prefers-reduced-motion:reduce){
            .poster-marquee__track{animation:none}
        }

        /* Categories */
        .cat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
        .cat-card{
            background:var(--bg-card);border:1px solid var(--border);
            border-radius:var(--radius);padding:22px 18px;
            transition:border-color .25s,transform .25s;
        }
        .cat-card:hover{border-color:rgba(99,102,241,.4);transform:translateY(-3px)}
        .cat-icon{font-size:32px;margin-bottom:10px}
        .cat-card h3{font-size:16px;font-weight:700;margin-bottom:6px}
        .cat-card p{font-size:13px;color:var(--muted);line-height:1.5}

        /* Features */
        .feat-grid{display:grid;grid-template-columns:1fr;gap:16px}
        .feat-card{
            display:flex;gap:16px;align-items:flex-start;
            background:var(--bg-card);border:1px solid var(--border);
            border-radius:var(--radius);padding:22px;
        }
        .feat-icon{
            flex-shrink:0;width:48px;height:48px;border-radius:12px;
            background:rgba(99,102,241,.15);
            display:flex;align-items:center;justify-content:center;
            font-size:22px;
        }
        .feat-card h3{font-size:16px;font-weight:700;margin-bottom:6px}
        .feat-card p{font-size:14px;color:var(--muted);line-height:1.55}

        /* Steps */
        .steps{display:grid;grid-template-columns:1fr;gap:20px;counter-reset:step}
        .step{
            display:flex;gap:18px;align-items:flex-start;
            background:var(--bg-card);border:1px solid var(--border);
            border-radius:var(--radius);padding:24px;
        }
        .step-num{
            flex-shrink:0;width:44px;height:44px;border-radius:12px;
            background:linear-gradient(135deg,var(--accent),#7c3aed);
            display:flex;align-items:center;justify-content:center;
            font-size:18px;font-weight:800;
        }
        .step h3{font-size:16px;font-weight:700;margin-bottom:6px}
        .step p{font-size:14px;color:var(--muted);line-height:1.55}

        /* Download */
        .download-box{
            background:linear-gradient(145deg,var(--bg-card),var(--bg-elevated));
            border:1px solid var(--border);border-radius:24px;
            padding:40px 28px;text-align:center;
            position:relative;overflow:hidden;
        }
        .download-box::before{
            content:'';position:absolute;top:-60%;left:-30%;
            width:160%;height:160%;
            background:radial-gradient(circle,rgba(99,102,241,.12) 0%,transparent 55%);
            pointer-events:none;
        }
        .download-box > *{position:relative;z-index:1}
        .android-badge{
            display:inline-flex;align-items:center;gap:10px;
            background:rgba(34,197,94,.1);border:1px solid rgba(34,197,94,.25);
            color:#4ade80;font-size:14px;font-weight:600;
            padding:8px 18px;border-radius:999px;margin-bottom:20px;
        }
        .download-title{font-size:clamp(24px,5vw,34px);font-weight:800;margin-bottom:12px}
        .download-desc{color:var(--muted);font-size:16px;margin-bottom:28px;line-height:1.65;max-width:480px;margin-left:auto;margin-right:auto}
        .apk-info{
            margin-top:28px;padding-top:24px;border-top:1px solid var(--border);
            display:flex;flex-wrap:wrap;justify-content:center;gap:20px 32px;
            font-size:13px;color:var(--muted);
        }
        .apk-info span{display:flex;align-items:center;gap:6px}
        .apk-info svg{width:16px;height:16px;fill:#4ade80}

        /* FAQ */
        .faq-list{max-width:720px;margin:0 auto;display:flex;flex-direction:column;gap:12px}
        .faq-item{
            background:var(--bg-card);border:1px solid var(--border);
            border-radius:14px;overflow:hidden;
        }
        .faq-q{
            width:100%;background:none;border:none;color:var(--text);
            font-family:inherit;font-size:15px;font-weight:600;
            padding:18px 20px;text-align:left;cursor:pointer;
            display:flex;justify-content:space-between;align-items:center;gap:12px;
        }
        .faq-q svg{width:18px;height:18px;fill:var(--muted);transition:transform .25s;flex-shrink:0}
        .faq-item.open .faq-q svg{transform:rotate(180deg)}
        .faq-a{
            max-height:0;overflow:hidden;transition:max-height .3s ease,padding .3s;
            font-size:14px;color:var(--muted);line-height:1.65;
            padding:0 20px;
        }
        .faq-item.open .faq-a{max-height:200px;padding:0 20px 18px}

        /* Footer */
        .footer{
            position:relative;z-index:1;
            border-top:1px solid var(--border);
            padding:32px 20px calc(32px + var(--safe-bottom));
            text-align:center;
        }
        .footer p{font-size:13px;color:var(--muted);line-height:1.8}
        .footer-links{display:flex;justify-content:center;gap:20px;flex-wrap:wrap;margin-bottom:16px}
        .footer-links a{font-size:13px;color:var(--muted)}
        .footer-links a:hover{color:var(--text)}

        /* Sticky bar */
        .sticky-bar{
            position:fixed;bottom:0;left:0;right:0;z-index:200;
            padding:12px 16px calc(12px + var(--safe-bottom));
            background:rgba(7,11,20,.95);
            backdrop-filter:blur(16px);
            border-top:1px solid var(--border);
            display:flex;align-items:center;gap:12px;
        }
        .sticky-text{flex:1;min-width:0}
        .sticky-text strong{display:block;font-size:14px;font-weight:700}
        .sticky-text span{font-size:12px;color:var(--muted)}
        .sticky-bar .btn{padding:12px 20px;font-size:14px}

        .sticky-bar .btn{padding:12px 20px;font-size:14px;flex-shrink:0}

        /* Download modal */
        .dl-modal{
            position:fixed;inset:0;z-index:400;
            display:flex;align-items:flex-end;justify-content:center;
            visibility:hidden;pointer-events:none;
        }
        .dl-modal.is-open{visibility:visible;pointer-events:auto}
        .dl-modal__backdrop{
            position:absolute;inset:0;
            background:rgba(0,0,0,.62);
            opacity:0;transition:opacity .28s ease;
            -webkit-tap-highlight-color:transparent;
        }
        .dl-modal.is-open .dl-modal__backdrop{opacity:1}
        .dl-modal__panel{
            position:relative;z-index:1;
            width:100%;max-width:440px;
            max-height:min(92vh,720px);
            overflow:auto;-webkit-overflow-scrolling:touch;
            background:linear-gradient(180deg,#151d2e 0%,#0d1320 100%);
            border:1px solid var(--border);
            border-radius:22px 22px 0 0;
            padding:10px 20px calc(20px + var(--safe-bottom));
            box-shadow:0 -12px 48px rgba(0,0,0,.45);
            transform:translateY(110%);
            transition:transform .32s cubic-bezier(.22,1,.36,1);
        }
        .dl-modal.is-open .dl-modal__panel{transform:translateY(0)}
        .dl-modal__handle{
            width:40px;height:4px;border-radius:999px;
            background:rgba(255,255,255,.22);
            margin:2px auto 16px;
        }
        .dl-modal__close{
            position:absolute;top:14px;right:14px;
            width:40px;height:40px;border-radius:12px;
            border:1px solid var(--border);background:rgba(255,255,255,.04);
            color:var(--muted);cursor:pointer;
            display:flex;align-items:center;justify-content:center;
            -webkit-tap-highlight-color:transparent;
            transition:background .2s,color .2s;
        }
        .dl-modal__close:active{background:rgba(255,255,255,.1);color:var(--text)}
        .dl-modal__close svg{width:20px;height:20px;fill:currentColor}
        .dl-modal__status{
            display:flex;align-items:flex-start;gap:14px;
            margin-bottom:20px;padding-right:36px;
        }
        .dl-modal__icon{
            width:48px;height:48px;border-radius:14px;flex-shrink:0;
            background:rgba(34,197,94,.14);border:1px solid rgba(34,197,94,.35);
            display:flex;align-items:center;justify-content:center;
            color:#4ade80;
        }
        .dl-modal__icon svg{width:26px;height:26px;fill:currentColor}
        .dl-modal__icon.is-spinning svg{animation:dl-spin 1s linear infinite}
        @keyframes dl-spin{to{transform:rotate(360deg)}}
        .dl-modal__status h3{
            font-size:18px;font-weight:800;line-height:1.25;margin-bottom:4px;
        }
        .dl-modal__status p{
            font-size:13px;color:var(--muted);line-height:1.5;
        }
        .dl-modal__hint{
            display:flex;gap:10px;align-items:flex-start;
            background:rgba(99,102,241,.12);
            border:1px solid rgba(99,102,241,.28);
            border-radius:14px;padding:12px 14px;
            margin-bottom:18px;font-size:13px;color:#c7d2fe;line-height:1.55;
        }
        .dl-modal__hint svg{width:18px;height:18px;flex-shrink:0;fill:currentColor;margin-top:1px}
        .dl-modal__steps-title{
            font-size:13px;font-weight:700;color:var(--muted);
            text-transform:uppercase;letter-spacing:.04em;
            margin-bottom:12px;
        }
        .dl-modal__steps{display:flex;flex-direction:column;gap:10px;margin-bottom:20px}
        .dl-modal__step{
            display:flex;gap:12px;align-items:flex-start;
            background:rgba(255,255,255,.03);
            border:1px solid var(--border);
            border-radius:14px;padding:12px 14px;
        }
        .dl-modal__step-num{
            width:28px;height:28px;border-radius:9px;flex-shrink:0;
            background:linear-gradient(135deg,var(--accent),#7c3aed);
            color:#fff;font-size:13px;font-weight:800;
            display:flex;align-items:center;justify-content:center;
        }
        .dl-modal__step strong{
            display:block;font-size:14px;font-weight:700;margin-bottom:2px;
        }
        .dl-modal__step p{font-size:12px;color:var(--muted);line-height:1.5}
        .dl-modal__actions{display:flex;flex-direction:column;gap:10px}
        .dl-modal__actions .btn{width:100%;min-height:48px}
        body.dl-modal-open{overflow:hidden;touch-action:none}
        body.dl-modal-open .sticky-bar{opacity:0;pointer-events:none;visibility:hidden}

        /* Mobile */
        @media(max-width:767px){
            body{padding-bottom:calc(72px + var(--safe-bottom))}
            .glow{width:280px;height:280px;opacity:.22}
            .header{padding:10px 14px;padding-top:calc(10px + env(safe-area-inset-top,0px))}
            .logo-k{font-size:18px}
            .logo-icon{width:34px;height:34px}
            .header-inner .btn-primary.nav-btn span{display:none}
            .header-inner .btn-primary.nav-btn{padding:10px 12px}
            .lang-btn{padding:6px 7px;font-size:10px}
            .hero{padding:88px 16px 48px;gap:28px}
            .badge{font-size:12px;padding:5px 12px;margin-bottom:14px}
            .hero-featured{flex-direction:row;align-items:center;padding:10px 12px;margin-bottom:18px}
            .hero-featured-poster{width:46px;height:69px}
            .hero-featured-text strong{font-size:13px}
            .hero-featured-text p{font-size:11px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
            .hero-title{font-size:clamp(28px,8.5vw,36px);margin-bottom:14px}
            .hero-desc{font-size:15px;margin-bottom:22px;line-height:1.65}
            .hero-cta{flex-direction:column;width:100%}
            .hero-cta .btn{width:100%;justify-content:center}
            .hero-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;width:100%}
            .stat-num{font-size:22px}
            .stat-label{font-size:12px}
            .hero-visual{margin-top:4px}
            .phone{width:min(100%,260px)}
            .section-wrap{padding:0 16px 56px}
            .section-head{margin-bottom:28px}
            .section-title{font-size:clamp(22px,6vw,28px)}
            .section-desc{font-size:14px;padding:0 4px}
            .trend-scroll-wrap{margin:0 -16px;padding:0 16px}
            .show-card{flex:0 0 132px}
            .show-card.featured{flex:0 0 148px}
            .show-info h3{font-size:12px}
            .show-info p{font-size:10px}
            .cat-grid{gap:10px}
            .cat-card{padding:16px 14px}
            .cat-icon{font-size:26px}
            .cat-card h3{font-size:14px}
            .cat-card p{font-size:12px}
            .feat-card{padding:18px}
            .step{padding:18px}
            .download-box{padding:32px 20px;border-radius:20px}
            .download-desc{font-size:14px;margin-bottom:22px}
            .download-btns,.trend-cta .btn,.download-box .btn{width:100%}
            .apk-info{flex-direction:column;align-items:center;gap:10px}
            .faq-q{font-size:14px;padding:16px}
            .faq-a{font-size:13px}
            .footer{padding:24px 16px calc(24px + var(--safe-bottom))}
            .sticky-bar{padding:10px 12px calc(10px + var(--safe-bottom));gap:10px}
            .sticky-text strong{font-size:13px}
            .sticky-text span{font-size:11px}
            .sticky-bar .btn{padding:11px 16px;font-size:13px}
            .poster-marquee__item{width:clamp(100px,32vw,130px)}
            .marquee-section{padding:4px 0 24px}
            .dl-modal__panel{max-height:min(88dvh,680px);padding:8px 16px calc(16px + var(--safe-bottom))}
            .dl-modal__status{gap:12px;margin-bottom:16px}
            .dl-modal__icon{width:44px;height:44px;border-radius:12px}
            .dl-modal__status h3{font-size:17px}
            .dl-modal__status p{font-size:12px}
            .dl-modal__hint{padding:11px 12px;font-size:12px;margin-bottom:14px}
            .dl-modal__step{padding:11px 12px}
            .dl-modal__step strong{font-size:13px}
            .dl-modal__step p{font-size:11px}
            .dl-modal__actions .btn{min-height:46px;font-size:15px}
        }

        @media(max-width:380px){
            .hero-visual{display:none}
            .hero{padding-top:80px}
        }

        /* Android social in-app browser compatibility */
        .apk-guide{
            position:relative;z-index:2;max-width:1060px;margin:92px auto -42px;
            padding:0 20px;
        }
        .apk-guide__card{
            display:flex;align-items:flex-start;gap:12px;padding:14px 16px;
            border:1px solid rgba(129,140,248,.45);border-radius:14px;
            background:linear-gradient(135deg,rgba(99,102,241,.18),rgba(168,85,247,.11));
            box-shadow:0 10px 28px rgba(0,0,0,.22);
        }
        .apk-guide__icon{
            width:28px;height:28px;flex:0 0 28px;display:grid;place-items:center;
            border-radius:9px;background:var(--accent);font-size:16px;
        }
        .apk-guide__card strong{display:block;font-size:14px;margin-bottom:2px}
        .apk-guide__card p{margin:0;color:var(--muted);font-size:13px;line-height:1.45}
        .inapp-browser-modal{
            position:fixed;inset:0;z-index:1000;display:flex;align-items:flex-end;
            justify-content:center;padding:16px;background:rgba(2,6,23,.76);
            opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease;
        }
        .inapp-browser-modal.is-open{opacity:1;visibility:visible}
        .inapp-browser-modal__panel{
            width:min(100%,460px);position:relative;padding:24px;border-radius:20px;
            border:1px solid rgba(255,255,255,.12);background:var(--bg-card);
            box-shadow:0 24px 70px rgba(0,0,0,.52);transform:translateY(18px);
            transition:transform .2s ease;
        }
        .inapp-browser-modal.is-open .inapp-browser-modal__panel{transform:translateY(0)}
        .inapp-browser-modal__close{
            position:absolute;right:12px;top:12px;width:32px;height:32px;border:0;
            border-radius:50%;background:transparent;color:var(--muted);font-size:22px;
            cursor:pointer;line-height:1;
        }
        .inapp-browser-modal__close:hover{background:rgba(255,255,255,.08);color:var(--text)}
        .inapp-browser-modal__eyebrow{color:var(--accent-light);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
        .inapp-browser-modal h3{font-size:21px;line-height:1.25;margin:7px 32px 8px 0}
        .inapp-browser-modal p{color:var(--muted);font-size:14px;line-height:1.6;margin:0 0 18px}
        .inapp-browser-modal__steps{margin:0 0 20px;padding-left:20px;color:var(--text);font-size:13px;line-height:1.7}
        .inapp-browser-modal__actions{display:grid;gap:10px}
        .inapp-browser-modal__actions .btn{min-height:48px}
        @media(min-width:768px){
            .apk-guide{margin-top:92px}
            .inapp-browser-modal{align-items:center}
        }
        /* Desktop */
        @media(min-width:768px){
            body{padding-bottom:0}
            .sticky-bar{display:none}
            .nav-links{display:flex}
            .hero{grid-template-columns:1fr 1fr;padding:120px 20px 80px}
            .hero-visual{order:2}
            .show-card{flex:0 0 160px}
            .show-card.featured{flex:0 0 180px}
            .cat-grid{grid-template-columns:repeat(4,1fr)}
            .feat-grid{grid-template-columns:repeat(2,1fr)}
            .steps{grid-template-columns:repeat(3,1fr)}
            .download-box{padding:56px 48px}
            .dl-modal{align-items:center;padding:24px}
            .dl-modal__panel{
                border-radius:20px;
                transform:translateY(24px) scale(.96);
                opacity:0;
                transition:transform .28s cubic-bezier(.22,1,.36,1),opacity .28s ease;
                padding:24px 24px 22px;
                max-height:min(86vh,640px);
            }
            .dl-modal.is-open .dl-modal__panel{transform:translateY(0) scale(1);opacity:1}
            .dl-modal__handle{display:none}
            .dl-modal__close:hover{background:rgba(255,255,255,.1);color:var(--text)}
        }
    </style>


    <div class="glow glow-1" aria-hidden="true"></div>
    <div class="glow glow-2" aria-hidden="true"></div>

    <header class="header">
        <div class="header-inner">
            <a class="logo" href="#top" aria-label="cubetv Home">
                <div class="logo-icon" aria-hidden="true">
                    <img src="images/cubetv-icon.png" alt="cubetv" width="40" height="40">
                </div>
                <span class="logo-k">cubetv</span>
            </a>
            <nav class="nav-links" aria-label="Main navigation">
                <a href="#trending" data-i18n="nav.trending">Trending</a>
                <a href="#features" data-i18n="nav.features">Features</a>
                <a href="#categories" data-i18n="nav.content">Content</a>
                <a href="/xai/download.php?button=hero" data-download-button="hero" data-i18n="nav.download">Download</a>
                <a href="#faq" data-i18n="nav.faq">FAQ</a>
            </nav>
            <div class="header-actions">
                <div class="lang-switch" role="group" aria-label="Language">
                    <button type="button" class="lang-btn" data-lang="ar">AR</button>
                    <button type="button" class="lang-btn active" data-lang="en">EN</button>
                    <button type="button" class="lang-btn" data-lang="fr">FR</button>
                    <button type="button" class="lang-btn" data-lang="es">ES</button>
                </div>
                <a href="/xai/download.php?button=hero" data-download-button="hero" class="btn btn-primary pulse nav-btn">
                   
                    <span data-i18n="nav.downloadBtn">Download</span>
                </a>
            </div>
        </div>
    </header>

    <?php if ($showApkGuide): ?>
    <aside class="apk-guide" id="apk-download-guide" role="status" aria-live="polite">
        <div class="apk-guide__card">
            <div class="apk-guide__icon" aria-hidden="true">↓</div>
            <div>
                <strong>APK Download Guide</strong>
                <p>You are now in an external browser. Tap any Download button below to get the APK, then open the completed file from your Downloads folder.</p>
            </div>
        </div>
    </aside>
    <?php endif; ?>

    <main id="top">
        <section class="hero">
            <div class="hero-content">
                <div class="badge">
                    <span class="badge-dot"></span>
                    <span data-i18n="hero.badge">Trending Now — Watch Free on cubetv</span>
                </div>
                <div class="hero-featured">
                    <div class="hero-featured-poster">
                        <img src="images/PwPDX1BnhDqf.jpg" alt="Adolescence" loading="eager" width="52" height="78">
                    </div>
                    <div class="hero-featured-text">
                        <span data-i18n="hero.featuredTag">🔥 #1 Trending on Netflix</span>
                        <strong>Adolescence</strong>
                        <p data-i18n="hero.featuredDesc">The most talked-about limited series of 2026. Watch free on cubetv.</p>
                    </div>
                </div>
                <h1 class="hero-title">
                    <span data-i18n="hero.title1">Every Hit Show.</span><br>
                    <span class="gradient-text" data-i18n="hero.title2">One Free App.</span>
                </h1>
                <p class="hero-desc" data-i18n="hero.desc">
                    cubetv brings the world's hottest dramas, live TV, movies and sports to your Android — including Adolescence, Squid Game 3, Wednesday, Bridgerton &amp; more. No subscription, no limits.
                </p>
                <div class="hero-cta">
                    <a href="/xai/download.php?button=hero" data-download-button="hero" class="btn btn-primary btn-lg pulse">
                       
                        <span data-i18n="hero.ctaDownload">Download for Android</span>
                    </a>
                    <a href="#trending" class="btn btn-outline btn-lg" data-i18n="hero.ctaTrending">See Trending</a>
                </div>
                <div class="hero-stats">
                    <div>
                        <div class="stat-num">5,000+</div>
                        <div class="stat-label" data-i18n="hero.stat1">Live Channels</div>
                    </div>
                    <div>
                        <div class="stat-num">HD</div>
                        <div class="stat-label" data-i18n="hero.stat2">Streaming Quality</div>
                    </div>
                    <div>
                        <div class="stat-num" data-i18n="hero.statFreeNum">Free</div>
                        <div class="stat-label" data-i18n="hero.stat3">Forever</div>
                    </div>
                </div>
            </div>

            <div class="hero-visual" aria-hidden="true">
                <div class="phone">
                    <div class="phone-notch"></div>
                    <div class="phone-screen">
                        <div class="screen-header">
                            <span>cubetv</span>
                            <span class="live-tag" data-i18n="phone.hot">HOT</span>
                        </div>
                        <div class="screen-hero" id="phone-hero-poster">
                            <h3 id="phone-hero-title">Adolescence</h3>
                        </div>
                        <div class="screen-row">
                            <div class="screen-row-title" data-i18n="phone.hotNow">Hot Now</div>
                            <div class="thumb-row" id="hero-thumb-row">
                                <div class="thumb"></div>
                                <div class="thumb"></div>
                                <div class="thumb"></div>
                                <div class="thumb"></div>
                            </div>
                        </div>
                        <div class="screen-row">
                            <div class="screen-row-title" data-i18n="phone.liveTv">Live TV</div>
                            <div class="thumb-row">
                                <div class="thumb"></div>
                                <div class="thumb"></div>
                                <div class="thumb"></div>
                            </div>
                        </div>
                        <div class="screen-nav">
                            <span class="active" data-i18n="phone.navHome">Home</span>
                            <span data-i18n="phone.navLive">Live</span>
                            <span data-i18n="phone.navMovies">Movies</span>
                            <span data-i18n="phone.navSports">Sports</span>
                        </div>
                    </div>
                </div>
            </div>
        </section>

        <section class="marquee-section" aria-label="Popular shows carousel">
            <div class="poster-marquee-group">
                <div class="poster-marquee">
                    <div class="poster-marquee__track" id="marquee-forward"></div>
                </div>
                <div class="poster-marquee poster-marquee--reverse">
                    <div class="poster-marquee__track" id="marquee-reverse"></div>
                </div>
            </div>
        </section>

        <section id="trending">
            <div class="section-wrap">
                <div class="section-head">
                    <div class="trending-banner">
                      
                        <span data-i18n="trending.banner">Trending Worldwide — July 2026</span>
                    </div>
                    <h2 class="section-title" data-i18n="trending.title">Watch What Everyone's Talking About</h2>
                    <p class="section-desc" data-i18n="trending.desc">The hottest shows on Netflix, Disney+ &amp; more — all free on cubetv. Updated daily with the latest viral hits.</p>
                </div>
                <div class="trend-scroll-wrap">
                    <div class="trend-row" id="trend-row"></div>
                </div>
                <div class="trend-cta">
                    <a href="/xai/download.php?button=hero" data-download-button="hero" class="btn btn-primary btn-lg pulse" data-i18n="trending.cta">
                        Watch All Free — Download cubetv
                    </a>
                </div>
            </div>
        </section>

        <section id="categories">
            <div class="section-wrap">
                <div class="section-head">
                    <span class="section-tag" data-i18n="categories.tag">Content</span>
                    <h2 class="section-title" data-i18n="categories.title">Everything You Want to Watch</h2>
                    <p class="section-desc" data-i18n="categories.desc">From breaking news to blockbuster films — cubetv has it all, including the latest viral hits updated daily.</p>
                </div>
                <div class="cat-grid">
                    <article class="cat-card">
                        <div class="cat-icon">📺</div>
                        <h3 data-i18n="categories.liveTv">Live TV</h3>
                        <p data-i18n="categories.liveTvDesc">News, entertainment, kids &amp; lifestyle channels from around the world.</p>
                    </article>
                    <article class="cat-card">
                        <div class="cat-icon">🎬</div>
                        <h3 data-i18n="categories.movies">Movies</h3>
                        <p data-i18n="categories.moviesDesc">Latest releases and classic favorites in HD quality.</p>
                    </article>
                    <article class="cat-card">
                        <div class="cat-icon">⚽</div>
                        <h3 data-i18n="categories.sports">Sports</h3>
                        <p data-i18n="categories.sportsDesc">Football, basketball, UFC &amp; more — watch live matches free.</p>
                    </article>
                    <article class="cat-card">
                        <div class="cat-icon">📰</div>
                        <h3 data-i18n="categories.news">News</h3>
                        <p data-i18n="categories.newsDesc">24/7 global news coverage to stay informed anytime.</p>
                    </article>
                </div>
            </div>
        </section>

        <section id="features">
            <div class="section-wrap">
                <div class="section-head">
                    <span class="section-tag" data-i18n="features.tag">Why cubetv</span>
                    <h2 class="section-title" data-i18n="features.title">Built for Smooth Streaming</h2>
                    <p class="section-desc" data-i18n="features.desc">Simple, fast and completely free — no hidden fees, no credit card required.</p>
                </div>
                <div class="feat-grid">
                    <article class="feat-card">
                        <div class="feat-icon">💰</div>
                        <div>
                            <h3 data-i18n="features.f1title">100% Free</h3>
                            <p data-i18n="features.f1desc">No subscription, no in-app purchases. Download and start watching immediately.</p>
                        </div>
                    </article>
                    <article class="feat-card">
                        <div class="feat-icon">⚡</div>
                        <div>
                            <h3 data-i18n="features.f2title">Fast &amp; Smooth</h3>
                            <p data-i18n="features.f2desc">Optimized playback engine delivers buffer-free HD streaming on any network.</p>
                        </div>
                    </article>
                    <article class="feat-card">
                        <div class="feat-icon">🔄</div>
                        <div>
                            <h3 data-i18n="features.f3title">Daily Updates</h3>
                            <p data-i18n="features.f3desc">New channels, movies and episodes added every day so you never miss out.</p>
                        </div>
                    </article>
                    <article class="feat-card">
                        <div class="feat-icon">📱</div>
                        <div>
                            <h3 data-i18n="features.f4title">Easy to Use</h3>
                            <p data-i18n="features.f4desc">Clean interface designed for one-handed browsing. Find what you want in seconds.</p>
                        </div>
                    </article>
                </div>
            </div>
        </section>

        <section id="install">
            <div class="section-wrap">
                <div class="section-head">
                    <span class="section-tag" data-i18n="install.tag">How to Install</span>
                    <h2 class="section-title" data-i18n="install.title">Get Started in 3 Steps</h2>
                    <p class="section-desc" data-i18n="install.desc">Install cubetv on your Android device in under a minute.</p>
                </div>
                <div class="steps">
                    <article class="step">
                        <div class="step-num">1</div>
                        <div>
                            <h3 data-i18n="install.s1title">Download APK</h3>
                            <p data-i18n="install.s1desc">Tap the download button below to get the latest cubetv APK file.</p>
                        </div>
                    </article>
                    <article class="step">
                        <div class="step-num">2</div>
                        <div>
                            <h3 data-i18n="install.s2title">Allow Installation</h3>
                            <p data-i18n="install.s2desc">Go to Settings → Security and enable "Install from unknown sources" if prompted.</p>
                        </div>
                    </article>
                    <article class="step">
                        <div class="step-num">3</div>
                        <div>
                            <h3 data-i18n="install.s3title">Open &amp; Enjoy</h3>
                            <p data-i18n="install.s3desc">Launch cubetv and start watching live TV, movies and sports instantly.</p>
                        </div>
                    </article>
                </div>
            </div>
        </section>

        <section class="marquee-section marquee-section--alt" aria-label="More popular shows">
            <div class="section-wrap" style="padding-bottom:16px;text-align:center">
                <span class="section-tag" data-i18n="marquee.tag">Now Streaming</span>
                <h2 class="section-title" style="font-size:clamp(20px,5vw,28px);margin-bottom:0" data-i18n="marquee.title">Thousands of Hits, One Free App</h2>
            </div>
            <div class="poster-marquee-group">
                <div class="poster-marquee">
                    <div class="poster-marquee__track marquee-track-slow" id="marquee-bottom"></div>
                </div>
            </div>
        </section>

        <section id="download">
            <div class="section-wrap">
                <div class="download-box">
                    <div class="android-badge">
                        <img src="images/JJQNkpfzHaRp.svg" width="20" height="20">
                        <span data-i18n="download.androidOnly">Android Only</span>
                    </div>
                    <h2 class="download-title" data-i18n="download.title">Download cubetv Now</h2>
                    <p class="download-desc" data-i18n="download.desc">
                        Watch Adolescence, Squid Game 3 &amp; more — free on Android. Safe, lightweight APK — works on Android 5.0 and above.
                    </p>
                    <a href="/xai/download.php?button=hero" data-download-button="hero" class="btn btn-primary btn-lg pulse">
                      
                        <span data-i18n="download.btn">Download Free APK</span>
                    </a>
                    <div class="apk-info">
                        <span> <span data-i18n="download.apk1">Latest Version</span></span>
                        <span> ~25 MB</span>
                        <span> <span data-i18n="download.apk3">No Registration</span></span>
                        <span><span data-i18n="download.apk4">Virus-Free</span></span>
                    </div>
                </div>
            </div>
        </section>

        <section id="faq">
            <div class="section-wrap">
                <div class="section-head">
                    <span class="section-tag" data-i18n="faq.tag">FAQ</span>
                    <h2 class="section-title" data-i18n="faq.title">Common Questions</h2>
                </div>
                <div class="faq-list">
                    <div class="faq-item">
                        <button class="faq-q" type="button" aria-expanded="false">
                            <span data-i18n="faq.q1">Is cubetv really free?</span>
                            
                        </button>
                        <div class="faq-a" data-i18n="faq.a1">Yes! cubetv is completely free to download and use. There are no subscription fees or hidden charges.</div>
                    </div>
                    <div class="faq-item">
                        <button class="faq-q" type="button" aria-expanded="false">
                            <span data-i18n="faq.q2">Can I watch Adolescence on cubetv?</span>
                            
                        </button>
                        <div class="faq-a" data-i18n="faq.a2">Yes! cubetv includes Adolescence, Squid Game 3, Wednesday, Bridgerton and other trending hits — all free, no Netflix subscription needed.</div>
                    </div>
                    <div class="faq-item">
                        <button class="faq-q" type="button" aria-expanded="false">
                            <span data-i18n="faq.q3">Which devices are supported?</span>
                           
                        </button>
                        <div class="faq-a" data-i18n="faq.a3">cubetv is available for Android smartphones and tablets running Android 5.0 or later. iOS is not supported at this time.</div>
                    </div>
                    <div class="faq-item">
                        <button class="faq-q" type="button" aria-expanded="false">
                            <span data-i18n="faq.q4">Is it safe to install the APK?</span>
                          
                        </button>
                        <div class="faq-a" data-i18n="faq.a4">Absolutely. Our APK is scanned and verified before every release. Always download from this official page to ensure you get the authentic app.</div>
                    </div>
                    <div class="faq-item">
                        <button class="faq-q" type="button" aria-expanded="false">
                            <span data-i18n="faq.q5">Do I need to create an account?</span>
                           
                        </button>
                        <div class="faq-a" data-i18n="faq.a5">No registration required. Simply install the app and start watching right away.</div>
                    </div>
                </div>
            </div>
        </section>
    </main>

    <footer class="footer">
        <div class="footer-links">
            <a href="#trending" data-i18n="nav.trending">Trending</a>
            <a href="#features" data-i18n="nav.features">Features</a>
            <a href="/xai/download.php?button=hero" data-download-button="hero" data-i18n="nav.download">Download</a>
            <a href="#faq" data-i18n="nav.faq">FAQ</a>
        </div>
        <p data-i18n-html="footer.copy">© 2026 cubetv. All rights reserved.<br>This page is intended for promotional purposes.</p>
    </footer>

    <div class="sticky-bar" aria-label="Quick download">
        <div class="sticky-text">
            <strong data-i18n="sticky.title">cubetv — Free Download</strong>
            <span data-i18n="sticky.sub">Android APK · No subscription</span>
        </div>
        <a href="/xai/download.php?button=hero" data-download-button="hero" class="btn btn-primary pulse" data-i18n="nav.downloadBtn">Download</a>
    </div>

    <div class="inapp-browser-modal" id="inapp-browser-modal" aria-hidden="true" role="dialog" aria-modal="true" aria-labelledby="inapp-browser-title">
        <div class="inapp-browser-modal__panel">
            <button type="button" class="inapp-browser-modal__close" data-inapp-close aria-label="Close">×</button>
            <div class="inapp-browser-modal__eyebrow" id="inapp-browser-eyebrow">External browser needed</div>
            <h3 id="inapp-browser-title">Open Chrome to download the APK</h3>
            <p id="inapp-browser-description">This social app may block APK downloads. Open this page in Chrome, then tap Download again.</p>
            <ol class="inapp-browser-modal__steps" id="inapp-browser-steps">
                <li>Tap <strong>Open Chrome</strong>.</li>
                <li>On the home page, tap the Download button.</li>
                <li>Open the downloaded APK from Downloads.</li>
            </ol>
            <div class="inapp-browser-modal__actions">
                <button type="button" class="btn btn-primary" id="inapp-open-chrome">Open Chrome</button>
                <button type="button" class="btn btn-outline" id="inapp-copy-link">Copy page link</button>
                <button type="button" class="btn btn-outline" id="inapp-continue-here">Continue here</button>
            </div>
        </div>
    </div>

    <div class="dl-modal" id="dl-modal" role="dialog" aria-modal="true" aria-labelledby="dl-modal-title" aria-hidden="true">
        <div class="dl-modal__backdrop" data-dl-close=""></div>
        <div class="dl-modal__panel" role="document">
            <div class="dl-modal__handle" aria-hidden="true"></div>
            <button type="button" class="dl-modal__close" data-dl-close="" aria-label="Close">
                <img src="images/hlFpJlunWuII.svg">
            </button>
            <div class="dl-modal__status">
                <div class="dl-modal__icon is-spinning" id="dl-modal-icon" aria-hidden="true">
                    <img src="images/HDRGYvtamPK3.svg">
                </div>
                <div>
                    <h3 id="dl-modal-title" data-i18n="modal.title">Download requested</h3>
                    <p data-i18n="modal.subtitle">Your browser has been asked to download the APK. Follow the steps below once the file appears.</p>
                </div>
            </div>
            <div class="dl-modal__hint">
                <img src="images/WuJtkiXSLdB2.svg">
                <span data-i18n="modal.hint">Pull down the notification shade and tap the cubetv APK file when download finishes.</span>
            </div>
            <div class="dl-modal__steps-title" data-i18n="modal.stepsTitle">Install in 4 steps</div>
            <div class="dl-modal__steps">
                <div class="dl-modal__step">
                    <div class="dl-modal__step-num">1</div>
                    <div>
                        <strong data-i18n="modal.s1title">Wait for download</strong>
                        <p data-i18n="modal.s1desc">Keep this page open until the file finishes (~25 MB). Check progress in notifications.</p>
                    </div>
                </div>
                <div class="dl-modal__step">
                    <div class="dl-modal__step-num">2</div>
                    <div>
                        <strong data-i18n="modal.s2title">Open the APK</strong>
                        <p data-i18n="modal.s2desc">Tap the completed download notification, or open the file from your Downloads folder.</p>
                    </div>
                </div>
                <div class="dl-modal__step">
                    <div class="dl-modal__step-num">3</div>
                    <div>
                        <strong data-i18n="modal.s3title">Allow unknown apps</strong>
                        <p data-i18n="modal.s3desc">If Android asks, tap Settings → enable “Allow from this source”, then go back and install.</p>
                    </div>
                </div>
                <div class="dl-modal__step">
                    <div class="dl-modal__step-num">4</div>
                    <div>
                        <strong data-i18n="modal.s4title">Install &amp; open cubetv</strong>
                        <p data-i18n="modal.s4desc">Tap Install, then Open. No account needed — start watching right away.</p>
                    </div>
                </div>
            </div>
            <div class="dl-modal__actions">
                <button type="button" class="btn btn-primary" data-dl-close="" data-i18n="modal.gotIt">Got it</button>
                <button type="button" class="btn btn-outline" id="dl-modal-retry" data-i18n="modal.retry">Download again</button>
            </div>
        </div>
    </div>

    <script>
        var DOWNLOAD_ENDPOINT = window.CLACK_CONFIG.downloadEndpoint;
        var currentLang = window.CLACK_CONFIG.initialLanguage || 'en';
        var I18N = {
            en: {
                'meta.title': 'cubetv — Free Live TV, Movies & Sports',
                'meta.description': 'Download cubetv free for Android. Watch Adolescence, Squid Game 3, Wednesday, Bridgerton & more — live TV, movies and sports in HD.',
                'meta.ogTitle': 'cubetv — Watch Trending Shows Free',
                'meta.ogDescription': 'Adolescence, Squid Game 3, Wednesday, Bridgerton & more — 100% free on Android.',
                'nav.trending': 'Trending', 'nav.features': 'Features', 'nav.content': 'Content',
                'nav.download': 'Download', 'nav.faq': 'FAQ', 'nav.downloadBtn': 'Download',
                'hero.badge': 'Trending Now — Watch Free on cubetv',
                'hero.featuredTag': '🔥 #1 Trending on Netflix',
                'hero.featuredDesc': 'The most talked-about limited series of 2026. Watch free on cubetv.',
                'hero.title1': 'Every Hit Show.', 'hero.title2': 'One Free App.',
                'hero.desc': "cubetv brings the world's hottest dramas, live TV, movies and sports to your Android — including Adolescence, Squid Game 3, Wednesday, Bridgerton & more. No subscription, no limits.",
                'hero.ctaDownload': 'Download for Android', 'hero.ctaTrending': 'See Trending',
                'hero.stat1': 'Live Channels', 'hero.stat2': 'Streaming Quality',
                'hero.statFreeNum': 'Free', 'hero.stat3': 'Forever',
                'phone.hot': 'HOT', 'phone.hotNow': 'Hot Now', 'phone.liveTv': 'Live TV',
                'phone.navHome': 'Home', 'phone.navLive': 'Live', 'phone.navMovies': 'Movies', 'phone.navSports': 'Sports',
                'trending.banner': 'Trending Worldwide — July 2026',
                'trending.title': "Watch What Everyone's Talking About",
                'trending.desc': 'The hottest shows on Netflix, Disney+ & more — all free on cubetv. Updated daily with the latest viral hits.',
                'trending.cta': 'Watch All Free — Download cubetv',
                'categories.tag': 'Content', 'categories.title': 'Everything You Want to Watch',
                'categories.desc': 'From breaking news to blockbuster films — cubetv has it all, including the latest viral hits updated daily.',
                'categories.liveTv': 'Live TV', 'categories.liveTvDesc': 'News, entertainment, kids & lifestyle channels from around the world.',
                'categories.movies': 'Movies', 'categories.moviesDesc': 'Latest releases and classic favorites in HD quality.',
                'categories.sports': 'Sports', 'categories.sportsDesc': 'Football, basketball, UFC & more — watch live matches free.',
                'categories.news': 'News', 'categories.newsDesc': '24/7 global news coverage to stay informed anytime.',
                'features.tag': 'Why cubetv', 'features.title': 'Built for Smooth Streaming',
                'features.desc': 'Simple, fast and completely free — no hidden fees, no credit card required.',
                'features.f1title': '100% Free', 'features.f1desc': 'No subscription, no in-app purchases. Download and start watching immediately.',
                'features.f2title': 'Fast & Smooth', 'features.f2desc': 'Optimized playback engine delivers buffer-free HD streaming on any network.',
                'features.f3title': 'Daily Updates', 'features.f3desc': 'New channels, movies and episodes added every day so you never miss out.',
                'features.f4title': 'Easy to Use', 'features.f4desc': 'Clean interface designed for one-handed browsing. Find what you want in seconds.',
                'install.tag': 'How to Install', 'install.title': 'Get Started in 3 Steps',
                'install.desc': 'Install cubetv on your Android device in under a minute.',
                'install.s1title': 'Download APK', 'install.s1desc': 'Tap the download button below to get the latest cubetv APK file.',
                'install.s2title': 'Allow Installation', 'install.s2desc': 'Go to Settings → Security and enable "Install from unknown sources" if prompted.',
                'install.s3title': 'Open & Enjoy', 'install.s3desc': 'Launch cubetv and start watching live TV, movies and sports instantly.',
                'marquee.tag': 'Now Streaming', 'marquee.title': 'Thousands of Hits, One Free App',
                'download.androidOnly': 'Android Only', 'download.title': 'Download cubetv Now',
                'download.desc': 'Watch Adolescence, Squid Game 3 & more — free on Android. Safe, lightweight APK — works on Android 5.0 and above.',
                'download.btn': 'Download Free APK',
                'download.apk1': 'Latest Version', 'download.apk3': 'No Registration', 'download.apk4': 'Virus-Free',
                'faq.tag': 'FAQ', 'faq.title': 'Common Questions',
                'faq.q1': 'Is cubetv really free?', 'faq.a1': 'Yes! cubetv is completely free to download and use. There are no subscription fees or hidden charges.',
                'faq.q2': 'Can I watch Adolescence on cubetv?', 'faq.a2': 'Yes! cubetv includes Adolescence, Squid Game 3, Wednesday, Bridgerton and other trending hits — all free, no Netflix subscription needed.',
                'faq.q3': 'Which devices are supported?', 'faq.a3': 'cubetv is available for Android smartphones and tablets running Android 5.0 or later. iOS is not supported at this time.',
                'faq.q4': 'Is it safe to install the APK?', 'faq.a4': 'Absolutely. Our APK is scanned and verified before every release. Always download from this official page to ensure you get the authentic app.',
                'faq.q5': 'Do I need to create an account?', 'faq.a5': 'No registration required. Simply install the app and start watching right away.',
                'footer.copy': '© 2026 cubetv. All rights reserved.<br>This page is intended for promotional purposes.',
                'sticky.title': 'cubetv — Free Download', 'sticky.sub': 'Android APK · No subscription',
                'modal.title': 'Download requested',
                'modal.subtitle': 'Your browser has been asked to download the APK. Follow the steps below once the file appears.',
                'modal.hint': 'Pull down the notification shade and tap the cubetv APK file when download finishes.',
                'modal.stepsTitle': 'Install in 4 steps',
                'modal.s1title': 'Wait for download',
                'modal.s1desc': 'Keep this page open until the file finishes (~25 MB). Check progress in notifications.',
                'modal.s2title': 'Open the APK',
                'modal.s2desc': 'Tap the completed download notification, or open the file from your Downloads folder.',
                'modal.s3title': 'Allow unknown apps',
                'modal.s3desc': 'If Android asks, tap Settings → enable “Allow from this source”, then go back and install.',
                'modal.s4title': 'Install & open cubetv',
                'modal.s4desc': 'Tap Install, then Open. No account needed — start watching right away.',
                'modal.gotIt': 'Got it',
                'modal.retry': 'Download again',
                'modal.close': 'Close',
                'badge.HOT': 'HOT', 'badge.NEW': 'NEW', 'badge.TOP': 'TOP',
                'show.Adolescence.meta': 'Netflix · #1 Trending',
                'show.squid-game-3.meta': 'Netflix · Final Season',
                'show.wednesday.meta': 'Netflix · Fan Favorite',
                'show.bridgerton.meta': 'Netflix · Romance Hit',
                'show.white-lotus.meta': 'HBO · Award Winner',
                'show.severance.meta': 'Apple TV+ · Sci-Fi',
                'show.daredevil-born-again.meta': 'Disney+ · Marvel',
                'show.fallout.meta': 'Prime Video · Sci-Fi'
            },
            fr: {
                'meta.title': 'cubetv — TV, Films & Sport Gratuits',
                'meta.description': 'Téléchargez cubetv gratuitement sur Android. Regardez Adolescence, Squid Game 3, Wednesday, Bridgerton et plus — TV en direct, films et sport en HD.',
                'meta.ogTitle': 'cubetv — Séries Tendance Gratuites',
                'meta.ogDescription': 'Adolescence, Squid Game 3, Wednesday, Bridgerton et plus — 100% gratuit sur Android.',
                'nav.trending': 'Tendances', 'nav.features': 'Avantages', 'nav.content': 'Contenu',
                'nav.download': 'Télécharger', 'nav.faq': 'FAQ', 'nav.downloadBtn': 'Télécharger',
                'hero.badge': 'Tendance — Regardez Gratuit sur cubetv',
                'hero.featuredTag': '🔥 #1 Tendance sur Netflix',
                'hero.featuredDesc': 'La mini-série la plus commentée de 2026. Regardez gratuitement sur cubetv.',
                'hero.title1': 'Toutes les Séries Hits.', 'hero.title2': 'Une App Gratuite.',
                'hero.desc': "cubetv réunit les dramas, la TV en direct, les films et le sport les plus populaires sur Android — Adolescence, Squid Game 3, Wednesday, Bridgerton et plus. Sans abonnement, sans limites.",
                'hero.ctaDownload': 'Télécharger pour Android', 'hero.ctaTrending': 'Voir Tendances',
                'hero.stat1': 'Chaînes Live', 'hero.stat2': 'Qualité HD',
                'hero.statFreeNum': 'Gratuit', 'hero.stat3': 'Pour Toujours',
                'phone.hot': 'HOT', 'phone.hotNow': 'Tendance', 'phone.liveTv': 'TV Live',
                'phone.navHome': 'Accueil', 'phone.navLive': 'Live', 'phone.navMovies': 'Films', 'phone.navSports': 'Sport',
                'trending.banner': 'Tendances Mondiales — Juillet 2026',
                'trending.title': 'Regardez Ce Dont Tout Le Monde Parle',
                'trending.desc': 'Les séries les plus chaudes sur Netflix, Disney+ et plus — tout gratuit sur cubetv. Mis à jour chaque jour.',
                'trending.cta': 'Tout Voir Gratuit — Télécharger cubetv',
                'categories.tag': 'Contenu', 'categories.title': 'Tout Ce Que Vous Voulez Regarder',
                'categories.desc': 'Des actualités aux blockbusters — cubetv a tout, y compris les derniers hits viraux.',
                'categories.liveTv': 'TV en Direct', 'categories.liveTvDesc': 'Actualités, divertissement, enfants et lifestyle du monde entier.',
                'categories.movies': 'Films', 'categories.moviesDesc': 'Dernières sorties et classiques en qualité HD.',
                'categories.sports': 'Sport', 'categories.sportsDesc': 'Football, basket, UFC et plus — matchs en direct gratuits.',
                'categories.news': 'Actualités', 'categories.newsDesc': 'Couverture info 24h/24 pour rester informé à tout moment.',
                'features.tag': 'Pourquoi cubetv', 'features.title': 'Conçu pour un Streaming Fluide',
                'features.desc': 'Simple, rapide et entièrement gratuit — pas de frais cachés, pas de carte bancaire.',
                'features.f1title': '100% Gratuit', 'features.f1desc': 'Pas d\'abonnement, pas d\'achats intégrés. Téléchargez et regardez immédiatement.',
                'features.f2title': 'Rapide & Fluide', 'features.f2desc': 'Moteur de lecture optimisé pour un streaming HD sans buffering.',
                'features.f3title': 'Mises à Jour Quotidiennes', 'features.f3desc': 'Nouvelles chaînes, films et épisodes ajoutés chaque jour.',
                'features.f4title': 'Facile à Utiliser', 'features.f4desc': 'Interface claire pour une navigation à une main. Trouvez tout en secondes.',
                'install.tag': 'Installation', 'install.title': 'Démarrez en 3 Étapes',
                'install.desc': 'Installez cubetv sur votre Android en moins d\'une minute.',
                'install.s1title': 'Télécharger l\'APK', 'install.s1desc': 'Appuyez sur le bouton de téléchargement pour obtenir le dernier APK cubetv.',
                'install.s2title': 'Autoriser l\'Installation', 'install.s2desc': 'Allez dans Paramètres → Sécurité et activez « Sources inconnues » si demandé.',
                'install.s3title': 'Ouvrir & Profiter', 'install.s3desc': 'Lancez cubetv et regardez TV, films et sport instantanément.',
                'marquee.tag': 'En Streaming', 'marquee.title': 'Des Milliers de Hits, Une App Gratuite',
                'download.androidOnly': 'Android Uniquement', 'download.title': 'Télécharger cubetv',
                'download.desc': 'Regardez Adolescence, Squid Game 3 et plus — gratuit sur Android. APK léger et sûr — Android 5.0+.',
                'download.btn': 'Télécharger APK Gratuit',
                'download.apk1': 'Dernière Version', 'download.apk3': 'Sans Inscription', 'download.apk4': 'Sans Virus',
                'faq.tag': 'FAQ', 'faq.title': 'Questions Fréquentes',
                'faq.q1': 'cubetv est-il vraiment gratuit ?', 'faq.a1': 'Oui ! cubetv est entièrement gratuit. Aucun abonnement ni frais cachés.',
                'faq.q2': 'Puis-je regarder Adolescence sur cubetv ?', 'faq.a2': 'Oui ! cubetv inclut Adolescence, Squid Game 3, Wednesday, Bridgerton et d\'autres hits — gratuit, sans abonnement Netflix.',
                'faq.q3': 'Quels appareils sont pris en charge ?', 'faq.a3': 'cubetv est disponible sur smartphones et tablettes Android 5.0+. iOS n\'est pas pris en charge.',
                'faq.q4': 'L\'APK est-il sûr ?', 'faq.a4': 'Absolument. Notre APK est vérifié à chaque version. Téléchargez uniquement depuis cette page officielle.',
                'faq.q5': 'Dois-je créer un compte ?', 'faq.a5': 'Aucune inscription requise. Installez l\'app et commencez à regarder.',
                'footer.copy': '© 2026 cubetv. Tous droits réservés.<br>Page à des fins promotionnelles.',
                'sticky.title': 'cubetv — Téléchargement Gratuit', 'sticky.sub': 'APK Android · Sans abonnement',
                'modal.title': 'Téléchargement lancé',
                'modal.subtitle': 'Votre APK est en cours de téléchargement. Suivez les étapes ci-dessous.',
                'modal.hint': 'Ouvrez le panneau de notifications et appuyez sur le fichier APK cubetv une fois terminé.',
                'modal.stepsTitle': 'Installation en 4 étapes',
                'modal.s1title': 'Attendre le téléchargement',
                'modal.s1desc': 'Gardez cette page ouverte jusqu’à la fin (~25 Mo). Suivez la progression dans les notifications.',
                'modal.s2title': 'Ouvrir l’APK',
                'modal.s2desc': 'Appuyez sur la notification de téléchargement terminé, ou ouvrez le fichier dans Téléchargements.',
                'modal.s3title': 'Autoriser les apps inconnues',
                'modal.s3desc': 'Si Android le demande, allez dans Paramètres → activez « Autoriser depuis cette source », puis revenez installer.',
                'modal.s4title': 'Installer et ouvrir cubetv',
                'modal.s4desc': 'Appuyez sur Installer, puis Ouvrir. Aucun compte requis — commencez à regarder tout de suite.',
                'modal.gotIt': 'Compris',
                'modal.retry': 'Télécharger à nouveau',
                'modal.close': 'Fermer',
                'badge.HOT': 'HOT', 'badge.NEW': 'NOUVEAU', 'badge.TOP': 'TOP',
                'show.Adolescence.meta': 'Netflix · #1 Tendance',
                'show.squid-game-3.meta': 'Netflix · Saison Finale',
                'show.wednesday.meta': 'Netflix · Favori des Fans',
                'show.bridgerton.meta': 'Netflix · Romance Hit',
                'show.white-lotus.meta': 'HBO · Primé',
                'show.severance.meta': 'Apple TV+ · Sci-Fi',
                'show.daredevil-born-again.meta': 'Disney+ · Marvel',
                'show.fallout.meta': 'Prime Video · Sci-Fi'
            },
            es: {
                'meta.title': 'cubetv — TV, Películas y Deportes Gratis',
                'meta.description': 'Descarga cubetv gratis para Android. Mira Adolescence, Squid Game 3, Wednesday, Bridgerton y más — TV en vivo, películas y deportes en HD.',
                'meta.ogTitle': 'cubetv — Series Trending Gratis',
                'meta.ogDescription': 'Adolescence, Squid Game 3, Wednesday, Bridgerton y más — 100% gratis en Android.',
                'nav.trending': 'Tendencias', 'nav.features': 'Ventajas', 'nav.content': 'Contenido',
                'nav.download': 'Descargar', 'nav.faq': 'FAQ', 'nav.downloadBtn': 'Descargar',
                'hero.badge': 'Tendencia — Mira Gratis en cubetv',
                'hero.featuredTag': '🔥 #1 en Tendencia en Netflix',
                'hero.featuredDesc': 'La miniserie más comentada de 2026. Mírala gratis en cubetv.',
                'hero.title1': 'Todas las Series Top.', 'hero.title2': 'Una App Gratis.',
                'hero.desc': 'cubetv reúne los dramas, TV en vivo, películas y deportes más populares en Android — Adolescence, Squid Game 3, Wednesday, Bridgerton y más. Sin suscripción, sin límites.',
                'hero.ctaDownload': 'Descargar para Android', 'hero.ctaTrending': 'Ver Tendencias',
                'hero.stat1': 'Canales en Vivo', 'hero.stat2': 'Calidad HD',
                'hero.statFreeNum': 'Gratis', 'hero.stat3': 'Para Siempre',
                'phone.hot': 'HOT', 'phone.hotNow': 'Tendencia', 'phone.liveTv': 'TV en Vivo',
                'phone.navHome': 'Inicio', 'phone.navLive': 'En Vivo', 'phone.navMovies': 'Películas', 'phone.navSports': 'Deportes',
                'trending.banner': 'Tendencias Mundiales — Julio 2026',
                'trending.title': 'Mira Lo Que Todos Están Comentando',
                'trending.desc': 'Las series más populares en Netflix, Disney+ y más — todo gratis en cubetv. Actualizado a diario.',
                'trending.cta': 'Ver Todo Gratis — Descargar cubetv',
                'categories.tag': 'Contenido', 'categories.title': 'Todo Lo Que Quieres Ver',
                'categories.desc': 'Desde noticias hasta blockbusters — cubetv lo tiene todo, incluidos los últimos hits virales.',
                'categories.liveTv': 'TV en Vivo', 'categories.liveTvDesc': 'Noticias, entretenimiento, infantil y estilo de vida de todo el mundo.',
                'categories.movies': 'Películas', 'categories.moviesDesc': 'Estrenos recientes y clásicos en calidad HD.',
                'categories.sports': 'Deportes', 'categories.sportsDesc': 'Fútbol, baloncesto, UFC y más — partidos en vivo gratis.',
                'categories.news': 'Noticias', 'categories.newsDesc': 'Cobertura global 24/7 para estar informado en todo momento.',
                'features.tag': 'Por Qué cubetv', 'features.title': 'Diseñado para Streaming Fluido',
                'features.desc': 'Simple, rápido y completamente gratis — sin tarifas ocultas ni tarjeta de crédito.',
                'features.f1title': '100% Gratis', 'features.f1desc': 'Sin suscripción ni compras dentro de la app. Descarga y empieza a ver al instante.',
                'features.f2title': 'Rápido y Fluido', 'features.f2desc': 'Motor de reproducción optimizado para streaming HD sin interrupciones.',
                'features.f3title': 'Actualizaciones Diarias', 'features.f3desc': 'Nuevos canales, películas y episodios cada día.',
                'features.f4title': 'Fácil de Usar', 'features.f4desc': 'Interfaz limpia para navegar con una mano. Encuentra lo que quieres en segundos.',
                'install.tag': 'Cómo Instalar', 'install.title': 'Empieza en 3 Pasos',
                'install.desc': 'Instala cubetv en tu Android en menos de un minuto.',
                'install.s1title': 'Descargar APK', 'install.s1desc': 'Pulsa el botón de descarga para obtener el último APK de cubetv.',
                'install.s2title': 'Permitir Instalación', 'install.s2desc': 'Ve a Ajustes → Seguridad y activa «Orígenes desconocidos» si se solicita.',
                'install.s3title': 'Abrir y Disfrutar', 'install.s3desc': 'Abre cubetv y empieza a ver TV, películas y deportes al instante.',
                'marquee.tag': 'En Streaming', 'marquee.title': 'Miles de Hits, Una App Gratis',
                'download.androidOnly': 'Solo Android', 'download.title': 'Descargar cubetv Ahora',
                'download.desc': 'Mira Adolescence, Squid Game 3 y más — gratis en Android. APK seguro y ligero — Android 5.0+.',
                'download.btn': 'Descargar APK Gratis',
                'download.apk1': 'Última Versión', 'download.apk3': 'Sin Registro', 'download.apk4': 'Sin Virus',
                'faq.tag': 'FAQ', 'faq.title': 'Preguntas Frecuentes',
                'faq.q1': '¿cubetv es realmente gratis?', 'faq.a1': '¡Sí! cubetv es completamente gratis. Sin suscripción ni cargos ocultos.',
                'faq.q2': '¿Puedo ver Adolescence en cubetv?', 'faq.a2': '¡Sí! cubetv incluye Adolescence, Squid Game 3, Wednesday, Bridgerton y otros hits — gratis, sin suscripción a Netflix.',
                'faq.q3': '¿Qué dispositivos son compatibles?', 'faq.a3': 'cubetv está disponible para smartphones y tablets Android 5.0+. iOS no es compatible.',
                'faq.q4': '¿Es seguro instalar el APK?', 'faq.a4': 'Absolutamente. Nuestro APK se verifica en cada lanzamiento. Descarga solo desde esta página oficial.',
                'faq.q5': '¿Necesito crear una cuenta?', 'faq.a5': 'No se requiere registro. Instala la app y empieza a ver de inmediato.',
                'footer.copy': '© 2026 cubetv. Todos los derechos reservados.<br>Página con fines promocionales.',
                'sticky.title': 'cubetv — Descarga Gratis', 'sticky.sub': 'APK Android · Sin suscripción',
                'modal.title': 'Descarga iniciada',
                'modal.subtitle': 'Tu APK se está descargando. Sigue los pasos de abajo para instalar.',
                'modal.hint': 'Desliza el panel de notificaciones y toca el archivo APK de cubetv cuando termine.',
                'modal.stepsTitle': 'Instalación en 4 pasos',
                'modal.s1title': 'Espera la descarga',
                'modal.s1desc': 'Mantén esta página abierta hasta que termine (~25 MB). Revisa el progreso en notificaciones.',
                'modal.s2title': 'Abre el APK',
                'modal.s2desc': 'Toca la notificación de descarga completada, o abre el archivo desde Descargas.',
                'modal.s3title': 'Permitir apps desconocidas',
                'modal.s3desc': 'Si Android lo pide, ve a Ajustes → activa «Permitir de esta fuente», luego vuelve e instala.',
                'modal.s4title': 'Instala y abre cubetv',
                'modal.s4desc': 'Toca Instalar y luego Abrir. Sin cuenta — empieza a ver de inmediato.',
                'modal.gotIt': 'Entendido',
                'modal.retry': 'Descargar de nuevo',
                'modal.close': 'Cerrar',
                'badge.HOT': 'HOT', 'badge.NEW': 'NUEVO', 'badge.TOP': 'TOP',
                'show.Adolescence.meta': 'Netflix · #1 Tendencia',
                'show.squid-game-3.meta': 'Netflix · Temporada Final',
                'show.wednesday.meta': 'Netflix · Favorito de Fans',
                'show.bridgerton.meta': 'Netflix · Romance Hit',
                'show.white-lotus.meta': 'HBO · Premiada',
                'show.severance.meta': 'Apple TV+ · Sci-Fi',
                'show.daredevil-born-again.meta': 'Disney+ · Marvel',
                'show.fallout.meta': 'Prime Video · Sci-Fi'
            },
            ar: {
                'meta.title': 'cubetv — تلفزيون مباشر وأفلام ورياضة مجانًا',
                'meta.description': 'حمّل cubetv مجانًا لأندرويد. شاهد Adolescence وSquid Game 3 وWednesday وBridgerton والمزيد — تلفزيون مباشر وأفلام ورياضة بجودة HD.',
                'meta.ogTitle': 'cubetv — شاهد أشهر المسلسلات مجانًا',
                'meta.ogDescription': 'Adolescence وSquid Game 3 وWednesday وBridgerton والمزيد — مجانًا 100٪ على أندرويد.',
                'nav.trending': 'الرائج', 'nav.features': 'المميزات', 'nav.content': 'المحتوى',
                'nav.download': 'تحميل', 'nav.faq': 'الأسئلة', 'nav.downloadBtn': 'تحميل',
                'hero.badge': 'رائج الآن — شاهد مجانًا على cubetv',
                'hero.featuredTag': '🔥 الأكثر رواجًا على نتفليكس',
                'hero.featuredDesc': 'المسلسل المحدود الأكثر حديثًا في 2026. شاهده مجانًا على cubetv.',
                'hero.title1': 'كل المسلسلات الناجحة.', 'hero.title2': 'تطبيق واحد مجاني.',
                'hero.desc': 'يجمع cubetv أشهر الدراما والتلفزيون المباشر والأفلام والرياضة على أندرويد — بما في ذلك Adolescence وSquid Game 3 وWednesday وBridgerton والمزيد. بلا اشتراك وبلا حدود.',
                'hero.ctaDownload': 'تحميل لأندرويد', 'hero.ctaTrending': 'شاهد الرائج',
                'hero.stat1': 'قنوات مباشرة', 'hero.stat2': 'جودة البث',
                'hero.statFreeNum': 'مجاني', 'hero.stat3': 'إلى الأبد',
                'phone.hot': 'رائج', 'phone.hotNow': 'الأكثر رواجًا', 'phone.liveTv': 'بث مباشر',
                'phone.navHome': 'الرئيسية', 'phone.navLive': 'مباشر', 'phone.navMovies': 'أفلام', 'phone.navSports': 'رياضة',
                'trending.banner': 'رائج عالميًا — يوليو 2026',
                'trending.title': 'شاهد ما يتحدث عنه الجميع',
                'trending.desc': 'أشهر المسلسلات على نتفليكس وديزني+ والمزيد — كلها مجانًا على cubetv. تُحدَّث يوميًا بأحدث الأعمال الرائجة.',
                'trending.cta': 'شاهد الكل مجانًا — حمّل cubetv',
                'categories.tag': 'المحتوى', 'categories.title': 'كل ما تريد مشاهدته',
                'categories.desc': 'من الأخبار العاجلة إلى الأفلام الكبرى — cubetv يضم كل شيء، بما في ذلك أحدث الأعمال الرائجة يوميًا.',
                'categories.liveTv': 'تلفزيون مباشر', 'categories.liveTvDesc': 'قنوات أخبار وترفيه وأطفال ونمط حياة من حول العالم.',
                'categories.movies': 'أفلام', 'categories.moviesDesc': 'أحدث الإصدارات والكلاسيكيات المفضلة بجودة HD.',
                'categories.sports': 'رياضة', 'categories.sportsDesc': 'كرة القدم وكرة السلة وUFC والمزيد — شاهد المباريات مباشرة مجانًا.',
                'categories.news': 'أخبار', 'categories.newsDesc': 'تغطية إخبارية عالمية على مدار الساعة لتبقى على اطلاع في أي وقت.',
                'features.tag': 'لماذا cubetv', 'features.title': 'مصمم لبث سلس',
                'features.desc': 'بسيط وسريع ومجاني بالكامل — بلا رسوم خفية وبلا بطاقة ائتمان.',
                'features.f1title': 'مجاني 100٪', 'features.f1desc': 'بلا اشتراك وبلا مشتريات داخل التطبيق. حمّل وابدأ المشاهدة فورًا.',
                'features.f2title': 'سريع وسلس', 'features.f2desc': 'محرك تشغيل محسّن يقدّم بث HD دون توقف على أي شبكة.',
                'features.f3title': 'تحديثات يومية', 'features.f3desc': 'قنوات وأفلام وحلقات جديدة تُضاف كل يوم حتى لا يفوتك شيء.',
                'features.f4title': 'سهل الاستخدام', 'features.f4desc': 'واجهة نظيفة للتصفح بيد واحدة. اعثر على ما تريد في ثوانٍ.',
                'install.tag': 'طريقة التثبيت', 'install.title': 'ابدأ في 3 خطوات',
                'install.desc': 'ثبّت cubetv على جهاز أندرويد في أقل من دقيقة.',
                'install.s1title': 'حمّل ملف APK', 'install.s1desc': 'اضغط زر التحميل أدناه للحصول على أحدث ملف APK لتطبيق cubetv.',
                'install.s2title': 'اسمح بالتثبيت', 'install.s2desc': 'اذهب إلى الإعدادات ← الأمان وفعّل «التثبيت من مصادر غير معروفة» إن طُلب منك.',
                'install.s3title': 'افتح واستمتع', 'install.s3desc': 'شغّل cubetv وابدأ مشاهدة التلفزيون والأفلام والرياضة فورًا.',
                'marquee.tag': 'يُعرض الآن', 'marquee.title': 'آلاف الأعمال الناجحة في تطبيق مجاني واحد',
                'download.androidOnly': 'أندرويد فقط', 'download.title': 'حمّل cubetv الآن',
                'download.desc': 'شاهد Adolescence وSquid Game 3 والمزيد — مجانًا على أندرويد. ملف APK آمن وخفيف — يعمل على أندرويد 5.0 فما فوق.',
                'download.btn': 'حمّل APK مجانًا',
                'download.apk1': 'أحدث إصدار', 'download.apk3': 'بلا تسجيل', 'download.apk4': 'خالٍ من الفيروسات',
                'faq.tag': 'الأسئلة', 'faq.title': 'أسئلة شائعة',
                'faq.q1': 'هل cubetv مجاني حقًا؟', 'faq.a1': 'نعم! cubetv مجاني بالكامل للتحميل والاستخدام. لا رسوم اشتراك ولا رسوم خفية.',
                'faq.q2': 'هل يمكنني مشاهدة Adolescence على cubetv؟', 'faq.a2': 'نعم! يضم cubetv Adolescence وSquid Game 3 وWednesday وBridgerton وغيرها من الأعمال الرائجة — كلها مجانًا دون اشتراك نتفليكس.',
                'faq.q3': 'ما الأجهزة المدعومة؟', 'faq.a3': 'يتوفر cubetv لهواتف وأجهزة أندرويد اللوحية بنظام 5.0 أو أحدث. نظام iOS غير مدعوم حاليًا.',
                'faq.q4': 'هل تثبيت ملف APK آمن؟', 'faq.a4': 'بالتأكيد. يتم فحص ملف APK والتحقق منه قبل كل إصدار. حمّل دائمًا من هذه الصفحة الرسمية لضمان الحصول على التطبيق الأصلي.',
                'faq.q5': 'هل أحتاج إلى إنشاء حساب؟', 'faq.a5': 'لا يلزم التسجيل. ثبّت التطبيق وابدأ المشاهدة فورًا.',
                'footer.copy': '© 2026 cubetv. جميع الحقوق محفوظة.<br>هذه الصفحة مخصصة لأغراض ترويجية.',
                'sticky.title': 'cubetv — تحميل مجاني', 'sticky.sub': 'ملف أندرويد · بلا اشتراك',
                'modal.title': 'بدأ التحميل',
                'modal.subtitle': 'يجري تحميل ملف APK. اتبع الخطوات أدناه للتثبيت.',
                'modal.hint': 'اسحب مركز الإشعارات للأسفل واضغط ملف APK الخاص بـ cubetv عند اكتمال التحميل.',
                'modal.stepsTitle': 'التثبيت في 4 خطوات',
                'modal.s1title': 'انتظر اكتمال التحميل',
                'modal.s1desc': 'أبقِ هذه الصفحة مفتوحة حتى ينتهي الملف (~25 ميغابايت). تابع التقدم في الإشعارات.',
                'modal.s2title': 'افتح ملف APK',
                'modal.s2desc': 'اضغط إشعار اكتمال التحميل، أو افتح الملف من مجلد التنزيلات.',
                'modal.s3title': 'اسمح بالتطبيقات غير المعروفة',
                'modal.s3desc': 'إذا طلب أندرويد ذلك، اضغط الإعدادات ← فعّل «السماح من هذا المصدر»، ثم عد وثبّت.',
                'modal.s4title': 'ثبّت وافتح cubetv',
                'modal.s4desc': 'اضغط تثبيت ثم فتح. لا حاجة لحساب — ابدأ المشاهدة فورًا.',
                'modal.gotIt': 'حسناً',
                'modal.retry': 'تحميل مرة أخرى',
                'modal.close': 'إغلاق',
                'badge.HOT': 'رائج', 'badge.NEW': 'جديد', 'badge.TOP': 'الأعلى',
                'show.Adolescence.meta': 'نتفليكس · الأكثر رواجًا',
                'show.squid-game-3.meta': 'نتفليكس · الموسم الأخير',
                'show.wednesday.meta': 'نتفليكس · المفضل لدى الجمهور',
                'show.bridgerton.meta': 'نتفليكس · دراما رومانسية',
                'show.white-lotus.meta': 'HBO · حائز على جوائز',
                'show.severance.meta': 'Apple TV+ · خيال علمي',
                'show.daredevil-born-again.meta': 'Disney+ · مارفل',
                'show.fallout.meta': 'Prime Video · خيال علمي'
            }
        };

        function detectLang() {
            return window.CLACK_CONFIG.initialLanguage || 'en';
        }

        function t(key) {
            return (I18N[currentLang] && I18N[currentLang][key]) || I18N.en[key] || key;
        }

        function applyLanguage(lang) {
            if (!I18N[lang]) lang = 'en';
            currentLang = lang;
            try { localStorage.setItem('cubetv_lang', lang); } catch (e) {}
            document.documentElement.lang = lang;
            document.documentElement.dir = lang === 'ar' ? 'rtl' : 'ltr';

            document.querySelectorAll('[data-i18n]').forEach(function(el) {
                el.textContent = t(el.getAttribute('data-i18n'));
            });
            document.querySelectorAll('[data-i18n-html]').forEach(function(el) {
                el.innerHTML = t(el.getAttribute('data-i18n-html'));
            });

            var titleEl = document.getElementById('page-title');
            var descEl = document.getElementById('meta-desc');
            var ogTitle = document.getElementById('meta-og-title');
            var ogDesc = document.getElementById('meta-og-desc');
            if (titleEl) titleEl.textContent = t('meta.title');
            if (descEl) descEl.setAttribute('content', t('meta.description'));
            if (ogTitle) ogTitle.setAttribute('content', t('meta.ogTitle'));
            if (ogDesc) ogDesc.setAttribute('content', t('meta.ogDescription'));

            document.querySelectorAll('.lang-btn').forEach(function(btn) {
                btn.classList.toggle('active', btn.getAttribute('data-lang') === lang);
            });

            var closeBtn = document.querySelector('.dl-modal__close');
            if (closeBtn) closeBtn.setAttribute('aria-label', t('modal.close'));

            renderTrendingShows();
        }

        document.querySelectorAll('.lang-btn').forEach(function(btn) {
            btn.addEventListener('click', function() {
                applyLanguage(btn.getAttribute('data-lang'));
            });
        });

        var POSTER_BASE = window.CLACK_CONFIG.posterBase;

        function downloadUrl() {
            return DOWNLOAD_ENDPOINT + '?button=hero';
        }

        var TRENDING_SHOWS = [
            {
                title: 'Adolescence',
                year: '2025',
                tag: 'HOT',
                badgeClass: 'badge-hot',
                meta: 'Netflix · #1 Trending',
                file: 'Adolescence',
                featured: true
            },
            {
                title: 'Squid Game Season 3',
                year: '2025',
                tag: 'HOT',
                badgeClass: 'badge-hot',
                meta: 'Netflix · Final Season',
                file: 'squid-game-3'
            },
            {
                title: 'Wednesday Season 2',
                year: '2025',
                tag: 'NEW',
                badgeClass: 'badge-new',
                meta: 'Netflix · Fan Favorite',
                file: 'wednesday'
            },
            {
                title: 'Bridgerton Season 4',
                year: '2026',
                tag: 'TOP',
                badgeClass: 'badge-top',
                meta: 'Netflix · Romance Hit',
                file: 'bridgerton'
            },
            {
                title: 'The White Lotus S3',
                year: '2025',
                tag: 'TOP',
                badgeClass: 'badge-top',
                meta: 'HBO · Award Winner',
                file: 'white-lotus'
            },
            {
                title: 'Severance Season 2',
                year: '2025',
                tag: 'TOP',
                badgeClass: 'badge-top',
                meta: 'Apple TV+ · Sci-Fi Drama',
                file: 'severance'
            },
            {
                title: 'Daredevil: Born Again',
                year: '2025',
                tag: 'HOT',
                badgeClass: 'badge-hot',
                meta: 'Disney+ · Marvel',
                file: 'daredevil-born-again'
            },
            {
                title: 'Fallout Season 2',
                year: '2025',
                tag: 'NEW',
                badgeClass: 'badge-new',
                meta: 'Prime Video · Sci-Fi',
                file: 'fallout'
            }
        ];

        TRENDING_SHOWS.forEach(function(show) {
            show.poster = POSTER_BASE + show.file + '.png';
            show.posterMobile = POSTER_BASE + show.file + '-mobile.jpg' + (show.file === 'Adolescence' ? '?v=2' : '');
        });

        function posterSrc(show) {
            return show.posterMobile;
        }

        function renderMarquees() {
            var html = TRENDING_SHOWS.map(function(show) {
                return '<a class="poster-marquee__item" href="' + downloadUrl('hero') + '" data-download-button="hero" aria-label="' + show.title + '">' +
                    '<img src="' + show.posterMobile + '" alt="' + show.title + '" loading="lazy" decoding="async" width="168" height="252">' +
                    '</a>';
            }).join('');
            var duplicated = html + html;
            var forward = document.getElementById('marquee-forward');
            var reverse = document.getElementById('marquee-reverse');
            var bottom = document.getElementById('marquee-bottom');
            if (forward) forward.innerHTML = duplicated;
            if (reverse) reverse.innerHTML = duplicated;
            if (bottom) {
                var shuffled = TRENDING_SHOWS.slice().reverse().map(function(show) {
                    return '<a class="poster-marquee__item" href="' + downloadUrl('hero') + '" data-download-button="hero" aria-label="' + show.title + '">' +
                        '<img src="' + show.posterMobile + '" alt="' + show.title + '" loading="lazy" decoding="async" width="168" height="252">' +
                        '</a>';
                }).join('');
                bottom.innerHTML = shuffled + shuffled;
            }
        }

        function renderTrendingShows() {
            var row = document.getElementById('trend-row');
            if (!row) return;
            row.innerHTML = TRENDING_SHOWS.map(function(show) {
                var cls = 'show-card' + (show.featured ? ' featured' : '');
                var src = posterSrc(show);
                var tagLabel = t('badge.' + show.tag);
                var meta = t('show.' + show.file + '.meta');
                return '<article class="' + cls + '" onclick="handleDownload(event, &quot;hero&quot;)" role="button" tabindex="0">' +
                    '<div class="show-poster">' +
                    '<span class="show-badge ' + show.badgeClass + '">' + tagLabel + '</span>' +
                    '<img src="' + src + '" alt="' + show.title + '" loading="lazy" decoding="async" width="200" height="300">' +
                    '</div>' +
                    '<div class="show-info">' +
                    '<h3>' + show.title + '</h3>' +
                    '<p>' + show.year + ' · ' + meta.split(' · ')[0] + '</p>' +
                    '</div></article>';
            }).join('');

            var thumbRow = document.getElementById('hero-thumb-row');
            if (thumbRow) {
                thumbRow.innerHTML = TRENDING_SHOWS.slice(0, 4).map(function(show) {
                    return '<div class="thumb" style="background-image:url(\'' + show.posterMobile + '\');background-size:cover;background-position:center;"></div>';
                }).join('');
            }

            var featured = TRENDING_SHOWS.find(function(s) { return s.featured; }) || TRENDING_SHOWS[0];
            var phoneHero = document.getElementById('phone-hero-poster');
            var phoneTitle = document.getElementById('phone-hero-title');
            if (phoneHero && featured) {
                phoneHero.style.backgroundImage = "url('" + featured.posterMobile + "')";
                phoneHero.style.backgroundSize = 'cover';
                phoneHero.style.backgroundPosition = 'center top';
            }
            if (phoneTitle && featured) phoneTitle.textContent = featured.title;
        }

        renderMarquees();
        applyLanguage(detectLang());
        window.addEventListener('resize', function() {
            clearTimeout(window._posterResizeTimer);
            window._posterResizeTimer = setTimeout(renderTrendingShows, 200);
        });

        document.querySelectorAll('.faq-q').forEach(function(btn) {
            btn.addEventListener('click', function() {
                var item = btn.closest('.faq-item');
                var isOpen = item.classList.contains('open');
                document.querySelectorAll('.faq-item').forEach(function(el) {
                    el.classList.remove('open');
                    el.querySelector('.faq-q').setAttribute('aria-expanded', 'false');
                });
                if (!isOpen) {
                    item.classList.add('open');
                    btn.setAttribute('aria-expanded', 'true');
                }
            });
        });

        document.addEventListener('keydown', function(event) {
            if ((event.key === 'Enter' || event.key === ' ') && event.target.matches('article[role="button"]')) {
                event.preventDefault(); handleDownload(event, 'hero');
            }
        });

        var dlModal = document.getElementById('dl-modal');
        var dlModalIcon = document.getElementById('dl-modal-icon');
        var dlScrollY = 0;
        var dlIconTimer = null;

        var inAppModal = document.getElementById('inapp-browser-modal');
        var inAppDownload = null;
        var inAppFallbackTimer = null;
        var inAppVisibilityHandler = null;

        function isAndroidSocialInAppBrowser() {
            var ua = navigator.userAgent || '';
            return /Android/i.test(ua) && /(Instagram|FBAN|FBAV|FB_IAB|FB4A|TikTok|musical_ly|BytedanceWebview)/i.test(ua);
        }

        function getExternalLandingUrl(button) {
            var url = new URL(window.location.href);
            url.searchParams.set('apk_guide', '1');
            url.searchParams.set('button', 'hero');
            url.hash = '';
            return url.toString();
        }

        function getChromeIntentUrl(landingUrl) {
            var target = new URL(landingUrl);
            return 'intent://' + target.host + target.pathname + target.search +
                '#Intent;scheme=' + target.protocol.replace(':', '') +
                ';package=com.android.chrome;S.browser_fallback_url=' + encodeURIComponent(landingUrl) + ';end';
        }

        function setInAppModalCopy() {
            if (!inAppModal) return;
            var copyByLanguage = {
                en: {
                    eyebrow: 'External browser needed', title: 'Open Chrome to download the APK',
                    description: 'This social app may block APK downloads. Open this page in Chrome, then tap Download again.',
                    steps: '<li>Tap <strong>Open Chrome</strong>.</li><li>On the home page, tap the Download button.</li><li>Open the downloaded APK from Downloads.</li>',
                    open: 'Open Chrome', copy: 'Copy page link', continue: 'Continue here'
                },
                fr: {
                    eyebrow: 'Navigateur externe requis', title: 'Ouvrez Chrome pour télécharger l’APK',
                    description: 'Cette application sociale peut bloquer les téléchargements d’APK. Ouvrez cette page dans Chrome, puis appuyez à nouveau sur Télécharger.',
                    steps: '<li>Appuyez sur <strong>Ouvrir Chrome</strong>.</li><li>Sur la page d’accueil, appuyez sur Télécharger.</li><li>Ouvrez l’APK téléchargé dans Téléchargements.</li>',
                    open: 'Ouvrir Chrome', copy: 'Copier le lien', continue: 'Continuer ici'
                },
                es: {
                    eyebrow: 'Se necesita un navegador externo', title: 'Abre Chrome para descargar el APK',
                    description: 'Esta aplicación social puede bloquear las descargas de APK. Abre esta página en Chrome y vuelve a pulsar Descargar.',
                    steps: '<li>Pulsa <strong>Abrir Chrome</strong>.</li><li>En la página principal, pulsa Descargar.</li><li>Abre el APK descargado desde Descargas.</li>',
                    open: 'Abrir Chrome', copy: 'Copiar enlace', continue: 'Continuar aquí'
                },
                ar: {
                    eyebrow: 'يلزم متصفح خارجي', title: 'افتح Chrome لتنزيل ملف APK',
                    description: 'قد يمنع هذا التطبيق الاجتماعي تنزيل ملفات APK. افتح هذه الصفحة في Chrome ثم اضغط تنزيل مرة أخرى.',
                    steps: '<li>اضغط <strong>فتح Chrome</strong>.</li><li>في الصفحة الرئيسية، اضغط زر التنزيل.</li><li>افتح ملف APK من التنزيلات.</li>',
                    open: 'فتح Chrome', copy: 'نسخ رابط الصفحة', continue: 'المتابعة هنا'
                }
            };
            var copy = copyByLanguage[currentLang] || copyByLanguage.en;
            document.getElementById('inapp-browser-eyebrow').textContent = copy.eyebrow;
            document.getElementById('inapp-browser-title').textContent = copy.title;
            document.getElementById('inapp-browser-description').textContent = copy.description;
            document.getElementById('inapp-browser-steps').innerHTML = copy.steps;
            document.getElementById('inapp-open-chrome').textContent = copy.open;
            document.getElementById('inapp-copy-link').textContent = copy.copy;
            document.getElementById('inapp-continue-here').textContent = copy.continue;
        }

        function showInAppFallback(button) {
            if (!inAppModal) return;
            inAppDownload = {
                button: 'hero',
                landingUrl: getExternalLandingUrl('hero')
            };
            setInAppModalCopy();
            inAppModal.classList.add('is-open');
            inAppModal.setAttribute('aria-hidden', 'false');
            document.getElementById('inapp-open-chrome').focus();
        }

        function closeInAppFallback() {
            if (!inAppModal) return;
            inAppModal.classList.remove('is-open');
            inAppModal.setAttribute('aria-hidden', 'true');
        }

        function attemptChromeIntent(button) {
            var landingUrl = getExternalLandingUrl('hero');
            var handoffObserved = false;
            inAppDownload = { button: 'hero', landingUrl: landingUrl };
            clearTimeout(inAppFallbackTimer);
            if (inAppVisibilityHandler) document.removeEventListener('visibilitychange', inAppVisibilityHandler);
            inAppVisibilityHandler = function() {
                if (document.visibilityState === 'hidden') {
                    handoffObserved = true;
                    clearTimeout(inAppFallbackTimer);
                }
            };
            document.addEventListener('visibilitychange', inAppVisibilityHandler);
            inAppFallbackTimer = window.setTimeout(function() {
                document.removeEventListener('visibilitychange', inAppVisibilityHandler);
                inAppVisibilityHandler = null;
                if (!handoffObserved && document.visibilityState !== 'hidden') showInAppFallback(button);
            }, 1100);
            window.location.href = getChromeIntentUrl(landingUrl);
        }

        function copyExternalLandingUrl() {
            if (!inAppDownload) return;
            var link = inAppDownload.landingUrl;
            var done = function() {
                var element = document.getElementById('inapp-copy-link');
                var labels = { en: 'Link copied', fr: 'Lien copié', es: 'Enlace copiado', ar: 'تم نسخ الرابط' };
                element.textContent = labels[currentLang] || labels.en;
            };
            if (navigator.clipboard && window.isSecureContext) {
                navigator.clipboard.writeText(link).then(done).catch(function() {});
                return;
            }
            var textarea = document.createElement('textarea');
            textarea.value = link;
            textarea.setAttribute('readonly', '');
            textarea.style.cssText = 'position:fixed;opacity:0;pointer-events:none';
            document.body.appendChild(textarea);
            textarea.select();
            try { document.execCommand('copy'); done(); } catch (err) {}
            document.body.removeChild(textarea);
        }

        function handleDownload(e, button) {
            if (e && e.preventDefault) e.preventDefault();
            if (isAndroidSocialInAppBrowser()) {
                attemptChromeIntent('hero');
                return;
            }
            window.location.assign(downloadUrl('hero'));
        }

        function startApkDownload(button) {
            handleDownload(null, 'hero');
        }

        document.addEventListener('click', function(event) {
            var link = event.target.closest('a[data-download-button]');
            if (!link) return;
            handleDownload(event, link.getAttribute('data-download-button'));
        });

        if (inAppModal) {
            inAppModal.querySelectorAll('[data-inapp-close]').forEach(function(element) {
                element.addEventListener('click', closeInAppFallback);
            });
            document.getElementById('inapp-open-chrome').addEventListener('click', function() {
                attemptChromeIntent('hero');
            });
            document.getElementById('inapp-copy-link').addEventListener('click', copyExternalLandingUrl);
            document.getElementById('inapp-continue-here').addEventListener('click', function() {
                window.location.assign(downloadUrl('hero'));
            });
            inAppModal.addEventListener('click', function(event) {
                if (event.target === inAppModal) closeInAppFallback();
            });
        }

        function openDownloadModal() {
            if (!dlModal) return;
            dlScrollY = window.scrollY || window.pageYOffset || 0;
            dlModal.classList.add('is-open');
            dlModal.setAttribute('aria-hidden', 'false');
            document.body.classList.add('dl-modal-open');
            document.body.style.top = '-' + dlScrollY + 'px';
            document.body.style.position = 'fixed';
            document.body.style.width = '100%';

            if (dlModalIcon) {
                dlModalIcon.classList.add('is-spinning');
                dlModalIcon.innerHTML = '<svg viewBox="0 0 24 24"><path d="M12 4V2A10 10 0 0 0 2 12h2a8 8 0 0 1 8-8z"/></svg>';
                clearTimeout(dlIconTimer);
                dlIconTimer = setTimeout(function() {
                    dlModalIcon.classList.remove('is-spinning');
                    dlModalIcon.innerHTML = '<svg viewBox="0 0 24 24"><path d="M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z"/></svg>';
                }, 1600);
            }

            var gotIt = dlModal.querySelector('[data-dl-close].btn-primary');
            if (gotIt) setTimeout(function() { gotIt.focus(); }, 320);
        }

        function closeDownloadModal() {
            if (!dlModal || !dlModal.classList.contains('is-open')) return;
            dlModal.classList.remove('is-open');
            dlModal.setAttribute('aria-hidden', 'true');
            document.body.classList.remove('dl-modal-open');
            document.body.style.position = '';
            document.body.style.top = '';
            document.body.style.width = '';
            window.scrollTo(0, dlScrollY);
            clearTimeout(dlIconTimer);
        }

        if (dlModal) {
            dlModal.querySelectorAll('[data-dl-close]').forEach(function(el) {
                el.addEventListener('click', function(e) {
                    e.preventDefault();
                    closeDownloadModal();
                });
            });
            var retryBtn = document.getElementById('dl-modal-retry');
            if (retryBtn) {
                retryBtn.addEventListener('click', function(e) {
                    e.preventDefault();
                    e.stopPropagation();
                    startApkDownload('modal_retry');
                    if (dlModalIcon) {
                        dlModalIcon.classList.add('is-spinning');
                        dlModalIcon.innerHTML = '<svg viewBox="0 0 24 24"><path d="M12 4V2A10 10 0 0 0 2 12h2a8 8 0 0 1 8-8z"/></svg>';
                        clearTimeout(dlIconTimer);
                        dlIconTimer = setTimeout(function() {
                            dlModalIcon.classList.remove('is-spinning');
                            dlModalIcon.innerHTML = '<svg viewBox="0 0 24 24"><path d="M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z"/></svg>';
                        }, 1200);
                    }
                });
            }
        }

        document.addEventListener('keydown', function(e) {
            if (e.key === 'Escape') closeDownloadModal();
        });
    </script>


</body></html>