
:root{
    --home-navy:#061a39;
    --home-blue:#0f57bd;
    --home-gold:#f5c85d;
    --home-text:#ffffff;
    --home-muted:#d8e4f3;
}

/* Dark theme is limited to the new homepage. */
body.home-v2-page{
    min-height:100vh;
    background:
        radial-gradient(circle at 50% 0%,rgba(20,76,146,.20),transparent 34%),
        radial-gradient(circle at 10% 52%,rgba(0,97,129,.10),transparent 30%),
        linear-gradient(180deg,#020b1b 0%,#04152e 55%,#020c1f 100%);
    color:#fff;
}

.home-v2-page .site-header{
    border-bottom:1px solid rgba(75,146,232,.18);
    box-shadow:0 10px 30px rgba(0,0,0,.20);
}

.home-v2-shell{
    width:min(1220px,calc(100% - 28px));
    margin:16px auto 0;
}

.home-zone{
    position:relative;
    min-height:285px;
    margin-bottom:8px;
    border-radius:25px;
    overflow:hidden;
    isolation:isolate;
    border:1px solid rgba(255,255,255,.13);
    background:#071e45;
    box-shadow:0 12px 30px rgba(0,0,0,.18);
}

/* Keep the AdSense area on the same dark canvas as the cards. */
.home-top-ad{
    margin:0 0 8px;
    overflow:hidden;
    background:transparent;
    color:#d8e4f3;
}

.home-top-ad > div,
.home-top-ad center{
    background:transparent;
}

.home-zone-bg{
    position:absolute;
    inset:0;
    z-index:-2;
    background-repeat:no-repeat;
    background-size:cover;
    background-position:center right;
    transform:scale(1.01);
}

.home-zone::after{
    content:"";
    position:absolute;
    inset:0;
    z-index:-1;
    pointer-events:none;
}

.home-zone-content{
    width:min(650px,64%);
    padding:40px 46px;
    color:var(--home-text);
}

.home-zone-kicker{
    display:inline-flex;
    align-items:center;
    min-height:32px;
    padding:6px 12px;
    margin-bottom:14px;
    border:1px solid rgba(255,255,255,.28);
    border-radius:999px;
    background:rgba(4,18,43,.30);
    color:#e8f2ff;
    font-size:16px;
    line-height:1.3;
    font-weight:800;
}

.home-zone h1,
.home-zone h2{
    margin:0;
    max-width:620px;
    color:#fff;
    font-size:42px;
    line-height:1.15;
    letter-spacing:-.02em;
}

.home-zone h2{
    font-size:38px;
}

.home-zone p{
    max-width:590px;
    margin:15px 0 0;
    color:var(--home-muted);
    font-size:18px;
    line-height:1.7;
}

.home-zone-meta{
    display:inline-flex;
    margin-top:14px;
    padding:8px 11px;
    border-radius:9px;
    background:rgba(255,255,255,.10);
    color:#fff;
    font-size:16px;
    font-weight:800;
}

.home-zone-note{
    margin-top:12px;
    color:#d6e4f5;
    font-size:16px;
    line-height:1.55;
}

.home-zone-button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:50px;
    margin-top:20px;
    padding:12px 20px;
    border-radius:12px;
    background:#1670e5;
    color:#fff;
    text-decoration:none;
    font-size:18px;
    line-height:1.3;
    font-weight:900;
    box-shadow:0 10px 26px rgba(0,0,0,.16);
}

.home-zone-button:hover{
    filter:brightness(1.07);
}

