/* ═══════════════════════════════════════════════════════════════════════
   KUYA COCO · DESIGN SYSTEM v2 — "Azure Arcade"
   Same blue/red brand DNA, rebuilt surface language: deeper ink, softer
   borders, layered shadows, glassy header, deep-blue hero stage,
   floating segmented tabs, glossy lottery balls, airy cards.
   Selector names are unchanged — JS + server SSR depend on them.
   ═══════════════════════════════════════════════════════════════════════ */
*{box-sizing:border-box;margin:0;padding:0;}

:root{
  /* brand */
  --mint:      #1657C8;
  --mint-deep: #0D3D96;
  --mint-dark: #092B6E;
  --mint-lt:   #EAF1FD;
  --rose:      #CE2628;      /* deepened from #E0383A for WCAG AA on white */
  --rose-deep: #A81B20;
  --brand-red: #E0383A;
  --rose-lt:   #FDECEC;
  /* neutrals */
  --bg:        #F3F5FA;
  --surface:   #FFFFFF;
  --text:      #13223B;
  --muted:     #5C6C84;
  --border:    #E3E8F2;
  --navy:      #0C1830;
  /* elevation + shape */
  --shadow:    0 1px 2px rgba(16,32,64,.05), 0 4px 14px rgba(16,32,64,.06);
  --shadow-md: 0 2px 6px rgba(16,32,64,.07), 0 12px 32px rgba(16,32,64,.13);
  --shadow-lg: 0 24px 60px rgba(9,26,64,.22);
  --radius:    16px;
  --radius-sm: 11px;
}

