/* ExFunCity body styles — moved out of index.php (2026-10-21) so browsers cache them. Edit HERE, then bump ?v= in index.php. */
/* ── index.php line 5187 ── */
/* early copy of the late layout CSS */
  .efsd{ position:fixed; right:20px; bottom:22px; z-index:10060; display:flex; flex-direction:column; align-items:flex-end; gap:12px; }
  .efsd-items{ display:flex; flex-direction:column; align-items:flex-end; gap:12px;
    opacity:0; visibility:hidden; transform:translateY(10px) scale(.96); transform-origin:bottom right;
    transition:opacity .22s ease, transform .22s ease, visibility .22s; pointer-events:none; }
  .efsd.open .efsd-items{ opacity:1; visibility:visible; transform:none; pointer-events:auto; }
  .efsd-item{ display:flex; align-items:center; gap:10px; text-decoration:none; }
  .efsd-lbl{ background:rgba(24,18,38,.94); color:#fff; font:700 12px/1 'Inter','PingFang SC','Hiragino Sans GB','Microsoft YaHei','Noto Sans SC','Segoe UI',sans-serif; padding:8px 11px; border-radius:9px; white-space:nowrap; box-shadow:0 4px 14px rgba(40,20,80,.24); }
  .efsd-btn{ width:48px; height:48px; border-radius:50%; display:flex; align-items:center; justify-content:center; box-shadow:0 8px 20px rgba(40,20,80,.28); flex:0 0 48px; font-size:22px; }
  .efsd-btn svg{ width:23px; height:23px; }
  .efsd-btn img{ width:30px; height:30px; border-radius:50%; display:block; }
  /* all options share one purple — only Telegram keeps its brand blue */
  .efsd-cs, .efsd-inv, .efsd-gc{ background:linear-gradient(135deg,#3E357E,#5B4FA0); color:#fff; }
  .efsd-tg{ background:linear-gradient(135deg,#2AABEE,#229ED9); color:#fff; }
  .efsd-toggle{ position:relative; width:50px; height:50px; border-radius:50%; border:none; cursor:pointer;
    background:linear-gradient(135deg,#3E357E,#5B4FA0); color:#fff; box-shadow:0 10px 26px rgba(62,53,126,.45);
    display:flex; align-items:center; justify-content:center; transition:transform .25s ease, box-shadow .2s ease;
    animation:efsdFloat 3s ease-in-out infinite; }
  .efsd-dot{ position:absolute; top:0; right:0; width:14px; height:14px; border-radius:50%;
    background:#ff3b3b; border:2.5px solid #fff; box-shadow:0 0 0 0 rgba(255,59,59,.6);
    animation:efsdDot 1.7s ease-out infinite; }
  .efsd.open .efsd-dot{ display:none; }
  @keyframes efsdDot{ 0%{ box-shadow:0 0 0 0 rgba(255,59,59,.55); } 70%{ box-shadow:0 0 0 8px rgba(255,59,59,0); } 100%{ box-shadow:0 0 0 0 rgba(255,59,59,0); } }
  .efsd-toggle:hover{ transform:scale(1.08); box-shadow:0 14px 32px rgba(62,53,126,.55); }
  .efsd-toggle svg{ width:24px; height:24px; }
  .efsd-ic-close{ display:none; font-size:22px; font-weight:700; line-height:1; }
  .efsd.open .efsd-toggle{ animation:none; transform:rotate(90deg); }
  .efsd.open .efsd-ic-open{ display:none; }
  .efsd.open .efsd-ic-close{ display:block; }
  @keyframes efsdFloat{ 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(-5px); } }
  @media(max-width:768px){
    .efsd{ right:16px; bottom:16px; gap:11px; }
    .efsd-items{ gap:11px; }
    .efsd-toggle{ width:48px; height:48px; }
    .efsd-btn{ width:46px; height:46px; flex-basis:46px; }
    .efsd-lbl{ font-size:11.5px; padding:7px 10px; }
  }
  /* old 3 FABs replaced by the speed dial */
  #gachaTgFab, #gachaInviteFab, #gachaFab{ display:none !important; }
  /* remove Trending / Categories / Top Users widgets site-wide (home + category pages) */
  #homeSidebar, #homeMobileSidebar, #filteredView aside{ display:none !important; }
  #filteredView .content-with-sidebar{ display:block !important; grid-template-columns:1fr !important; }
  /* Category listing cards → flat & tight like home (kills the empty gap under the date) */
  #mainGrid{ align-items:start !important; }
  #mainGrid > .card{ align-self:start !important; background:transparent !important; border:none !important; box-shadow:none !important; border-radius:14px !important; overflow:hidden !important; transition:transform .28s cubic-bezier(.22,1,.36,1) !important; }
  #mainGrid > .card:hover{ transform:translateY(-4px) !important; box-shadow:none !important; }
  #mainGrid > .card .card-img, #mainGrid > .card .card-img-wrap{ border-radius:0 !important; }
  #mainGrid > .card:hover .card-img{ transform:scale(1.05); }
  #mainGrid > .card .card-cat-badge{ display:none !important; }
  #mainGrid > .card .card-body{ display:block !important; padding:11px 1px 2px !important; }
  #mainGrid > .card .card-title{ flex:0 0 auto !important; font-weight:800 !important; color:#161320 !important; line-height:1.34 !important; margin:0 0 6px !important; }
  #mainGrid > .card .card-footer{ font-size:12px !important; }
  #mainGrid > .card .card-date{ color:#8a8794 !important; font-weight:600 !important; }
  /* 18X page = same layout as the category pages (full width, 3-up flat cards) — overrides the old 60% rule */
  @media(min-width:769px){ #adultPage .adult-hero{ max-width:1232px !important; } #adultPage > div:not(.adult-hero){ max-width:1280px !important; } }
  @media(min-width:901px){ #adultGrid{ grid-template-columns:repeat(3,1fr) !important; } }
  #adultGrid{ align-items:start !important; }
  #adultGrid > .card{ align-self:start !important; background:transparent !important; border:none !important; box-shadow:none !important; border-radius:14px !important; overflow:hidden !important; transition:transform .28s cubic-bezier(.22,1,.36,1) !important; }
  #adultGrid > .card:hover{ transform:translateY(-4px) !important; box-shadow:none !important; }
  #adultGrid > .card .card-img, #adultGrid > .card .card-img-wrap{ border-radius:0 !important; }
  #adultGrid > .card:hover .card-img{ transform:scale(1.05); }
  #adultGrid > .card .card-cat-badge{ display:none !important; }
  #adultGrid > .card .card-body{ display:block !important; padding:11px 1px 2px !important; }
  #adultGrid > .card .card-title{ flex:0 0 auto !important; font-weight:800 !important; color:#161320 !important; line-height:1.34 !important; margin:0 0 6px !important; }
  #adultGrid > .card .card-footer{ font-size:12px !important; }
  #adultGrid > .card .card-date{ color:#8a8794 !important; font-weight:600 !important; }
  /* Date was white-on-white (invisible) on these light-card grids — same grey as #mainGrid */
  #adultGrid > .card .card-date,
  #entertainmentGrid > .card .card-date,
  #casinoPromoGrid > .card .card-date,
  #casinoGamesGrid > .card .card-date{ color:#8a8794 !important; font-weight:600 !important; }
  /* Casino tab bar → always fit all 3 buttons across the screen (no cut-off / scroll) */
  @media(max-width:600px){
    #casinoTabBar{ overflow:visible !important; gap:6px !important; flex-wrap:nowrap !important; }
    #casinoTabBar .page-tab-card{ flex:1 1 0 !important; min-width:0 !important; justify-content:center !important; white-space:nowrap !important; padding:9px 4px !important; font-size:11.5px !important; gap:5px !important; }
    #casinoTabBar .page-tab-card svg{ width:14px !important; height:14px !important; flex:0 0 auto; }
  }
  /* Covers are 16:9 — show them in full (no crop / no cut-off text) — every card grid */
  #eventStrip .evc-img{ height:auto !important; aspect-ratio:16/9 !important; flex:none !important; }
  #mainGrid > .card .card-img,
  #sportsNewsGrid > .card .card-img,
  #searchGrid > .card .card-img,
  #entertainmentGrid > .card .card-img,
  #casinoPromoGrid > .card .card-img,
  #casinoGamesGrid > .card .card-img,
  #adultGrid > .card .card-img{ height:auto !important; aspect-ratio:16/9 !important; width:100% !important; object-fit:cover !important; display:block !important; }
  @media(min-width:769px){
    .cx-track > .card .card-img{ height:auto !important; aspect-ratio:16/9 !important; width:100% !important; object-fit:cover !important; display:block !important; }
  }
  /* Perf: never keep a fixed-attachment gradient (repaints every scroll frame on desktop too) */
  html, body{ background-attachment:scroll !important; }
  /* Cleaner, crisper typography (干净磊落) */
  body{ -webkit-font-smoothing:antialiased !important; -moz-osx-font-smoothing:grayscale !important; text-rendering:optimizeLegibility !important; }
  .section-title, .cat-section-title, .card-title, #eventStrip .evc-title{ letter-spacing:-.3px !important; }
  /* Sport Prediction box → clean white (no beige), tidy card, pushed down + centered */
  #sportsHero{ max-width:1180px !important; margin:28px auto 0 !important; padding:0 24px !important; box-sizing:border-box !important; }
  @media(max-width:768px){ #sportsHero{ padding:0 16px !important; } }
  #sportsMatchesTrack > div:only-child{ flex:1 1 100% !important; width:100% !important; box-sizing:border-box !important; }
  .sports-hero-wrap{ background:#fff !important; border:1px solid #ece9f6 !important; border-bottom:1px solid #ece9f6 !important; border-radius:16px !important; box-shadow:0 8px 24px rgba(70,45,140,.05) !important; padding:26px 22px 30px !important; text-align:center !important; max-width:100% !important; }
  .sports-hero-header{ font-family:'Inter','PingFang SC','Hiragino Sans GB','Microsoft YaHei','Noto Sans SC','Segoe UI',sans-serif !important; font-weight:800 !important; letter-spacing:.3px !important; color:#161320 !important; text-transform:uppercase; justify-content:center !important; }
  .sports-hero-header svg{ color:#3E357E !important; }
  #sportsMatchesTrack, .sports-matches-track{ text-align:center !important; }
  #sportsMatchesTrack .match-cta{ display:inline-block !important; width:auto !important; max-width:100% !important; margin:14px auto 0 !important; padding:12px 30px !important; }
  /* ═══ MOBILE PERFORMANCE ═══ scroll jank fixes */
  @media(max-width:768px){
    /* fixed background-attachment forces a full-screen repaint every scroll frame → biggest mobile jank */
    html, body{ background-attachment:scroll !important; }
    /* backdrop blur is expensive on phones — drop it (visuals barely change) */
    .cx-arrow, #eventStrip .evc-nav, .efsd-nav, .nav-top, .tgpop-overlay{ -webkit-backdrop-filter:none !important; backdrop-filter:none !important; }
    /* pause the floating FAB animation when idle isn't needed; keep it light */
    .efsd-toggle{ animation-duration:4s !important; }
  }
/* ── index.php line 5300 ── */
  /* load-time stability: views fill at least one screen, so the footer never sits in the first view
     while content is still loading (then gets pushed away = layout jump) */
  #filteredView, #eventHero, #mall-page, #casinoReviewsPage, #sportsPage, #adultPage, #entertainmentPage{ min-height:100vh; }
  #articleCat:empty{ min-height:22px; }
  #casinoList.cs-loading, #eventWeekGrid.ev-loading{ min-height:100vh; }
/* ── index.php line 5318 ── */
  body.spa-article-boot #home-page{ display:none !important; }
  body.spa-article-boot #article-page{ display:block !important; }
  body.spa-article-boot #articleText:empty{ min-height:100vh; }
  body.spa-article-boot #articleText:empty::before{ content:''; display:block; height:230px; border-radius:12px;
    background:linear-gradient(90deg,rgba(62,53,126,.06) 25%,rgba(62,53,126,.12) 37%,rgba(62,53,126,.06) 63%); background-size:400% 100%; animation:efBootSk 1.3s ease infinite; }
  @keyframes efBootSk{ 0%{ background-position:100% 50%; } 100%{ background-position:0 50%; } }
/* ── index.php line 5398 ── */
    /* Language selector (owner, after the 21st.dev language dropdown) + Login / Register at the same height */
    :root{--hdr-btn-h:36px}
    @media(max-width:640px){:root{--hdr-btn-h:32px}}
    .btn-login{height:var(--hdr-btn-h)!important;padding-top:0!important;padding-bottom:0!important;box-sizing:border-box;font-size:13px!important;font-weight:600!important}
    @media(max-width:640px){.btn-login{font-size:12.5px!important}}
    .lang-sw{position:relative;flex-shrink:0}
    .lang-cur{display:inline-flex;align-items:center;gap:7px;height:var(--hdr-btn-h);box-sizing:border-box;padding:0 12px;border-radius:999px;border:1px solid #e5e7eb;background:rgba(255,255,255,.6);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 1px 2px rgba(0,0,0,.05);font-family:'Inter','PingFang SC','Hiragino Sans GB','Microsoft YaHei','Noto Sans SC',sans-serif;font-weight:600;font-size:13px;color:#1f2937;cursor:pointer;white-space:nowrap;line-height:1;transition:background .15s}
    .lang-cur:hover{background:#f9fafb}
    .lang-cur .lang-full{display:none}
    @media(min-width:900px){.lang-cur #langCurLbl{display:none}.lang-cur .lang-full{display:inline}}
    .lang-sw .lang-ca{width:14px;height:14px;color:#6b7280;flex-shrink:0;transition:transform .2s}
    .lang-sw.open .lang-ca{transform:rotate(180deg)}
    .lang-menu{position:absolute;top:calc(100% + 8px);right:0;width:200px;border-radius:12px;overflow:hidden;background:rgba(255,255,255,.92);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid #e5e7eb;box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);padding:4px 0;display:none;z-index:200}
    .lang-sw.open .lang-menu{display:block;animation:efLangIn .16s ease-out}
    @keyframes efLangIn{from{opacity:0;transform:translateY(-2px)}to{opacity:1;transform:none}}
    .lang-menu button{display:flex;align-items:center;gap:9px;width:100%;padding:9px 12px;border:0;border-radius:0;background:transparent;text-align:left;cursor:pointer;font-family:'Inter','PingFang SC','Hiragino Sans GB','Microsoft YaHei','Noto Sans SC',sans-serif;font-size:14px;font-weight:500;color:#1f2937}
    .lang-menu button:hover{background:#f3f4f6;color:#1f2937}
    .lang-menu button span{flex:1}
    .lang-flag{display:block;width:20px;height:14px;border-radius:2px;box-shadow:0 0 0 1px rgba(0,0,0,.08);flex-shrink:0;overflow:hidden}
    .lang-cur .lang-flag{display:none}
    #langSw:not([data-l]) .lf-en,#langSw[data-l="en"] .lf-en,#langSw[data-l="ms"] .lf-ms,#langSw[data-l="zh"] .lf-zh{display:block}
    .lang-menu .lang-ck{width:16px;height:16px;flex-shrink:0;color:var(--purple,#3E357E);visibility:hidden}
    .lang-menu button.on{font-weight:600;color:var(--purple,#3E357E);background:transparent}
    .lang-menu button.on .lang-ck{visibility:visible}
    @media(max-width:640px){.lang-cur{padding:0 10px;gap:6px;font-size:12.5px}}
  
/* ── index.php line 5554 ── */
        .hpx .hpx-skel .tag, .hpx .hpx-skel h2, .hpx .hpx-skel .dt, .hpx .hpx-skel .rd, .hpx .fcard.hpx-skel{ color:transparent !important; background:linear-gradient(90deg,#efedf5 25%,#e6e3ef 37%,#efedf5 63%) !important; background-size:400% 100% !important; animation:hpxSk 1.3s ease infinite; border-color:transparent !important; box-shadow:none !important; }
        .hpx .hpx-skel h2, .hpx .hpx-skel .tag, .hpx .hpx-skel .dt{ border-radius:8px; }
        .hpx .hpx-skel .tag{ display:inline-block; width:72px; }
        .hpx .hpx-skel .dt{ width:110px; }
        @media(min-width:1024px){ .hpx .hpx-skel h2 .l3{ display:none; } }
        @keyframes hpxSk{ 0%{ background-position:100% 50%; } 100%{ background-position:0 50%; } }
      
/* ── index.php line 5888 ── */
.cs-search{display:flex;align-items:center;gap:10px;background:var(--card,#fff);border:1px solid var(--border);border-radius:12px;padding:0 14px;margin:0 0 18px;max-width:520px;color:var(--text-muted)}.cs-search input{flex:1;min-width:0;border:none;outline:none;background:transparent;color:var(--text);font-size:14px;padding:12px 0;font-family:inherit}.cs-search:focus-within{border-color:var(--purple-light)}@media(max-width:768px){.cs-search{max-width:none}}
/* ── index.php line 5895 ── */
.cs-cmp{display:inline-block;padding:8px 13px;border-radius:10px;background:rgba(255,255,255,0.04);border:1px solid var(--border);color:var(--purple-light);font-size:12.5px;font-weight:700;text-decoration:none}.cs-cmp:hover{border-color:var(--purple-light)}
/* ── index.php line 5932 ── */
    /* Sportsbook provider cards — rich, matching the Casino review cards (left / mid / right) */
    .sb-list{ display:flex; flex-direction:column; gap:16px; }
    .sb-prov{ display:block; text-decoration:none; }
    .sb-prov .casino-left{ width:148px; min-width:148px; }
    .sb-prov-logo{ width:112px; height:78px; display:flex; align-items:center; justify-content:center; background:#fff; border:1px solid var(--border); border-radius:12px; overflow:hidden; }
    .sb-prov-logo img{ max-width:100px; max-height:66px; object-fit:contain; }
    .sb-stars{ font-size:13px; color:#f4b400; letter-spacing:2px; }
    #sportsPage .casino-name{ font-size:22px; font-weight:900; }
    #sportsNewsGrid .card-date{ color:#8a8794 !important; font-weight:600 !important; }
    #sportsNewsGrid .card-title{ color:#1a1626 !important; }
    /* Sports & Betting cards on the HOME page carousel */
    .sbh-card{ display:flex; flex-direction:column; gap:8px; padding:16px; text-decoration:none; scroll-snap-align:start; }
    .sbh-top{ display:flex; align-items:center; justify-content:space-between; gap:10px; }
    .sbh-logo{ width:74px; height:50px; background:#fff; border:1px solid var(--border); border-radius:9px; display:flex; align-items:center; justify-content:center; overflow:hidden; flex-shrink:0; }
    .sbh-logo img{ max-width:62px; max-height:40px; object-fit:contain; }
    .sbh-score{ font-size:23px; font-weight:900; color:#1faa52; line-height:1; text-align:center; }
    .sbh-score small{ display:block; font-size:8px; font-weight:700; color:var(--muted); letter-spacing:.5px; margin-top:2px; }
    .sbh-name{ font-size:16px; font-weight:800; color:var(--text); }
    .sbh-best{ font-size:12px; font-weight:700; color:var(--purple-light); }
    .sbh-btn{ margin-top:auto; font-size:12px; font-weight:800; color:var(--purple); border:1.5px solid var(--purple); border-radius:8px; padding:7px 0; text-align:center; }
    .sbh-card:hover .sbh-btn{ background:var(--purple); color:#fff; }
    /* Slots & Live Casino game cards on the HOME carousel */
    .gmh-card{ display:flex; flex-direction:column; padding:0; overflow:hidden; text-decoration:none; scroll-snap-align:start; }
    .gmh-img{ display:block; width:100%; aspect-ratio:4/3; background-size:cover; background-position:center; background-color:#e9e6f2; position:relative; }
    .gmh-score{ position:absolute; top:8px; right:8px; font-size:12px; font-weight:800; color:#fff; background:rgba(31,170,82,.94); padding:2px 8px; border-radius:999px; }
    .gmh-body{ padding:11px 13px 13px; display:flex; flex-direction:column; gap:3px; }
    .gmh-name{ font-size:14px; font-weight:800; color:var(--text); line-height:1.25; }
    .gmh-tag{ font-size:11px; font-weight:700; color:var(--purple-light); }
    @media(max-width:768px){
      /* Sports & Betting cards → clean centred card, one per row */
      .cx-track > .sbh-card{ display:flex !important; flex-direction:column !important; align-items:stretch !important; text-align:center !important; width:100% !important; flex:none !important; gap:10px !important; padding:16px !important; background:var(--dark) !important; border:1px solid var(--border) !important; border-radius:14px !important; box-shadow:0 3px 14px rgba(62,53,126,.05) !important; margin:0 0 14px !important; transform:none !important; }
      .cx-track > .sbh-card:nth-child(n+5){ display:none !important; }
      .sbh-card .sbh-top{ justify-content:center !important; gap:22px !important; }
      .sbh-card .sbh-btn{ width:100% !important; }
      /* Slots & Live Casino → compact blog thumbnail (image left + text) */
      .cx-track > .gmh-card{ display:flex !important; flex-direction:row !important; align-items:center !important; gap:14px !important; width:100% !important; flex:none !important; padding:12px 0 !important; background:transparent !important; border:none !important; border-bottom:1px solid var(--border) !important; border-radius:0 !important; box-shadow:none !important; margin:0 !important; transform:none !important; }
      .cx-track > .gmh-card:nth-child(n+5){ display:none !important; }
      .gmh-card .gmh-img{ flex:0 0 112px !important; width:112px !important; height:80px !important; aspect-ratio:auto !important; border-radius:12px !important; }
      .gmh-card .gmh-body{ padding:0 !important; flex:1 1 auto !important; min-width:0 !important; }
      .gmh-card .gmh-score{ top:6px !important; right:6px !important; font-size:10px !important; padding:1px 6px !important; }
      /* /sports tab bar → 2 on top, 1 below, all equal width & aligned */
      #sportsTabBar{ display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:8px !important; overflow:visible !important; }
      #sportsTabBar .page-tab-card{ width:100% !important; flex:none !important; justify-content:center !important; white-space:nowrap !important; }
      /* /sports provider cards → centre the tags */
      #sportsPage .sb-prov-tags{ justify-content:center !important; }
      /* more breathing room between home sections */
      #homeCategorySections .cat-section{ margin-bottom:26px !important; }
    }
    .sb-prov-best{ font-size:12.5px; font-weight:700; color:var(--purple-light); }
    .sb-prov-desc{ font-size:13px; color:var(--text-muted); line-height:1.55; }
    .sb-prov-tags{ display:flex; flex-wrap:wrap; gap:6px; }
    .sb-score-lbl{ font-size:9px; font-weight:700; color:var(--muted); letter-spacing:.6px; text-transform:uppercase; }
    @media(max-width:760px){
      #sportsPage .casino-main-row{ flex-direction:column; }
      #sportsPage .casino-left{ width:100%!important; min-width:0!important; flex-direction:row; justify-content:flex-start; gap:14px; padding:14px 16px; border-right:none; border-bottom:1px solid var(--border); }
      #sportsPage .casino-right{ width:100%!important; min-width:0!important; border-left:none; border-top:1px solid var(--border); flex-direction:row; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px 14px; }
      #sportsPage .casino-right .casino-review-btn{ flex:1; min-width:150px; width:auto; }
    }
    /* ── align sports/review page headings with homepage serif style ── */
    #sportsPage h1, #sportsPage h2, #casinoReviewsPage h1, #casinoReviewsPage h2{ font-family:'Inter','PingFang SC','Hiragino Sans GB','Microsoft YaHei','Noto Sans SC',Arial,sans-serif !important; }
    #sportsPage .casino-name{ font-family:'Inter','PingFang SC','Hiragino Sans GB','Microsoft YaHei','Noto Sans SC',Arial,sans-serif !important; }
    /* ── /sports 美化对齐首页 ── */
    /* hero band */
    #sportsPage .sports-hero-band{ background:linear-gradient(135deg,rgba(62,53,126,.08),rgba(124,110,224,.04)); border:1px solid var(--border); border-radius:18px; padding:26px 28px; }
    #sportsPage .sports-hero-band h1{ font-size:clamp(24px,4vw,34px) !important; letter-spacing:-.3px !important; }
    #sportsPage .sports-hero-sub2{ font-size:14px; color:var(--text-muted); line-height:1.7; max-width:660px; margin:0; }
    @media(max-width:600px){ #sportsPage .sports-hero-band{ padding:20px 18px; } }
    /* tabs → homepage pill style (filled-purple active) */
    #sportsTabBar .page-tab-card{ border-radius:999px !important; padding:10px 20px !important; font-weight:700 !important; }
    #sportsTabBar .page-tab-card.active{ background:var(--purple) !important; border-color:var(--purple) !important; color:#fff !important; }
    #sportsTabBar .page-tab-card.active svg{ stroke:#fff !important; opacity:1 !important; }
    /* provider compare cards → homepage card feel (bigger radius, soft shadow, hover lift) */
    #sportsPage .sb-list{ gap:18px !important; }
    #sportsPage .casino-card.sb-prov{ border-radius:18px !important; box-shadow:0 1px 2px rgba(0,0,0,.04),0 10px 26px rgba(62,53,126,.07) !important; transition:transform .2s, box-shadow .2s, border-color .2s !important; }
    #sportsPage .casino-card.sb-prov:hover{ transform:translateY(-4px) !important; box-shadow:0 18px 40px rgba(62,53,126,.15) !important; }
    /* spacing + dividers */
    #sportsPage .sb-list + p{ margin-top:22px !important; }
    /* mobile: content at 90% width, never touch edges */
    @media(max-width:600px){
      #sportsPage > div{ padding-left:5% !important; padding-right:5% !important; }
      #sportsPage .sports-hero-band{ padding:18px 16px !important; }
      #sportsPage .sb-spec-table{ font-size:12px !important; }
      #sportsPage .sb-odds-grid, #sportsPage .sb-local-grid{ grid-template-columns:1fr !important; }
    }
    /* GEO direct-answer block */
    #sportsPage .sb-answer{ font-size:15px; line-height:1.9; color:var(--text); background:rgba(62,53,126,.06); border:1px solid var(--border); border-left:3px solid var(--purple); border-radius:10px; padding:18px 20px; margin:0 0 20px; }
    #sportsPage .sb-answer strong{ color:var(--white); font-weight:700; }
    /* specs comparison table */
    #sportsPage .sb-spec-wrap{ overflow-x:auto; border:1px solid var(--border); border-radius:14px; margin:4px 0 8px; }
    #sportsPage .sb-spec-table{ width:100%; border-collapse:collapse; font-size:13px; min-width:560px; }
    #sportsPage .sb-spec-table th{ text-align:left; font-weight:800; color:var(--white); background:rgba(62,53,126,.08); padding:11px 14px; font-size:11.5px; letter-spacing:.4px; text-transform:uppercase; white-space:nowrap; }
    #sportsPage .sb-spec-table td{ padding:11px 14px; color:var(--text-muted); border-top:1px solid var(--border); vertical-align:middle; }
    #sportsPage .sb-spec-table td:first-child{ font-weight:800; color:var(--text); font-family:'Inter','PingFang SC','Hiragino Sans GB','Microsoft YaHei','Noto Sans SC',Arial,sans-serif; }
    #sportsPage .sb-spec-table td .sc{ font-weight:800; color:#16a34a; }
    /* phones: no sideways scrolling — each platform becomes a card (labels come from the header row via data-label) */
    @media(max-width:600px){
      #sportsPage .sb-spec-wrap{ overflow:visible; border:0; border-radius:0; }
      #sportsPage .sb-spec-table{ min-width:0; display:block; }
      #sportsPage .sb-spec-table thead{ display:none; }
      #sportsPage .sb-spec-table tbody{ display:block; }
      #sportsPage .sb-spec-table tr{ display:grid; grid-template-columns:1fr 1fr; gap:10px 14px; border:1px solid var(--border); border-radius:14px; padding:14px 16px; margin:0 0 10px; background:#fff; }
      #sportsPage .sb-spec-table td{ display:block; padding:0; border:0; font-size:13px; color:var(--text); }
      #sportsPage .sb-spec-table td:first-child{ grid-column:1 / -1; font-size:16px; }
      #sportsPage .sb-spec-table td[data-label]:not(:first-child)::before{ content:attr(data-label); display:block; font-size:11px; font-weight:700; color:var(--text-muted); margin-bottom:2px; letter-spacing:.2px; }
    }
    /* module cards (odds formats / localized / how-we-rate / safety) */
    /* section cards — 21st.dev "cashback partners" card feel (owner 2026-10-20): white card, icon-circle items,
       hover = grow + tint + shadow, entrance = section fade + items rise in turn (JS adds sb-pre/sb-in) */
    #sportsPage .sb-mod{ background:#fff; border:1px solid var(--border); border-radius:20px; padding:24px; margin:20px 0; box-shadow:0 1px 2px rgba(16,24,40,.05); }
    #sportsPage .sb-mod h3{ font-size:18px !important; margin:0 0 8px !important; }
    #sportsPage .sb-mod > p{ margin-bottom:14px !important; }
    #sportsPage .sb-odds-grid, #sportsPage .sb-local-grid, #sportsPage .sb-items{ display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:14px; margin:6px 0 0; padding:0; list-style:none; }
    #sportsPage .sb-oc, #sportsPage .sb-items > li{ display:grid; grid-template-columns:40px 1fr; column-gap:12px; align-content:start; background:transparent; border:1px solid var(--border); border-radius:16px; padding:14px 16px; transition:transform .3s ease-in-out, background-color .3s ease-in-out, box-shadow .3s ease-in-out, border-color .3s ease-in-out; }
    #sportsPage .sb-items-s > li{ align-items:center; }
    #sportsPage .sb-ic{ grid-row:1 / span 2; width:40px; height:40px; border-radius:50%; background:rgba(62,53,126,.08); color:var(--purple); display:flex; align-items:center; justify-content:center; font-style:normal; font-weight:800; font-size:13px; line-height:1; letter-spacing:.2px; }
    #sportsPage .sb-ic.sb-ic-e{ font-size:19px; }
    #sportsPage .sb-oc > b, #sportsPage .sb-items > li > b{ grid-column:2; display:block; color:var(--text); font-size:14px; font-weight:700; margin:1px 0 3px; }
    #sportsPage .sb-oc > span, #sportsPage .sb-items > li > span{ grid-column:2; font-size:12.5px; color:var(--text-muted); line-height:1.6; }
    #sportsPage .sb-items-s > li > span{ font-size:13px; }
    #sportsPage .sb-oc span b, #sportsPage .sb-items span strong{ display:inline; color:var(--text); font-weight:700; }
    #sportsPage .sb-faq > p{ position:relative; background:transparent; border:1px solid var(--border); border-radius:16px; padding:14px 16px 14px 68px; transition:transform .3s ease-in-out, background-color .3s ease-in-out, box-shadow .3s ease-in-out, border-color .3s ease-in-out; }
    #sportsPage .sb-faq > p::before{ content:"?"; position:absolute; left:16px; top:14px; width:40px; height:40px; border-radius:50%; background:rgba(62,53,126,.08); color:var(--purple); display:flex; align-items:center; justify-content:center; font-weight:800; font-size:16px; }
    #sportsPage .sb-faq > p > strong:first-child{ display:block; margin-bottom:4px; font-size:14px; }
    #sportsPage .sb-oc:hover, #sportsPage .sb-items > li:hover, #sportsPage .sb-faq > p:hover{ transform:scale(1.03); background:rgba(62,53,126,.05); border-color:rgba(62,53,126,.22); box-shadow:0 10px 24px rgba(62,53,126,.12); }
    @keyframes sbRise{ from{ opacity:0; transform:translateY(20px); } to{ opacity:1; transform:none; } }
    @keyframes sbFade{ from{ opacity:0; } to{ opacity:1; } }
    #sportsPage .sb-pre, #sportsPage .sb-pre .sb-rv{ opacity:0; }
    #sportsPage .sb-in{ animation:sbFade .45s ease backwards; }
    #sportsPage .sb-in .sb-rv{ animation:sbRise .7s cubic-bezier(.34,1.56,.64,1) backwards; animation-delay:calc(var(--i,0) * 90ms + 100ms); }
    @media(max-width:600px){
      #sportsPage .sb-mod{ padding:18px 16px; border-radius:18px; }
      #sportsPage .sb-items{ grid-template-columns:1fr !important; }
    }
    @media(prefers-reduced-motion:reduce){
      #sportsPage .sb-pre, #sportsPage .sb-pre .sb-rv{ opacity:1; }
      #sportsPage .sb-in, #sportsPage .sb-in .sb-rv{ animation:none; }
      #sportsPage .sb-oc:hover, #sportsPage .sb-items > li:hover, #sportsPage .sb-faq > p:hover{ transform:none; }
    }
    #sportsPage .sb-oc span{ font-size:12.5px; color:var(--text-muted); line-height:1.6; }
    #sportsPage .sb-faq p{ font-size:13.5px; color:var(--text-muted); line-height:1.7; margin:0; }
  
/* ── index.php line 6467 ── */
    .adult-hero{ position:relative; overflow:hidden; background:radial-gradient(620px 240px at 12% -20%, rgba(62,53,126,.24), transparent 70%), radial-gradient(560px 240px at 92% 0%, rgba(239,68,68,.14), transparent 70%), var(--dark2); border-bottom:1px solid var(--border); }
    .adult-hero-inner{ max-width:1280px; margin:0 auto; padding:48px 24px 26px; }
    .adult-badge{ display:inline-flex; align-items:center; gap:6px; font-size:11px; font-weight:800; letter-spacing:1.2px; color:#fff; background:linear-gradient(135deg,#ef4444,#b91c1c); padding:6px 13px; border-radius:999px; box-shadow:0 6px 18px rgba(239,68,68,.35); }
    .adult-title{ font-size:clamp(28px,5vw,42px); font-weight:900; color:var(--white); letter-spacing:-1px; margin:16px 0 8px; line-height:1.03; }
    .adult-sub{ font-size:14px; color:var(--text-muted); margin:0 0 24px; max-width:600px; line-height:1.6; }
    .adult-tabs{ display:flex; gap:8px; flex-wrap:wrap; }
    @media(max-width:600px){ .adult-hero-inner{ padding:34px 16px 22px; } }
  
/* ── index.php line 6532 ── */
        .evx{ margin:44px 0 10px; padding:26px 26px 22px; border:1px solid var(--border); border-radius:18px; background:linear-gradient(180deg,rgba(62,53,126,.06),rgba(62,53,126,.015)); }
        .evx-h2{ font-size:22px; font-weight:800; color:var(--white); margin:0 0 12px; letter-spacing:.2px; line-height:1.3; }
        .evx-lead{ font-size:15.5px; line-height:1.75; color:var(--text); background:rgba(34,158,217,.08); border-left:3px solid #229ED9; border-radius:10px; padding:12px 16px; margin:0 0 14px; }
        .evx-p{ font-size:14.5px; line-height:1.8; color:var(--text-muted); margin:0 0 12px; }
        .evx-h3{ font-size:17px; font-weight:800; color:var(--white); margin:22px 0 10px; line-height:1.35; }
        .evx-steps{ list-style:none; counter-reset:evx; margin:0; padding:0; display:grid; gap:10px; }
        .evx-steps li{ counter-increment:evx; position:relative; padding:12px 14px 12px 52px; background:var(--dark2,#fff); border:1px solid var(--border); border-radius:12px; font-size:14px; line-height:1.65; color:var(--text-muted); }
        .evx-steps li::before{ content:counter(evx); position:absolute; left:14px; top:12px; width:26px; height:26px; border-radius:50%; background:linear-gradient(135deg,#3E357E,#5B4FA0); color:#fff; font-weight:800; font-size:13px; display:flex; align-items:center; justify-content:center; }
        .evx-steps li strong, .evx-lead strong{ color:var(--white); }
        .evx-free{ background:rgba(34,197,94,.07); border:1px solid rgba(34,197,94,.28); border-radius:12px; padding:12px 16px; color:var(--text); }
        .evx-cta{ display:flex; align-items:center; justify-content:center; gap:10px; margin:22px auto 12px; max-width:440px; background:#229ED9; color:#fff !important; font-weight:800; font-size:15px; padding:14px 22px; border-radius:14px; text-decoration:none; box-shadow:0 8px 22px rgba(34,158,217,.35); }
        .evx-cta:hover{ opacity:.92; }
        .evx-fine{ font-size:11.5px; line-height:1.6; color:var(--muted); text-align:center; margin:6px auto 0; max-width:640px; }
        @media(max-width:600px){ .evx{ padding:20px 16px 18px; border-radius:14px; margin-top:34px; } .evx-h2{ font-size:19px; } .evx-cta{ max-width:none; } }
      
/* ── index.php line 6567 ── */
          .life-hero{position:relative;overflow:hidden;border:1px solid var(--border);border-radius:18px;margin:0 0 26px;padding:30px 28px 24px;background:radial-gradient(560px 220px at 8% -30%, rgba(62,53,126,.20), transparent 70%), radial-gradient(520px 220px at 96% 0%, rgba(227,155,0,.16), transparent 70%), var(--dark2)}
          .life-title{font-size:clamp(26px,4.6vw,38px);font-weight:900;color:var(--white);letter-spacing:-1px;line-height:1.05;margin:0 0 8px}
          .life-sub{font-size:14px;color:var(--text-muted);margin:0 0 20px;max-width:600px;line-height:1.6}
          .life-tabs{display:flex;gap:8px;flex-wrap:wrap}
          .life-tabs .page-tab-card{text-decoration:none}
          @media(max-width:600px){.life-hero{padding:24px 18px 20px;border-radius:16px;margin-bottom:22px}}
        
/* ── index.php line 6579 ── */
          #catLangTabs{display:none;flex-wrap:wrap;gap:8px;margin:0 0 20px}
          #catLangTabs .lang-tab{padding:7px 16px;border-radius:999px;font-size:13px;font-weight:700;cursor:pointer;border:1px solid var(--border,#e7e4f0);background:transparent;color:var(--text);font-family:'Inter','PingFang SC','Hiragino Sans GB','Microsoft YaHei','Noto Sans SC',sans-serif;transition:all .15s;white-space:nowrap}
          #catLangTabs .lang-tab.active{background:var(--purple);color:#fff;border-color:var(--purple)}
          #catLangTabs .lang-tab:hover:not(.active){background:rgba(23,23,23,.07)}
        
/* ── index.php line 6595 ── */
          .cat-search{display:flex;align-items:center;gap:8px;max-width:440px;margin:0 0 22px;background:#fff;border:1px solid var(--border,#e7e4f0);border-radius:12px;padding:10px 14px;color:var(--text-muted);cursor:text}
          .cat-search:focus-within{border-color:var(--purple);box-shadow:0 0 0 3px rgba(62,53,126,.12)}
          .cat-search input{border:0;outline:0;background:transparent;font:inherit;font-size:14px;color:var(--text);width:100%;min-width:0}
          @media(max-width:600px){.cat-search{max-width:none}}
        
/* ── index.php line 6605 ── */
          .lfx .lfx-lead{ background:rgba(227,155,0,.08); border-left-color:#E39B00; }
          .lfx a{ color:var(--purple); font-weight:600; text-decoration:underline; text-underline-offset:2px; text-decoration-color:rgba(62,53,126,.35); }
          .lfx-faq{ display:grid; gap:10px; }
          .lfx-qa{ background:var(--dark2,#fff); border:1px solid var(--border); border-radius:12px; padding:13px 16px; }
          .lfx-q{ font-size:15px; font-weight:800; color:var(--white); margin:0 0 6px; line-height:1.4; }
          .lfx-a{ font-size:14px; line-height:1.75; color:var(--text-muted); margin:0; }
        
/* ── index.php line 6700 ── */
        .ef-byl{color:inherit;font-weight:700;text-decoration:none;border-bottom:1px dotted currentColor}
        .ef-abox{display:flex;gap:14px;align-items:flex-start;margin:30px 0 0;padding:18px 20px;border:1px solid var(--border,#e8e6e1);border-radius:14px;background:var(--dark2,#fff)}
        .ef-abox-av{flex:0 0 46px;width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;background:linear-gradient(135deg,#3E357E,#5B4FA0)}
        .ef-abox-tx{min-width:0}
        .ef-abox-k{font-size:11px;font-weight:800;letter-spacing:.8px;text-transform:uppercase;color:var(--text-muted,#6b6b72);margin-bottom:2px}
        .ef-abox-n{font-size:16px;font-weight:800;color:var(--text,#17171a);text-decoration:none;margin-right:8px}
        .ef-abox-r{font-size:12.5px;font-weight:600;color:var(--purple,#3E357E)}
        .ef-abox p,.ef-bbox p{margin:8px 0 10px;font-size:14px;line-height:1.7;color:var(--text-muted,#55545c)}
        .ef-abox-more{font-size:13px;font-weight:700;color:var(--purple,#3E357E);text-decoration:none}
        .ef-abox-more:hover,.ef-abox-n:hover{text-decoration:underline}
        .ef-bbox{margin:14px 0 0;padding:16px 20px;border:1px dashed rgba(62,53,126,.28);border-radius:14px;background:rgba(62,53,126,.045)}
        .ef-bbox-t{font-size:14px;font-weight:800;color:var(--text,#17171a)}
        @media(max-width:600px){ .ef-abox{padding:16px;gap:12px} .ef-abox-av{flex-basis:40px;width:40px;height:40px} .ef-bbox{padding:14px 16px} }
      
/* ── index.php line 12308 ── */
  .efsd{ position:fixed; right:20px; bottom:22px; z-index:10060; display:flex; flex-direction:column; align-items:flex-end; gap:12px; }
  .efsd-items{ display:flex; flex-direction:column; align-items:flex-end; gap:12px;
    opacity:0; visibility:hidden; transform:translateY(10px) scale(.96); transform-origin:bottom right;
    transition:opacity .22s ease, transform .22s ease, visibility .22s; pointer-events:none; }
  .efsd.open .efsd-items{ opacity:1; visibility:visible; transform:none; pointer-events:auto; }
  .efsd-item{ display:flex; align-items:center; gap:10px; text-decoration:none; }
  .efsd-lbl{ background:rgba(24,18,38,.94); color:#fff; font:700 12px/1 'Inter','PingFang SC','Hiragino Sans GB','Microsoft YaHei','Noto Sans SC','Segoe UI',sans-serif; padding:8px 11px; border-radius:9px; white-space:nowrap; box-shadow:0 4px 14px rgba(40,20,80,.24); }
  .efsd-btn{ width:48px; height:48px; border-radius:50%; display:flex; align-items:center; justify-content:center; box-shadow:0 8px 20px rgba(40,20,80,.28); flex:0 0 48px; font-size:22px; }
  .efsd-btn svg{ width:23px; height:23px; }
  .efsd-btn img{ width:30px; height:30px; border-radius:50%; display:block; }
  /* all options share one purple — only Telegram keeps its brand blue */
  .efsd-cs, .efsd-inv, .efsd-gc{ background:linear-gradient(135deg,#3E357E,#5B4FA0); color:#fff; }
  .efsd-tg{ background:linear-gradient(135deg,#2AABEE,#229ED9); color:#fff; }
  .efsd-toggle{ position:relative; width:50px; height:50px; border-radius:50%; border:none; cursor:pointer;
    background:linear-gradient(135deg,#3E357E,#5B4FA0); color:#fff; box-shadow:0 10px 26px rgba(62,53,126,.45);
    display:flex; align-items:center; justify-content:center; transition:transform .25s ease, box-shadow .2s ease;
    animation:efsdFloat 3s ease-in-out infinite; }
  .efsd-dot{ position:absolute; top:0; right:0; width:14px; height:14px; border-radius:50%;
    background:#ff3b3b; border:2.5px solid #fff; box-shadow:0 0 0 0 rgba(255,59,59,.6);
    animation:efsdDot 1.7s ease-out infinite; }
  .efsd.open .efsd-dot{ display:none; }
  @keyframes efsdDot{ 0%{ box-shadow:0 0 0 0 rgba(255,59,59,.55); } 70%{ box-shadow:0 0 0 8px rgba(255,59,59,0); } 100%{ box-shadow:0 0 0 0 rgba(255,59,59,0); } }
  .efsd-toggle:hover{ transform:scale(1.08); box-shadow:0 14px 32px rgba(62,53,126,.55); }
  .efsd-toggle svg{ width:24px; height:24px; }
  .efsd-ic-close{ display:none; font-size:22px; font-weight:700; line-height:1; }
  .efsd.open .efsd-toggle{ animation:none; transform:rotate(90deg); }
  .efsd.open .efsd-ic-open{ display:none; }
  .efsd.open .efsd-ic-close{ display:block; }
  @keyframes efsdFloat{ 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(-5px); } }
  @media(max-width:768px){
    .efsd{ right:16px; bottom:16px; gap:11px; }
    .efsd-items{ gap:11px; }
    .efsd-toggle{ width:48px; height:48px; }
    .efsd-btn{ width:46px; height:46px; flex-basis:46px; }
    .efsd-lbl{ font-size:11.5px; padding:7px 10px; }
  }
  /* old 3 FABs replaced by the speed dial */
  #gachaTgFab, #gachaInviteFab, #gachaFab{ display:none !important; }
  /* remove Trending / Categories / Top Users widgets site-wide (home + category pages) */
  #homeSidebar, #homeMobileSidebar, #filteredView aside{ display:none !important; }
  #filteredView .content-with-sidebar{ display:block !important; grid-template-columns:1fr !important; }
  /* Category listing cards → flat & tight like home (kills the empty gap under the date) */
  #mainGrid{ align-items:start !important; }
  #mainGrid > .card{ align-self:start !important; background:transparent !important; border:none !important; box-shadow:none !important; border-radius:14px !important; overflow:hidden !important; transition:transform .28s cubic-bezier(.22,1,.36,1) !important; }
  #mainGrid > .card:hover{ transform:translateY(-4px) !important; box-shadow:none !important; }
  #mainGrid > .card .card-img, #mainGrid > .card .card-img-wrap{ border-radius:0 !important; }
  #mainGrid > .card:hover .card-img{ transform:scale(1.05); }
  #mainGrid > .card .card-cat-badge{ display:none !important; }
  #mainGrid > .card .card-body{ display:block !important; padding:11px 1px 2px !important; }
  #mainGrid > .card .card-title{ flex:0 0 auto !important; font-weight:800 !important; color:#161320 !important; line-height:1.34 !important; margin:0 0 6px !important; }
  #mainGrid > .card .card-footer{ font-size:12px !important; }
  #mainGrid > .card .card-date{ color:#8a8794 !important; font-weight:600 !important; }
  /* 18X page = same layout as the category pages (full width, 3-up flat cards) — overrides the old 60% rule */
  @media(min-width:769px){ #adultPage .adult-hero{ max-width:1232px !important; } #adultPage > div:not(.adult-hero){ max-width:1280px !important; } }
  @media(min-width:901px){ #adultGrid{ grid-template-columns:repeat(3,1fr) !important; } }
  #adultGrid{ align-items:start !important; }
  #adultGrid > .card{ align-self:start !important; background:transparent !important; border:none !important; box-shadow:none !important; border-radius:14px !important; overflow:hidden !important; transition:transform .28s cubic-bezier(.22,1,.36,1) !important; }
  #adultGrid > .card:hover{ transform:translateY(-4px) !important; box-shadow:none !important; }
  #adultGrid > .card .card-img, #adultGrid > .card .card-img-wrap{ border-radius:0 !important; }
  #adultGrid > .card:hover .card-img{ transform:scale(1.05); }
  #adultGrid > .card .card-cat-badge{ display:none !important; }
  #adultGrid > .card .card-body{ display:block !important; padding:11px 1px 2px !important; }
  #adultGrid > .card .card-title{ flex:0 0 auto !important; font-weight:800 !important; color:#161320 !important; line-height:1.34 !important; margin:0 0 6px !important; }
  #adultGrid > .card .card-footer{ font-size:12px !important; }
  #adultGrid > .card .card-date{ color:#8a8794 !important; font-weight:600 !important; }
  /* Date was white-on-white (invisible) on these light-card grids — same grey as #mainGrid */
  #adultGrid > .card .card-date,
  #entertainmentGrid > .card .card-date,
  #casinoPromoGrid > .card .card-date,
  #casinoGamesGrid > .card .card-date{ color:#8a8794 !important; font-weight:600 !important; }
  /* Casino tab bar → always fit all 3 buttons across the screen (no cut-off / scroll) */
  @media(max-width:600px){
    #casinoTabBar{ overflow:visible !important; gap:6px !important; flex-wrap:nowrap !important; }
    #casinoTabBar .page-tab-card{ flex:1 1 0 !important; min-width:0 !important; justify-content:center !important; white-space:nowrap !important; padding:9px 4px !important; font-size:11.5px !important; gap:5px !important; }
    #casinoTabBar .page-tab-card svg{ width:14px !important; height:14px !important; flex:0 0 auto; }
  }
  /* Covers are 16:9 — show them in full (no crop / no cut-off text) — every card grid */
  #eventStrip .evc-img{ height:auto !important; aspect-ratio:16/9 !important; flex:none !important; }
  #mainGrid > .card .card-img,
  #sportsNewsGrid > .card .card-img,
  #searchGrid > .card .card-img,
  #entertainmentGrid > .card .card-img,
  #casinoPromoGrid > .card .card-img,
  #casinoGamesGrid > .card .card-img,
  #adultGrid > .card .card-img{ height:auto !important; aspect-ratio:16/9 !important; width:100% !important; object-fit:cover !important; display:block !important; }
  @media(min-width:769px){
    .cx-track > .card .card-img{ height:auto !important; aspect-ratio:16/9 !important; width:100% !important; object-fit:cover !important; display:block !important; }
  }
  /* Perf: never keep a fixed-attachment gradient (repaints every scroll frame on desktop too) */
  html, body{ background-attachment:scroll !important; }
  /* Cleaner, crisper typography (干净磊落) */
  body{ -webkit-font-smoothing:antialiased !important; -moz-osx-font-smoothing:grayscale !important; text-rendering:optimizeLegibility !important; }
  .section-title, .cat-section-title, .card-title, #eventStrip .evc-title{ letter-spacing:-.3px !important; }
  /* Sport Prediction box → clean white (no beige), tidy card, pushed down + centered */
  #sportsHero{ max-width:1180px !important; margin:28px auto 0 !important; padding:0 24px !important; box-sizing:border-box !important; }
  @media(max-width:768px){ #sportsHero{ padding:0 16px !important; } }
  #sportsMatchesTrack > div:only-child{ flex:1 1 100% !important; width:100% !important; box-sizing:border-box !important; }
  .sports-hero-wrap{ background:#fff !important; border:1px solid #ece9f6 !important; border-bottom:1px solid #ece9f6 !important; border-radius:16px !important; box-shadow:0 8px 24px rgba(70,45,140,.05) !important; padding:26px 22px 30px !important; text-align:center !important; max-width:100% !important; }
  .sports-hero-header{ font-family:'Inter','PingFang SC','Hiragino Sans GB','Microsoft YaHei','Noto Sans SC','Segoe UI',sans-serif !important; font-weight:800 !important; letter-spacing:.3px !important; color:#161320 !important; text-transform:uppercase; justify-content:center !important; }
  .sports-hero-header svg{ color:#3E357E !important; }
  #sportsMatchesTrack, .sports-matches-track{ text-align:center !important; }
  #sportsMatchesTrack .match-cta{ display:inline-block !important; width:auto !important; max-width:100% !important; margin:14px auto 0 !important; padding:12px 30px !important; }
  /* ═══ MOBILE PERFORMANCE ═══ scroll jank fixes */
  @media(max-width:768px){
    /* fixed background-attachment forces a full-screen repaint every scroll frame → biggest mobile jank */
    html, body{ background-attachment:scroll !important; }
    /* backdrop blur is expensive on phones — drop it (visuals barely change) */
    .cx-arrow, #eventStrip .evc-nav, .efsd-nav, .nav-top, .tgpop-overlay{ -webkit-backdrop-filter:none !important; backdrop-filter:none !important; }
    /* pause the floating FAB animation when idle isn't needed; keep it light */
    .efsd-toggle{ animation-duration:4s !important; }
  }
/* ── index.php line 12464 ── */
@keyframes gfabPop{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-6px) rotate(-1.5deg)}}
@keyframes gfabPulse{0%{transform:scale(1);opacity:.75}100%{transform:scale(1.55);opacity:0}}
@keyframes ginvFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@keyframes ginvPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.13)}}
@keyframes ginvRing{0%{transform:scale(1);opacity:.8}100%{transform:scale(1.9);opacity:0}}
/* Invite pill anchored at the very bottom; the Gacha entry sits ABOVE it — never overlap. */
#gachaInviteFab{bottom:16px}
#gachaFab{bottom:82px}
@media(max-width:520px){#gachaFab{right:12px;bottom:74px;padding:7px 15px 7px 7px}
  #gachaInviteFab{right:12px;bottom:12px;padding:8px 14px}}
/* ── index.php line 12649 ── */
  /* ═══ 4D Results strip (home row 2): Magnum, Da Ma Cai, Toto full results — data from /4d.php?json=1.
        Same results-board layout as /4d-results and asiabetreview (2026-09-22). ═══ */
  #fdStrip{ max-width:1180px; margin:8px auto 0; box-sizing:border-box; }
  #fdStrip:empty{ display:none; }
  #fdStrip .ex-head{ display:flex; justify-content:space-between; align-items:baseline; margin:40px 0 18px; }
  #fdStrip .fd-sub{ font-size:13px; color:var(--text-muted,#7a7885); margin:-10px 0 16px; }
  #fdStrip .fd-row{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
  #fdStrip .fd-card{ background:#fff; border:1px solid #d9d9de; border-radius:12px; overflow:hidden; box-shadow:0 1px 3px rgba(0,0,0,.06); }
  #fdStrip .fd-head{ display:flex; justify-content:space-between; align-items:center; gap:10px; min-height:66px; padding:9px 10px 9px 14px; background:var(--b); color:var(--bf); }
  #fdStrip .fd-head > div{ min-width:0; }
  #fdStrip .fd-name{ display:block; font-size:16px; font-weight:800; text-transform:uppercase; letter-spacing:.2px; color:var(--bf); text-decoration:none; }
  #fdStrip .fd-meta{ display:block; font-size:12px; font-weight:600; opacity:.85; margin-top:2px; }
  #fdStrip .fd-logo{ flex:0 0 auto; display:flex; align-items:center; justify-content:center; height:46px; min-width:46px; max-width:108px; overflow:hidden; padding:4px 8px; background:#fff; border-radius:8px; }
  #fdStrip .fd-logo.dark{ background:#111; }
  #fdStrip .fd-logo img{ display:block; max-height:38px; max-width:92px; width:auto; height:auto; }
  #fdStrip .fd-r{ display:grid; grid-template-columns:38% 1fr; border-top:1px solid #e5e5ea; }
  #fdStrip .fd-r:first-child{ border-top:0; }
  #fdStrip .fd-r span{ display:flex; align-items:center; padding:0 12px; background:var(--bd,#161320); color:#fff; font-size:14px; font-weight:700; }
  #fdStrip .fd-r span small{ font-size:11px; font-weight:600; opacity:.8; margin-left:4px; }
  #fdStrip .fd-r b{ display:block; padding:3px 14px; font-family:"Helvetica Neue","Segoe UI",Helvetica,Arial,sans-serif; font-size:27px; line-height:1.25; font-weight:700; letter-spacing:.5px; color:#1d1d1f; font-variant-numeric:tabular-nums; text-align:center; }
  #fdStrip .fd-band{ background:#3a3a3c; color:#fff; text-align:center; font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; padding:4px 0; }
  #fdStrip .fd-grid{ display:grid; grid-template-columns:repeat(5,1fr); }
  #fdStrip .fd-grid span{ text-align:center; padding:7px 0; font-family:"Helvetica Neue","Segoe UI",Helvetica,Arial,sans-serif; font-size:15px; font-weight:700; letter-spacing:.3px; color:#1d1d1f; font-variant-numeric:tabular-nums; border-right:1px solid #e5e5ea; border-bottom:1px solid #e5e5ea; }
  #fdStrip .fd-grid span:nth-child(5n){ border-right:0; }
  #fdStrip .fd-grid span:nth-last-child(-n+5){ border-bottom:0; }
  #fdStrip .fd-foot{ display:block; padding:9px 14px; border-top:1px solid #e5e5ea; text-align:center; font-size:12px; font-weight:700; color:var(--purple,#3E357E); text-decoration:none; }
  #fdStrip .fd-live-badge{ display:inline-flex; align-items:center; gap:5px; font-size:9.5px; font-weight:800; letter-spacing:.5px; text-transform:uppercase; color:#fff; background:#e11414; border-radius:5px; padding:2px 7px; margin-top:4px; }
  #fdStrip .fd-live-badge.done{ background:#16a34a; }
  #fdStrip .fd-live-badge::before{ content:""; width:6px; height:6px; border-radius:50%; background:#fff; animation:fdpulse 1s infinite; }
  @keyframes fdpulse{ 0%,100%{opacity:1} 50%{opacity:.2} }
  #fdStrip .fd-card.is-live{ box-shadow:0 0 0 2px #e11414,0 8px 22px rgba(225,20,20,.16); }
  #fdStrip .fd-card.is-live.done{ box-shadow:0 0 0 2px #16a34a,0 8px 22px rgba(22,163,74,.16); }
  #fdStrip .fd-flash{ animation:fdblink 1.25s steps(1,end); }
  @keyframes fdblink{ 0%,25%,50%,75%{ color:#e11414; opacity:1; } 12%,37%,62%,87%{ color:#e11414; opacity:.12; } }
  @media(max-width:1000px){
    /* Phone/tablet: stack the boards vertically (one straight down to the next) instead of side-scroll */
    #fdStrip .fd-row{ display:flex; flex-direction:column; gap:14px; overflow:visible; }
    #fdStrip .fd-card{ flex:0 0 auto; width:100%; max-width:520px; margin:0 auto; }
  }
  @media(max-width:768px){ #fdStrip .ex-head{ margin:28px 0 12px; } }
  /* Skeleton placeholder to reserve height before JS fills it (kills CLS on home) */
  #fdStrip .fd-skel .ex-head .section-title{ width:190px; height:22px; border-radius:6px; background:#e9e9ee; color:transparent; }
  #fdStrip .fd-skel .fd-sub{ width:280px; max-width:70%; height:13px; border-radius:5px; background:#ececf1; }
  #fdStrip .fd-skel .fd-card{ height:434px; background:#fff; }
  #fdStrip .fd-skel .sk-bar{ height:100%; background:linear-gradient(100deg,#f3f3f6 30%,#e9e9ef 50%,#f3f3f6 70%); background-size:200% 100%; animation:fdSkShimmer 1.3s linear infinite; }
  @keyframes fdSkShimmer{ 0%{background-position:200% 0;} 100%{background-position:-200% 0;} }
  /* eventStrip skeleton — mirrors real .evc structure so height matches exactly (kills CLS) */
  #eventStrip .ev-skel .section-title{ width:180px; height:22px; border-radius:6px; background:#e9e9ee; color:transparent; }
  #eventStrip .ev-skel .evc{ pointer-events:none; }
  #eventStrip .ev-skel .evc-img{ background:linear-gradient(100deg,#f3f3f6 30%,#e9e9ef 50%,#f3f3f6 70%); background-size:200% 100%; animation:fdSkShimmer 1.3s linear infinite; }
  #eventStrip .ev-skel .evc-title, #eventStrip .ev-skel .evc-prize{ color:transparent; background:#ececf1; border-radius:5px; }
  #eventStrip .ev-skel .evc-join-btn{ background:#e9e9ee !important; color:transparent !important; box-shadow:none !important; }
/* ── index.php line 12809 ── */
/* flow button (owner 2026-10-20, after the 21st.dev flow-button) — homepage Top 5 Play, same as the Slots / Live strip */
.fbtn{position:relative;display:inline-flex;align-items:center;justify-content:center;overflow:hidden;isolation:isolate;flex-shrink:0;padding:10px 32px;border:1.5px solid rgba(62,53,126,.5);border-radius:100px;background:transparent;color:#3E357E!important;font-weight:800;font-size:14px;line-height:1.2;text-decoration:none!important;white-space:nowrap;cursor:pointer;transition:border-color .6s cubic-bezier(.23,1,.32,1),color .6s cubic-bezier(.23,1,.32,1),border-radius .6s cubic-bezier(.23,1,.32,1),transform .15s ease}
.fbtn .fb-t{position:relative;z-index:1;transform:translateX(-9px);transition:transform .8s ease-out}
.fbtn .fb-c{position:absolute;top:50%;left:50%;width:16px;height:16px;border-radius:50%;background:#3E357E;opacity:0;transform:translate(-50%,-50%);transition:width .8s cubic-bezier(.19,1,.22,1),height .8s cubic-bezier(.19,1,.22,1),opacity .8s cubic-bezier(.19,1,.22,1)}
.fbtn svg{position:absolute;z-index:9;width:15px;height:15px;fill:none;stroke:currentColor;transition:left .8s cubic-bezier(.34,1.56,.64,1),right .8s cubic-bezier(.34,1.56,.64,1)}
.fbtn .fb-a2{left:-25%}
.fbtn .fb-a1{right:12px}
.fbtn:hover,.fbtn:focus-visible{border-color:transparent;color:#fff!important;border-radius:12px}
.fbtn:hover .fb-t,.fbtn:focus-visible .fb-t{transform:translateX(9px)}
.fbtn:hover .fb-c,.fbtn:focus-visible .fb-c{width:220px;height:220px;opacity:1}
.fbtn:hover .fb-a2,.fbtn:focus-visible .fb-a2{left:12px}
.fbtn:hover .fb-a1,.fbtn:focus-visible .fb-a1{right:-25%}
.fbtn:active{transform:scale(.95)}
.hpx .fc-by.fbtn{height:auto;gap:0;padding:10px 32px;border-radius:100px;background:transparent;color:#3E357E!important}   /* the old filled-button rule set white text */
.hpx .fc-by.fbtn:hover,.hpx .fc-by.fbtn:focus-visible{background:transparent;border-radius:12px;color:#fff!important}
@media(max-width:700px){.hpx .fc-by.fbtn{padding:9px 28px;font-size:13.5px}}
@media(prefers-reduced-motion:reduce){.fbtn,.fbtn *{transition:none!important}}
/* section tab bars → segmented control with a sliding thumb (owner 2026-10-20, after the 21st.dev segmented-control) */
:is(#sportsTabBar,#casinoTabBar,#lifeTabBar,#adultTabBar,#entertainmentTabBar).efseg{position:relative;display:inline-grid!important;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:0!important;flex-wrap:nowrap!important;width:auto;max-width:100%;padding:3px!important;border:1px solid #e4e0ef;border-radius:11px;background:#f1eff7;box-shadow:inset 0 1px 2px rgba(28,25,23,.07)}
:is(#sportsTabBar,#casinoTabBar,#lifeTabBar,#adultTabBar,#entertainmentTabBar).efseg>.page-tab-card{position:relative;z-index:1;display:flex!important;align-items:center;justify-content:center;gap:6px!important;width:auto!important;min-width:0!important;flex:none!important;margin:0!important;padding:8px 18px!important;border:0!important;border-radius:8px!important;background:transparent!important;box-shadow:none!important;color:#6b6880!important;font-size:13px!important;font-weight:600!important;line-height:18px;white-space:nowrap!important;transform:none!important;transition:color .2s ease}
:is(#sportsTabBar,#casinoTabBar,#lifeTabBar,#adultTabBar,#entertainmentTabBar).efseg>.page-tab-card:hover{color:#2d2a3a!important}
:is(#sportsTabBar,#casinoTabBar,#lifeTabBar,#adultTabBar,#entertainmentTabBar).efseg>.page-tab-card.active{color:#fff!important}
:is(#sportsTabBar,#casinoTabBar,#lifeTabBar,#adultTabBar,#entertainmentTabBar).efseg>.page-tab-card svg{stroke:currentColor!important;opacity:1!important;width:14px!important;height:14px!important;flex:0 0 14px!important}
.efseg-th{position:absolute;z-index:0;top:3px;bottom:3px;left:0;width:0;border-radius:8px;background:#3E357E;box-shadow:0 1px 2px rgba(28,25,23,.28);pointer-events:none;transition:transform .34s cubic-bezier(.2,.8,.2,1),width .34s cubic-bezier(.2,.8,.2,1),opacity .2s}
@media(max-width:600px){
  :is(#sportsTabBar,#casinoTabBar,#lifeTabBar,#adultTabBar,#entertainmentTabBar).efseg{display:grid!important;width:100%}
  :is(#sportsTabBar,#casinoTabBar,#lifeTabBar,#adultTabBar,#entertainmentTabBar).efseg>.page-tab-card{padding:8px 6px!important;font-size:12.5px!important;gap:4px!important}
}
@media(prefers-reduced-motion:reduce){.efseg-th{transition:none}}
/* /casino cards — 21st.dev card-tabs look, landscape (owner 2026-10-20) */
.ccx{position:relative;background:#fff;border:1px solid var(--border);border-radius:16px;box-shadow:0 1px 2px rgba(16,24,40,.04);overflow:hidden;transition:box-shadow .2s ease}
.ccx:hover{box-shadow:0 10px 26px rgba(62,53,126,.10)}
.ccx-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 16px;padding:18px 22px 14px}
.ccx-id{display:flex;align-items:center;gap:14px;min-width:0}
.ccx-logo{width:56px;height:56px;border-radius:12px;background:#f5f4f0;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0;color:#9a98a2}
.ccx-logo img{width:100%;height:100%;object-fit:contain;padding:6px}
.ccx-logo svg{width:24px;height:24px}
.ccx-logo.dk{background:#1c1a2e;border-color:#1c1a2e}
.ccx-name{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;font-size:18px;font-weight:800;color:var(--text);line-height:1.2}
.ccx-rank{font-size:12px;font-weight:800;color:#3E357E;background:#f1edfb;border-radius:999px;padding:2px 8px}
.ccx-pick{position:absolute;top:0;right:18px;z-index:1;font-size:11px;font-weight:700;letter-spacing:.3px;color:#8a5a00;background:#fdf3d7;border:1px solid #f4dc9c;border-top:0;border-radius:0 0 10px 10px;padding:4px 10px 5px;line-height:1.2;white-space:nowrap}
.ccx-stars{margin-top:4px}
.ccx-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));height:36px;width:300px;max-width:100%;padding:3px;border-radius:10px;background:#f1eff7;box-shadow:inset 0 1px 2px rgba(28,25,23,.06)}
.ccx-tab{font:inherit;font-size:12.5px;font-weight:600;color:#6b6880;background:transparent;border:0;border-radius:8px;cursor:pointer;padding:0 6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:background .15s,color .15s,box-shadow .15s}
.ccx-tab:hover{color:var(--text)}
.ccx-tab.on{background:#fff;color:var(--text);box-shadow:0 1px 3px rgba(28,25,23,.14)}
.ccx-body{display:grid;padding:0 22px}
.ccx-pane{grid-area:1/1;visibility:hidden;opacity:0;transition:opacity .2s ease}
.ccx-pane.on{visibility:visible;opacity:1}
.ccx-ov{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);gap:16px;align-items:center}
.ccx-col{display:flex;flex-direction:column;gap:12px;min-width:0}
.ccx-status{display:flex;align-items:center;gap:12px;flex-wrap:wrap;border:1px solid var(--border);background:#faf9f7;border-radius:12px;padding:12px 14px}
.ccx-ic{width:36px;height:36px;border-radius:10px;background:#f1edfb;color:#3E357E;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.ccx-ic svg{width:18px;height:18px}
.ccx-ic.pri{background:#3E357E;color:#fff;width:42px;height:42px}
.ccx-ic.sm{width:30px;height:30px;border-radius:8px}
.ccx-ic.sm svg{width:15px;height:15px}
.ccx-st{flex:1;min-width:0}
.ccx-st b{display:block;font-size:13.5px;color:var(--text)}
.ccx-st small{display:block;font-size:12px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ccx-badge{flex-shrink:0;font-size:11.5px;font-weight:700;color:#15803d;background:rgba(34,197,94,.1);border:1px solid rgba(34,197,94,.45);border-radius:999px;padding:3px 10px}
.ccx-pl{display:flex;justify-content:space-between;font-size:12px;font-weight:600;margin-bottom:6px}
.ccx-pl span{color:var(--text-muted)}
.ccx-pl b{color:var(--text)}
.ccx-track{height:6px;border-radius:999px;background:#ece9f4;overflow:hidden}
.ccx-track i{display:block;height:100%;border-radius:inherit;background:#3E357E}
.ccx-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.ccx-stat{border:1px solid var(--border);border-radius:12px;padding:12px 14px;min-width:0}
.ccx-stat small{display:block;font-size:11.5px;color:var(--text-muted)}
.ccx-stat b{display:block;margin-top:4px;font-size:16.5px;font-weight:800;color:var(--text);line-height:1.25}
.ccx-stat em{display:inline-flex;align-items:center;gap:3px;margin-top:4px;font-style:normal;font-size:11px;font-weight:700;color:#16a34a}
.ccx-stat em svg{width:11px;height:11px}
.ccx-bn{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:16px;align-items:center}
.ccx-hl{display:flex;align-items:center;gap:12px;border:1px solid rgba(62,53,126,.14);background:rgba(62,53,126,.05);border-radius:12px;padding:14px 16px}
.ccx-hl small{display:block;font-size:11.5px;color:var(--text-muted);font-weight:700;text-transform:uppercase;letter-spacing:.4px}
.ccx-hl b{display:block;font-size:19px;font-weight:900;color:var(--text);line-height:1.25}
.ccx-list{list-style:none;margin:0;padding:0}
.ccx-list li{display:flex;align-items:flex-start;gap:8px;padding:8px 0;border-top:1px solid var(--border);font-size:13.5px;color:var(--text)}
.ccx-list li:first-child{border-top:0}
.ccx-list li svg{width:16px;height:16px;flex-shrink:0;color:#16a34a;margin-top:2px}
.ccx-py{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:16px;align-items:start}
.ccx-items{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}
.ccx-item{display:flex;align-items:center;gap:10px;border:1px solid var(--border);border-radius:10px;padding:8px 10px;min-width:0}
.ccx-item b{font-size:13px;font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ccx-games small{display:block;font-size:11.5px;color:var(--text-muted);font-weight:700;margin-bottom:6px}
.ccx-chip{display:inline-block;margin:0 6px 6px 0;font-size:12px;font-weight:600;color:#3E357E;background:#f1edfb;border-radius:999px;padding:3px 10px}
.ccx-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px;padding:14px 22px 18px}
.ccx-fine{margin-right:auto;font-size:11.5px;color:var(--text-muted)}
.ccx-ghost{font-size:13.5px;font-weight:700;color:#3E357E!important;background:#f1edfb;border:1px solid #e4dcf7;padding:9px 16px;border-radius:10px;text-decoration:none!important;transition:background .2s,border-color .2s}
.ccx-ghost:hover{background:#e7e0fa;border-color:#d3c7f2}
.ccx-ghost:hover{background:#f4effc;color:#3E357E!important}
.ccx-pri{font-size:13.5px;font-weight:800;color:#fff!important;background:#3E357E;padding:9px 18px;border-radius:10px;text-decoration:none!important}
.ccx-pri:hover{background:#6A5FB0}
@media(max-width:760px){
  .ccx-head{padding:16px 16px 12px}
  .ccx-tabs{width:100%}
  .ccx-body{padding:0 16px}
  .ccx-ov,.ccx-bn,.ccx-py{grid-template-columns:minmax(0,1fr)}
  .ccx-stats{gap:8px}
  .ccx-stat{padding:10px}
  .ccx-stat b{font-size:14px}
  .ccx-foot{padding:12px 16px 16px}
  .ccx-fine{flex:1 1 100%;margin:0 0 4px;text-align:center}
  .ccx-ghost,.ccx-pri{flex:1 1 0;text-align:center}
}
/* ── index.php line 12937 ── */
/* /sports FAQ: numbered + folded (owner 2026-10-20) */
#sportsPage .sb-faq{counter-reset:sbq}
#sportsPage .sb-faq > p{counter-increment:sbq;cursor:pointer;padding-right:46px!important}
#sportsPage .sb-faq > p::before{content:counter(sbq)!important}
#sportsPage .sb-faq > p > strong:first-child{display:flex!important;align-items:center;min-height:40px;margin-bottom:0!important}
#sportsPage .sb-faq > p::after{content:"";position:absolute;right:20px;top:28px;width:8px;height:8px;border-right:2px solid var(--purple);border-bottom:2px solid var(--purple);transform:rotate(45deg);transition:transform .2s ease}
#sportsPage .sb-faq > p.open::after{transform:rotate(-135deg);top:32px}
#sportsPage .sb-faq .sbq-a{display:none;margin-top:6px}
#sportsPage .sb-faq > p.open .sbq-a{display:block}
#sportsPage .sb-faq > p:focus-visible{outline:2px solid var(--purple-light);outline-offset:2px}
/* ── index.php line 12956 ── */
/* News page — 21st.dev blog-3 look (owner 2026-10-20) */
.nwf{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);background:#fff;border:1px solid var(--border);border-radius:16px;overflow:hidden;cursor:pointer;margin:0 0 28px;transition:box-shadow .2s ease}
.nwf:hover{box-shadow:0 12px 30px rgba(17,17,17,.08)}
.nwf-img{position:relative;min-height:300px;background:#f1efe9;overflow:hidden}
.nwf-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.nwf:hover .nwf-img img{transform:scale(1.03)}
.nwf-pill{position:absolute;top:14px;right:14px;z-index:1;display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:999px;background:rgba(255,255,255,.88);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);font-size:12px;font-weight:600;color:var(--text)}
.nwf-pill svg{width:12px;height:12px}
.nwf-body{display:flex;flex-direction:column;justify-content:center;gap:14px;padding:30px 32px}
.nw-badge{display:inline-flex;width:fit-content;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:700;background:#f1edfb;color:#3E357E}
.nw-badge.pri{background:#3E357E;color:#fff}
.nwf .nwf-t{display:block!important;font-size:clamp(20px,2.4vw,28px)!important;font-weight:800!important;line-height:1.25!important;color:var(--text)!important;margin:0!important;-webkit-line-clamp:unset!important}
.nwf-ex{font-size:14.5px;color:var(--text-muted);line-height:1.6;margin:0;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.nwf-btn{display:inline-flex;align-items:center;gap:6px;width:fit-content;padding:10px 18px;border-radius:10px;background:#3E357E;color:#fff;font-size:14px;font-weight:700;transition:background .2s}
.nwf-btn svg{width:16px;height:16px}
.nwf:hover .nwf-btn{background:#6A5FB0}
#mainGrid.nw-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:24px!important}
.nwc{display:flex;flex-direction:column;background:#fff;border:1px solid var(--border);border-radius:14px;overflow:hidden;cursor:pointer;transition:box-shadow .2s ease}
.nwc:hover{box-shadow:0 10px 26px rgba(17,17,17,.08)}
.nwc-img{aspect-ratio:16/9;background:#f1efe9;overflow:hidden}
.nwc-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
.nwc:hover .nwc-img img{transform:scale(1.04)}
.nwc-h{display:flex;flex-direction:column;gap:8px;padding:18px 20px 0}
.nwc .nwc-t{display:block!important;font-size:17px!important;font-weight:700!important;line-height:1.35!important;color:var(--text)!important;margin:0!important;transition:color .2s}
.nwc:hover .nwc-t{color:#3E357E!important}
.nwc-ex{flex:1;margin:0;padding:8px 20px 0;font-size:13.5px;color:var(--text-muted);line-height:1.55;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.nwc .nw-dt{display:flex;align-items:center;gap:6px;padding:14px 20px 18px;font-size:12.5px;color:var(--text-muted)}
.nwc .nw-dt svg{width:13px;height:13px;flex:0 0 13px}
@media(max-width:1000px){#mainGrid.nw-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:700px){.nwf{grid-template-columns:minmax(0,1fr)}.nwf-img{min-height:0;aspect-ratio:16/9}.nwf-body{padding:20px;gap:12px}#mainGrid.nw-grid{grid-template-columns:minmax(0,1fr)!important;gap:16px!important}}
/* Lifestyle (travel / food) — 21st.dev "cards": rounded cover, title, purple category line, hover lift */
#mainGrid.lf-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:32px 26px!important}
.lfc{cursor:pointer;transition:transform .3s ease}
.lfc:hover{transform:translateY(-3px)}
.lfc-img{aspect-ratio:4/3;border-radius:14px;overflow:hidden;background:#f1efe9}
.lfc-img img{width:100%;height:100%;object-fit:cover;display:block}
.lfc .lfc-t{display:block!important;margin:12px 0 0!important;font-size:16px!important;font-weight:600!important;line-height:1.4!important;color:#0f172a!important}
.lfc-c{margin-top:4px;font-size:12.5px;font-weight:600;color:#6A5FB0}
@media(max-width:1000px){#mainGrid.lf-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:560px){#mainGrid.lf-grid{grid-template-columns:minmax(0,1fr)!important;gap:26px!important}}
/* Events — 21st.dev v-card-19 look with the cover kept; CTA = full-width purple flow button */
.event-card.evc .evc-body{padding:14px 14px 16px;gap:12px}
.evc-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}
.event-card.evc .evc-t{font-size:14px;font-weight:700;line-height:1.35;color:var(--text)}
.evc-top .event-card-status{flex-shrink:0}
.evc-rows{display:flex;flex-direction:column;gap:7px;font-size:12px;color:var(--text-muted)}
.evc-rows span{display:flex;align-items:center;gap:8px;min-width:0}
.evc-rows svg{width:14px;height:14px;flex-shrink:0}
.evc-amber{color:#d97706;font-weight:700}
.evc-cta.fbtn{display:flex;width:100%;padding:10px 30px;font-size:13.5px}
.evc-cta.fbtn:hover .fb-c,.evc-cta.fbtn:focus-visible .fb-c{width:640px;height:640px}
@media(min-width:1024px){.hpx .evi{flex-basis:calc((100% - 48px)/4)}}
@media(min-width:701px){.nwf{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);align-items:center}}
.nwf-img{min-height:0;aspect-ratio:16/9}
/* ── index.php line 13012 ── */
/* Header "Mall" button (owner 2026-10-20): site purple + a flowing border and a light sweep that invite a tap */
#shopNavBtn{position:relative;overflow:hidden;isolation:isolate;border-radius:999px!important;padding:5px 12px!important;border:1px solid transparent!important;
  background:linear-gradient(#fff,#fff) padding-box,linear-gradient(90deg,#e4e0ef,#a898ee,#e4e0ef) border-box!important;background-size:100% 100%,180px 100%!important;
  animation:efMallFlow 2.4s linear infinite;transition:filter .2s}
#shopNavBtn:hover{filter:brightness(.98)}
#shopNavBtn svg{stroke:#3E357E!important;position:relative;z-index:2}
#shopNavBtn span{color:#3E357E!important;position:relative;z-index:2}
#shopNavBtn::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(-75deg,transparent 30%,rgba(62,53,126,.10) 50%,transparent 70%);transform:translateX(-130%);animation:efMallSweep 3.2s ease-in-out infinite}
@keyframes efMallFlow{to{background-position:0 0,180px 0}}
@keyframes efMallSweep{0%,45%{transform:translateX(-130%)}80%,100%{transform:translateX(130%)}}
@media(prefers-reduced-motion:reduce){#shopNavBtn,#shopNavBtn::after{animation:none}}
/* Point Mall page (owner 2026-10-20) — segmented categories, site-colour header buttons, new prize cards */
#mall-page button[onclick="goHome()"]{background:#fff!important;border:1px solid #e4e0ef!important;border-radius:999px!important;color:#3E357E!important;font-weight:600;padding:6px 14px!important}
#mallPageBalanceBar{background:#fff!important;border:1px solid #ece9f6!important;border-radius:14px!important;box-shadow:0 1px 2px rgba(28,22,64,.05)}
#mallPageBalanceBar>div:first-child{color:#8a8794!important}
#mallPageBalance{color:#3E357E!important}
#mallPointsHistBtn,#mallHistoryBtn{background:#fff!important;border:1px solid #e4dcf7!important;border-radius:14px!important;color:#3E357E!important;box-shadow:0 1px 2px rgba(28,22,64,.05)}
#mallPointsHistBtn:hover,#mallHistoryBtn:hover{background:#f6f2fd!important;border-color:#cfc3ef!important}
#mallPageFilters.mseg{position:relative;display:inline-grid!important;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:0!important;flex-wrap:nowrap!important;max-width:100%;padding:3px;margin-bottom:22px!important;border:1px solid #e4e0ef;border-radius:11px;background:#f1eff7;box-shadow:inset 0 1px 2px rgba(28,25,23,.07)}
#mallPageFilters .mseg-b{position:relative;z-index:1;border:0;background:transparent;color:#6b6880;font-size:13px;font-weight:600;line-height:18px;padding:8px 20px;border-radius:8px;cursor:pointer;white-space:nowrap;transition:color .2s ease;font-family:inherit}
#mallPageFilters .mseg-b:hover{color:#2d2a3a}
#mallPageFilters .mseg-b.on{color:#fff}
#mallPageFilters .mseg-th{position:absolute;z-index:0;top:3px;bottom:3px;left:0;width:0;border-radius:8px;background:#3E357E;box-shadow:0 1px 2px rgba(28,25,23,.28);pointer-events:none;transition:transform .34s cubic-bezier(.2,.8,.2,1),width .34s cubic-bezier(.2,.8,.2,1)}
#mallPageGrid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr))!important;gap:18px!important}
#mall-page .mpc{display:flex;flex-direction:column;background:#fff;border:1px solid #ece9f6;border-radius:14px;overflow:hidden;transition:box-shadow .3s ease,border-color .3s ease;animation:mpcIn .45s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(var(--i,0) * 70ms)}
@keyframes mpcIn{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
@media(hover:hover){#mall-page .mpc:hover{box-shadow:0 10px 26px rgba(28,22,64,.10);border-color:#e0d9f3}}
#mall-page .mpc-img{position:relative;aspect-ratio:16/10;background:#f4f2f9;overflow:hidden;padding:12px;display:flex;align-items:center;justify-content:center}
#mall-page .mpc-img img{max-width:100%;max-height:100%;object-fit:contain;border-radius:8px;display:block;transition:transform .3s ease}
@media(hover:hover){#mall-page .mpc:hover .mpc-img img{transform:scale(1.05)}}
#mall-page .mpc-ph{font-size:40px}
#mall-page .mpc-cat,#mall-page .mpc-qty{position:absolute;top:8px;padding:2px 8px;border-radius:6px;font-size:11px;font-weight:700}
#mall-page .mpc-cat{left:8px;background:#e7e0fa;color:#3E357E}
#mall-page .mpc-qty{right:8px;background:#fde7c4;color:#9a5b00}
#mall-page .mpc-body{display:flex;flex-direction:column;gap:9px;flex:1;padding:14px 16px 16px}
#mall-page .mpc-tag{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-muted)}
#mall-page .mpc-tag svg{width:15px;height:15px;flex:0 0 15px}
#mall-page .mpc-name{font-size:14.5px;font-weight:600;line-height:1.35;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#mall-page .mpc-sub{font-size:12px;color:var(--text-muted);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
#mall-page .mpc-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto}
#mall-page .mpc-price{display:flex;align-items:baseline;gap:4px;line-height:1.15;min-width:0}
#mall-page .mpc-price b{display:flex;align-items:center;gap:5px;font-size:17px;font-weight:700;color:var(--text)}
#mall-page .mpc-price small{font-size:11.5px;color:var(--text-muted)}
#mall-page .mpc-coin{width:18px;height:18px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#ffd166,#f5a524);color:#fff;font-size:10px;box-shadow:0 1px 2px rgba(180,110,0,.35)}
#mall-page .mpc-add{position:relative;overflow:hidden;flex:0 0 auto;padding:8px 18px;border:1.5px solid #3E357E;border-radius:10px;background:#fff;color:#3E357E;font-size:13px;font-weight:700;letter-spacing:.2px;cursor:pointer;font-family:inherit;white-space:nowrap;transition:background .2s,color .2s,transform .1s}
#mall-page .mpc-add span{position:relative;z-index:1}
#mall-page .mpc-add:hover:not(:disabled){background:#3E357E;color:#fff}
#mall-page .mpc-add:active:not(:disabled){transform:scale(.95)}
#mall-page .mpc-add.ok::before{content:"";position:absolute;inset:0;background:linear-gradient(-75deg,transparent 30%,rgba(62,53,126,.16) 50%,transparent 70%);transform:translateX(-130%);animation:efMallSweep 3.2s ease-in-out infinite}
#mall-page .mpc-add:disabled{border-color:#e4e0ef;color:#a9a6b6;background:#f7f6fb;cursor:not-allowed}
#mall-page .mpc-prog{height:5px;border-radius:999px;background:#efecf7;overflow:hidden}
#mall-page .mpc-prog i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#3E357E,#8b7fd6)}
#mall-page .mpc-progt{margin-top:-4px;font-size:11.5px;color:var(--text-muted)}
@media(max-width:600px){#mall-page div:has(>#mallPageBalanceBar){display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;gap:8px!important}#mallPageBalanceBar{min-width:0!important;padding:10px 6px!important}#mallPageBalance{font-size:16px!important}#mallPointsHistBtn,#mallHistoryBtn{flex-direction:column;justify-content:center;gap:4px!important;padding:10px 6px!important;font-size:12px!important;white-space:normal!important;text-align:center;line-height:1.25}#mallPageFilters.mseg{display:grid!important;width:100%}#mallPageFilters .mseg-b{padding:8px 6px}#mallPageGrid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}#mall-page .mpc-img{padding:8px}#mall-page .mpc-body{padding:11px 11px 13px;gap:7px}#mall-page .mpc-name{font-size:13.5px}#mall-page .mpc-price b{font-size:15px}#mall-page .mpc-add{padding:7px 11px;font-size:12px}}
@media(prefers-reduced-motion:reduce){#mall-page .mpc{animation:none}#mall-page .mpc-add.ok::before{animation:none}#mallPageFilters .mseg-th{transition:none}}
/* ── index.php line 13069 ── */
.lfc-d{color:var(--text-muted);font-weight:500;margin-left:8px}
.lfc-d::before{content:"·";margin-right:8px}
/* /sports provider cards on phones (owner 2026-10-20) */
@media(max-width:700px){
html #sportsPage .casino-card.sb-prov{position:relative;background:#fff!important;border:1px solid #ece9f6!important;border-radius:18px!important;overflow:hidden;padding:0!important}
html #sportsPage .casino-card.sb-prov .casino-rank-bar{height:3px!important}
html #sportsPage .casino-card.sb-prov .casino-main-row{display:grid!important;grid-template-columns:52px minmax(0,1fr) auto;grid-template-areas:"badge badge badge" "logo name score" "logo stars score" "desc desc desc" "stats stats stats" "tags tags tags" "btn btn btn" "fine fine fine";column-gap:12px;row-gap:0;align-items:center;padding:16px 16px 14px!important;gap:0 12px!important}
html #sportsPage .casino-card.sb-prov :is(.casino-left,.casino-mid,.casino-right){display:contents!important}
html #sportsPage .casino-card.sb-prov .casino-editor-badge{grid-area:badge;justify-self:start;margin:0 0 12px!important;font-size:10.5px!important;font-weight:800!important;letter-spacing:.6px;padding:3px 10px!important;border-radius:999px!important}
html #sportsPage .casino-card.sb-prov .sb-prov-logo{grid-area:logo;width:52px!important;height:52px!important;min-width:0!important;border-radius:14px!important;padding:4px;align-self:center}
html #sportsPage .casino-card.sb-prov .sb-prov-logo img{max-width:44px!important;max-height:44px!important}
html #sportsPage .casino-card.sb-prov .casino-name-row{grid-area:name;display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:2px!important;margin:0!important;align-self:end}
html #sportsPage .casino-card.sb-prov .casino-name{font-size:18px!important;line-height:1.15!important}
html #sportsPage .casino-card.sb-prov .sb-prov-best{font-size:12px!important;line-height:1.3}
html #sportsPage .casino-card.sb-prov .sb-stars{grid-area:stars;align-self:start;justify-self:start;text-align:left!important;margin:4px 0 0!important;justify-content:flex-start!important}
html #sportsPage .casino-card.sb-prov .casino-right>div:not([class]){grid-area:score;width:58px;height:58px;border-radius:50%;background:#ecfdf3;box-shadow:inset 0 0 0 2px #bbf7d0;display:flex;flex-direction:column;align-items:center;justify-content:center}
html #sportsPage .casino-card.sb-prov .casino-score-num{font-size:20px!important;line-height:1!important}
html #sportsPage .casino-card.sb-prov .sb-score-lbl{font-size:8.5px!important;letter-spacing:.6px;margin-top:2px!important;color:#15803d!important}
html #sportsPage .casino-card.sb-prov .casino-score-bar-wrap,html #sportsPage .casino-card.sb-prov .casino-highlights-body{display:none!important}
html #sportsPage .casino-card.sb-prov .sb-prov-desc{grid-area:desc;margin:14px 0 0!important;font-size:13.5px!important;line-height:1.55!important;color:#5f5c6d!important}
html #sportsPage .casino-card.sb-prov .casino-stats{grid-area:stats;margin:14px 0 0!important;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:0!important;border:0!important;background:#f6f4fb!important;border-radius:12px!important;padding:10px 2px!important}
html #sportsPage .casino-card.sb-prov .casino-stat{border:0!important;background:transparent!important;text-align:center;padding:0 4px!important;min-width:0}
html #sportsPage .casino-card.sb-prov .casino-stat+.casino-stat{border-left:1px solid #e6e1f3!important}
html #sportsPage .casino-card.sb-prov .casino-stat-lbl{color:#8a8794!important;font-size:10px!important;letter-spacing:.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html #sportsPage .casino-card.sb-prov .casino-stat-val{font-size:14px!important;color:#1c1c1c!important}
html #sportsPage .casino-card.sb-prov .sb-prov-tags{grid-area:tags;margin:12px 0 0!important;justify-content:flex-start!important}
html #sportsPage .casino-card.sb-prov .casino-tag{background:#f1edfb!important;border:0!important;box-shadow:none!important;color:#3E357E!important;font-size:11.5px!important;font-weight:600!important;padding:4px 10px!important;border-radius:999px!important}
html #sportsPage .casino-card.sb-prov .casino-review-btn{grid-area:btn;margin:16px 0 0!important;width:100%!important;display:flex!important;align-items:center;justify-content:center;padding:12px!important;border-radius:999px!important;background:#3E357E!important;color:#fff!important;border:0!important;font-size:14px!important;font-weight:700!important;box-shadow:0 6px 16px rgba(62,53,126,.22)!important}
html #sportsPage .casino-card.sb-prov .casino-fine-print{grid-area:fine;margin:8px 0 0!important;text-align:center;font-size:11px!important;color:#9a97a8!important}
}
/* ── index.php line 13101 ── */
/* Blog cards — News / Lifestyle / Adults / Sports News (owner 2026-10-20, after the 21st.dev "blogs" component) */
:is(#mainGrid,#adultGrid,#sportsNewsGrid).bg-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:28px 24px!important;align-items:stretch!important}
@media(max-width:1000px){:is(#mainGrid,#adultGrid,#sportsNewsGrid).bg-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:22px 18px!important}}
@media(max-width:640px){:is(#mainGrid,#adultGrid,#sportsNewsGrid).bg-grid{grid-template-columns:minmax(0,1fr)!important;gap:20px!important}}
.bgc{cursor:pointer;display:flex;flex-direction:column;min-width:0;background:rgba(255,255,255,.6);border:1px solid rgba(209,213,219,.6);border-radius:0;transition:box-shadow .3s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.bgc:hover{box-shadow:0 8px 24px rgba(17,17,17,.08)}
.bgc-img{position:relative;aspect-ratio:16/9;overflow:hidden;background:#f1efe9;margin:0 0 18px}
.bgc-img img{width:100%;height:100%;object-fit:cover;display:block}
.bgc-cat{position:absolute;top:0;left:0;background:#fff;color:#111;font-size:11px;font-weight:500;letter-spacing:.5px;text-transform:uppercase;padding:4px 10px;line-height:1.4}
.bgc-body{display:flex;flex-direction:column;flex:1;padding:0 18px 18px}
.bgc-t{margin:0 0 10px;font-size:20px;font-weight:500;letter-spacing:-.2px;line-height:1.32;color:var(--text);display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.bgc-ex{margin:0 0 20px;font-size:13.5px;line-height:1.6;color:#6b7280;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.bgc-foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:12px}
.bgc-more{display:inline-flex;align-items:center;gap:10px;font-size:13.5px;font-weight:500;color:var(--text)}
.bgc-ar{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid #e5e7eb;color:var(--text);transition:background .3s ease-in,color .3s ease-in,border-color .3s ease-in}
.bgc-ar svg{width:16px;height:16px;transition:transform .5s ease-in,opacity .5s ease-in}
.bgc-ar svg+svg{position:absolute;top:50%;left:-20px;transform:translateY(-50%);transition:left .5s ease-in-out}
.bgc:hover .bgc-ar{background:#3E357E;border-color:#3E357E;color:#fff}
.bgc:hover .bgc-ar svg:first-child{transform:translateX(32px);opacity:0}
.bgc:hover .bgc-ar svg+svg{left:12px}
.bgc-date{display:inline-flex;align-items:center;gap:12px;font-size:12px;color:#6b7280;white-space:nowrap}
.bgc-date i{display:block;width:48px;border-top:1px solid #d1d5db}
@media(max-width:640px){.bgc-img{margin-bottom:14px}.bgc-body{padding:0 14px 14px}.bgc-t{font-size:18px}.bgc-ex{margin-bottom:16px;font-size:13px}.bgc-ar{width:34px;height:34px}.bgc-date i{width:24px}}
@media(prefers-reduced-motion:reduce){.bgc-ar,.bgc-ar svg{transition:none}}
/* /casino cards on phones — compact (owner 2026-10-20) */
@media(max-width:600px){
#casinoList{gap:12px!important}
.ccx{border-radius:14px}
.ccx-head{padding:12px 12px 8px;gap:8px}
.ccx-id{gap:10px}
.ccx-logo{width:42px;height:42px;border-radius:10px}
.ccx-logo img{padding:4px}
.ccx-name{font-size:15.5px;gap:4px 6px}
.ccx-rank{font-size:10.5px;padding:1px 6px}
.ccx-pick{right:12px;font-size:10px;padding:3px 8px 4px}
.ccx-stars{margin-top:2px;transform:scale(.85);transform-origin:left center}
.ccx-tabs{height:32px}
.ccx-tab{font-size:12px}
.ccx-body{padding:0 12px}
.ccx-col{gap:8px}
.ccx-status{padding:8px 10px;gap:8px;border-radius:10px}
.ccx-ic{width:30px;height:30px;border-radius:8px}
.ccx-ic svg{width:15px;height:15px}
.ccx-ic.pri{width:34px;height:34px}
.ccx-st b{font-size:12.5px}
.ccx-st small{font-size:11px}
.ccx-badge{font-size:10.5px;padding:2px 8px}
.ccx-pl{font-size:11.5px;margin-bottom:4px}
.ccx-track{height:5px}
.ccx-stats{gap:6px}
.ccx-stat{padding:8px;border-radius:10px}
.ccx-stat small{font-size:10.5px}
.ccx-stat b{font-size:13px;margin-top:2px}
.ccx-stat em{font-size:10px;margin-top:2px}
.ccx-hl{padding:10px 12px;gap:10px}
.ccx-hl small{font-size:10.5px}
.ccx-hl b{font-size:16px}
.ccx-list li{font-size:12.5px;padding:6px 0}
.ccx-items{display:flex;flex-wrap:wrap;gap:6px}
.ccx-item{border-radius:999px;padding:3px 10px 3px 3px;gap:6px}
.ccx-item .ccx-ic.sm{width:22px;height:22px;border-radius:999px}
.ccx-item .ccx-ic.sm svg{width:12px;height:12px}
.ccx-item b{font-size:12px}
.ccx-games small{font-size:10.5px;margin-bottom:4px}
.ccx-chip{font-size:11px;padding:2px 8px;margin:0 4px 4px 0}
.ccx-foot{padding:10px 12px 12px;gap:6px}
.ccx-fine{font-size:10.5px;margin:0 0 2px}
.ccx-ghost,.ccx-pri{font-size:13px;padding:8px 12px}
}
/* ── index.php line 13177 ── */
/* header buttons — one size (owner 2026-10-20) */
#shopNavBtn span,.lang-cur,.lang-cur span,.btn-login,.btn-login span{font-size:13px!important;font-weight:600!important}
@media(max-width:640px){#shopNavBtn span,.lang-cur,.lang-cur span,.btn-login,.btn-login span{font-size:12.5px!important}}
/* small phones: logged-in header row fits (the name pill used to run off the right edge) */
@media(max-width:430px){#shopNavBtn{padding:5px 9px!important;gap:4px!important}#shopNavBtn svg{width:14px;height:14px}.lang-cur{padding-left:8px!important;padding-right:8px!important;gap:5px!important}.btn-login{padding:4px 10px 4px 4px!important;gap:6px!important}.btn-login img,.btn-login>span:first-child{width:26px!important;height:26px!important}.btn-login span:last-child{max-width:70px!important}}
@media(max-width:375px){.btn-login span:last-child{max-width:52px!important}.lang-cur svg:last-child{display:none}}