.home-zone-button-gold{
    background:linear-gradient(135deg,#f8d77c,#eeb446);
    color:#3d2c00;
}

.home-zone-button-pink{
    background:linear-gradient(135deg,#ff77c4,#d9419d);
}

.home-zone-button-cyan{
    background:linear-gradient(135deg,#31bfd8,#1584b5);
}

/* backgrounds + overlays */
.home-zone-latest .home-zone-bg{
    background-image:url('/assets/home/latest.webp');
}
.home-zone-latest::after{
    background:linear-gradient(90deg,rgba(3,21,55,.98) 0%,rgba(5,30,75,.93) 44%,rgba(6,28,65,.28) 72%,rgba(6,28,65,.08) 100%);
}

.home-zone-check .home-zone-bg{
    background-image:url('/assets/home/check.webp');
}
.home-zone-check::after{
    background:linear-gradient(90deg,rgba(2,47,35,.97) 0%,rgba(4,69,50,.91) 45%,rgba(4,69,50,.30) 72%,rgba(4,69,50,.08) 100%);
}

.home-zone-stats .home-zone-bg{
    background-image:url('/assets/home/stats.webp');
}
.home-zone-stats::after{
    background:linear-gradient(90deg,rgba(4,28,72,.98) 0%,rgba(7,42,103,.92) 47%,rgba(7,42,103,.30) 73%,rgba(7,42,103,.08) 100%);
}

.home-zone-month .home-zone-bg{
    background-image:url('/assets/home/month.webp');
}
.home-zone-month::after{
    background:linear-gradient(90deg,rgba(54,14,87,.97) 0%,rgba(77,25,120,.91) 47%,rgba(77,25,120,.30) 73%,rgba(77,25,120,.08) 100%);
}

.home-zone-search .home-zone-bg{
    background-image:url('/assets/home/search.webp');
}
.home-zone-search::after{
    background:linear-gradient(90deg,rgba(0,45,69,.98) 0%,rgba(2,69,97,.92) 47%,rgba(2,69,97,.29) 74%,rgba(2,69,97,.08) 100%);
}

.home-zone-history .home-zone-bg{
    background-image:url('/assets/home/history.webp');
}
.home-zone-history::after{
    background:linear-gradient(90deg,rgba(63,40,16,.98) 0%,rgba(83,55,24,.92) 48%,rgba(83,55,24,.30) 74%,rgba(83,55,24,.08) 100%);
}

/* ticket form */
.home-ticket-form{
    margin-top:20px;
    max-width:560px;
}

.home-ticket-form label{
    display:block;
    margin-bottom:8px;
    color:#fff;
    font-size:16px;
    font-weight:900;
}

.home-ticket-row{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:10px;
}

.home-ticket-row input{
    min-width:0;
    min-height:52px;
    padding:11px 14px;
    border:0;
    border-radius:11px;
    background:#fff;
    color:#14304d;
    font-size:19px;
    font-weight:800;
    outline-offset:2px;
}

.home-ticket-row button{
    min-height:52px;
    padding:11px 18px;
    border:0;
    border-radius:11px;
    background:#42be71;
    color:#062c18;
    font-size:18px;
    font-weight:900;
    cursor:pointer;
}

/* trust strip */
.home-trust{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:1px;
    margin:14px 0 22px;
    overflow:hidden;
    border:1px solid #dce5ef;
    border-radius:18px;
    background:#dce5ef;
}

.home-v2-page .teenee-hot-widget__link,
.home-v2-page .teenee-hot-widget__title{
    color:#fff;
}

.home-v2-page .teenee-hot-widget__dot{
    background:#6f829d;
}

.home-v2-page .teenee-hot-widget__dot.is-active{
    background:#f4bd4e;
}

.home-trust > div{
    padding:20px;
    background:#fff;
}

.home-trust strong{
    display:block;
    margin-bottom:5px;
    color:#123e79;
    font-size:18px;
}

.home-trust span{
    color:#5d6d82;
    font-size:16px;
    line-height:1.55;
}

/* cross-zone footer */
.teenee-network-footer{
    background:#061a39;
    color:#fff;
    padding:34px 0 24px;
}

.teenee-network-inner{
    width:min(1180px,calc(100% - 28px));
    margin:0 auto;
}

.teenee-network-title{
    margin:0 0 15px;
    font-size:24px;
    line-height:1.25;
    color:#fff;
}

.teenee-network-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:12px;
}

.teenee-network-card{
    display:block;
    padding:18px;
    border:1px solid rgba(255,255,255,.15);
    border-radius:15px;
    background:rgba(255,255,255,.06);
    color:#fff;
    text-decoration:none;
}

.teenee-network-card strong{
    display:block;
    font-size:19px;
    line-height:1.35;
}

.teenee-network-card span{
    display:block;
    margin-top:5px;
    color:#cbd9ea;
    font-size:16px;
    line-height:1.55;
}

.teenee-network-brand{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:20px;
    margin-top:24px;
    padding-top:20px;
    border-top:1px solid rgba(255,255,255,.12);
}

.teenee-network-brand a{
    color:#fff;
    text-decoration:none;
    font-size:25px;
    font-weight:900;
}

.teenee-network-brand span{
    color:#bfcde0;
    font-size:16px;
}

/* check page helpers */
.check-ticket-number{
    margin:10px 0 20px;
    text-align:center;
    color:#0f4f99;
    font-size:48px;
    font-weight:900;
    letter-spacing:.04em;
}

.check-hit,
.check-miss{
    padding:20px;
    border-radius:14px;
    font-size:17px;
    line-height:1.65;
}

.check-hit{
    background:#e9f8ef;
    border:1px solid #9ed4b1;
    color:#145a30;
}

.check-miss{
    background:#fff7db;
    border:1px solid #dfc76c;
    color:#5c4700;
}

.check-hit strong,
.check-miss strong{
    display:block;
    font-size:20px;
}

.check-hit ul{
    margin-bottom:0;
}

.check-all-link{
    display:inline-flex;
    margin-top:10px;
    text-decoration:none;
}

/* mobile */
@media(max-width:760px){
    .home-v2-shell{
        width:calc(100% - 18px);
        margin-top:10px;
    }

    .home-zone{
        min-height:410px;
        margin-bottom:8px;
        border-radius:19px;
    }

    .home-zone-bg{
        background-size:auto 62%;
        background-position:right bottom;
    }

    .home-zone::after{
        background:
            linear-gradient(
                180deg,
                rgba(4,22,52,.98) 0%,
                rgba(4,22,52,.94) 48%,
                rgba(4,22,52,.48) 70%,
                rgba(4,22,52,.18) 100%
            ) !important;
    }

    .home-zone-check::after{
        background:linear-gradient(180deg,rgba(2,45,35,.98) 0%,rgba(3,59,45,.94) 48%,rgba(3,59,45,.48) 70%,rgba(3,59,45,.18) 100%) !important;
    }

    .home-zone-month::after{
        background:linear-gradient(180deg,rgba(48,13,80,.98) 0%,rgba(67,20,107,.94) 48%,rgba(67,20,107,.48) 70%,rgba(67,20,107,.18) 100%) !important;
    }

    .home-zone-history::after{
        background:linear-gradient(180deg,rgba(59,38,16,.98) 0%,rgba(73,47,20,.94) 48%,rgba(73,47,20,.48) 70%,rgba(73,47,20,.18) 100%) !important;
    }

    .home-zone-content{
        width:100%;
        padding:25px 21px 220px;
    }

    .home-zone h1,
    .home-zone h2{
        font-size:31px;
        line-height:1.18;
    }

    .home-zone p{
        margin-top:11px;
        font-size:17px;
        line-height:1.65;
    }

    .home-zone-kicker,
    .home-zone-meta,
    .home-zone-note{
        font-size:16px;
    }

    .home-zone-button{
        min-height:50px;
        font-size:18px;
    }

    .home-ticket-form{
        max-width:none;
    }

    .home-ticket-row{
        grid-template-columns:1fr;
    }

    .home-ticket-row input,
    .home-ticket-row button{
        width:100%;
        font-size:18px;
    }

    .home-trust{
        grid-template-columns:1fr;
    }

    .teenee-network-grid{
        grid-template-columns:1fr;
    }

    .teenee-network-title{
        font-size:22px;
    }

    .teenee-network-brand{
        display:block;
    }

    .teenee-network-brand span{
        display:block;
        margin-top:8px;
        font-size:16px;
    }

    .check-ticket-number{
        font-size:38px;
    }
}

@media(max-width:420px){
    .home-zone{
        min-height:425px;
    }

    .home-zone-content{
        padding:22px 18px 225px;
    }

    .home-zone h1,
    .home-zone h2{
        font-size:28px;
    }

    .home-zone p{
        font-size:16px;
    }

    .home-zone-bg{
        background-size:auto 58%;
    }
}