@font-face{font-family:'Inter-Fallback';src:local('Arial');size-adjust:107%;ascent-override:90%;descent-override:22%;line-gap-override:0%;}
body{font-family:'Inter','Inter-Fallback',-apple-system,sans-serif;background:var(--bg);color:var(--text);line-height:1.6;font-size:15px;-webkit-font-smoothing:antialiased;}
::selection{background:var(--mint);color:#fff;}
:focus-visible{outline:3px solid var(--mint);outline-offset:2px;border-radius:4px;}
button:focus-visible,a:focus-visible,.tab:focus-visible,.chip:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--mint);outline-offset:2px;}
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important;}
}
::-webkit-scrollbar{width:10px;height:10px;}
::-webkit-scrollbar-track{background:var(--bg);}
::-webkit-scrollbar-thumb{background:#C3CCDD;border-radius:8px;border:2px solid var(--bg);}
::-webkit-scrollbar-thumb:hover{background:#A8B4C9;}

/* ── HEADER ── */
header{position:sticky;top:0;z-index:200;padding:0 28px;background:rgba(255,255,255,.82);backdrop-filter:blur(14px) saturate(1.4);-webkit-backdrop-filter:blur(14px) saturate(1.4);border-bottom:1px solid rgba(19,34,59,.08);}
.header-inner{max-width:1200px;margin:0 auto;display:flex;align-items:center;height:66px;gap:22px;}
.logo{font-size:1.38rem;font-weight:900;text-decoration:none;color:var(--text);letter-spacing:-.6px;display:flex;align-items:center;gap:10px;white-space:nowrap;flex-shrink:1;min-width:0;}
.logo img{width:32px;height:32px;border-radius:50%;box-shadow:0 0 0 2px #fff,0 2px 8px rgba(16,32,64,.25);}
nav{display:none;}
nav a{color:var(--muted);text-decoration:none;font-size:.85rem;font-weight:600;padding:8px 15px;border-radius:999px;transition:all .16s;cursor:pointer;}
nav a:hover{color:var(--text);background:var(--mint-lt);}
nav a.active{color:#fff;background:linear-gradient(135deg,var(--mint),var(--mint-deep));font-weight:700;box-shadow:0 3px 10px rgba(22,87,200,.35);}
.gp-badge{display:inline-flex;align-items:center;gap:7px;height:34px;padding:0 11px;background:#13223B;color:#fff;border-radius:10px;text-decoration:none;font-size:.56rem;line-height:1.25;letter-spacing:.2px;white-space:nowrap;flex-shrink:0;transition:all .16s;box-shadow:0 2px 8px rgba(16,32,64,.3);margin-left:auto;}
.gp-badge strong{font-size:.72rem;letter-spacing:.1px;}
.gp-badge:hover{background:#1D3050;}
#fbFollowFloat{position:fixed;bottom:24px;right:108px;z-index:999;display:flex;align-items:center;gap:5px;background:#0F63D6;color:#fff;border:none;border-radius:24px;padding:9px 16px 9px 12px;font-size:.78rem;font-weight:700;cursor:pointer;box-shadow:0 4px 14px rgba(24,119,242,.4);opacity:0;transform:translateY(12px);pointer-events:none;transition:opacity .22s ease,transform .22s ease;text-decoration:none;white-space:nowrap;}
#fbFollowFloat.btt-visible{opacity:1;transform:translateY(0);pointer-events:auto;}
#fbFollowFloat:hover{background:#0D4FC4;}
@media(max-width:480px){#fbFollowFloat{bottom:16px;right:94px;padding:8px 13px 8px 10px;font-size:.74rem;}}
.dot{width:7px;height:7px;border-radius:50%;background:var(--rose);animation:pulse 2s infinite;flex-shrink:0;box-shadow:0 0 0 3px rgba(224,56,58,.18);}
@keyframes pulse{0%,100%{opacity:1;}50%{opacity:.35;}}
@keyframes shake-err{0%,100%{transform:translateX(0);}20%{transform:translateX(-6px);}40%{transform:translateX(6px);}60%{transform:translateX(-4px);}80%{transform:translateX(4px);}}
.shake-err{animation:shake-err .45s ease;}

/* ── Auth ── */
.auth-area{margin-left:auto;position:relative;display:none;align-items:center;gap:10px;flex-shrink:0;} /* intentionally hidden — no logged-in-only feature exists yet on the website */
.auth-signin-btn{display:flex;align-items:center;gap:7px;padding:7px 15px;border:1.5px solid var(--border);border-radius:999px;background:var(--surface);font-size:.78rem;font-weight:700;color:var(--text);cursor:pointer;transition:all .16s;white-space:nowrap;}
.auth-signin-btn:hover{border-color:var(--mint);background:var(--mint-lt);}
.auth-avatar{width:34px;height:34px;border-radius:50%;border:2px solid var(--mint);cursor:pointer;object-fit:cover;}
.auth-avatar-placeholder{width:34px;height:34px;border-radius:50%;border:2px solid var(--mint);background:linear-gradient(135deg,var(--mint),var(--mint-deep));display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:800;color:#fff;cursor:pointer;flex-shrink:0;padding:0;font-family:inherit;}
.auth-dropdown{position:absolute;top:46px;right:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-md);padding:8px;min-width:210px;z-index:300;display:none;}
.auth-dropdown.open{display:block;}
.auth-dropdown-name{font-size:.82rem;font-weight:700;color:var(--text);padding:6px 10px 2px;}
.auth-dropdown-email{font-size:.72rem;color:var(--muted);padding:0 10px 8px;border-bottom:1px solid var(--border);}
.auth-dropdown-btn{display:block;width:100%;text-align:left;padding:8px 10px;font-size:.8rem;font-weight:600;color:var(--muted);cursor:pointer;border:none;background:none;border-radius:8px;margin-top:4px;}
.auth-dropdown-btn:hover{background:var(--bg);color:var(--text);}
/* Sign-in provider menu */
.auth-signin-menu{position:absolute;top:46px;right:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-md);padding:6px;min-width:195px;z-index:300;display:none;overflow:hidden;}
.auth-signin-menu.open{display:block;}
.auth-signin-menu-title{font-size:.72rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;padding:4px 10px 6px;}
.auth-provider-btn{display:flex;align-items:center;gap:9px;width:100%;padding:9px 10px;border:none;border-radius:9px;background:transparent;font-size:.82rem;font-weight:700;color:var(--text);cursor:pointer;font-family:inherit;transition:background .16s;white-space:nowrap;}
.auth-provider-btn:hover{background:var(--bg);}
.auth-provider-btn.provfb{color:#0F63D6;}
.auth-provider-btn.provfb:hover{background:#e8f0fe;}
/* Modal variants — restore border style for the auth gate modal buttons */
.auth-gate-btn{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;padding:10px 14px;border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);font-size:.84rem;font-weight:700;color:var(--text);cursor:pointer;font-family:inherit;transition:all .16s;white-space:nowrap;}
.auth-gate-btn:hover{border-color:var(--mint);background:var(--mint-lt);}
.auth-gate-btn.provfb{border-color:#0F63D6;color:#0F63D6;}
.auth-gate-btn.provfb:hover{background:#e8f0fe;}

/* ── HERO — deep-blue stage with glow orbs ── */
.hero{position:relative;overflow:hidden;background:linear-gradient(118deg,var(--mint-dark) 0%,var(--mint-deep) 42%,var(--mint) 78%,#2E74DE 100%);padding:58px 28px 84px;}
.hero::before{content:"";position:absolute;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(94,146,255,.32),transparent 68%);top:-220px;right:-120px;pointer-events:none;}
.hero::after{content:"";position:absolute;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(224,56,58,.18),transparent 64%);bottom:-260px;left:-100px;pointer-events:none;}
.hero-inner{max-width:1200px;margin:0 auto;position:relative;z-index:1;}
.hero-tag{display:inline-flex;align-items:center;gap:8px;color:rgba(255,255,255,.92);font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:1.7px;margin-bottom:16px;padding:7px 14px;border-radius:999px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);backdrop-filter:blur(4px);}
.hero-tag::before{content:"";width:7px;height:7px;border-radius:50%;background:#5EE38A;box-shadow:0 0 8px rgba(94,227,138,.9);}
.hero h1{font-family:'Plus Jakarta Sans','Inter',sans-serif;font-size:2.75rem;font-weight:800;line-height:1.08;letter-spacing:-1.4px;color:#fff;margin-bottom:14px;text-wrap:balance;}
.hero h1 em{font-style:normal;color:#FFD9CF;}
.hero p{color:rgba(228,236,250,.88);font-size:1rem;max-width:520px;margin-bottom:26px;line-height:1.65;}
.hero p strong{color:#fff;}
.hero-stats{display:flex;gap:26px;flex-wrap:wrap;}
.hero-stat .num{font-family:'Plus Jakarta Sans','Inter',sans-serif;font-size:1.8rem;font-weight:800;color:#fff;letter-spacing:-1px;line-height:1.1;}
.hero-stat .lbl{font-size:.75rem;color:rgba(210,222,244,.75);font-weight:600;text-transform:uppercase;letter-spacing:.6px;}
.hero-div{width:1px;background:rgba(255,255,255,.22);height:38px;align-self:center;}

.hero-live{color:rgba(228,236,250,.92);font-size:.95rem;font-weight:600;margin:-6px 0 14px;}
.hero-tab-info{margin:2px 0 4px;}
.hero-info-title{font-family:'Plus Jakarta Sans','Inter',sans-serif;font-size:2.75rem;font-weight:800;line-height:1.08;letter-spacing:-1.4px;color:#fff;margin:0 0 14px;text-wrap:balance;}
.hero-info-desc{max-width:640px;color:rgba(228,236,250,.88);font-size:1rem;line-height:1.65;margin:0;}
.hero-chips{display:flex;flex-wrap:wrap;gap:9px 20px;font-size:.82rem;margin-top:2px;}
.hero-chips span{color:rgba(212,225,246,.88);}

/* ── TABS — floating segmented bar overlapping the hero ── */
.tabs-bar{background:transparent;border-bottom:none;overflow-x:auto;-webkit-overflow-scrolling:touch;padding:0 28px;margin-top:-46px;position:relative;z-index:5;}
.tabs-inner{max-width:1200px;margin:0 auto;display:flex;gap:5px;background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:7px;box-shadow:var(--shadow-md);overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;}
@media(min-width:769px){.tabs-inner{justify-content:center;}}
.tabs-inner::-webkit-scrollbar{display:none;}
.tab.htab{display:inline-flex;align-items:center;gap:6px;color:var(--muted);}
.tab.htab:hover:not(.active){color:var(--text);}
.tab{display:inline-block;flex:0 0 auto;text-align:center;padding:10px 16px;font-size:.84rem;font-weight:600;color:var(--muted);cursor:pointer;border-radius:11px;white-space:nowrap;transition:all .18s;background:transparent;border:none;box-shadow:none;font-family:inherit;text-decoration:none;}
.tab:hover{color:var(--text);background:var(--bg);box-shadow:none;transform:none;filter:none;}
.tab.active{color:#fff;font-weight:700;background:linear-gradient(135deg,var(--mint),var(--mint-deep));box-shadow:0 3px 12px rgba(22,87,200,.35);}
/* Active game tab picks up that game's own color (same hues as its balls/card stripe). */
.tab.gtab.active[data-gkey="3D"]{background:linear-gradient(135deg,#1657C8,#0E3C8F);box-shadow:0 3px 12px rgba(22,87,200,.35);}
.tab.gtab.active[data-gkey="2D"]{background:linear-gradient(135deg,#E0383A,#B81F26);box-shadow:0 3px 12px rgba(224,56,58,.35);}
.tab.gtab.active[data-gkey="4D"]{background:linear-gradient(135deg,#AB47BC,#6A1B9A);box-shadow:0 3px 12px rgba(171,71,188,.35);}
.tab.gtab.active[data-gkey="6D"]{background:linear-gradient(135deg,#5C6BC0,#283593);box-shadow:0 3px 12px rgba(92,107,192,.35);}
.tab.gtab.active[data-gkey="6/42"]{background:linear-gradient(135deg,#66BB6A,#2E7D32);box-shadow:0 3px 12px rgba(102,187,106,.35);}
.tab.gtab.active[data-gkey="6/45"]{background:linear-gradient(135deg,#FFA726,#E65100);box-shadow:0 3px 12px rgba(255,167,38,.35);}
.tab.gtab.active[data-gkey="6/49"]{background:linear-gradient(135deg,#26A69A,#00695C);box-shadow:0 3px 12px rgba(38,166,154,.35);}
.tab.gtab.active[data-gkey="6/55"]{background:linear-gradient(135deg,#E8449B,#AD1457);box-shadow:0 3px 12px rgba(232,68,155,.35);}
.tab.gtab.active[data-gkey="6/58"]{background:linear-gradient(135deg,#DDB84A,#A6841E);box-shadow:0 3px 12px rgba(221,184,74,.35);}


/* ── LAYOUT ── */
.main{max-width:1200px;margin:0 auto;padding:26px 28px 8px;display:grid;grid-template-columns:1fr 300px;gap:26px;min-height:60vh;align-content:start;}
.content{min-width:0;}
.section{display:none;}
.section.active{display:block;animation:fadeUp .3s ease;}
@keyframes fadeUp{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:translateY(0);}}

/* ── CONTROLS ── */
.filter-row{display:flex;gap:10px;align-items:center;margin-bottom:18px;flex-wrap:wrap;}
.filter-row label{font-size:.76rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;}
input[type="date"],select,input[type="text"],input[type="number"]{background:var(--surface);border:1.5px solid var(--border);color:var(--text);padding:9px 13px;border-radius:var(--radius-sm);font-size:.875rem;outline:none;font-family:inherit;transition:border-color .16s,box-shadow .16s;}
input:focus,select:focus{border-color:var(--mint);box-shadow:0 0 0 4px rgba(22,87,200,.14);}
button{background:linear-gradient(135deg,var(--rose),var(--rose-deep));color:#fff;border:none;padding:9px 18px;border-radius:var(--radius-sm);cursor:pointer;font-size:.875rem;font-weight:700;font-family:inherit;transition:all .16s;box-shadow:0 2px 8px rgba(224,56,58,.28);}
button:hover{filter:brightness(1.07);transform:translateY(-1px);box-shadow:0 4px 14px rgba(224,56,58,.36);}
button:active{transform:translateY(0);}
.btn-ghost{background:var(--surface);color:var(--muted);border:1.5px solid var(--border);box-shadow:none;}
.btn-ghost:hover{background:var(--mint-lt);color:var(--text);border-color:var(--mint);box-shadow:none;}
.btn-mint{background:linear-gradient(135deg,var(--mint),var(--mint-deep));color:#fff;box-shadow:0 2px 8px rgba(22,87,200,.3);}
.btn-mint:hover{filter:brightness(1.07);box-shadow:0 4px 14px rgba(22,87,200,.4);}

/* ── GAME CHIPS ── */
.game-filter{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:18px;}
.chip{padding:6px 14px;border-radius:999px;font-family:inherit;font-size:.77rem;font-weight:700;cursor:pointer;border:1.5px solid var(--border);background:var(--surface);color:var(--muted);transition:all .16s;}
.chip:hover{border-color:var(--mint);color:var(--text);}
.chip.active{background:linear-gradient(135deg,var(--mint),var(--mint-deep));color:#fff;border-color:transparent;box-shadow:0 2px 8px rgba(22,87,200,.3);}

/* ── RESULT CARDS ── */
.results-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:18px;}
.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;transition:all .22s cubic-bezier(.2,.7,.3,1);box-shadow:var(--shadow);}
.card:hover{box-shadow:var(--shadow-md);transform:translateY(-3px);border-color:rgba(22,87,200,.35);}
.card-stripe{height:5px;width:100%;}
.card-body{padding:17px 17px 13px;}
.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:13px;gap:8px;}
.game-name{font-family:'Plus Jakarta Sans','Inter',sans-serif;font-size:.95rem;font-weight:800;color:var(--text);letter-spacing:-.2px;}
.time-badge{font-size:.72rem;font-weight:700;padding:3px 9px;border-radius:999px;letter-spacing:.4px;text-transform:uppercase;}
.t2pm{background:var(--mint-lt);color:var(--mint-deep);}
.t5pm{background:#FFF0D9;color:#8A5608;}
.t9pm{background:#E9EDF5;color:var(--muted);}
.numbers{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:13px;}
.ball{width:39px;height:39px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:'Plus Jakarta Sans','Inter',sans-serif;font-weight:800;font-size:.9rem;color:#fff;flex-shrink:0;position:relative;box-shadow:inset 0 -4px 6px rgba(0,0,0,.28),inset 0 2px 3px rgba(255,255,255,.35),0 3px 7px rgba(16,32,64,.28);text-shadow:0 1px 3px rgba(0,0,0,.7),0 0 2px rgba(0,0,0,.6),0 2px 6px rgba(0,0,0,.4);}
.ball::after{content:'';position:absolute;top:4px;left:7px;width:11px;height:5px;background:rgba(255,255,255,.55);border-radius:50%;filter:blur(.4px);transform:rotate(-18deg);}
/* Ball colors — one per game, matching the app's GameColors exactly. */
.bm{background:radial-gradient(circle at 32% 26%,#5B93E8,#1657C8 52%,#0D3D96);}       /* Swertres — blue */
.br{background:radial-gradient(circle at 32% 26%,#F07A72,#E0383A 52%,#A81B20);}       /* EZ2 — red */
.bgold{background:radial-gradient(circle at 32% 26%,#F0D98A,#DDB84A 52%,#A6841E);}    /* 6/58 — gold */
.bpink{background:radial-gradient(circle at 32% 26%,#F484BE,#E8449B 52%,#AD1457);}    /* 6/55 — pink */
.bteal{background:radial-gradient(circle at 32% 26%,#6BC7BB,#26A69A 52%,#00695C);}    /* 6/49 — teal */
.borange{background:radial-gradient(circle at 32% 26%,#FFC178,#FFA726 52%,#E65100);}  /* 6/45 — orange */
.bgreen{background:radial-gradient(circle at 32% 26%,#93D294,#66BB6A 52%,#2E7D32);}   /* 6/42 — green */
.bpurple{background:radial-gradient(circle at 32% 26%,#C887D6,#AB47BC 52%,#6A1B9A);}  /* 4D — purple */
.bindigo{background:radial-gradient(circle at 32% 26%,#8E9CD8,#5C6BC0 52%,#283593);}  /* 6D — indigo */
.card-footer{display:flex;justify-content:space-between;align-items:center;padding-top:11px;border-top:1px dashed var(--border);}
.card-date{font-size:.76rem;color:var(--muted);text-decoration:none;font-weight:500;}
a.card-date:hover{color:var(--mint);text-decoration:underline;}
.card-jackpot{font-size:.78rem;font-weight:800;color:var(--text);font-variant-numeric:tabular-nums;}
.card-actions{padding:8px 16px 14px;display:flex;gap:7px;}
.share-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:5px;background:var(--bg);border:1.5px solid var(--border);color:var(--muted);padding:7px;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600;cursor:pointer;transition:all .16s;box-shadow:none;}
.share-btn:hover{background:var(--mint-lt);border-color:var(--mint);color:var(--text);transform:none;box-shadow:none;}
.share-btn svg{width:13px;height:13px;flex-shrink:0;}


/* ── GAME MONTH LINKS ── */
.gv-months{margin-top:18px;padding-top:14px;border-top:1px solid var(--border);}
.gv-months-title{font-size:0.75rem;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:0.6px;margin-bottom:9px;}
.gv-year-links{display:flex;gap:6px;margin-bottom:10px;flex-wrap:wrap;}
.gv-year-link{display:flex;align-items:center;justify-content:center;padding:6px 16px;border-radius:999px;background:var(--bg);border:1.5px solid var(--border);color:var(--text);font-size:0.82rem;font-weight:700;text-decoration:none;transition:all .16s;}
.gv-year-link:hover{border-color:var(--mint);background:var(--mint-lt);}
.gv-year-link.current{border-color:transparent;color:#fff;background:linear-gradient(135deg,var(--mint),var(--mint-deep));}
.gv-months-links{display:grid;grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:7px;}
.gv-month-link{display:flex;align-items:center;justify-content:center;padding:6px 10px;border-radius:999px;background:var(--bg);border:1.5px solid var(--border);color:var(--text);font-size:0.8rem;font-weight:600;text-decoration:none;transition:all .16s;text-align:center;}
.gv-month-link:hover{border-color:var(--mint);background:var(--mint-lt);}
.gv-month-link.current{background:linear-gradient(135deg,var(--mint),var(--mint-deep));border-color:transparent;color:#fff;}

/* Yesterday/History link row — sits between the result table and the FAQ,
   divider tinted with the game's own accent color. */
.gv-more-nav{margin:22px 20px 20px;}
.gv-more-divider{height:3px;border-radius:999px;margin-bottom:16px;}
.gv-more-row{display:flex;gap:8px;margin-bottom:8px;}
.gv-more-btn{display:flex;align-items:center;flex:1;padding:11px 16px;border-radius:11px;background:var(--surface);border:1.5px solid var(--border);color:var(--text);font-size:.86rem;font-weight:700;text-decoration:none;transition:all .16s;}
.gv-more-btn:hover{border-color:var(--mint);background:var(--mint-lt);}
.gv-more-btn-block{width:100%;justify-content:flex-start;}
.gv-more-arrow{display:flex;align-items:center;justify-content:center;width:44px;flex-shrink:0;border-radius:11px;color:#fff;transition:transform .16s;}
.gv-more-arrow:hover{transform:translateX(2px);}

/* Game-table view: balls and the selected month pill pick up that game's
   own color — same palette as the .bXXX ball classes and the active tab. */
#gameView[data-gkey="3D"] .gv-ball{background:radial-gradient(circle at 32% 26%,#5B93E8,#1657C8 52%,#0D3D96);}
#gameView[data-gkey="3D"] .gv-month-link.current{background:linear-gradient(135deg,#1657C8,#0E3C8F);}
#gameView[data-gkey="2D"] .gv-ball{background:radial-gradient(circle at 32% 26%,#F07A72,#E0383A 52%,#A81B20);}
#gameView[data-gkey="2D"] .gv-month-link.current{background:linear-gradient(135deg,#E0383A,#B81F26);}
#gameView[data-gkey="4D"] .gv-ball{background:radial-gradient(circle at 32% 26%,#C887D6,#AB47BC 52%,#6A1B9A);}
#gameView[data-gkey="4D"] .gv-month-link.current{background:linear-gradient(135deg,#AB47BC,#6A1B9A);}
#gameView[data-gkey="6D"] .gv-ball{background:radial-gradient(circle at 32% 26%,#8E9CD8,#5C6BC0 52%,#283593);}
#gameView[data-gkey="6D"] .gv-month-link.current{background:linear-gradient(135deg,#5C6BC0,#283593);}
#gameView[data-gkey="6/42"] .gv-ball{background:radial-gradient(circle at 32% 26%,#93D294,#66BB6A 52%,#2E7D32);}
#gameView[data-gkey="6/42"] .gv-month-link.current{background:linear-gradient(135deg,#66BB6A,#2E7D32);}
#gameView[data-gkey="6/45"] .gv-ball{background:radial-gradient(circle at 32% 26%,#FFC178,#FFA726 52%,#E65100);}
#gameView[data-gkey="6/45"] .gv-month-link.current{background:linear-gradient(135deg,#FFA726,#E65100);}
#gameView[data-gkey="6/49"] .gv-ball{background:radial-gradient(circle at 32% 26%,#6BC7BB,#26A69A 52%,#00695C);}
#gameView[data-gkey="6/49"] .gv-month-link.current{background:linear-gradient(135deg,#26A69A,#00695C);}
#gameView[data-gkey="6/55"] .gv-ball{background:radial-gradient(circle at 32% 26%,#F484BE,#E8449B 52%,#AD1457);}
#gameView[data-gkey="6/55"] .gv-month-link.current{background:linear-gradient(135deg,#E8449B,#AD1457);}
#gameView[data-gkey="6/58"] .gv-ball{background:radial-gradient(circle at 32% 26%,#F0D98A,#DDB84A 52%,#A6841E);}
#gameView[data-gkey="6/58"] .gv-month-link.current{background:linear-gradient(135deg,#DDB84A,#A6841E);}

/* ── SEARCH DRAW FILTER ── */
.hist-filter{margin-bottom:18px;display:flex;flex-direction:column;gap:10px;}
.hist-filter-row{display:flex;align-items:center;gap:10px;}
.hist-filter-row label{font-size:0.78rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:0.4px;white-space:nowrap;min-width:44px;}
.hist-filter-row input[type="date"]{flex:1;max-width:220px;}
.hist-filter-actions{display:flex;gap:8px;margin-top:2px;}

/* ── SHARE ALL (mini, between date arrows) ── */
.share-mini-btn{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;border:none;background:linear-gradient(135deg,var(--mint),var(--mint-deep));color:#fff;cursor:pointer;transition:all .16s;box-shadow:0 3px 10px rgba(22,87,200,.35);}
.share-mini-btn:hover{filter:brightness(1.08);transform:translateY(-1px);box-shadow:0 5px 14px rgba(22,87,200,.45);}
.share-mini-btn svg{flex-shrink:0;}
/* ── SKELETON / EMPTY ── */
.skeleton{background:linear-gradient(100deg,#E7ECF5 35%,#F6F8FC 50%,#E7ECF5 65%);background-size:220% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius);}
@keyframes shimmer{0%{background-position:220% 0;}100%{background-position:-220% 0;}}
.sk-card{height:185px;}
.empty{text-align:center;color:var(--muted);padding:56px 20px;background:var(--surface);border-radius:var(--radius);border:1.5px dashed #C9D2E3;grid-column:1/-1;}
.ssr-summary{grid-column:1/-1;padding:0 2px;margin:10px 0 16px;}
.ssr-summary p{font-size:.85rem;color:var(--muted);line-height:1.6;margin:0;}
.ssr-summary strong{color:var(--text);font-weight:700;}
/* Draw notes under the results: inset to line up with the link cards below
   and given room to breathe (owner, 29 Sept: "doesn't have enough spacing"). */
.ssr-facts{margin:28px 20px 24px;padding:0;}
.ssr-facts h2{font-size:1.1rem;font-weight:800;margin:0 0 12px;color:var(--text);line-height:1.35;}
.ssr-facts p{font-size:.9rem;line-height:1.8;margin:0 0 14px;}
.ssr-facts p:last-child{margin-bottom:0;}
.ssr-facts p:has(+.fact-balls){margin-bottom:8px;}
.fact-balls{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin:0 0 18px;}
.fact-balls:last-child{margin-bottom:0;}
.fact-balls-label{font-size:.72rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;}
.fact-balls-row{display:flex;flex-wrap:wrap;gap:5px;}
.fact-balls .ball{width:30px;height:30px;font-size:.74rem;box-shadow:inset 0 -3px 5px rgba(0,0,0,.28),inset 0 2px 2px rgba(255,255,255,.35),0 2px 5px rgba(16,32,64,.25);}
.fact-balls .ball::after{top:3px;left:5px;width:8px;height:4px;}
/* Day summary on dated/today pages: same inset and type as the notes block. */
.ssr-day-summary{margin:28px 20px 6px;padding:0;}
.ssr-day-summary h2{font-size:1.1rem;font-weight:800;margin:0 0 12px;color:var(--text);line-height:1.35;}
.ssr-day-summary p{font-size:.95rem;line-height:1.8;margin:0 0 12px;}
.ssr-day-summary p:last-child{margin-bottom:0;}
#resultsGrid,#sec-schedule,#sec-jackpots,#sec-howtoplay,#sec-claim,#sec-winners,#sec-comments,#sec-reminders,#sec-checkresults{scroll-margin-top:80px;}
@media(max-width:900px){#resultsGrid,#sec-schedule,#sec-jackpots,#sec-howtoplay,#sec-claim,#sec-winners,#sec-comments,#sec-reminders,#sec-checkresults,[id^="rail-"]{scroll-margin-top:152px;}}
/* 21 Oct 2026 (third SEO audit): mobile-only jump row above the results, away from every
   ad; 44px tap targets. */
/* Section rail (21 Oct 2026, owner): fixed thin ticks on the right edge (left edge since 26 Oct 2026, owner), like an outline
   scrubber. 16px wide so it stays inside the page gutter (mobile padding is 16px) and
   never sits over an ad or content; each tick is a 16x24 link (24px apart, so it passes
   Lighthouse target-size). Label shows on hover/focus.
   21 Oct 2026 (owner): mobile only; hidden above 560px. */
.jump-nav{position:fixed;left:0;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;top:50%;transform:translateY(-50%);z-index:40;display:none;flex-direction:column;}
@media(max-width:560px){.jump-nav{display:flex;}}
/* 21 Oct 2026 (owner): hidden until the visitor scrolls past the blue hero - the ticks
   were nearly invisible on it. visibility (not just opacity) keeps hidden ticks out of
   the tab order. */
.jump-nav{opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s;}
.jump-nav.rail-on{opacity:1;visibility:visible;}
.jump-nav a{position:relative;display:flex;align-items:center;justify-content:flex-start;width:24px;height:24px;padding:0 0 0 2px;margin:0;border-radius:0;background:none;text-decoration:none;}
.jump-nav a::before{content:'';display:block;flex:none;width:8px;height:2px;border-radius:2px;background:var(--muted);opacity:.45;transition:width .15s,opacity .15s,background .15s;}
.jump-nav a[aria-current="true"]::before{width:14px;opacity:1;background:var(--mint-deep,#0f766e);}
@media(hover:hover){.jump-nav a:hover::before{width:14px;opacity:1;}}
.jump-nav a:focus-visible::before,.jump-nav a.show-label::before{width:14px;opacity:1;}
.jump-nav a span{position:absolute;left:22px;top:50%;transform:translateY(-50%);white-space:nowrap;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:4px 10px;font-size:.78rem;font-weight:700;box-shadow:0 4px 14px rgba(15,23,42,.12);opacity:0;pointer-events:none;transition:opacity .12s;}
/* Label: hover only on real pointers (a tap would leave it stuck), keyboard focus,
   or for 1 s after a tap (.show-label, set in app.js). */
@media(hover:hover){.jump-nav a:hover span{opacity:1;}.jump-nav.scrubbing a:not(.show-label) span{opacity:0;}}
.jump-nav a:focus-visible span,.jump-nav a.show-label span{opacity:1;}
.jump-nav a span{transition:opacity .3s;}
@media(prefers-reduced-motion:reduce){.jump-nav,.jump-nav a::before,.jump-nav a span{transition:none;}}
/* 26 Oct 2026 (owner): touch target widened to 24px for press-and-slide scrubbing (ticks stay
   thin and in the 16px gutter; only the transparent 8px edge overlaps the page padding). */
@media print{.jump-nav{display:none;}}
.search-intro{margin:4px 0 26px;}
.search-intro p{font-size:.92rem;line-height:1.8;}
.search-intro p+p{margin-top:12px;}
@media(max-width:600px){.ssr-facts{margin:22px 4px 20px;}.ssr-day-summary{margin:22px 4px 4px;}}
.prev-results-nav{margin-top:14px;padding-top:12px;border-top:1px solid var(--border);display:flex;flex-wrap:wrap;gap:6px;align-items:center;}
.prev-results-nav span{font-size:.72rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;width:100%;margin-bottom:2px;}
.prev-results-nav a{display:inline-block;padding:4px 11px;background:var(--bg);border:1px solid var(--border);border-radius:999px;font-size:.75rem;color:var(--text);text-decoration:none;font-weight:600;transition:all .16s;}
.prev-results-nav a:hover{background:var(--mint-lt);border-color:var(--mint);}
.empty .ico{font-size:2.2rem;margin-bottom:10px;}
.last-upd{display:flex;align-items:center;gap:7px;font-size:.75rem;color:var(--muted);margin-bottom:14px;font-weight:500;}

/* ── DATE NAVIGATION ── */
.date-nav{display:flex;align-items:center;justify-content:center;gap:14px;margin:22px 0 26px;}
.date-nav-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:999px;border:1.5px solid var(--border);background:var(--surface);color:var(--text);font-size:.8rem;font-weight:700;font-family:inherit;cursor:pointer;transition:all .16s;box-shadow:none;}
.date-nav-btn:hover:not(:disabled){border-color:var(--mint);background:var(--mint-lt);transform:none;filter:none;box-shadow:none;}
.date-nav-btn:disabled{opacity:.4;cursor:not-allowed;}
.gv-month-nav{display:flex;align-items:center;justify-content:center;gap:14px;margin:16px 0 4px;}
a.date-nav-btn{text-decoration:none;}
.date-nav-btn[aria-disabled=true]{opacity:.4;cursor:not-allowed;pointer-events:none;}
.date-nav-cur{font-family:'Plus Jakarta Sans','Inter',sans-serif;font-weight:800;font-size:.95rem;color:var(--text);min-width:170px;text-align:center;}

/* ── GAME VIEW (per-game month table) ── */
.gv-table{width:100%;border-collapse:collapse;font-size:.86rem;background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden;min-width:520px;table-layout:auto;}
.gv-table th{background:linear-gradient(135deg,var(--mint-deep),var(--mint));color:#fff;padding:11px 14px;text-align:left;font-size:.75rem;text-transform:uppercase;letter-spacing:.6px;white-space:nowrap;}
.gv-table td{padding:10px 14px;border-bottom:1px solid var(--border);vertical-align:middle;white-space:nowrap;}
.gv-table tbody tr:nth-child(even) td{background:#F7F9FD;}
.gv-table tbody tr:hover td{background:var(--mint-lt);}
.gv-table tr.gv-subhead th{background:var(--bg);color:var(--muted);font-size:.68rem;padding:8px 14px;}
.gv-table td:not(:first-child){text-align:right;}
.gv-table th:not(:first-child){text-align:right;}
.gv-table tr.gv-subhead th:last-child{text-align:right;}
#gameView[data-gkey="3D"] .gv-table td:not(:first-child),#gameView[data-gkey="3D"] .gv-table th:not(:first-child),
#gameView[data-gkey="2D"] .gv-table td:not(:first-child),#gameView[data-gkey="2D"] .gv-table th:not(:first-child){text-align:right;}
.gv-nums{display:inline-flex;gap:5px;flex-wrap:nowrap;white-space:nowrap;}
.amt-short{display:none;}
.rh-faq-item{padding:14px 0;border-bottom:1px solid var(--border);}
.rh-faq-item:last-child{border-bottom:none;padding-bottom:0;}
.rh-faq-item:first-of-type{padding-top:0;}
.rh-faq-item h3{font-size:.95rem;font-weight:700;color:var(--text);margin-bottom:6px;}
.rh-faq-item p{font-size:.86rem;color:var(--muted);line-height:1.6;margin:0;}
@media (max-width:560px){
  .gv-table{min-width:0;table-layout:fixed;}
  .gv-table th,.gv-table td{white-space:normal;word-break:break-word;padding:9px 10px;font-size:.8rem;}
  .gv-table tr.gv-subhead th{font-size:.62rem;padding:7px 8px;}
  /* Fixed per-logical-column widths via <colgroup> — nth-child on the cells
     themselves doesn't work here because a colspan="2" header cell and the
     two separate body cells it spans occupy different DOM positions, so
     nth-child rules on <td>/<th> can't consistently address "column 2+3"
     across both row shapes. <col> widths apply per logical column
     regardless of which rows use colspan.
     Column 1 (label) gets extra room so "2nd Prize Winner (5 of 6)" wraps
     at the natural word break — "2nd Prize Winner" / "(5 of 6)". */
  .gv-table .gv-col-1{width:44%;}
  .gv-table .gv-col-2{width:28%;}
  .gv-table .gv-col-3{width:28%;}
  /* Header row: game name left, date right, in a table that is
     table-layout:fixed with column 1 pinned at 44%. nowrap here meant the
     name could not shrink or wrap, so at 375px "6/55 GRAND LOTTO" (the
     longest label, 16 chars) ran ~7px past its cell and printed straight
     over "SEPTEMBER 23, 2026". Smaller type and tighter tracking fit every
     label on one line down to 360px; below that it wraps at the space
     rather than overlapping. */
  .gv-table thead th{white-space:normal;word-break:normal;overflow-wrap:break-word;
    font-size:.68rem;letter-spacing:.3px;padding:9px 9px;line-height:1.35;}
  /* Values (Jackpot Prize, Winning Combination, tier Amounts) stay on one
     line too — except the jackpot-tier row, whose longer label is allowed
     to wrap like the other tier labels do. */
  .gv-table tbody tr:not(.gv-tier-jackpot) > td:last-child{white-space:nowrap;}
  /* Tier amounts for the bigger jackpot games (6/58, 6/55, 6/49) can run to
     7+ figures and no longer fit the Amount column at this width — fall
     back to a millions-scale figure (₱273.54M, not rounded to ₱274M) instead
     of clipping. Jackpot Prize itself isn't touched — it spans the wider
     colspan=2 cell and already fits. */
  .amt-full{display:none;}
  .amt-short{display:inline;}
  /* Multi-draw list tables (History pages, month archives) — many rows of
     real ball icons never fit a squeezed fixed-width column, so let this
     one scroll horizontally instead of the compress/wrap treatment above. */
  .gv-table.gv-table-wide{min-width:480px;table-layout:auto;}
  .gv-table.gv-table-wide th,.gv-table.gv-table-wide td{white-space:nowrap;word-break:normal;}
  .gv-table.gv-table-wide .gv-col-1,.gv-table.gv-table-wide .gv-col-2,.gv-table.gv-table-wide .gv-col-3{width:auto;}
}
.gv-ball{display:inline-flex;align-items:center;justify-content:center;min-width:27px;height:27px;padding:0 3px;border-radius:50%;font-family:'Plus Jakarta Sans','Inter',sans-serif;font-weight:800;font-size:.78rem;color:#fff;background:radial-gradient(circle at 32% 26%,#5B93E8,var(--mint) 52%,var(--mint-deep));box-shadow:inset 0 -3px 4px rgba(0,0,0,.25),0 2px 4px rgba(16,32,64,.22);text-shadow:0 1px 3px rgba(0,0,0,.7),0 0 2px rgba(0,0,0,.6),0 2px 6px rgba(0,0,0,.4);}
.gv-wait{color:var(--muted);font-style:italic;font-size:.8rem;}
.gv-jp{font-weight:700;color:#0F7443;font-variant-numeric:tabular-nums;white-space:nowrap;}
.gv-tier-row td{background:#FFF9E8!important;border-top:2px solid #E8C15A;font-size:.8rem;line-height:1.6;}
.gv-tiers{color:var(--text);}

/* ── CHECKER ── */
.info-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:26px;box-shadow:var(--shadow);margin-bottom:18px;}
.info-card h2{font-family:'Plus Jakarta Sans','Inter',sans-serif;font-size:1.05rem;font-weight:800;color:var(--text);margin-bottom:6px;letter-spacing:-.2px;}
.info-card p{font-size:.85rem;color:var(--muted);margin-bottom:20px;line-height:1.7;}
.info-card ul{font-size:.85rem;color:var(--muted);line-height:1.7;padding-left:1.3em;margin-bottom:20px;}
.info-card ul li{margin-bottom:10px;}
.info-card ul li strong{color:var(--text);}
.rh-odds-table{width:100%;border-collapse:collapse;font-size:.82rem;margin:12px 0 16px;}
.rh-odds-table th{background:var(--bg);font-weight:700;color:var(--text);padding:9px 12px;text-align:left;border-bottom:2px solid var(--border);}
.rh-odds-table td{padding:9px 12px;border-bottom:1px solid var(--border);color:var(--muted);}
.rh-odds-table tr:last-child td{border-bottom:none;}
@media(max-width:600px){.rh-odds-table{font-size:.76rem;}.rh-odds-table th,.rh-odds-table td{padding:7px 8px;}}
.num-inputs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px;padding:6px 4px;overflow:visible;justify-content:center;}
.num-inputs input{width:52px;height:52px;border-radius:50%;text-align:center;font-family:'Plus Jakarta Sans','Inter',sans-serif;font-size:1rem;font-weight:800;border:2px solid var(--border);background:var(--bg);color:var(--text);box-sizing:border-box;-moz-appearance:textfield;transition:all .16s;}
.num-inputs input:focus{border-color:var(--mint);outline:none;background:#fff;box-shadow:0 0 0 4px rgba(22,87,200,.14);}
.num-inputs input::-webkit-outer-spin-button,.num-inputs input::-webkit-inner-spin-button{-webkit-appearance:none;}
.result-box{margin-top:16px;padding:16px;border-radius:var(--radius-sm);display:none;}
.result-box.win{background:linear-gradient(135deg,#FFF8E1,#FFEFC7);border:1.5px solid #E8C15A;}
.result-box.no{background:var(--rose-lt);border:1.5px solid rgba(224,56,58,.45);}
.result-box .rt{font-weight:800;font-size:.95rem;margin-bottom:4px;}
.result-box.win .rt{color:#8A6410;}
.result-box.no .rt{color:#CE2628;}
.result-box .rb{font-size:.83rem;color:var(--muted);line-height:1.6;}

/* ── STATS SUB-TABS ── */
.stats-sub-bar{display:flex;gap:4px;margin-bottom:18px;background:#E9EDF5;border:1px solid var(--border);border-radius:13px;overflow:hidden;width:fit-content;padding:4px;}
.stats-sub-btn{padding:8px 22px;font-size:.82rem;font-weight:700;border:none;background:none;cursor:pointer;color:var(--muted);font-family:inherit;transition:all .16s;white-space:nowrap;border-radius:9px;box-shadow:none;}
.stats-sub-btn.active{background:var(--surface);color:var(--text);box-shadow:0 1px 4px rgba(16,32,64,.14);}
/* Draw count pills */
.draw-pill{padding:5px 14px;border-radius:999px;border:1.5px solid var(--border);background:var(--surface);font-size:.77rem;font-weight:700;color:var(--muted);cursor:pointer;font-family:inherit;transition:all .16s;box-shadow:none;}
.draw-pill.active{background:var(--text);color:#fff;border-color:var(--text);box-shadow:none;}
.draw-pill:hover:not(.active){border-color:var(--mint);color:var(--text);box-shadow:none;}
/* Lucky modes */
.lucky-modes{display:flex;flex-wrap:wrap;gap:7px;margin:14px 0 18px;}
.lucky-mode{padding:8px 13px;border-radius:var(--radius-sm);border:1.5px solid var(--border);background:var(--surface);font-size:.8rem;font-weight:700;color:var(--muted);cursor:pointer;font-family:inherit;transition:all .16s;text-align:left;box-shadow:none;}
.lucky-mode:hover{border-color:var(--mint);color:var(--text);background:var(--mint-lt);box-shadow:none;}
.lucky-mode.active{background:linear-gradient(135deg,var(--mint),var(--mint-deep));border-color:transparent;color:#fff;box-shadow:0 2px 8px rgba(22,87,200,.3);}
/* Lucky balls */
.lucky-balls{display:flex;gap:11px;flex-wrap:wrap;justify-content:center;margin:22px 0 10px;min-height:52px;}
.lucky-ball{width:54px;height:54px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:'Plus Jakarta Sans','Inter',sans-serif;font-weight:800;font-size:1.08rem;color:#fff;background:radial-gradient(circle at 32% 26%,#5B93E8,var(--mint) 52%,var(--mint-deep));box-shadow:inset 0 -4px 6px rgba(0,0,0,.28),inset 0 2px 3px rgba(255,255,255,.35),0 5px 16px rgba(22,87,200,.45);text-shadow:0 1px 3px rgba(0,0,0,.7),0 0 2px rgba(0,0,0,.6),0 2px 6px rgba(0,0,0,.4);transform:scale(.6);opacity:0;transition:transform .3s cubic-bezier(.2,.7,.3,1),opacity .25s ease;}
.lucky-ball.show{transform:scale(1);opacity:1;}
.lucky-story{text-align:center;font-size:.85rem;color:var(--muted);line-height:1.7;padding:0 4px 4px;min-height:24px;}

/* ── STATS ── */
.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px;}
.freq-item{display:flex;align-items:center;gap:9px;margin-bottom:9px;}
.fb{width:31px;height:31px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:'Plus Jakarta Sans','Inter',sans-serif;font-weight:800;font-size:.76rem;color:#fff;flex-shrink:0;box-shadow:inset 0 -3px 4px rgba(0,0,0,.22),0 2px 5px rgba(16,32,64,.22);}
.fb.hot{background:radial-gradient(circle at 32% 26%,#F08A8C,var(--rose) 55%,var(--rose-deep));}
.fb.cold{background:radial-gradient(circle at 32% 26%,#93A3BA,#64748B 55%,#3D4C63);}
.fbar-w{flex:1;background:#E9EDF5;border-radius:4px;height:6px;overflow:hidden;}
.fbar{height:100%;border-radius:4px;}
.fbar.hot{background:linear-gradient(90deg,var(--rose-deep),var(--rose));}
.fbar.cold{background:linear-gradient(90deg,#3D4C63,#64748B);}
.fcnt{font-size:.72rem;color:var(--muted);font-weight:700;min-width:22px;text-align:right;font-variant-numeric:tabular-nums;}

/* ── FREQUENCY CHART ── */
.freq-chart-wrap{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px 14px 14px;margin-bottom:18px;box-shadow:var(--shadow);overflow-x:auto;-webkit-overflow-scrolling:touch;}
.freq-chart-wrap canvas{min-width:100%;height:220px;display:block;}
.jackpot-chart-wrap{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px 14px 14px;margin-bottom:18px;box-shadow:var(--shadow);overflow-x:auto;-webkit-overflow-scrolling:touch;}
.jackpot-chart-wrap canvas{min-width:100%;height:200px;display:block;}
.chart-title{font-size:.82rem;font-weight:800;color:var(--text);margin-bottom:10px;letter-spacing:.2px;}

/* ── STATS PAYWALL ── */
.stats-paywall{position:relative;margin-top:18px;}
.stats-paywall-blur{filter:blur(6px);opacity:.5;pointer-events:none;user-select:none;}
.stats-paywall-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;z-index:2;}
.stats-paywall-card{background:var(--surface);border:2px solid var(--mint);border-radius:16px;padding:28px 24px;text-align:center;max-width:380px;box-shadow:0 8px 32px rgba(16,32,64,.18);}
.stats-paywall-card h3{font-size:1.05rem;color:var(--text);margin-bottom:6px;}
.stats-paywall-card p{font-size:.83rem;color:var(--muted);line-height:1.6;margin-bottom:16px;}
.stats-paywall-card .pw-cta{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;background:linear-gradient(135deg,#1657C8,#0E3C8F);color:#fff;font-weight:800;font-size:.88rem;border-radius:12px;text-decoration:none;transition:opacity .15s;}
.stats-paywall-card .pw-cta:hover{opacity:.88;}
.stats-paywall-card .pw-sub{font-size:.75rem;color:var(--muted);margin-top:10px;}

/* ── STATS SEO CONTENT ── */
.stats-editorial{margin-top:28px;}
.stats-editorial .info-card h2{font-size:1rem;margin-bottom:10px;}
.stats-editorial .info-card p{font-size:.85rem;color:var(--muted);line-height:1.7;margin-bottom:12px;}

/* ── HISTORY TABLE ── */
.hist-table{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow-x:auto;-webkit-overflow-scrolling:touch;box-shadow:var(--shadow);padding:6px;}
.hist-table table{width:100%;border-collapse:collapse;font-size:.84rem;}
.hist-table th{text-align:left;padding:13px 16px;border-radius:8px 8px 0 0;color:var(--mint-deep);font-size:.72rem;text-transform:uppercase;letter-spacing:.6px;border-bottom:1.5px solid var(--border);background:var(--mint-lt);white-space:nowrap;}
.hist-table td{padding:11px 16px;border-bottom:1px solid var(--border);white-space:nowrap;}
.hist-table tr:last-child td{border-bottom:none;}
.hist-table tr:hover td{background:#F6F8FD;}
.hist-table .wn{font-family:'Plus Jakarta Sans','Inter',sans-serif;font-weight:700;color:var(--text);letter-spacing:.8px;}
.hist-table .jp{font-weight:700;color:var(--rose);text-align:right;font-variant-numeric:tabular-nums;}
.hist-pagination{display:flex;align-items:center;justify-content:center;gap:6px;padding:14px 0;flex-wrap:wrap;}
.hist-pg-btn{padding:5px 13px;border:1.5px solid var(--border);border-radius:999px;font-size:.78rem;font-weight:700;cursor:pointer;background:var(--surface);color:var(--muted);transition:all .16s;box-shadow:none;}
.hist-pg-btn:hover:not(:disabled){border-color:var(--mint);color:var(--text);box-shadow:none;}
.hist-pg-btn.active{background:linear-gradient(135deg,var(--mint),var(--mint-deep));color:#fff;border-color:transparent;box-shadow:0 2px 8px rgba(22,87,200,.3);}
.hist-pg-btn:disabled{opacity:.35;cursor:not-allowed;}
.hist-pg-ellipsis{color:var(--muted);font-size:.82rem;padding:0 2px;}

/* ── SIDEBAR ── */
.sidebar{display:flex;flex-direction:column;gap:16px;}
.sb-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:19px;box-shadow:var(--shadow);}
.sb-card h3{font-size:.8rem;font-weight:800;color:var(--muted);margin-bottom:14px;text-transform:uppercase;letter-spacing:.7px;display:flex;align-items:center;gap:8px;}
.sb-card h3::before{content:"";width:4px;height:14px;border-radius:2px;background:linear-gradient(180deg,var(--mint),var(--mint-deep));}
.sch-item{display:flex;align-items:center;gap:10px;padding:9px 2px;margin-bottom:0;border-bottom:1px solid var(--border);background:transparent;}

.sch-time{font-family:'Plus Jakarta Sans','Inter',sans-serif;font-weight:800;font-size:.84rem;color:#CE2628;min-width:38px;}
.sch-games{font-size:.77rem;color:var(--muted);}
.promo-link{display:block;text-decoration:none;color:inherit;}
.promo-img{width:100%;height:auto;border-radius:calc(var(--radius) - 4px);display:block;}
.promo-caption{font-size:.78rem;color:var(--muted);margin-top:10px;line-height:1.4;}
.promo-tag{font-size:.68rem;font-weight:700;padding:3px 8px;border-radius:999px;background:var(--border);color:var(--muted);text-transform:uppercase;letter-spacing:.4px;}
/* Mobile-only — desktop shows the equivalent .sb-card in the sidebar instead. */
.promo-card{display:none;}
.jp-item{display:flex;justify-content:space-between;align-items:center;padding:9px 2px;border-bottom:1px solid var(--border);background:transparent;}
.jp-game{font-size:.77rem;font-weight:600;color:var(--text);}
.jp-amt{font-size:.8rem;font-weight:800;color:#0F7443;font-variant-numeric:tabular-nums;}
.srch-box{display:flex;gap:7px;margin-bottom:10px;}
.srch-box input{flex:1;min-width:0;}
.sr-item{padding:8px 2px;border-bottom:1px solid var(--border);margin-bottom:0;background:transparent;border-radius:0;}
.sr-item .srg{font-weight:700;color:#CE2628;font-size:.76rem;}
.sr-item .srd{color:var(--muted);font-size:.72rem;}
.sr-item .srn{font-family:'Plus Jakarta Sans','Inter',sans-serif;font-weight:700;font-size:.8rem;margin-top:2px;letter-spacing:.8px;}

/* ── INFO SECTIONS (below the fold) ── */
.info-sections{max-width:1200px;margin:0 auto;padding:8px 28px 48px;}
.section-title{font-family:'Plus Jakarta Sans','Inter',sans-serif;font-size:1.28rem;font-weight:800;color:var(--text);margin-bottom:22px;padding-bottom:12px;border-bottom:none;letter-spacing:-.4px;position:relative;}
.section-title::after{content:"";position:absolute;left:0;bottom:0;width:52px;height:4px;border-radius:2px;background:linear-gradient(90deg,var(--mint),var(--rose));}
.info-section{margin-bottom:44px;}

/* schedule table */
.sch-table{width:100%;border-collapse:collapse;background:var(--surface);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);font-size:.85rem;border:1px solid var(--border);}
.sch-table th{background:linear-gradient(135deg,var(--mint-deep),var(--mint));color:#fff;padding:13px 16px;text-align:left;font-size:.75rem;text-transform:uppercase;letter-spacing:.6px;}
.sch-table td{padding:12px 16px;border-bottom:1px solid var(--border);}
.sch-table tr:last-child td{border-bottom:none;}
.sch-table tr:nth-child(even) td{background:#F7F9FD;}
.section-more{display:inline-block;margin-top:14px;font-weight:700;font-size:.9rem;color:var(--mint-deep);text-decoration:none;}
.section-more:hover,.section-more:focus-visible{text-decoration:underline;}
.section-more[hidden]{display:none;}
.daily-tag{background:var(--rose-lt);color:var(--rose);font-size:.72rem;font-weight:700;padding:2px 8px;border-radius:999px;}

/* ── Daily game (2D / 3D) combined card ── */
.daily-card{background:var(--surface);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);border:1px solid var(--border);}
.dc-header{background:linear-gradient(120deg,var(--rose-deep),var(--rose));color:#fff;display:flex;justify-content:space-between;align-items:center;padding:12px 17px;}
.dc-game{font-family:'Plus Jakarta Sans','Inter',sans-serif;font-weight:800;font-size:.95rem;letter-spacing:.1px;}
.dc-date{font-weight:700;font-size:.83rem;opacity:.92;}
.dc-row{display:flex;justify-content:space-between;align-items:center;padding:11px 17px;border-bottom:1px solid var(--border);}
.dc-row.dc-row-alt{background:#F7F9FD;}
.dc-row:last-child{border-bottom:none;}
.dc-time{color:var(--muted);font-size:.86rem;font-weight:500;}
.dc-nums{font-family:'Plus Jakarta Sans','Inter',monospace;font-weight:800;font-size:.97rem;color:var(--text);letter-spacing:.5px;font-variant-numeric:tabular-nums;}
.dc-waiting{color:var(--muted);font-style:italic;font-size:.8rem;}

/* jackpot grid */
.jp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(205px,1fr));gap:15px;}
.jp-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:19px;box-shadow:var(--shadow);text-align:center;transition:all .2s;}
.jp-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);}
.jp-card .jg{font-size:.8rem;font-weight:700;color:var(--muted);margin-bottom:6px;}
.jp-card .ja{font-family:'Plus Jakarta Sans','Inter',sans-serif;font-size:1.32rem;font-weight:800;color:var(--rose);letter-spacing:-.5px;font-variant-numeric:tabular-nums;}
.jp-card .jt{font-size:.72rem;color:var(--muted);margin-top:4px;}
.jp-card .jp2{font-size:.78rem;font-weight:600;color:#0F7443;margin-top:2px;}

/* how to play */
.game-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;}
.game-info-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:21px;box-shadow:var(--shadow);transition:all .2s;}
.game-info-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);}
.game-info-card .gi-name{font-family:'Plus Jakarta Sans','Inter',sans-serif;font-size:.95rem;font-weight:800;color:var(--text);margin-bottom:4px;}
.game-info-card .gi-tag{font-size:.72rem;font-weight:700;background:var(--mint-lt);color:var(--mint-deep);padding:2px 9px;border-radius:999px;display:inline-block;margin-bottom:10px;}
.game-info-card p{font-size:.83rem;color:var(--muted);line-height:1.7;}
.game-info-card .gi-price{margin-top:10px;font-size:.78rem;font-weight:700;color:var(--rose);}

/* claim / reminders */
.steps{list-style:none;display:flex;flex-direction:column;gap:10px;}
.steps li{display:flex;align-items:flex-start;gap:12px;padding:15px;background:var(--surface);border-radius:var(--radius-sm);box-shadow:var(--shadow);font-size:.85rem;color:var(--muted);line-height:1.6;border:1px solid var(--border);}
.step-num{background:linear-gradient(135deg,var(--mint),var(--mint-deep));color:#fff;font-family:'Plus Jakarta Sans','Inter',sans-serif;font-weight:800;font-size:.8rem;min-width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px;box-shadow:0 2px 6px rgba(22,87,200,.35);}
.claim-tiers{display:grid;grid-template-columns:repeat(auto-fill,minmax(225px,1fr));gap:12px;margin-top:14px;}
.tier-card{background:var(--surface);border-radius:var(--radius-sm);padding:17px;box-shadow:var(--shadow);border:1px solid var(--border);}

.tier-amount{font-size:.85rem;font-weight:800;color:var(--text);margin-bottom:4px;}
.tier-where{font-size:.8rem;color:var(--muted);}

.reminders-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;}
.reminder-item{background:var(--surface);border-radius:var(--radius-sm);padding:17px;box-shadow:var(--shadow);display:flex;gap:10px;font-size:.83rem;color:var(--muted);line-height:1.6;border:1px solid var(--border);}
.rem-icon{font-size:1.2rem;flex-shrink:0;margin-top:1px;}

/* winners table */
.winners-note{font-size:.82rem;color:var(--muted);margin-bottom:14px;line-height:1.6;}
.loc{font-size:.8rem;color:var(--text);font-weight:500;}
#winnersTable .hist-table .tbl-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;}
#winnersTable table{min-width:580px;}

/* about */
.about-box{background:var(--surface);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow);font-size:.88rem;color:var(--muted);line-height:1.8;border:1px solid var(--border);}

/* ── PREV RESULTS NAV (SSR pages — grid-context variant) ── */
.prev-results-nav{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;padding:13px 16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);font-size:.78rem;margin-top:8px;box-shadow:var(--shadow);}
.prev-results-nav span{font-weight:700;color:var(--text);white-space:nowrap;}
.prev-results-nav a{color:var(--text);text-decoration:underline;text-underline-offset:2px;font-weight:500;}
@media(min-width:901px){.prev-results-nav{display:none;}}

/* disclaimer */
.disclaimer-box{background:var(--rose-lt);border-radius:var(--radius);padding:20px;font-size:.82rem;color:var(--muted);line-height:1.8;border:1.5px solid rgba(224,56,58,.25);}
.disclaimer-box strong{color:#CE2628;}

/* comments */
.comment-box{background:var(--surface);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow);border:1px solid var(--border);}
.comment-form{display:flex;flex-direction:column;gap:10px;margin-bottom:24px;}
.comment-form textarea{background:var(--bg);border:1.5px solid var(--border);color:var(--text);padding:10px 14px;border-radius:var(--radius-sm);font-size:.875rem;font-family:inherit;outline:none;resize:none;min-height:90px;flex:1;transition:border-color .16s,box-shadow .16s;}
.comment-form textarea:focus{border-color:var(--mint);box-shadow:0 0 0 4px rgba(22,87,200,.12);}
.comment-form-row{display:flex;gap:12px;align-items:flex-start;}
.comment-list{display:flex;flex-direction:column;gap:14px;}
.comment-item{background:var(--bg);border-radius:var(--radius-sm);padding:12px 14px;}
.comment-meta{font-size:.72rem;color:var(--muted);margin-bottom:4px;}
.comment-text{font-size:.85rem;color:var(--text);line-height:1.6;}
.no-comments{color:var(--muted);font-size:.85rem;text-align:center;padding:24px 0;}

/* ── PRIZE TIERS ── */
.prize-breakdown{border-top:1px dashed var(--border);padding:11px 17px 13px;min-height:72px;background:transparent;}
.prize-breakdown-label{font-size:.75rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;}
.prize-tiers-list{display:flex;flex-direction:column;gap:6px;}
.prize-tier-row{display:flex;justify-content:space-between;align-items:center;padding:7px 11px;background:var(--bg);border-radius:9px;font-size:.77rem;}
.prize-tier-label{font-weight:700;color:var(--text);}
.prize-tier-winners{color:var(--muted);font-size:.75rem;}
.prize-tier-amount{font-weight:800;color:var(--text);font-variant-numeric:tabular-nums;}
.prize-tiers-loading{font-size:.74rem;color:var(--muted);padding:4px 0;}

/* ── DAY TAG + WINNER GLOW ── */
.card-tags{display:flex;align-items:center;gap:5px;}
.day-tag{font-size:.72rem;font-weight:700;padding:3px 8px;border-radius:999px;background:#EDF1F8;color:var(--muted);letter-spacing:.3px;}
.card-winner{border-color:rgba(212,175,55,.6);box-shadow:0 0 0 1px rgba(212,175,55,.25),0 4px 20px rgba(212,175,55,.2);}
.card-winner:hover{border-color:rgba(212,175,55,.9);box-shadow:0 0 0 2px rgba(212,175,55,.35),0 8px 28px rgba(212,175,55,.3);}
.winner-info{font-size:.75rem;font-weight:700;color:#8A6410;padding-top:8px;margin-top:4px;border-top:1px dashed rgba(212,175,55,.4);display:flex;align-items:center;gap:4px;}

/* ── ENGAGEMENT BAR ── */
.engage-bar{display:flex;align-items:center;padding:0 14px 13px;gap:2px;}
.eng-div{width:1px;height:14px;background:var(--border);margin:0 4px;flex-shrink:0;}
.eng-like,.eng-btn{display:flex;align-items:center;gap:5px;background:none;border:none;color:var(--muted);font-size:.75rem;font-weight:600;cursor:pointer;padding:6px 9px;border-radius:9px;transition:all .16s;font-family:inherit;box-shadow:none;}
.eng-like:hover{background:var(--rose-lt);color:var(--rose);transform:none;box-shadow:none;}
.eng-like.liked{color:var(--rose);}
.eng-like.liked .eng-heart{fill:var(--rose);stroke:var(--rose);}
.eng-heart{fill:none;stroke:var(--muted);stroke-width:2;transition:fill .16s,stroke .16s;}
.eng-like{position:relative;}
.eng-heart{transform-origin:center;}
.eng-like.pop .eng-heart{animation:heartPop .35s cubic-bezier(.34,1.56,.64,1);}
@keyframes heartPop{0%{transform:scale(1);}40%{transform:scale(1.35);}70%{transform:scale(.95);}100%{transform:scale(1);}}
.eng-like.unpop .eng-heart{animation:heartShrink .2s ease-out;}
@keyframes heartShrink{0%{transform:scale(.85);}100%{transform:scale(1);}}
.heart-burst{position:absolute;left:18px;top:50%;width:0;height:0;pointer-events:none;z-index:5;}
.heart-burst svg,.heart-burst i{position:absolute;pointer-events:none;will-change:transform,opacity;}
.heart-burst svg{left:-8px;top:-8px;width:16px;height:16px;fill:var(--rose);animation:heartRise .7s ease-out forwards;}
.heart-burst i{left:-2px;top:-2px;width:4px;height:4px;border-radius:50%;background:var(--rose);opacity:.85;animation:heartDot .6s ease-out forwards;}
.heart-burst i:nth-child(odd){background:#ff8fa3;}
@keyframes heartRise{0%{transform:translateY(0) scale(.6);opacity:1;}100%{transform:translateY(-50px) scale(1.5);opacity:0;}}
@keyframes heartDot{0%{transform:translate(0,0) scale(1);opacity:.9;}100%{transform:translate(var(--dx),var(--dy)) scale(.4);opacity:0;}}
@media (prefers-reduced-motion:reduce){.eng-like.pop .eng-heart,.eng-like.unpop .eng-heart{animation:none;}.heart-burst{display:none;}}
.eng-btn:hover{background:var(--mint-lt);color:var(--text);transform:none;box-shadow:none;}
.eng-btn:active{transform:none;}
.lkc{min-width:12px;}

/* ── PER-CARD COMMENTS ── */
.card-comments{border-top:1px dashed var(--border);padding:12px 17px 14px;background:#FAFBFE;}
.cmt-list{display:flex;flex-direction:column;gap:7px;margin-bottom:10px;}
.cmt-item{background:transparent;border-top:1px dashed var(--border);padding:9px 2px;}
.cmt-meta{font-size:.75rem;color:var(--muted);margin-bottom:3px;display:flex;gap:7px;}
.cmt-name{font-weight:700;color:var(--text);}
.cmt-text{font-size:.82rem;color:var(--text);line-height:1.55;word-break:break-word;}
.cmt-empty{font-size:.78rem;color:var(--muted);text-align:center;padding:6px 0 2px;}
.cmt-form{display:flex;flex-direction:column;gap:6px;}
.cmt-form textarea{background:#fff;border:1.5px solid var(--border);color:var(--text);padding:8px 11px;border-radius:9px;font-size:.82rem;font-family:inherit;outline:none;resize:none;transition:border-color .16s,box-shadow .16s;min-height:58px;flex:1;}
.cmt-form textarea:focus{border-color:var(--mint);box-shadow:0 0 0 3px rgba(22,87,200,.12);}
.cmt-form-row{display:flex;gap:8px;align-items:flex-start;}
.cmt-form .cmt-submit{align-self:flex-end;background:linear-gradient(135deg,var(--mint),var(--mint-deep));color:#fff;border:none;padding:7px 16px;border-radius:9px;font-size:.78rem;font-weight:700;cursor:pointer;font-family:inherit;box-shadow:0 2px 6px rgba(22,87,200,.3);}
.cmt-form .cmt-submit:hover{filter:brightness(1.08);transform:none;box-shadow:0 3px 10px rgba(22,87,200,.4);}
.cmt-err{font-size:.75rem;color:#CE2628;margin-top:2px;}

/* ── SHARE MODAL ── */
.overlay{position:fixed;inset:0;background:rgba(10,22,48,.55);backdrop-filter:blur(7px);z-index:1000;display:none;align-items:center;justify-content:center;padding:20px;overflow-y:auto;}
.overlay.open{display:flex;}
.modal{max-height:calc(100vh - 80px);overflow-y:auto;}
.modal{background:var(--surface);border:1px solid rgba(255,255,255,.6);border-radius:22px;padding:24px;max-width:460px;width:100%;box-shadow:var(--shadow-lg);animation:popIn .22s cubic-bezier(.2,.7,.3,1);}
@keyframes popIn{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:translateY(0);}}
.modal-hdr{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;}
.modal-hdr h3{font-family:'Plus Jakarta Sans','Inter',sans-serif;font-size:1.02rem;font-weight:800;color:var(--text);}
.m-close{width:31px;height:31px;border-radius:9px;background:var(--bg);border:1.5px solid var(--border);color:var(--muted);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1rem;padding:0;box-shadow:none;}
.m-close:hover{color:var(--text);transform:none;box-shadow:none;}

/* ── SHARE PREVIEW — matches actual card design ── */
#sharePreview{background:#fff;border-radius:15px;border:1.5px solid var(--border);overflow:hidden;margin-bottom:18px;display:flex;box-shadow:var(--shadow);}
.pv-stripe{width:5px;flex-shrink:0;}
.pv-body{flex:1;padding:14px 16px 12px;}
.pv-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:10px;}
.pv-game{font-family:'Plus Jakarta Sans','Inter',sans-serif;font-size:.95rem;font-weight:800;color:var(--text);}
.pv-tags{display:flex;gap:5px;align-items:center;}
.pv-tag{font-size:.72rem;font-weight:700;padding:3px 8px;border-radius:999px;background:#EDF1F8;color:var(--muted);}
.pv-numbers{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px;}
.pv-date{font-size:.78rem;color:var(--muted);}
.pv-foot{display:flex;justify-content:space-between;align-items:center;padding-top:6px;}
.pv-jp{font-size:.78rem;font-weight:700;color:var(--text);}
.pv-watermark{font-size:.72rem;color:var(--muted);margin-top:8px;letter-spacing:.3px;}
/* Daily game rows in preview */
.pv-dc-row{display:flex;align-items:center;gap:10px;padding:5px 0;border-bottom:1px solid var(--border);}
.pv-dc-row:last-child{border-bottom:none;}
.pv-dc-time{font-size:.72rem;font-weight:700;color:var(--muted);min-width:62px;flex-shrink:0;}
.pv-dc-balls{display:flex;gap:5px;}
/* All-results preview (Share All) */
.pv-winner{font-size:.72rem;font-weight:700;color:#0F7443;flex-shrink:0;}
.pv-all-results{width:100%;margin-top:6px;}
.pv-row{display:flex;align-items:center;gap:6px;padding:5px 0;border-bottom:1px solid rgba(19,34,59,.07);}
.pv-row:last-child{border-bottom:none;}
.pv-logo{font-size:.72rem;font-weight:800;color:var(--text);opacity:.55;letter-spacing:1px;text-transform:uppercase;margin-bottom:12px;}
.pv-gname{font-size:.75rem;font-weight:700;color:var(--text);flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.pv-tbadge{font-size:.72rem;font-weight:800;padding:2px 6px;border-radius:999px;background:#EDF1F8;color:var(--muted);flex-shrink:0;}
.pv-wnums{font-size:.75rem;font-weight:800;color:var(--text);letter-spacing:.4px;flex-shrink:0;font-variant-numeric:tabular-nums;}
/* Card image capture — hide non-visual chrome during screenshot */
.card-capturing .engage-bar,
.card-capturing .card-comments{display:none!important;}
.card-capturing{box-shadow:none!important;}
/* Clickable card tags */
.card-nav-link{text-decoration:none;color:inherit;cursor:pointer;}
.card-nav-link:hover{opacity:.72;}
.social-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:10px;}
.s-btn{display:flex;align-items:center;justify-content:center;gap:7px;padding:10px;border-radius:var(--radius-sm);font-size:.82rem;font-weight:700;cursor:pointer;border:none;color:#fff;transition:all .2s;box-shadow:none;}
.s-btn:hover{transform:translateY(-2px);filter:brightness(1.08);box-shadow:none;}
.s-btn:active{transform:translateY(0);}
.s-fb{background:#0F63D6;}
.s-tw{background:#000;}
.s-tg{background:#0077B3;}
.s-yt{background:#D90000;}
.s-dl{background:linear-gradient(135deg,var(--mint),var(--mint-deep));color:#fff;}
.copy-btn{width:100%;background:var(--bg);border:1.5px solid var(--border);color:var(--muted);display:flex;align-items:center;justify-content:center;gap:7px;padding:9px;border-radius:var(--radius-sm);font-size:.8rem;font-weight:600;cursor:pointer;transition:all .16s;box-shadow:none;}
.copy-btn:hover{border-color:var(--mint);color:var(--text);transform:none;box-shadow:none;}

/* ── CONFETTI ── */
#confettiWrap{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:9999;overflow:hidden;}
.confetti-piece{position:absolute;top:-20px;opacity:0;animation:confetti-fall 3.5s ease-in forwards;}
@keyframes confetti-fall{0%{transform:translateY(0) rotate(0deg);opacity:1;}85%{opacity:.9;}100%{transform:translateY(105vh) rotate(720deg);opacity:0;}}

/* ── CHECKER MATCH CARD ── */
.checker-match-card{background:var(--surface);border:2px solid var(--mint);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-md);}
.checker-match-card.no-match{border-color:rgba(19,34,59,.14);box-shadow:var(--shadow);}
.ball-matched{background:radial-gradient(circle at 32% 26%,#FFE9A8,#F4C13D 52%,#C8870C)!important;box-shadow:0 0 0 3px rgba(218,165,32,.5),0 0 14px rgba(218,165,32,.4)!important;}
.match-count-bar{display:flex;justify-content:space-between;align-items:center;padding:9px 17px;border-top:1px dashed var(--border);font-size:.8rem;font-weight:700;background:transparent;}
.claim-prize-link{display:inline-flex;align-items:center;gap:7px;padding:11px 22px;background:linear-gradient(135deg,var(--mint),var(--mint-deep));color:#fff;border-radius:12px;font-weight:700;text-decoration:none;font-size:.88rem;transition:all .16s;box-shadow:0 3px 12px rgba(22,87,200,.35);}
.claim-prize-link:hover{filter:brightness(1.08);transform:translateY(-1px);box-shadow:0 5px 18px rgba(22,87,200,.45);}

/* ── FOOTER ── */
.site-footer{background:linear-gradient(180deg,var(--navy),#070F20);color:rgba(255,255,255,.62);padding:56px 28px 24px;font-size:.82rem;line-height:1.8;position:relative;}
.site-footer{border-top:3px solid transparent;background:linear-gradient(var(--navy),var(--navy)) padding-box,linear-gradient(90deg,rgba(22,87,200,.9),rgba(46,116,222,.5) 40%,rgba(224,56,58,.6)) border-box;}
.footer-inner{max-width:1200px;margin:0 auto;}
.footer-top{display:grid;grid-template-columns:1fr 1.3fr 1.1fr 1fr;gap:32px;margin-bottom:38px;}
.footer-col .fc-label{font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:1.1px;color:rgba(255,255,255,.4);margin-bottom:14px;}
.footer-col a{display:block;color:rgba(255,255,255,.68);text-decoration:none;padding:3px 0;font-size:.82rem;transition:color .16s;cursor:pointer;}
.footer-col a:hover{color:#fff;}
.social-icons-row{display:flex;gap:10px;margin-bottom:4px;}
.social-icons-row a.social-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:12px;color:#fff;transition:all .16s;padding:0;}
.social-icons-row a.social-icon-btn:hover{opacity:.9;color:#fff;transform:translateY(-2px);}
.si-fb{background:#0F63D6;}
.si-yt{background:#ff0000;}
.footer-bottom{border-top:1px solid rgba(255,255,255,.09);padding-top:20px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;}
.footer-brand{font-family:'Plus Jakarta Sans','Inter',sans-serif;font-weight:800;font-size:.9rem;color:#fff;}
.footer-legal{font-size:.75rem;color:rgba(255,255,255,.5);}
.footer-legal a{color:rgba(255,255,255,.88);text-decoration:underline;text-underline-offset:2px;}
.footer-legal a:hover{color:#fff;}
@media(max-width:700px){.footer-top{grid-template-columns:1fr 1fr;}.footer-bottom{flex-direction:column;text-align:center;}}

/* ── MOBILE PREV RESULTS ── */
.mob-prev-results{display:none;margin-top:14px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px;box-shadow:var(--shadow);}
.mob-prev-results-label{font-size:.72rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;}
.mob-prev-results-pills{display:flex;flex-wrap:wrap;gap:6px;}
.mob-prev-results-pills a,.mob-prev-pill{display:inline-block;padding:5px 12px;background:var(--bg);border:1px solid var(--border);border-radius:999px;font-size:.75rem;color:var(--text);text-decoration:none;font-weight:600;transition:all .16s;}
.mob-prev-results-pills a:hover,.mob-prev-pill:hover{background:var(--mint-lt);border-color:var(--mint);}

/* ── RESPONSIVE ── */
@media(max-width:1024px){
  .mob-prev-results{display:block;}
}
@media(max-width:900px){
  .main{grid-template-columns:1fr;padding:16px;}
  .sidebar{display:none;}
  .promo-card{display:block;}
  .hero{padding:40px 16px 74px;}
  .hero h1{font-size:1.95rem;}
  .hero-info-title{font-size:1.95rem;}
  .tabs-bar{padding:8px 16px;margin-top:0;position:sticky;top:66px;z-index:150;background:var(--bg);border-bottom:1px solid var(--border);}
  header{padding:0 16px;}
  .info-sections{padding:8px 16px 32px;}
}
@media(max-width:480px){
  .results-grid{grid-template-columns:1fr;}
  .stats-grid{grid-template-columns:1fr;}
  .freq-chart-wrap canvas{height:260px;}
  .jackpot-chart-wrap canvas{height:240px;}
  .freq-chart-wrap,.jackpot-chart-wrap{padding:14px 8px 10px;}
  .chart-title{font-size:.78rem;}
  .stats-sub-bar{width:100%;}
  .stats-sub-btn{flex:1;text-align:center;padding:8px 12px;font-size:.78rem;}
  .social-grid{grid-template-columns:1fr 1fr;}
  .jp-grid{grid-template-columns:1fr 1fr;}
  .ball{width:36px;height:36px;font-size:.8rem;}
  .fact-balls .ball{width:30px;height:30px;font-size:.74rem;}
  .tabs-inner{min-width:100%;padding:6px;}
  .tab{padding:9px 13px;font-size:.8rem;flex:0 0 auto;}
  .hero h1{font-size:1.65rem;letter-spacing:-.8px;}
  .hero-info-title{font-size:1.65rem;letter-spacing:-.8px;}
  .logo{font-size:1.05rem;gap:7px;}
  .logo img{width:24px;height:24px;}
}
@media(max-width:360px){
  .logo{font-size:.92rem;gap:5px;}
}

@keyframes livePulse{0%,100%{opacity:1;}50%{opacity:.3;}}

/* ── VIEW TOGGLE ── */
.view-toggle{display:flex;gap:0;border:1.5px solid var(--border);border-radius:12px;overflow:hidden;background:var(--surface);flex-shrink:0;}
.vtbtn{display:flex;align-items:center;gap:5px;padding:7px 14px;background:none;border:none;color:var(--muted);font-size:.78rem;font-weight:700;cursor:pointer;font-family:inherit;transition:all .16s;border-right:1.5px solid var(--border);box-shadow:none;}
.vtbtn:last-child{border-right:none;}
.vtbtn:hover{background:var(--bg);color:var(--text);transform:none;box-shadow:none;}
.vtbtn.active{background:var(--text);color:#fff;}
.vtbtn svg{flex-shrink:0;}

/* ── RESULTS TABLE ── */
.res-table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);}
.res-table{width:100%;border-collapse:collapse;font-size:.84rem;}
.res-table th{background:linear-gradient(135deg,var(--navy),#16294A);color:#fff;padding:11px 16px;font-size:.72rem;font-weight:700;text-align:left;letter-spacing:.5px;white-space:nowrap;}
.res-table td{padding:10px 16px;border-bottom:1px solid var(--border);vertical-align:middle;}
.res-table tr:last-child td{border-bottom:none;}
.res-table tr:hover td{background:#F6F8FD;}
.res-table .rt-game{font-weight:700;color:var(--text);}
.res-table .rt-nums{font-family:'Plus Jakarta Sans','Inter',monospace;font-weight:800;color:var(--text);letter-spacing:.8px;font-size:.9rem;font-variant-numeric:tabular-nums;}
.res-table .rt-date{color:var(--muted);font-size:.78rem;white-space:nowrap;}
.res-table .rt-jp{font-weight:700;color:#0F7443;font-size:.78rem;}
.res-table .rt-winner{font-size:.72rem;font-weight:700;color:#8A6410;}
.res-table .rt-empty{color:var(--muted);text-align:center;}
.res-table .rt-day{font-size:.72rem;color:var(--muted);font-weight:600;display:block;margin-top:1px;}
/* Back to Top floating button */
#backToTop{position:fixed;bottom:24px;right:20px;z-index:999;display:flex;align-items:center;gap:5px;background:linear-gradient(135deg,var(--mint),var(--mint-deep));color:#fff;border:none;border-radius:24px;padding:9px 16px 9px 12px;font-size:.78rem;font-weight:700;cursor:pointer;box-shadow:0 5px 18px rgba(22,87,200,.45);opacity:0;transform:translateY(12px);pointer-events:none;transition:opacity .22s ease,transform .22s ease;}
#backToTop.btt-visible{opacity:1;transform:translateY(0);pointer-events:auto;}
#backToTop:hover{filter:brightness(1.1);box-shadow:0 7px 22px rgba(22,87,200,.55);}
@media(max-width:480px){#backToTop{bottom:16px;right:14px;}}

/* ── APP PROMO — modal, floating pill, shimmer ── */
@keyframes shimmer-sweep{0%{left:-60%;}100%{left:120%;}}
.shimmer-wrap{position:relative;overflow:hidden;}
.shimmer-wrap::after{content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;background:linear-gradient(105deg,transparent 30%,rgba(255,255,255,.45) 50%,transparent 70%);pointer-events:none;opacity:0;}
.shimmer-wrap.shimmer-on::after{opacity:1;animation:shimmer-sweep var(--shimmer-dur,.7s) ease-in-out;}
@media(prefers-reduced-motion:reduce){.shimmer-wrap::after{display:none!important;}}

/* Modal overlay */
#appPromoModal{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.6);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);opacity:0;pointer-events:none;transition:opacity .25s ease;}
#appPromoModal.open{opacity:1;pointer-events:auto;}
.app-promo-card{background:#1a2233;border-radius:20px;padding:36px 28px 28px;max-width:320px;width:90%;text-align:center;box-shadow:0 24px 60px rgba(0,0,0,.5);transform:scale(.92);transition:transform .25s ease;}
#appPromoModal.open .app-promo-card{transform:scale(1);}
.app-promo-card-icon{width:72px;height:72px;border-radius:18px;margin:0 auto 16px;box-shadow:0 4px 18px rgba(0,0,0,.35);}
.app-promo-card-title{font-size:1.15rem;font-weight:800;color:#fff;letter-spacing:-.3px;margin-bottom:6px;}
.app-promo-card-sub{font-size:.82rem;color:rgba(255,255,255,.65);line-height:1.45;margin-bottom:22px;}
.promo-dl-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:13px 0;background:#2196F3;color:#fff;border:none;border-radius:12px;font-size:.92rem;font-weight:700;cursor:pointer;font-family:inherit;text-decoration:none;transition:background .16s;}
.promo-dl-btn:hover{background:#1B7FD6;}
.promo-dl-btn svg{flex-shrink:0;}
.promo-continue{display:block;width:100%;padding:12px 0;margin-top:10px;background:rgba(255,255,255,.1);color:rgba(255,255,255,.7);border:none;border-radius:12px;font-size:.85rem;font-weight:600;cursor:pointer;font-family:inherit;transition:all .16s;}
.promo-continue:hover{background:rgba(255,255,255,.18);color:#fff;}

/* Floating pill */
#appPromoPill{position:fixed;bottom:20px;left:50%;transform:translateX(-50%) translateY(80px);z-index:998;display:none;align-items:center;gap:8px;background:#2196F3;color:#fff;border:none;border-radius:999px;padding:11px 18px 11px 14px;font-size:.84rem;font-weight:700;cursor:pointer;font-family:inherit;box-shadow:0 5px 20px rgba(33,150,243,.45);text-decoration:none;white-space:nowrap;transition:transform .3s ease,opacity .3s ease;opacity:0;}
#appPromoPill.visible{display:inline-flex;opacity:1;transform:translateX(-50%) translateY(0);}
#appPromoPill:hover{background:#1B7FD6;}
/* 21 Oct 2026 (PageSpeed accessibility 84): 24px minimum tap target */
.pill-close{display:flex;align-items:center;justify-content:center;width:24px;height:24px;margin-left:4px;background:rgba(255,255,255,.2);border:none;border-radius:50%;color:#fff;font-size:.7rem;cursor:pointer;line-height:1;font-family:inherit;transition:background .16s;}
.pill-close:hover{background:rgba(255,255,255,.35);}

/* Nav badge hidden state — shown when pill is dismissed on mobile */
.gp-badge.gp-hidden{display:none!important;}
