/* App Grid — purple app shell, game cards in a grid, bottom tab bar. */

:root {
    --p1: #2b1055;
    --p2: #4c1d95;
    --p3: #7c3aed;
    --card: #10404a;
    --card-2: #0d5563;
    --gold: #f5b301;
    --green: #22c55e;
    --wa: #25d366;
    --text: #ffffff;
    --dim: #c9c2e4;
}

* { margin: 0; padding: 0; box-sizing: border-box; }

body {
    padding-bottom: 78px;
    background: linear-gradient(160deg, var(--p1) 0%, #3b1670 45%, var(--p2) 100%);
    background-attachment: fixed;
    color: var(--text);
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    font-size: 15px;
    line-height: 1.5;
    -webkit-text-size-adjust: 100%;
}

a { color: var(--gold); }
.wrap { max-width: 900px; margin: 0 auto; padding: 0 14px; }

/* app bar */
.appbar {
    position: sticky;
    top: 0;
    z-index: 30;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 14px;
    background: rgba(43, 16, 85, .96);
    border-bottom: 1px solid rgba(255, 255, 255, .12);
    backdrop-filter: blur(8px);
}

.appbar .burger { font-size: 20px; line-height: 1; }
.appbar .title { font-size: 16px; font-weight: 800; letter-spacing: .4px; text-transform: uppercase; }
.appbar .wallet { margin-left: auto; padding: 5px 14px; background: #ffffff; border-radius: 6px; color: var(--p1); font-size: 13px; font-weight: 800; }

/* hero banner */
.banner {
    margin: 14px auto;
    max-width: 872px;
    padding: 26px 18px;
    background: linear-gradient(120deg, #14532d, #166534 45%, #ca8a04);
    border: 2px solid var(--gold);
    border-radius: 14px;
    text-align: center;
}

.banner .chip { display: inline-block; margin-bottom: 8px; padding: 4px 14px; background: rgba(0, 0, 0, .35); border-radius: 999px; font-size: 12px; font-weight: 700; letter-spacing: .6px; }
.banner h2 { font-size: 24px; font-weight: 800; letter-spacing: 1px; }
.banner .num { margin-top: 4px; font-size: 46px; font-weight: 800; line-height: 1; color: var(--gold); }
.banner .num.is-wait { font-size: 26px; color: #fca5a5; animation: blink 1.3s ease-in-out infinite; }
@keyframes blink { 50% { opacity: .45; } }

/* quick actions */
.actions { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-bottom: 14px; }
.action { padding: 11px 6px; background: var(--gold); border-radius: 8px; color: #3b2600; font-size: 13px; font-weight: 800; text-align: center; text-decoration: none; }
.action.alt { background: #ffffff; color: var(--p1); }

/* notice */
.notice { margin-bottom: 18px; padding: 11px 14px; background: #7f1d1d; border: 1px solid #fca5a5; border-radius: 10px; font-size: 13px; font-weight: 700; text-align: center; }
.notice a { color: #fde68a; }

/* section heading */
.section-heading { margin: 22px 0 14px; font-size: 21px; font-weight: 800; text-align: center; }

/* game grid */
.game-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 12px; }

.game-card {
    position: relative;
    background: linear-gradient(160deg, var(--card-2), var(--card));
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 12px;
    overflow: hidden;
    text-align: center;
}

/* date ribbon in the top-right corner */
.game-card .ribbon {
    position: absolute;
    top: 10px;
    right: -26px;
    width: 96px;
    padding: 3px 0;
    background: #dc2626;
    transform: rotate(45deg);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .5px;
}

.game-card .badge {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 66px;
    height: 66px;
    margin: 20px auto 10px;
    background: rgba(0, 0, 0, .28);
    border: 2px solid var(--gold);
    border-radius: 50%;
    font-size: 24px;
    font-weight: 800;
    color: var(--gold);
}

.game-card h3 { padding: 0 8px; font-size: 19px; font-weight: 800; letter-spacing: .4px; }

.game-times { display: flex; justify-content: space-around; margin: 12px 0 14px; padding: 0 8px; }
.game-times div { flex: 1; }
.game-times b { display: block; font-size: 12px; font-weight: 800; }
.game-times span { font-size: 10px; color: var(--dim); text-transform: uppercase; letter-spacing: .4px; }

.game-cta { display: block; padding: 9px; background: var(--green); color: #ffffff; font-size: 13px; font-weight: 800; letter-spacing: .5px; text-decoration: none; }
.game-cta.pending { background: var(--p3); }

/* khaiwal panel */
.panel { margin: 24px 0; padding: 20px 16px; background: rgba(0, 0, 0, .25); border: 1px solid rgba(255, 255, 255, .14); border-radius: 14px; text-align: center; }
.panel h3 { margin-bottom: 4px; font-size: 18px; font-weight: 800; color: var(--gold); }
.panel .rate { margin-bottom: 12px; font-size: 13px; font-weight: 700; }
.panel-list { list-style: none; max-width: 330px; margin: 0 auto; }
.panel-list li { display: flex; align-items: baseline; gap: 8px; padding: 3px 0; font-size: 13px; font-weight: 700; }
.panel-list li i { flex: 1; border-bottom: 1px dashed rgba(255, 255, 255, .3); }
.panel .note { margin-top: 12px; font-size: 11px; color: var(--dim); }
.panel-btn { display: inline-block; margin-top: 14px; padding: 10px 24px; background: var(--wa); border-radius: 999px; color: #ffffff; font-size: 14px; font-weight: 800; text-decoration: none; }
.panel-btn.tg { background: #29a9eb; margin-left: 8px; }

/* faq + about */
.faq-item { margin-bottom: 8px; background: rgba(0, 0, 0, .22); border: 1px solid rgba(255, 255, 255, .12); border-radius: 10px; overflow: hidden; }
.faq-question { display: flex; align-items: center; justify-content: space-between; gap: 10px; width: 100%; padding: 12px 14px; background: transparent; border: 0; color: var(--text); font-family: inherit; font-size: 14px; font-weight: 700; text-align: left; cursor: pointer; }
.faq-icon { font-style: normal; font-size: 18px; color: var(--gold); }
.faq-item.open .faq-icon { transform: rotate(45deg); }
.faq-answer { display: none; padding: 0 14px 12px; color: var(--dim); font-size: 14px; }
.faq-item.open .faq-answer { display: block; }

.about-section p { margin-bottom: 10px; color: var(--dim); font-size: 14px; }

/* footer */
.site-footer { margin-top: 26px; padding: 24px 16px; background: rgba(0, 0, 0, .32); text-align: center; }
.footer-name { margin-bottom: 8px; font-size: 18px; font-weight: 800; color: var(--gold); }
.footer-desc, .footer-text { max-width: 760px; margin: 0 auto 8px; color: var(--dim); font-size: 13px; word-break: break-word; }
.footer-legal { max-width: 760px; margin: 14px auto 0; padding-top: 12px; border-top: 1px solid rgba(255, 255, 255, .14); color: #a79ecb; font-size: 12px; }

/* bottom tab bar */
.tabbar {
    position: fixed;
    left: 0; right: 0; bottom: 0;
    z-index: 40;
    display: flex;
    background: var(--p3);
    border-top: 1px solid rgba(255, 255, 255, .2);
}

.tabbar a { flex: 1; padding: 9px 4px; color: #ffffff; font-size: 11px; font-weight: 700; text-align: center; text-decoration: none; }
.tabbar a b { display: block; font-size: 17px; font-weight: 400; line-height: 1.2; }
.tabbar a.wa { background: var(--wa); }

/* chart page */
.chart-wrap { max-width: 1100px; margin: 18px auto; padding: 0 14px; }
.filter-bar { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 14px; padding: 12px; background: rgba(0, 0, 0, .25); border: 1px solid rgba(255, 255, 255, .14); border-radius: 12px; }
.filter-bar select, .filter-bar input { padding: 8px 10px; background: #ffffff; border: 0; border-radius: 8px; color: var(--p1); font-family: inherit; font-size: 14px; }
.btn-chart { display: inline-block; padding: 9px 18px; background: var(--gold); border: 0; border-radius: 8px; color: #3b2600; font-family: inherit; font-size: 14px; font-weight: 800; text-decoration: none; cursor: pointer; }
.back-link { margin-bottom: 12px; }

.table-scroll { overflow-x: auto; border: 1px solid rgba(255, 255, 255, .16); border-radius: 12px; }
.chart-table { width: 100%; border-collapse: collapse; font-size: 14px; }
.chart-table th, .chart-table td { padding: 9px 10px; border-bottom: 1px solid rgba(255, 255, 255, .12); text-align: center; white-space: nowrap; }
.chart-table thead th { background: rgba(0, 0, 0, .4); color: var(--gold); font-size: 12px; letter-spacing: .5px; text-transform: uppercase; }
.chart-table .date-col { font-weight: 800; color: var(--gold); }
.chart-table tbody tr:nth-child(even) { background: rgba(0, 0, 0, .18); }

/* Card rows use an icon; the top banner keeps the word. */
.wait-ico { display: inline-flex; color: var(--gold); animation: tickTock 2s ease-in-out infinite; }
@keyframes tickTock { 0%, 100% { transform: rotate(-9deg); } 50% { transform: rotate(9deg); } }

@media (prefers-reduced-motion: reduce) { .banner .num.is-wait, .wait-ico { animation: none; } }

@media (max-width: 640px) {
    .banner h2 { font-size: 19px; }
    .banner .num { font-size: 36px; }
    .game-grid { grid-template-columns: repeat(2, 1fr); gap: 10px; }
    .game-card h3 { font-size: 16px; }
    .game-card .badge { width: 54px; height: 54px; font-size: 19px; }
    .game-times b { font-size: 10px; }
    .game-times span { font-size: 9px; }
}

/* Hindi content sections */
.info-wrap { max-width: 900px; margin: 26px auto; padding: 0 14px; }
.info-h { margin-bottom: 14px; font-size: 20px; font-weight: 800; text-align: center; }

.recent-scroll { overflow-x: auto; border: 1px solid rgba(255,255,255,.16); border-radius: 12px; }
.recent-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.recent-table th, .recent-table td { padding: 9px 10px; border-bottom: 1px solid rgba(255,255,255,.12); text-align: center; white-space: nowrap; }
.recent-table thead th { background: rgba(0,0,0,.4); color: var(--gold); font-size: 11px; letter-spacing: .5px; text-transform: uppercase; }
.recent-table tbody tr:nth-child(even) { background: rgba(0,0,0,.18); }
.rt-date { color: var(--gold); font-weight: 800; }
.rt-dash { color: #8b83ad; }

.steps { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 10px; margin: 18px 0; }
.step { padding: 16px; background: rgba(0,0,0,.25); border: 1px solid rgba(255,255,255,.14); border-radius: 12px; text-align: center; }
.step-ico { display: block; font-size: 24px; }
.step b { display: block; margin: 5px 0 2px; font-size: 14px; color: var(--gold); }
.step span { color: var(--dim); font-size: 12px; }

.info-block { margin-bottom: 12px; padding: 18px; background: rgba(0,0,0,.25); border: 1px solid rgba(255,255,255,.14); border-radius: 14px; }
.info-block h3 { margin-bottom: 8px; font-size: 16px; color: var(--gold); }
.info-block p { margin-bottom: 9px; color: var(--dim); font-size: 14px; }
.info-block p:last-child { margin-bottom: 0; }
